On Sat, Feb 17, 2024 at 01:19:41PM +0000, Jonas Karlman wrote:

> During address translation #address/size-cells props are expected to
> apply to child nodes. However, devfdt_get_addr_index() incorrectly use
> the parent offset of the udevice parent instead of getting the offset of
> the node parent. This will work in most cases when there is only one
> udevice tied to a node.
> 
> On e.g. an Orange Pi R1 Plus TLS board the dwc3-generic (parent) and
> dwc3-generic-host (child) udevice is tied to the same node.
> 
> In that case both the offset and parent values end up being the same.
> As a result, the #address/size-cells props intended for child nodes
> incorrectly gets applied to the node itself resulting in wrong addr
> being returned, 0x0 instead of 0xff600000.
> 
> The following can be seen on console:
> 
>   dwc3-generic-host usb@ff600000: this is not a DesignWare USB3 DRD Core
>   dwc3-generic-host usb@ff600000: failed to initialize core
> 
> Fix this by using the offset of the parent node and not the offset to
> the node the parent udevice is tied to.
> 
> Signed-off-by: Jonas Karlman <jo...@kwiboo.se>

Applied to u-boot/next, thanks!

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to