[PATCH] dm: core: Fix address translation in devfdt_get_addr_index()

Tom Rini trini at konsulko.com
Mon Mar 4 16:28:56 CET 2024


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 at ff600000: this is not a DesignWare USB3 DRD Core
>   dwc3-generic-host usb at 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 <jonas at kwiboo.se>

Applied to u-boot/next, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20240304/632bfeca/attachment.sig>


More information about the U-Boot mailing list