[PATCH v7 0/5] Pinctrl: A4: Add pinctrl driver

Xianwei Zhao via B4 Relay posted 5 patches 1 year, 2 months ago
.../bindings/pinctrl/amlogic,meson-pinctrl-a1.yaml |    5 +
.../bindings/pinctrl/amlogic,meson-pinctrl-a4.yaml |   82 ++
.../pinctrl/amlogic,meson-pinctrl-common.yaml      |    5 -
.../pinctrl/amlogic,meson-pinctrl-g12a-aobus.yaml  |    5 +
.../amlogic,meson-pinctrl-g12a-periphs.yaml        |    5 +
.../pinctrl/amlogic,meson8-pinctrl-aobus.yaml      |    5 +
.../pinctrl/amlogic,meson8-pinctrl-cbus.yaml       |    5 +
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         | 1324 ++++++++++++++++++++
drivers/pinctrl/meson/pinctrl-meson.c              |    4 +
drivers/pinctrl/meson/pinctrl-meson.h              |    4 +
include/dt-bindings/gpio/amlogic-gpio.h            |   45 +
14 files changed, 1527 insertions(+), 5 deletions(-)
[PATCH v7 0/5] Pinctrl: A4: Add pinctrl driver
Posted by Xianwei Zhao via B4 Relay 1 year, 2 months ago
Add pinctrl driver support for Amloigc A4 SoC

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_X 6 GPIO_ACTIVE_LOW>;

Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com>
---
Changes in v7:
- Move gpio-controller property with "#gpio-cells" property
- Link to v6: https://lore.kernel.org/r/20241113-a4_pinctrl-v6-0-35ba2401ee35@amlogic.com

Changes in v6:
- Adjust code formatting and style.
- Remove "#gpio-cells" definition from amlogic,meson-pinctrl-common.yaml
  and add them in all amlogic,meson-pinctrl-XXX.yaml with const: 2, and then
  add amlogic,meson-pinctrl-a4.yaml(copy form  amlogic,meson-pinctrl-a1.yaml) with const: 3.
- Link to v5: https://lore.kernel.org/r/20241112-a4_pinctrl-v5-0-3460ce10c480@amlogic.com

Changes in v5:
- Modify if to switch.
- Dropped parameter combination, bank and offset as independent parameter passing
- Link to v4: https://lore.kernel.org/r/20241101-a4_pinctrl-v4-0-efd98edc3ad4@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 (5):
      dt-bindings: pinctrl: move gpio-cells and gpio-controller property
      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 |    5 +
 .../bindings/pinctrl/amlogic,meson-pinctrl-a4.yaml |   82 ++
 .../pinctrl/amlogic,meson-pinctrl-common.yaml      |    5 -
 .../pinctrl/amlogic,meson-pinctrl-g12a-aobus.yaml  |    5 +
 .../amlogic,meson-pinctrl-g12a-periphs.yaml        |    5 +
 .../pinctrl/amlogic,meson8-pinctrl-aobus.yaml      |    5 +
 .../pinctrl/amlogic,meson8-pinctrl-cbus.yaml       |    5 +
 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         | 1324 ++++++++++++++++++++
 drivers/pinctrl/meson/pinctrl-meson.c              |    4 +
 drivers/pinctrl/meson/pinctrl-meson.h              |    4 +
 include/dt-bindings/gpio/amlogic-gpio.h            |   45 +
 14 files changed, 1527 insertions(+), 5 deletions(-)
---
base-commit: 58e2d28ed28e5bc8836f8c14df1f94c27c1f9e2f
change-id: 20241012-a4_pinctrl-09d1b2a17e47

Best regards,
-- 
Xianwei Zhao <xianwei.zhao@amlogic.com>
Re: [PATCH v7 0/5] Pinctrl: A4: Add pinctrl driver
Posted by Neil Armstrong 11 months, 2 weeks ago
Hi,

On Wed, 13 Nov 2024 17:37:27 +0800, Xianwei Zhao wrote:
> Add pinctrl driver support for Amloigc A4 SoC
> 
> 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.
> 
> [...]

Thanks, Applied to https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux.git (v6.15/arm64-dt)

[1/5] dt-bindings: pinctrl: move gpio-cells and gpio-controller property
      (no commit info)
[2/5] dt-bindings: pinctrl: Add support for Amlogic A4 SoCs
      (no commit info)
[3/5] pinctrl: meson: add interface of of_xlate
      (no commit info)
[4/5] pinctrl: meson: Add driver support for Amlogic A4 SoCs
      (no commit info)
[5/5] arm64: dts: amlogic: a4: add pinctrl node
      https://git.kernel.org/amlogic/c/ce78f679e08cc4f90db1ad8e61ba9f85530c701e

These changes has been applied on the intermediate git tree [1].

The v6.15/arm64-dt branch will then be sent via a formal Pull Request to the Linux SoC maintainers
for inclusion in their intermediate git branches in order to be sent to Linus during
the next merge window, or sooner if it's a set of fixes.

In the cases of fixes, those will be merged in the current release candidate
kernel and as soon they appear on the Linux master branch they will be
backported to the previous Stable and Long-Stable kernels [2].

The intermediate git branches are merged daily in the linux-next tree [3],
people are encouraged testing these pre-release kernels and report issues on the
relevant mailing-lists.

If problems are discovered on those changes, please submit a signed-off-by revert
patch followed by a corrective changeset.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux.git
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
[3] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git

-- 
Neil