Some devices do not work in barebox because we lack phy drivers for them. Also we need to overwrite the ranges property in pcie2x1l2. The original upstream values do not work, likely because of some deficiency in the PCI driver. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> --- arch/arm/dts/rk3588-rock-5b.dts | 39 +++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/arch/arm/dts/rk3588-rock-5b.dts b/arch/arm/dts/rk3588-rock-5b.dts index 6c3159bdb7..ddff76028e 100644 --- a/arch/arm/dts/rk3588-rock-5b.dts +++ b/arch/arm/dts/rk3588-rock-5b.dts @@ -52,3 +52,42 @@ environment_sd: partition@408000 { }; }; }; + +&pcie3x4 { + /* Does not work in barebox (missing phy driver) */ + status = "disabled"; +}; + +&pcie30phy { + status = "disabled"; +}; + +&pcie2x1l2 { + /* + * Originally in upstream dts this is: + * ranges = <0x01000000 0x0 0xf4100000 0x0 0xf4100000 0x0 0x00100000>, + * <0x02000000 0x0 0xf4200000 0x0 0xf4200000 0x0 0x00e00000>, + * <0x03000000 0x0 0x40000000 0xa 0x00000000 0x0 0x40000000>; + * + * Overwriting this shouldn't be necessary, but without it PCI doesn't + * work. We have some deficiency in the PCI driver that causes this. + */ + ranges = <0x01000000 0x0 0xf4100000 0x0 0xf4100000 0x0 0x00100000>, + <0x02000000 0x0 0xf4200000 0x0 0xf4200000 0x0 0x00e00000>, + <0x03000000 0xa 0x00000000 0xa 0x00000000 0x0 0x40000000>; +}; + +&pcie2x1l0 { + /* Does not work in barebox */ + status = "disabled"; +}; + +&usb_host0_ehci { + /* Does not work in barebox (missing phy driver) */ + status = "disabled"; +}; + +&usb_host1_ehci { + /* Does not work in barebox (missing phy driver) */ + status = "disabled"; +}; -- 2.39.2