[PATCH v3 0/4] pinctrl: Add support for the Rockchip RV1106
Simon Glass
sjg at chromium.org
Wed Jul 29 06:27:24 PDT 2026
This series adds pinctrl support for the Rockchip RV1106 and its
RV1103 package variant, split out from the initial RV1106 enablement
series [1] following feedback to submit per subsystem.
On this SoC each GPIO bank has a dedicated IO control (IOC) register
block, unlike earlier Rockchip designs where the registers of all
banks share a GRF region. Following Jonas's review of v1, each bank
node now references the syscon for its own IOC block through a
rockchip,grf phandle and the driver uses a separate regmap per bank,
so no regmap crosses a block boundary.
This v3 is tested on a Luckfox Pico Mini B (RV1103): pinctrl and the
four GPIO banks probe, and the sdmmc pinctrl state is applied through
the per-bank IOC regmaps, with the SD card working.
The corresponding devicetree changes are part of the main RV1106
series, which goes through the Rockchip tree.
[1] https://patchwork.kernel.org/project/linux-rockchip/list/?series=1122658
Changes in v3:
- Add new patch moving the drive-strength decoding to the get function
- Declare the 8-bit level drive type on the banks so that reads decode
correctly
- Return an error from the iomux functions when a bank has no IOC
regmap, rather than falling back to the shared regmap
Changes in v2:
- Add new patch for the per-bank IOC reference
- Use a separate IOC regmap per bank, taken from the rockchip,grf
phandle of each bank node and identified by the gpio alias, with
block-relative register offsets
- Reject drive-strength requests for GPIO0 pins above 6, which have no
drive-strength registers
- Specify only the first iomux offset for each bank, letting the driver
calculate the increments
Simon Glass (4):
pinctrl: rockchip: Decode drive strength in the get function
dt-bindings: gpio: rockchip,gpio-bank: Add rockchip,grf property
dt-bindings: pinctrl: rockchip: Add RV1106 compatible
pinctrl: rockchip: Add RV1106 pinctrl support
.../bindings/gpio/rockchip,gpio-bank.yaml | 7 +
.../bindings/pinctrl/rockchip,pinctrl.yaml | 1 +
drivers/pinctrl/pinctrl-rockchip.c | 230 ++++++++++++++++--
drivers/pinctrl/pinctrl-rockchip.h | 4 +
4 files changed, 223 insertions(+), 19 deletions(-)
---
base-commit: fc02acf6ac0ccde0c805c2daa9148683cdd01ba8
branch: rv1106b3
--
2.43.0
More information about the Linux-rockchip
mailing list