
Dear Tom,
In message 20141104205800.GM15133@bill-the-cat you wrote:
Well, we probably should not use this FDT centric decoding function directly on arguments passed from the U-Boot command line.
No, look again at what we're doing. We're not calling a U-Boot function to do U-Boot things. We're calling a U-Boot function to set a DT property. U-Boot needs to obey DT conventions here.
Well, we are running an U-Boot command. And U-Boot documentation says that we use hex inpout base (with the only unlucky exception of the sleep command). So this _command_ should also assume hex input.
I can see an argument that we could try and make the heuristics smarter to add '0x' to obvious hex strings, but that'll just cause crazier errors when 0x1000 is passed in and seen as 1000 decimal.
Right. So before calling the fdt code, the U-Boot command should normalize the number.
Hm.... is there a way to determine in advance where we are passing a number as argument [see "common/cmd_fdt.c" lines 260ff] ?
Best regards,
Wolfgang Denk