Hi Simon,

I'm currently enabling DM support for the Marvell MVEBU SoC's I've
been working lately on (Armada XP and 38x right now). A problem I'm
facing here is the bus translation, as this is quite complex for these
SoC's. With multiple levels of translation ranges (multiple simple-bus
nodes to walk through).

The current implementation in dev_get_addr() does not work. This has
2 reasons:

a) It only translates 1 simple-bus node - we need to walk the
   complete DT to get the correct address.

b) The "ranges" property can have different sizes for "address"
   and "size" in all these busses / nodes. And also multiple
   ranges tuples are allowed and used in these dts files.

Of course this can be solved in the current implementation (device.c /
simple_bus.c). But especially b) is not that trivial to solve in
a generic way.

So my main question is, why don't you use fdt_translate_address()
from fdt_support.c instead of implementing your own translation
function simple_bus_translate()? Is this a size question because
this may be used in SPL as well?

Thanks,
Stefan
_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to