[PATCH v2 0/7] riscv: sophgo: Add pinctrl support for CV1800 series SoC

From: Inochi Amaoto
Date: Sun Jul 21 2024 - 21:39:06 EST


Add basic pinctrl driver for Sophgo CV1800 series SoCs.
This patch series aims to replace the previous patch from Jisheng [1].
Since the pinctrl of cv1800 has nested mux and its pin definination
is discrete, it is not suitable to use "pinctrl-single" to cover the
pinctrl device.

This patch require another patch [2] that provides standard attribute
"input-schmitt-microvolt"

Note: As current documentation is not enough to guess the pin
configuration of Huashan Pi, only the pinctrl node is added.

[1] https://lore.kernel.org/linux-riscv/20231113005702.2467-1-jszhang@xxxxxxxxxx/
[2] https://lore.kernel.org/all/IA1PR20MB495346246245074234D337A6BBAC2@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/

Changed from v1:
1. replace attribute "sophgo,bus-holder" with standard "bias-bus-hold".
2. replace attribute "input-schmitt" with "input-schmitt-microvolt".
3. add vddio operations support to report pin state.

Inochi Amaoto (7):
dt-bindings: pinctrl: Add pinctrl for Sophgo CV1800 series SoC.
pinctrl: sophgo: add support for CV1800B SoC
pinctrl: sophgo: add support for CV1812H SoC
pinctrl: sophgo: add support for SG2000 SoC
pinctrl: sophgo: add support for SG2002 SoC
riscv: dts: sophgo: cv1800b: add pinctrl support
riscv: dts: sophgo: cv1812h: add pinctrl support

.../pinctrl/sophgo,cv1800-pinctrl.yaml | 129 +++
.../boot/dts/sophgo/cv1800b-milkv-duo.dts | 49 ++
arch/riscv/boot/dts/sophgo/cv1800b.dtsi | 10 +
arch/riscv/boot/dts/sophgo/cv1812h.dtsi | 10 +
drivers/pinctrl/Kconfig | 1 +
drivers/pinctrl/Makefile | 1 +
drivers/pinctrl/sophgo/Kconfig | 54 ++
drivers/pinctrl/sophgo/Makefile | 7 +
drivers/pinctrl/sophgo/pinctrl-cv1800b.c | 462 +++++++++++
drivers/pinctrl/sophgo/pinctrl-cv1812h.c | 771 +++++++++++++++++
drivers/pinctrl/sophgo/pinctrl-cv18xx.c | 781 ++++++++++++++++++
drivers/pinctrl/sophgo/pinctrl-cv18xx.h | 156 ++++
drivers/pinctrl/sophgo/pinctrl-sg2000.c | 771 +++++++++++++++++
drivers/pinctrl/sophgo/pinctrl-sg2002.c | 542 ++++++++++++
include/dt-bindings/pinctrl/pinctrl-cv1800b.h | 63 ++
include/dt-bindings/pinctrl/pinctrl-cv1812h.h | 127 +++
include/dt-bindings/pinctrl/pinctrl-cv18xx.h | 19 +
include/dt-bindings/pinctrl/pinctrl-sg2000.h | 127 +++
include/dt-bindings/pinctrl/pinctrl-sg2002.h | 79 ++
19 files changed, 4159 insertions(+)
create mode 100644 Documentation/devicetree/bindings/pinctrl/sophgo,cv1800-pinctrl.yaml
create mode 100644 drivers/pinctrl/sophgo/Kconfig
create mode 100644 drivers/pinctrl/sophgo/Makefile
create mode 100644 drivers/pinctrl/sophgo/pinctrl-cv1800b.c
create mode 100644 drivers/pinctrl/sophgo/pinctrl-cv1812h.c
create mode 100644 drivers/pinctrl/sophgo/pinctrl-cv18xx.c
create mode 100644 drivers/pinctrl/sophgo/pinctrl-cv18xx.h
create mode 100644 drivers/pinctrl/sophgo/pinctrl-sg2000.c
create mode 100644 drivers/pinctrl/sophgo/pinctrl-sg2002.c
create mode 100644 include/dt-bindings/pinctrl/pinctrl-cv1800b.h
create mode 100644 include/dt-bindings/pinctrl/pinctrl-cv1812h.h
create mode 100644 include/dt-bindings/pinctrl/pinctrl-cv18xx.h
create mode 100644 include/dt-bindings/pinctrl/pinctrl-sg2000.h
create mode 100644 include/dt-bindings/pinctrl/pinctrl-sg2002.h


base-commit: d7e78951a8b8b53e4d52c689d927a6887e6cfadf
prerequisite-patch-id: 11fce0bb5b2e9784ec7d6086d5d5e9979360384f
prerequisite-patch-id: 3d5f38fdb9d8250dd9872ab72ab7a438281b4a03
--
2.45.2