[PATCH v4 00/21] Add basic pinctrl drivers for JHB100 SoC
Changhuang Liang <[email protected]> Sat, 1 Aug 2026 00:26:50 -0700
| Newsgroups | org.kernel.vger.linux-gpio,org.infradead.lists.linux-riscv,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
The JHB100 SoC has 13 pinctrl domains - sys0, sys0h, sys1, sys2, per0, per1, per2, per2pok, per3, adc0, adc1, emmc, and vga. In the current series, we will only add the following pinctrl: - sys0, sys0h, sys1, sys2 - per0, per1, per2, per2pok, per3 The remaining pinctrl will be implemented in future series. This series depends on the series: https://lore.kernel.org/all/[email protected]/ Change since v3: PATCH 3/5/7/9/11/13/15/17/19: - Restrict input-debounce-ns to a maximum of 10,485,680. PATCH 9/11/13/15/19/21: - Change power-source to set the actual voltage in millivolts. PATCH 19: - Add support for an option to set 2500 mV. PATCH 4: - Use GPIO_GENERIC to register the GPIO controller. - Acquire sfp->lock with raw_spinlock_irqsave guard. - Implement the .gpio_request_enable and .gpio_set_direction callbacks for struct pinmux_ops。 - Add reset_control_assert on driver unload. - Convert the pincfg structure to an enum array. - Simplify the calculation of the number of GPIOs in a GPIO bank. - Remove check_pinctrl_layouts() to improve code readability. PATCH 4/6/8/10/12/14/16/18/20: - Add const qualifiers to struct config_reg_layout_desc and struct starfive_pinctrl_regs. v3: https://lore.kernel.org/all/[email protected]/ v2: https://lore.kernel.org/all/[email protected]/ v1: https://lore.kernel.org/all/[email protected]/ Changhuang Liang (21): dt-bindings: pincfg-node: Add property 'input-debounce-ns' pinctrl: pinconf-generic: Add property 'input-debounce-ns' dt-bindings: pinctrl: Add starfive,jhb100-sys0-pinctrl pinctrl: starfive: Add StarFive JHB100 sys0 controller driver dt-bindings: pinctrl: Add starfive,jhb100-sys0h-pinctrl pinctrl: starfive: Add StarFive JHB100 sys0h controller driver dt-bindings: pinctrl: Add starfive,jhb100-sys1-pinctrl pinctrl: starfive: Add StarFive JHB100 sys1 controller driver dt-bindings: pinctrl: Add starfive,jhb100-sys2-pinctrl pinctrl: starfive: Add StarFive JHB100 sys2 controller driver dt-bindings: pinctrl: Add starfive,jhb100-per0-pinctrl pinctrl: starfive: Add StarFive JHB100 per0 controller driver dt-bindings: pinctrl: Add starfive,jhb100-per1-pinctrl pinctrl: starfive: Add StarFive JHB100 per1 controller driver dt-bindings: pinctrl: Add starfive,jhb100-per2-pinctrl pinctrl: starfive: Add StarFive JHB100 per2 controller driver dt-bindings: pinctrl: Add starfive,jhb100-per2pok-pinctrl pinctrl: starfive: Add StarFive JHB100 per2pok controller driver dt-bindings: pinctrl: Add starfive,jhb100-per3-pinctrl pinctrl: starfive: Add StarFive JHB100 per3 controller driver riscv: dts: starfive: jhb100: Add pinctrl nodes .../bindings/pinctrl/pincfg-node.yaml | 11 + .../pinctrl/starfive,jhb100-per0-pinctrl.yaml | 180 ++ .../pinctrl/starfive,jhb100-per1-pinctrl.yaml | 179 ++ .../pinctrl/starfive,jhb100-per2-pinctrl.yaml | 168 ++ .../starfive,jhb100-per2pok-pinctrl.yaml | 162 ++ .../pinctrl/starfive,jhb100-per3-pinctrl.yaml | 166 ++ .../pinctrl/starfive,jhb100-sys0-pinctrl.yaml | 164 ++ .../starfive,jhb100-sys0h-pinctrl.yaml | 162 ++ .../pinctrl/starfive,jhb100-sys1-pinctrl.yaml | 164 ++ .../pinctrl/starfive,jhb100-sys2-pinctrl.yaml | 170 ++ MAINTAINERS | 9 + arch/riscv/boot/dts/starfive/jhb100-evb1.dts | 3 + .../boot/dts/starfive/jhb100-pinctrl.dtsi | 23 + arch/riscv/boot/dts/starfive/jhb100.dtsi | 110 ++ drivers/pinctrl/pinconf-generic.c | 2 + drivers/pinctrl/starfive/Kconfig | 108 ++ drivers/pinctrl/starfive/Makefile | 11 + .../starfive/pinctrl-starfive-jhb100-per0.c | 153 ++ .../starfive/pinctrl-starfive-jhb100-per1.c | 163 ++ .../starfive/pinctrl-starfive-jhb100-per2.c | 124 ++ .../pinctrl-starfive-jhb100-per2pok.c | 96 ++ .../starfive/pinctrl-starfive-jhb100-per3.c | 118 ++ .../starfive/pinctrl-starfive-jhb100-sys0.c | 119 ++ .../starfive/pinctrl-starfive-jhb100-sys0h.c | 96 ++ .../starfive/pinctrl-starfive-jhb100-sys1.c | 92 ++ .../starfive/pinctrl-starfive-jhb100-sys2.c | 132 ++ .../starfive/pinctrl-starfive-jhb100.c | 1456 +++++++++++++++++ .../starfive/pinctrl-starfive-jhb100.h | 159 ++ .../pinctrl/starfive,jhb100-pinctrl.h | 247 +++ include/linux/pinctrl/pinconf-generic.h | 5 + 30 files changed, 4752 insertions(+) create mode 100644 Documentation/devicetree/bindings/pinctrl/starfive,jhb100-per0-pinctrl.yaml create mode 100644 Documentation/devicetree/bindings/pinctrl/starfive,jhb100-per1-pinctrl.yaml create mode 100644 Documentation/devicetree/bindings/pinctrl/starfive,jhb100-per2-pinctrl.yaml create mode 100644 Documentation/devicetree/bindings/pinctrl/starfive,jhb100-per2pok-pinctrl.yaml create mode 100644 Documentation/devicetree/bindings/pinctrl/starfive,jhb100-per3-pinctrl.yaml create mode 100644 Documentation/devicetree/bindings/pinctrl/starfive,jhb100-sys0-pinctrl.yaml create mode 100644 Documentation/devicetree/bindings/pinctrl/starfive,jhb100-sys0h-pinctrl.yaml create mode 100644 Documentation/devicetree/bindings/pinctrl/starfive,jhb100-sys1-pinctrl.yaml create mode 100644 Documentation/devicetree/bindings/pinctrl/starfive,jhb100-sys2-pinctrl.yaml create mode 100644 arch/riscv/boot/dts/starfive/jhb100-pinctrl.dtsi create mode 100644 drivers/pinctrl/starfive/pinctrl-starfive-jhb100-per0.c create mode 100644 drivers/pinctrl/starfive/pinctrl-starfive-jhb100-per1.c create mode 100644 drivers/pinctrl/starfive/pinctrl-starfive-jhb100-per2.c create mode 100644 drivers/pinctrl/starfive/pinctrl-starfive-jhb100-per2pok.c create mode 100644 drivers/pinctrl/starfive/pinctrl-starfive-jhb100-per3.c create mode 100644 drivers/pinctrl/starfive/pinctrl-starfive-jhb100-sys0.c create mode 100644 drivers/pinctrl/starfive/pinctrl-starfive-jhb100-sys0h.c create mode 100644 drivers/pinctrl/starfive/pinctrl-starfive-jhb100-sys1.c create mode 100644 drivers/pinctrl/starfive/pinctrl-starfive-jhb100-sys2.c create mode 100644 drivers/pinctrl/starfive/pinctrl-starfive-jhb100.c create mode 100644 drivers/pinctrl/starfive/pinctrl-starfive-jhb100.h create mode 100644 include/dt-bindings/pinctrl/starfive,jhb100-pinctrl.h -- 2.25.1