[PATCH 0/3] Add initial support for Canaan Kendryte K230 pinctrl

From: Ze Huang
Date: Sun Sep 15 2024 - 10:24:33 EST


This patch series introduces support for the pinctrl driver of the Canaan
K230 SoC. The K230 SoC features 64 IO pins, each of which can be configured
for up to five different functions.

The controller manages the entire pin configuration and multiplexing
through a single register, which control features such as schmitt trigger,
drive strength, bias pull-up/down, input/output enable, power source, and
mux mode.

The changes have been tested on the K230 development board.

The pin function definition can be found here [1], and most of the DTS data
was converted from the vendor's code [2].

Link: https://developer.canaan-creative.com/k230/dev/_downloads/a53655a81951bc8a440ae647be286e75/K230_PINOUT_V1.1_20230321.xlsx [1]
Link: https://github.com/kendryte/k230_sdk/blob/main/src/little/uboot/arch/riscv/dts/k230_canmv.dts [2]

Ze Huang (3):
dt-bindings: pinctrl: Add support for canaan,k230 SoC
pinctrl: canaan: Add support for k230 SoC
riscv: dts: canaan: Add k230's pinctrl node

.../bindings/pinctrl/canaan,k230-pinctrl.yaml | 128 ++++
arch/riscv/boot/dts/canaan/k230-pinctrl.dtsi | 318 +++++++++
arch/riscv/boot/dts/canaan/k230-pinctrl.h | 18 +
arch/riscv/boot/dts/canaan/k230.dtsi | 2 +
drivers/pinctrl/Kconfig | 10 +
drivers/pinctrl/Makefile | 1 +
drivers/pinctrl/pinctrl-k230.c | 674 ++++++++++++++++++
7 files changed, 1151 insertions(+)
create mode 100644 Documentation/devicetree/bindings/pinctrl/canaan,k230-pinctrl.yaml
create mode 100644 arch/riscv/boot/dts/canaan/k230-pinctrl.dtsi
create mode 100644 arch/riscv/boot/dts/canaan/k230-pinctrl.h
create mode 100644 drivers/pinctrl/pinctrl-k230.c

--
2.46.1