On Tue, Jan 12, 2016 at 11:52:48PM +0100, Arnd Bergmann wrote: > On Tuesday 12 January 2016 15:13:35 liviu.dudau@xxxxxxx wrote: > > > int of_address_to_resource(struct device_node *dev, int index, > > > struct resource *r) > > > { > > > ... > > > /* flags can be get here, without ranges property reqired. > > > * if the reg = <0x0 0xe4 4>, I can get flag of IORESOURCE_MEM, > > > * if the reg = <0x1 0xe4 4>, I can get flag of IORESOURCE_IO, > > > > That is strange, the parent node has #address-cells = <2> so the first two numbers should be part > > of the address and not influence the flags. Can you add some debugging in of_get_address() and > > try to figure out what bus is used in *flags = bus->get_flags(prop) ? > > > > > > This is the standard ISA binding. The first cell is the address space > (IO or MEM), the second cell is the address within that space. This > is similar to how PCI works. OK, but from DT point of view and given the parent's #address-cells = <2> and #size-cells = <1> should the reg not be something like reg = <0x1 0x0 0xe4 4> ? Best regards, Liviu > > Arnd > -- ==================== | I would like to | | fix the world, | | but they're not | | giving me the | \ source code! / --------------- ¯\_(ツ)_/¯ -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html