Rev v1.3b: SD Card not detected after kernel 6.10

I don’t think it’s your hardware. Whatever that patch is trying to do, it seems incorrect.

I tried to look for this change in my own kernels dtsi (the very one mentioned in Experimental Gentoo Image - #131 by rvcray that boots and runs normally) and it wasn’t there.

Puzzled I did a grep on the entire directory and can see that both broken-cd and cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW> are both declared in completely different files to that patch.

grep -n cd /usr/src/linux-6.15.6-gentoo/arch/riscv/boot/dts/starfive/*.dtsi
/usr/src/linux-6.15.6-gentoo/arch/riscv/boot/dts/starfive/jh7100-common.dtsi:369:       broken-cd;
/usr/src/linux-6.15.6-gentoo/arch/riscv/boot/dts/starfive/jh7110-common.dtsi:224:                       vcc_3v3: dcdc1 {
/usr/src/linux-6.15.6-gentoo/arch/riscv/boot/dts/starfive/jh7110-common.dtsi:232:                       vdd_cpu: dcdc2 {
/usr/src/linux-6.15.6-gentoo/arch/riscv/boot/dts/starfive/jh7110-common.dtsi:284:       cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
/usr/src/linux-6.15.6-gentoo/arch/riscv/boot/dts/starfive/jh7110-common.dtsi:320:               cdns,read-delay = <5>;
/usr/src/linux-6.15.6-gentoo/arch/riscv/boot/dts/starfive/jh7110-common.dtsi:322:               cdns,tshsl-ns = <1>;
/usr/src/linux-6.15.6-gentoo/arch/riscv/boot/dts/starfive/jh7110-common.dtsi:323:               cdns,tsd2d-ns = <1>;
/usr/src/linux-6.15.6-gentoo/arch/riscv/boot/dts/starfive/jh7110-common.dtsi:324:               cdns,tchsh-ns = <1>;
/usr/src/linux-6.15.6-gentoo/arch/riscv/boot/dts/starfive/jh7110-common.dtsi:325:               cdns,tslch-ns = <1>;
/usr/src/linux-6.15.6-gentoo/arch/riscv/boot/dts/starfive/jh7110.dtsi:589:                      usb_cdns3: usb@0 {
/usr/src/linux-6.15.6-gentoo/arch/riscv/boot/dts/starfive/jh7110.dtsi:590:                              compatible = "cdns,usb3";
/usr/src/linux-6.15.6-gentoo/arch/riscv/boot/dts/starfive/jh7110.dtsi:598:                              phy-names = "cdns3,usb2-phy";
/usr/src/linux-6.15.6-gentoo/arch/riscv/boot/dts/starfive/jh7110.dtsi:862:                      compatible = "starfive,jh7110-qspi", "cdns,qspi-nor";
/usr/src/linux-6.15.6-gentoo/arch/riscv/boot/dts/starfive/jh7110.dtsi:874:                      cdns,fifo-depth = <256>;
/usr/src/linux-6.15.6-gentoo/arch/riscv/boot/dts/starfive/jh7110.dtsi:875:                      cdns,fifo-width = <4>;
/usr/src/linux-6.15.6-gentoo/arch/riscv/boot/dts/starfive/jh7110.dtsi:876:                      cdns,trigger-address = <0x0>;
/usr/src/linux-6.15.6-gentoo/arch/riscv/boot/dts/starfive/jh7110.dtsi:1123:                     compatible = "starfive,jh7110-csi2rx", "cdns,csi2rx";

It should be noted that this is a Gentoo version of the kernels sources (sys-kernel/gentoo-sources) and that the true mainline Linux kernel (sys-kernel/vanilla-sources) is masked on riscv, so possibly; Gentoo are maintaining their own dts patches that actually work?