[PATCH RFC v4 0/4] Pinctrl: A4: Add pinctrl driver

Xianwei Zhao xianwei.zhao at amlogic.com
Sun Nov 10 19:26:09 PST 2024


Hi Neil,
    Thanks for your reply.

On 2024/11/10 20:24, Neil Armstrong wrote:
> [ EXTERNAL EMAIL ]
> 
> Hi,
> 
> Le 01/11/2024 à 09:27, Xianwei Zhao via B4 Relay a écrit :
>> Add pinctrl driver support for Amloigc A4 SoC
>>
>> I want to find out what kind of solution is feasible to
>> meet the needs of all parties. This RFC verion is one of them.
>>
>> All of Amogic SoCs GPIO device requirement is met here by
>> adding GPIO bank definition instead of the pin definition.
>> Binding header files will no longer be added to future
>> SoCs's pin devices.
>>
>> The pinctrl software only adds insterface of of_xlate to support
>> for transformation without affecting the overall framework and
>> is compatible with previous drivers.
>>
>> The code in DTS file is also readable when using GPIO, as below:
>>
>> reset-gpios = <&gpio AMLOGIC_GPIO(AMLOGIC_GPIO_X, 6) GPIO_ACTIVE_LOW>;
> 
> Fine, but why not use 3 cells instead of this macro ? Since you 
> introduced the
> custom xlate, parsing the 3 cells would be easier that using a macro:
> 
> reset-gpios = <&gpio AMLOGIC_GPIO_X 6 GPIO_ACTIVE_LOW>;
> 
> Neil

I was prepared to do this before, mainly later considering incompatible 
binding, using the original two parameter passing

If use three parameters, I  need to modify the corresponding binding 
property. in file:
Documentation/devicetree/bindings/pinctrl/amlogic,meson-pinctrl-common.yaml

       "#gpio-cells":
         const: 2
It must be compatible with the current number of parameters(3)

> 
>>
>> Signed-off-by: Xianwei Zhao <xianwei.zhao at amlogic.com>
>> ---
>> Changes in v4:
>> - Add interface of of_xlate support.
>> - Add const for some variable.
>> - Link to v3: 
>> https://lore.kernel.org/r/20241018-a4_pinctrl-v3-0-e76fd1cf01d7@amlogic.com
>>
>> Changes in v3:
>> - Remove head file from binding.
>> - Move GPIO define to file *.c.
>> - Link to v2: 
>> https://lore.kernel.org/r/20241014-a4_pinctrl-v2-0-3e74a65c285e@amlogic.com
>>
>> Changes in v2:
>> - Use one marco instead of all pin define.
>> - Add unit name for dts node.
>> - Link to v1: 
>> https://lore.kernel.org/all/20240611-a4_pinctrl-v1-0-dc487b1977b3@amlogic.com/
>>
>> ---
>> Xianwei Zhao (4):
>>        dt-bindings: pinctrl: Add support for Amlogic A4 SoCs
>>        pinctrl: meson: add interface of of_xlate
>>        pinctrl: meson: Add driver support for Amlogic A4 SoCs
>>        arm64: dts: amlogic: a4: add pinctrl node
>>
>>   .../bindings/pinctrl/amlogic,meson-pinctrl-a1.yaml |    2 +
>>   arch/arm64/boot/dts/amlogic/amlogic-a4.dtsi        |   36 +
>>   drivers/pinctrl/meson/Kconfig                      |    6 +
>>   drivers/pinctrl/meson/Makefile                     |    1 +
>>   drivers/pinctrl/meson/pinctrl-amlogic-a4.c         | 1321 
>> ++++++++++++++++++++
>>   drivers/pinctrl/meson/pinctrl-meson.c              |    4 +
>>   drivers/pinctrl/meson/pinctrl-meson.h              |    4 +
>>   include/dt-bindings/gpio/amlogic-gpio.h            |   50 +
>>   8 files changed, 1424 insertions(+)
>> ---
>> base-commit: 58e2d28ed28e5bc8836f8c14df1f94c27c1f9e2f
>> change-id: 20241012-a4_pinctrl-09d1b2a17e47
>>
>> Best regards,
> 



More information about the linux-amlogic mailing list