|
|
Log in / Subscribe / Register

Add basic pinctrl drivers for JHB100 SoC

From:  Changhuang Liang <changhuang.liang-AT-starfivetech.com>
To:  Linus Walleij <linusw-AT-kernel.org>, Rob Herring <robh-AT-kernel.org>, Krzysztof Kozlowski <krzk+dt-AT-kernel.org>, Conor Dooley <conor+dt-AT-kernel.org>, Emil Renner Berthing <kernel-AT-esmil.dk>, Paul Walmsley <pjw-AT-kernel.org>, Albert Ou <aou-AT-eecs.berkeley.edu>, Palmer Dabbelt <palmer-AT-dabbelt.com>, Alexandre Ghiti <alex-AT-ghiti.fr>, Philipp Zabel <p.zabel-AT-pengutronix.de>, Bartosz Golaszewski <brgl-AT-kernel.org>
Subject:  [PATCH v1 00/20] Add basic pinctrl drivers for JHB100 SoC
Date:  Fri, 24 Apr 2026 04:13:10 -0700
Message-ID:  <20260424111330.702272-1-changhuang.liang@starfivetech.com>
Cc:  linux-gpio-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org, devicetree-AT-vger.kernel.org, linux-riscv-AT-lists.infradead.org, Lianfeng Ouyang <lianfeng.ouyang-AT-starfivetech.com>, Changhuang Liang <changhuang.liang-AT-starfivetech.com>
Archive-link:  Article

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/20260402105523.447523-1-chang...

Changhuang Liang (19):
  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

Lianfeng Ouyang (1):
  riscv: dts: starfive: Add StarFive JHB100 pin function definitions

 .../pinctrl/starfive,jhb100-per0-pinctrl.yaml |  219 ++
 .../pinctrl/starfive,jhb100-per1-pinctrl.yaml |  217 ++
 .../pinctrl/starfive,jhb100-per2-pinctrl.yaml |  178 ++
 .../starfive,jhb100-per2pok-pinctrl.yaml      |  154 ++
 .../pinctrl/starfive,jhb100-per3-pinctrl.yaml |  177 ++
 .../pinctrl/starfive,jhb100-sys0-pinctrl.yaml |  155 ++
 .../starfive,jhb100-sys0h-pinctrl.yaml        |  156 ++
 .../pinctrl/starfive,jhb100-sys1-pinctrl.yaml |  155 ++
 .../pinctrl/starfive,jhb100-sys2-pinctrl.yaml |  178 ++
 MAINTAINERS                                   |    8 +
 .../boot/dts/starfive/jhb100-evb1-eth.dts     |   27 +
 arch/riscv/boot/dts/starfive/jhb100-evb1.dtsi |    4 +
 .../boot/dts/starfive/jhb100-pinctrl.dtsi     |   19 +
 arch/riscv/boot/dts/starfive/jhb100-pinfunc.h |  642 ++++++
 arch/riscv/boot/dts/starfive/jhb100.dtsi      |  107 +
 drivers/pinctrl/starfive/Kconfig              |  117 ++
 drivers/pinctrl/starfive/Makefile             |   11 +
 .../starfive/pinctrl-starfive-jhb100-per0.c   |  100 +
 .../starfive/pinctrl-starfive-jhb100-per1.c   |  112 +
 .../starfive/pinctrl-starfive-jhb100-per2.c   |  102 +
 .../pinctrl-starfive-jhb100-per2pok.c         |   80 +
 .../starfive/pinctrl-starfive-jhb100-per3.c   |  101 +
 .../starfive/pinctrl-starfive-jhb100-sys0.c   |  111 +
 .../starfive/pinctrl-starfive-jhb100-sys0h.c  |   81 +
 .../starfive/pinctrl-starfive-jhb100-sys1.c   |   80 +
 .../starfive/pinctrl-starfive-jhb100-sys2.c   |  109 +
 .../starfive/pinctrl-starfive-jhb100.c        | 1821 +++++++++++++++++
 .../starfive/pinctrl-starfive-jhb100.h        |  191 ++
 28 files changed, 5412 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 arch/riscv/boot/dts/starfive/jhb100-pinfunc.h
 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

--
2.25.1



Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds