[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20201123094300.GA3699@a98shuttle.de>
Date: Mon, 23 Nov 2020 10:43:00 +0100
From: Michael Klein <michael@...sekall.de>
To: Chen-Yu Tsai <wens@...e.org>
Cc: Maxime Ripard <maxime@...no.tech>,
devicetree <devicetree@...r.kernel.org>,
Rob Herring <robh+dt@...nel.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH] ARM: dts: sun8i-h2-plus-bananapi-m2-zero: add
gpio-line-names
On Mon, Nov 23, 2020 at 12:39:07PM +0800, Chen-Yu Tsai wrote:
>On Sat, Nov 21, 2020 at 2:28 AM Michael Klein <michael@...sekall.de> wrote:
>>
>> Thank you for having a look at the patch!
>>
>> On Fri, Nov 20, 2020 at 04:52:52PM +0100, Maxime Ripard wrote:
>> >On Sun, Nov 15, 2020 at 11:24:25PM +0100, Michael Klein wrote:
>> >> Add gpio-line-names as documented in the Banana Pi wiki [1] and in the
>> >> schematics [2].
>> >>
>> >> [1]: http://wiki.banana-pi.org/Banana_Pi_BPI-M2_ZERO#GPIO_PIN_define
>> >> [2]: https://drive.google.com/file/d/0B4PAo2nW2KfnMW5sVkxWSW9qa28/view
>> >>
>> >> Signed-off-by: Michael Klein <michael@...sekall.de>
>> >> ---
>> >> .../dts/sun8i-h2-plus-bananapi-m2-zero.dts | 64 +++++++++++++++++++
>> >> 1 file changed, 64 insertions(+)
>> >>
>> >> diff --git a/arch/arm/boot/dts/sun8i-h2-plus-bananapi-m2-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-bananapi-m2-zero.dts
>> >> index 4c6704e4c57e..b4ddfaf01b45 100644
>> >> --- a/arch/arm/boot/dts/sun8i-h2-plus-bananapi-m2-zero.dts
>> >> +++ b/arch/arm/boot/dts/sun8i-h2-plus-bananapi-m2-zero.dts
>> >> @@ -136,6 +136,70 @@ bluetooth {
>> >>
>> >> };
>> >>
>> >> +&pio {
>> >> + gpio-line-names =
>> >> + /* PA */
>> >> + "UART2-TX", "UART2-RX", "UART2-RTS", "UART2-CTS",
>> >> + "UART0-TXD", "UART0-RXD", "PWM1", "PA7-EINT7",
>> >> + "PA8-EINT8", "PA9-EINT9", "PA10-EINT10", "TWI0-SCK",
>> >> + "TWI0-SDA", "UART3-TX", "UART3-RX", "UART3-RTS",
>> >> + "UART3-CTS", "PA17-EINT17", "TWI1-SCK", "TWI1-SDA",
>> >> + "PA20-EINT20", "PA21-EINT21", "", "",
>> >> + "", "", "", "", "", "", "", "",
>> >
>> >IIRC, the point is to have the pin names that the vendor publishes.
>> >
>> >Looking at Documentation/devicetree/bindings/gpio/gpio.txt, it says:
>> >
>> >"""
>> >Optionally, a GPIO controller may have a "gpio-line-names" property. This is
>> >an array of strings defining the names of the GPIO lines going out of the
>> >GPIO controller. This name should be the most meaningful producer name
>> >for the system, such as a rail name indicating the usage. Package names
>> >such as pin name are discouraged: such lines have opaque names (since they
>> >are by definition generic purpose) and such names are usually not very
>> >helpful.
>> >"""
>> >
>> >In this case, from the link you gave above, I think having the CON*-P*
>> >names make more sense.
>>
>> Hm, but these are the pin names (of the connector) and should thus not
>> be used, right?
>>
>> For e.g. the PA0 pin, the wiki link gives three candidates:
>>
>> - CON2-P13 (GPIO Pin Name -> pin 13 of the 40 pin GPIO header)
>> - UART2-TX (Default Function)
>> - PA0-EINT0 (Function2 : GPIO)
>>
>> IMHO, the CON*-P* name is the least helpful of the above, as it tells
>> nothing about the usage. I'm not sure about the other two names, though.
>
>I believe the function names are pretty useless in this case, as you
>cannot use the GPIO subsystem to mux functions. That is what pinctrl
>does. And in our case, the pinctrl drivers already know all the
>available functions each pin has.
>
>Using the pin count and connector name provides the user direct mapping
>of the software representation of the pin against the actual pin on the
>hardware. The user can then proceed to request and use that pin.
Thank you for the explanation, that makes sense. I'll update the patch
then.
Michael
Powered by blists - more mailing lists