[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