Pine H64 won't boot with DTB version 5.13

Peter Jeremy <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
I have updated my Pine H64 to -current and the kernel advises me:
WARNING: DTB version is 5.9 while kernel expects 5.13, please update the DTB in the ESP
unfortunately, when I do so, it fails to attach mmc1 to aw_mmc0 (the
microSD slot) and therefore there's no root device.  The onboard
flash mmc0 connected to aw_mmc1 probes normally.

I've compared the boot messages and the critical difference seems to be
that with the newer DTB, the following device is missing:
aw_r_intc_gicp0: <Allwinner R INTC> mem 0x7021000-0x70213ff irq 48 on simplebus0
Instead, I get:
simplebus0: <interrupt-controller@7021000> mem 0x7021000-0x70213ff irq 51 compat allwinner,sun50i-h6-r-intc (no driver attached)

Looking through the DTS changes the crucial difference is:

--- /tmp/zzz/5def4c47d4bd/sys/contrib/device-tree/src/arm64/allwinner/sun50i-h6.dtsi    2022-09-10 12:49:39.000000000 +1000
+++ /tmp/zzz/src/sys/contrib/device-tree/src/arm64/allwinner/sun50i-h6.dtsi     2022-09-10 13:24:13.751345000 +1000
...
@@ -927,10 +929,9 @@
                };
 
                r_intc: interrupt-controller@7021000 {
-                       compatible = "allwinner,sun50i-h6-r-intc",
-                                    "allwinner,sun6i-a31-r-intc";
+                       compatible = "allwinner,sun50i-h6-r-intc";
                        interrupt-controller;
-                       #interrupt-cells = <2>;
+                       #interrupt-cells = <3>;
                        reg = <0x07021000 0x400>;
                        interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
                };

The problem is that the FreeBSD interrupt controller drivers
(sys/arm/allwinner/aw_nmi.c and sys/arm/allwinner/aw_r_intc.c) only
recognize "allwinner,sun6i-a31-r-intc".

I tried adding "allwinner,sun6i-a31-r-intc" back in and the resultant
DTB works.

I'm not sure if the correct fix is to locally patch sun50i-h6.dtsi
or fix the interrupt controller drivers.

-- 
Peter Jeremy
signature.asc (application/pgp-signature, 963 B)
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEE7rKYbDBnHnTmXCJ+FqWXoOSiCzQFAmMcGflfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEVF
QjI5ODZDMzA2NzFFNzRFNjVDMjI3RTE2QTU5N0EwRTRBMjBCMzQACgkQFqWXoOSi
CzSYSA/8D70JQQFngxOs7501NCyUVuR6w8Tr4E0Ib9l8WqSfTwKOH6X17OZEyBpv
+SJOGwKUn6VsEm37IfxvQPe2VmbVMwCa/4dC3p3YNjt/MigQKNy2khveco+y4L2J
LDiBwZJnHvF0QWT1ZYES2/esy2cPpLDiIa7V8hYP9qxRdkEVw+noZVIJQ7fb/00c
gTFiaELCj1qw7GfHQKEXQjgDqN4N04gfTo1l9u5QnUGBXOS5V3nuP7aMBj6nIpzv
3qQh7PnooWl9QTL+NDuKifB472lBJ0LOoNaMCfJ4ae/G2wNmQu1Feexj387lFh3c
yXTpmU1KyvmfoEwIK5px6mFnBzSgdejlVuAkezIWus0CHbtL51xOjl8hyaN+H7f5
HlmxxZvL3Z73Y+G6bMHy92vO9sZLausurC9udeZt7oVoFWMJ/T2j69HWZZdE3FGc
niQvPNITXTN5t/FMIfyc5mVIqBXHNDxO0/cMKqbY0OEpfV0sFr5dG4aU0WUTKeFK
NwkgKg6tr3Kbyjjtb4JPGKQlv80lBswlBQ+87E+J6lMznRT3bQ5Cc6RcArY4DMvn
Duob46O5S3xTZW1ly3ZJttcEyukKK18KmKDI5xwhYfzXPZ5u0fkoPtDU0575cvWI
1kCzqSgJ1wetXZiY693Ex8yX6mhVqD3C2/YVizAx9wXm7T/5DYk=
=rtLH
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.