[PATCH v3] ARM: dts: add gpio-ranges property to iMX GPIO controllers

Vladimir Zapolskiy vladimir_zapolskiy at mentor.com
Fri Sep 9 01:44:10 PDT 2016


Hi Uwe,

On 09/09/2016 10:20 AM, Uwe Kleine-König wrote:
> On Fri, Sep 09, 2016 at 05:02:36AM +0300, Vladimir Zapolskiy wrote:
>> To establish a connection between GPIO controllers and pin multiplexor
>> controller add gpio-ranges properties to all GPIO controllers found
>> on iMX50, iMX6Q/D, iMX6DL/S, iMX6SL, iMX6SX, iMX6UL and iMX7D/S
>> SoCs. The change was done after human parsing of output from
>
> When looking at doing the same for i.MX35 there are a few pin pairs that
> are driven by the same GPIO, e.g.:
>
> 	$ grep GPIO3_9 imx35-pinfunc.h
> 	#define MX35_PAD_CTS1__GPIO3_9					0x194 0x5d8 0x918 0x5 0x0
> 	#define MX35_PAD_FEC_COL__GPIO3_9				0x2ec 0x750 0x918 0x5 0x1
>
> With this it's not possible to correctly add a gpio-ranges, right?

this is an interesting exceptional case, I don't think that pinctrl
and gpio subsystems are ready to handle it.

If both pads are muxed to the same GPIO, then I presume on output it
behaves like a tee, but do you know what would be the input value,
if one line is driven high and another one is low?

> i.MX1, i.MX21, i.MX25, i.MX27 and i.MX53 could benefit from such a
> change though. i.MX35 and i.MX51 have duplicates.
>

I keep my hands off it, because I don't have any boards powered by
these SoCs to be able to test the change. FWIW I hold one i.MX31
powered board from old times, but I see that i.MX31 has poor DTS
support in general, there is no GPIO controller device node to
add the property.

--
With best wishes,
Vladimir



More information about the linux-arm-kernel mailing list