[PATCH v2 07/10] ARM: tegra: pcie: Add device tree support
From: arnd@arndb.de (Arnd Bergmann)
Date: 2012-06-22 13:48:39
Also in:
linux-devicetree, linux-pci, linux-tegra
From: arnd@arndb.de (Arnd Bergmann)
Date: 2012-06-22 13:48:39
Also in:
linux-devicetree, linux-pci, linux-tegra
On Friday 22 June 2012, Thierry Reding wrote:
quoted
It seems like this isn't working properly. For some reason both the reg property of pci at 0 and pci at 1 are translated to the same parent address 0x80000000. I'll have to investigate where exactly this goes wrong.So it turns out that while of_read_number() can actually read any number of cells, only the two least significant are kept because it returns a u64. Since of_bus_default_map() uses of_read_number() the addresses <0 0 0> and <1 0 0> are in fact the same. I'm not sure how best to solve this. I'm not aware of a 128 bit integer type in the kernel, so I guess the better alternative would be to fix of_bus_default_map() to cope with #address-cells > 2 properly.
of_translate_address should get it right. Which codes uses of_read_number()? Can it be converted to use of_translate_address()? Arnd