Re: [PATCH v1 3/3] ARM64 LPC: update binding doc

From: Benjamin Herrenschmidt
Date: Wed Jan 13 2016 - 01:14:30 EST


On Tue, 2016-01-12 at 23:52 +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.

Picking up that mid-way, I have LPC busses on power and am using a
similar binding. I'll try to grab some examples and review the
document tomorrow (only just noticed it while unpiling emails post-
vacation).

Cheers,
Ben.