
Hi,
I'm trying to make some sense of ofnode_get_addr_size() in order to fix [1] properly.
First, the documentation if this functions says "This does no address translation". But the node-pointer path happily calls of_translate_address(), as the result of a6a45cd32539. For not offset-bases path, it calls fdtdec_get_addr_size() which does no translation.
Related to [1]: The node-pointer path cleanly calls of_n_addr/size_cells() in order to retrieve the configured number of cells. But the offset-based path simply calls fdtdec_get_addr_size() which assumes that the number of cells is derived from the physical address width of that platform.
So, what is that functions actually supposed to do?
Jan
[1] https://www.mail-archive.com/u-boot@lists.denx.de/msg405446.html