The ranges provided by the "official" device tree still don't seem to work correctly. At least iwx(4) fails to load its firmware with the default device tree. The diff below fixes this. This matches the device tree I built myself some time ago.
ok? Index: sysutils/u-boot/rk356x/Makefile =================================================================== RCS file: /cvs/ports/sysutils/u-boot/rk356x/Makefile,v retrieving revision 1.2 diff -u -p -r1.2 Makefile --- sysutils/u-boot/rk356x/Makefile 7 Nov 2023 16:45:50 -0000 1.2 +++ sysutils/u-boot/rk356x/Makefile 23 Nov 2023 13:09:43 -0000 @@ -1,4 +1,5 @@ VERSION= 2023.10 +REVISION= 0 SOC= rk356x Index: sysutils/u-boot/rk356x/patches/patch-arch_arm_dts_rk3568_dtsi =================================================================== RCS file: sysutils/u-boot/rk356x/patches/patch-arch_arm_dts_rk3568_dtsi diff -N sysutils/u-boot/rk356x/patches/patch-arch_arm_dts_rk3568_dtsi --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ sysutils/u-boot/rk356x/patches/patch-arch_arm_dts_rk3568_dtsi 23 Nov 2023 13:09:43 -0000 @@ -0,0 +1,21 @@ +Index: arch/arm/dts/rk3568.dtsi +--- arch/arm/dts/rk3568.dtsi.orig ++++ arch/arm/dts/rk3568.dtsi +@@ -97,7 +97,7 @@ + <0x0 0xf2000000 0x0 0x00100000>; + ranges = <0x01000000 0x0 0xf2100000 0x0 0xf2100000 0x0 0x00100000>, + <0x02000000 0x0 0xf2200000 0x0 0xf2200000 0x0 0x01e00000>, +- <0x03000000 0x0 0x40000000 0x3 0x40000000 0x0 0x40000000>; ++ <0x03000000 0x3 0x40000000 0x3 0x40000000 0x0 0x40000000>; + reg-names = "dbi", "apb", "config"; + resets = <&cru SRST_PCIE30X1_POWERUP>; + reset-names = "pipe"; +@@ -150,7 +150,7 @@ + <0x0 0xf0000000 0x0 0x00100000>; + ranges = <0x01000000 0x0 0xf0100000 0x0 0xf0100000 0x0 0x00100000>, + <0x02000000 0x0 0xf0200000 0x0 0xf0200000 0x0 0x01e00000>, +- <0x03000000 0x0 0x40000000 0x3 0x80000000 0x0 0x40000000>; ++ <0x03000000 0x3 0x80000000 0x3 0x80000000 0x0 0x40000000>; + reg-names = "dbi", "apb", "config"; + resets = <&cru SRST_PCIE30X2_POWERUP>; + reset-names = "pipe"; Index: sysutils/u-boot/rk356x/patches/patch-arch_arm_dts_rk356x_dtsi =================================================================== RCS file: sysutils/u-boot/rk356x/patches/patch-arch_arm_dts_rk356x_dtsi diff -N sysutils/u-boot/rk356x/patches/patch-arch_arm_dts_rk356x_dtsi --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ sysutils/u-boot/rk356x/patches/patch-arch_arm_dts_rk356x_dtsi 23 Nov 2023 13:09:43 -0000 @@ -0,0 +1,12 @@ +Index: arch/arm/dts/rk356x.dtsi +--- arch/arm/dts/rk356x.dtsi.orig ++++ arch/arm/dts/rk356x.dtsi +@@ -984,7 +984,7 @@ + power-domains = <&power RK3568_PD_PIPE>; + ranges = <0x01000000 0x0 0xf4100000 0x0 0xf4100000 0x0 0x00100000>, + <0x02000000 0x0 0xf4200000 0x0 0xf4200000 0x0 0x01e00000>, +- <0x03000000 0x0 0x40000000 0x3 0x00000000 0x0 0x40000000>; ++ <0x03000000 0x3 0x00000000 0x3 0x00000000 0x0 0x40000000>; + resets = <&cru SRST_PCIE20_POWERUP>; + reset-names = "pipe"; + #address-cells = <3>;
