[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