Messages in this thread | | | Date | Mon, 23 Nov 2020 10:43:00 +0100 | From | Michael Klein <> | 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@fossekall.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@fossekall.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
| |