mbox series

[0/8] pinctrl: Add T-Head TH1520 SoC pin controllers

Message ID 20240902-th1520-pinctrl-v1-0-639bf83ef50a@tenstorrent.com
Headers show
Series pinctrl: Add T-Head TH1520 SoC pin controllers | expand

Message

Drew Fustini Sept. 3, 2024, 4:06 a.m. UTC
This adds a pin control driver created by Emil for the T-Head TH1520
RISC-V SoC used on the Lichee Pi 4A and BeagleV Ahead boards and
updates the device trees to make use of it.

Emil's series from January used separate compatibles for each pin
controller instance. Rob did not think this was appropriate because the
programming model is the same for each instance.

This series takes a different approach. There is now only a single
compatible for all pin controller instances. The pinctrl driver checks
the unit address to identity which pin controller instance is being
probed.

Link: https://lore.kernel.org/lkml/20240103132852.298964-1-emil.renner.berthing@canonical.com/

Signed-off-by: Drew Fustini <dfustini@tenstorrent.com>
---
Emil Renner Berthing (8):
      dt-bindings: pinctrl: Add thead,th1520-pinctrl bindings
      pinctrl: Add driver for the T-Head TH1520 SoC
      riscv: dts: thead: Add TH1520 pin control nodes
      riscv: dts: thead: Add TH1520 GPIO ranges
      riscv: dts: thead: Adjust TH1520 GPIO labels
      riscv: dts: thead: Add Lichee Pi 4M GPIO line names
      riscv: dts: thead: Add TH1520 pinctrl settings for UART0
      riscv: dtb: thead: Add BeagleV Ahead LEDs

 .../bindings/pinctrl/thead,th1520-pinctrl.yaml     | 165 ++++
 MAINTAINERS                                        |   2 +
 arch/riscv/boot/dts/thead/th1520-beaglev-ahead.dts |  87 ++
 .../boot/dts/thead/th1520-lichee-module-4a.dtsi    |  43 +
 arch/riscv/boot/dts/thead/th1520-lichee-pi-4a.dts  |  28 +
 arch/riscv/boot/dts/thead/th1520.dtsi              |  62 +-
 drivers/pinctrl/Kconfig                            |  13 +
 drivers/pinctrl/Makefile                           |   1 +
 drivers/pinctrl/pinctrl-th1520.c                   | 906 +++++++++++++++++++++
 9 files changed, 1291 insertions(+), 16 deletions(-)
---
base-commit: 5be63fc19fcaa4c236b307420483578a56986a37
change-id: 20240902-th1520-pinctrl-d71de44acc66

Best regards,

Comments

Linus Walleij Sept. 5, 2024, 11:46 a.m. UTC | #1
On Tue, Sep 3, 2024 at 6:08 AM Drew Fustini <dfustini@tenstorrent.com> wrote:

> This adds a pin control driver created by Emil for the T-Head TH1520
> RISC-V SoC used on the Lichee Pi 4A and BeagleV Ahead boards and
> updates the device trees to make use of it.
>
> Emil's series from January used separate compatibles for each pin
> controller instance. Rob did not think this was appropriate because the
> programming model is the same for each instance.
>
> This series takes a different approach. There is now only a single
> compatible for all pin controller instances. The pinctrl driver checks
> the unit address to identity which pin controller instance is being
> probed.

I don't know if that is a good way to do it, the unit name could change
for some reason and then the driver will not work, it seems fragile.

Can't we just add a custom property such as:
thead,pin-group-number = <2>;
to the device node?

Yours,
Linus Walleij