[PATCH v2 0/8] riscv: sophgo: Add pinctrl support for SG2042

Inochi Amaoto inochiama at gmail.com
Mon Feb 10 21:17:48 PST 2025


SG2042 has a simple pinctrl device for all configurable pins.
It supports setting pull up/down, drive strength and input schmitt
trigger.

Add support for SG2042 and SG2044 pinctrl device.

Changed from v1:
- https://lore.kernel.org/all/20241024064356.865055-1-inochiama@gmail.com/
1. Fix the binding documentation error.
2. Refactor the cv18xx code so SG2042 can uses the same code.
3. Add SG2044 pinctrl support as it has the same layout.

Inochi Amaoto (8):
  pinctrl: sophgo: avoid to modify untouched bit when setting cv1800
    pinconf
  pinctrl: sophgo: introduce generic data structure for cv18xx pinctrl
    driver
  pinctrl: sophgo: generalize shareable code of cv18xx pinctrl driver
  pinctrl: sophgo: introduce generic probe function
  dt-bindings: pinctrl: Add pinctrl for Sophgo SG2042 series SoC
  pinctrl: sophgo: add support for SG2042 SoC
  pinctrl: sophgo: add support for SG2044 SoC
  riscv: dts: sophgo: sg2042: add pinctrl support

 .../pinctrl/sophgo,sg2042-pinctrl.yaml        | 129 ++++
 .../boot/dts/sophgo/sg2042-milkv-pioneer.dts  |  72 ++
 arch/riscv/boot/dts/sophgo/sg2042.dtsi        |   6 +
 drivers/pinctrl/sophgo/Kconfig                |  46 +-
 drivers/pinctrl/sophgo/Makefile               |   8 +-
 drivers/pinctrl/sophgo/pinctrl-cv1800b.c      |  27 +-
 drivers/pinctrl/sophgo/pinctrl-cv1812h.c      |  27 +-
 drivers/pinctrl/sophgo/pinctrl-cv18xx.c       | 602 ++++-----------
 drivers/pinctrl/sophgo/pinctrl-cv18xx.h       |  66 +-
 drivers/pinctrl/sophgo/pinctrl-sg2000.c       |  27 +-
 drivers/pinctrl/sophgo/pinctrl-sg2002.c       |  27 +-
 drivers/pinctrl/sophgo/pinctrl-sg2042-ops.c   | 296 ++++++++
 drivers/pinctrl/sophgo/pinctrl-sg2042.c       | 655 ++++++++++++++++
 drivers/pinctrl/sophgo/pinctrl-sg2042.h       |  49 ++
 drivers/pinctrl/sophgo/pinctrl-sg2044.c       | 718 ++++++++++++++++++
 .../pinctrl/sophgo/pinctrl-sophgo-common.c    | 451 +++++++++++
 drivers/pinctrl/sophgo/pinctrl-sophgo.h       | 136 ++++
 include/dt-bindings/pinctrl/pinctrl-sg2042.h  | 196 +++++
 include/dt-bindings/pinctrl/pinctrl-sg2044.h  | 221 ++++++
 19 files changed, 3217 insertions(+), 542 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/pinctrl/sophgo,sg2042-pinctrl.yaml
 create mode 100644 drivers/pinctrl/sophgo/pinctrl-sg2042-ops.c
 create mode 100644 drivers/pinctrl/sophgo/pinctrl-sg2042.c
 create mode 100644 drivers/pinctrl/sophgo/pinctrl-sg2042.h
 create mode 100644 drivers/pinctrl/sophgo/pinctrl-sg2044.c
 create mode 100644 drivers/pinctrl/sophgo/pinctrl-sophgo-common.c
 create mode 100644 drivers/pinctrl/sophgo/pinctrl-sophgo.h
 create mode 100644 include/dt-bindings/pinctrl/pinctrl-sg2042.h
 create mode 100644 include/dt-bindings/pinctrl/pinctrl-sg2044.h

--
2.48.1




More information about the linux-riscv mailing list