[PATCH 0/3] pinctrl: rockchip: add rk3308b SoC support

Dmitry Yashin
2024-05-15T12:18:13Z

This patch series fixes iomux routes on rk3308 and adds support for
pin controller found on rk3308b. According to rk3308b TRM, this pinctrl
much the same as rk3308's, but with additional iomux routes and 3bit
iomuxes selected via gpio##_sel_src_ctrl registers.

Downstream kernel [1] managed this SoC's with rk3308b_soc_data_init,
wich picked configuration based on cpuid. Upstream pinctrl patches
droped soc init function.

The function rk3308b_soc_sel_src_init sets up gpio##_sel_src_ctrl
registers, making SoC to use 3bit iomuxes over some 2bit old ones.

These patches have been tested on Radxa's ROCK Pi S, one based on rk3308
and the other on rk3308b (from the latest batches). For the new boards
fixes broken spi1 clk.

Similar effort [2] was made several years ago, but without keeping base
rk3308 SoC pinctrl support.

[1] https://github.com/radxa/kernel/blob/stable-4.4-rockpis/drivers/pinctrl/pinctrl-rockchip.c#L4388
[2] https://lore.kernel.org/linux-rockchip/20220930102620.1568864-1-jay.xu@rock-chips.com/

Dmitry Yashin (3):
pinctrl: rockchip: update rk3308 iomux routes
dt-bindings: pinctrl: rockchip: add rk3308b
pinctrl: rockchip: add rk3308b SoC support

.../bindings/pinctrl/rockchip,pinctrl.yaml | 1 +
drivers/pinctrl/pinctrl-rockchip.c | 187 ++++++++++++++++++
drivers/pinctrl/pinctrl-rockchip.h | 1 +
3 files changed, 189 insertions(+)

base-commit: ed30a4a51bb196781c8058073ea720133a65596f
--
2.39.2