On Fri, Nov 10, 2023, at 20:48, charles.kearney@xxxxxxx wrote: > - ahb@c0000000 { > + ahb@80000000 { > compatible = "simple-bus"; > #address-cells = <1>; > #size-cells = <1>; > - ranges = <0x0 0xc0000000 0x30000000>; > dma-ranges; > + ranges = <0x00000000 0x80000000 0x20000000>, > + <0x40000000 0xc0000000 0x3fff0000>; > > - vic0: interrupt-controller@eff0000 { > + vic0: interrupt-controller@4eff0000 { > compatible = "arm,pl192-vic"; > - reg = <0xeff0000 0x1000>; > + reg = <0x4eff0000 0x1000>; > interrupt-controller; > #interrupt-cells = <1>; > }; > > - vic1: interrupt-controller@80f00000 { > + vic1: interrupt-controller@f00000 { > compatible = "arm,pl192-vic"; > - reg = <0x80f00000 0x1000>; > + reg = <0xf00000 0x1000>; > interrupt-controller; > #interrupt-cells = <1>; > }; > > - uarta: serial@e0 { > + uarta: serial@400000e0 { Are these the actual addresses in the datasheet or did you just make up a mapping? If you have two separate address ranges, that would typically indicate that there are two distinct ahb instances that should be represented as separate bus nodes. With the new mapping, it looks like all the devices using vic0 are part of the same address range as vic0, which also indicates that they might be on one bus. If this is a single ahb instance with multiple distinct address ranges, I would expect that you need to adapt the dma-ranges as well. Arnd