[PATCH v3 0/7] riscv: sophgo: Add pinctrl support for CV1800 series SoC
From: Inochi Amaoto
Date: Sun Jul 28 2024 - 21:02:14 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 v2:
1. remove unused export function.
2. drop "drive-strength" and only use "drive-strength-microamp" in
the binding.
3. drop unnecessary ref in the binding.
4. drop unnecessary entry for binding example.
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 | 120 +++
.../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 | 765 +++++++++++++++++
drivers/pinctrl/sophgo/pinctrl-cv18xx.h | 155 ++++
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, 4133 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: 0066cdb6d7427d785e1a878070c4990384b93508
prerequisite-patch-id: 11fce0bb5b2e9784ec7d6086d5d5e9979360384f
prerequisite-patch-id: 3d5f38fdb9d8250dd9872ab72ab7a438281b4a03
--
2.45.2