[U-Boot] [PATCH v5 3/6] ARM: dts: imx: Provide 'gpio-ranges' for mxs_gpio driver

Lukasz Majewski lukma at denx.de
Wed Jun 19 14:19:21 UTC 2019


Hi Marek,

> On 6/19/19 2:27 PM, Lukasz Majewski wrote:
> > Those properties are U-Boot specific as the mxs gpio Linux driver
> > (up to version v5.1.11) is not supporting them.
> > 
> > Signed-off-by: Lukasz Majewski <lukma at denx.de>  
> 
> [...]
> 
> > +&gpio4 {
> > +	gpio-ranges = <&pinctrl 120 0 21>;  
> 
> Are you sure the GPIO controller offset is 120 here ? Shouldn't that
> be 0 , while the pin controller offset should be 120 ? Some for the
> others ?

Please find following excerpt from the documentation [1]:

The format is: <[pin controller phandle], [GPIO controller offset],
                [pin controller offset], [number of pins]>;

Example:

    gpio-ranges = <&foo 0 20 10>, <&bar 10 50 20>;

This means:
- pins 20..29 on pin controller "foo" is mapped to GPIO line 0..9 and
- pins 50..69 on pin controller "bar" is mapped to GPIO line 10..29


The 120 is the GPIO controller offset (logical one) [*] and corresponds
to the final GPIO number.

Then we do have the "pin controller offset" which is the pin number
start index per controller (like gpio0, gpio1, gpioN). In my case it is
always 0.

The last entry - "number of pins" is the field which states the number
of GPIO pins used from one particular controller (as I do use all of
them per controller to map to GPIO [*]). This one is crucial for
mxs_gpio as it fills the uc_priv->gpio_count (per controller).


Note:

[*] - i.MX28 doesn't have fixed number of pins per controller (contrary
to e.g. i.MX6Q). It may have 29, 30, 32, etc. pins.

> 
> > +};
> >   
> 
> 

Note:

[1] -
https://elixir.bootlin.com/linux/latest/source/Documentation/devicetree/bindings/gpio/gpio.txt#L239


Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190619/012c7a4d/attachment.sig>


More information about the U-Boot mailing list