[PATCH 0/9] rockchip: pinctrl: Minor fixes and add support for pinmux status cmd

Jonas Karlman jonas at kwiboo.se
Sun May 12 14:16:13 CEST 2024


This series includes some minor fixes, cleanup and add support for using
the pinmux status cmd.

Following is an example on a Radxa ROCK 5A (RK3588S):

  => pinmux dev pinctrl
  dev: pinctrl
  => pinmux status
  GPIO0_A0  : gpio
  GPIO0_A1  : func-2
  GPIO0_A2  : gpio
  GPIO0_A3  : gpio
  GPIO0_A4  : func-1
  GPIO0_A5  : func-2
  GPIO0_A6  : gpio
  GPIO0_A7  : gpio
  GPIO0_B0  : gpio
  GPIO0_B1  : gpio
  GPIO0_B2  : gpio
  GPIO0_B3  : gpio
  GPIO0_B4  : gpio
  GPIO0_B5  : func-10
  GPIO0_B6  : func-10
  GPIO0_B7  : gpio
  [...]

and on a ASUS TinkerBoard R2.0 (RK3288W):

  => pinmux dev pinctrl
  dev: pinctrl
  => pinmux status
  [...]
  GPIO2_C6  : gpio
  GPIO2_C7  : gpio
  GPIO2_D0  : unrouted
  GPIO2_D1  : unrouted
  GPIO2_D2  : unrouted
  GPIO2_D3  : unrouted
  GPIO2_D4  : unrouted
  GPIO2_D5  : unrouted
  GPIO2_D6  : unrouted
  GPIO2_D7  : unrouted
  GPIO3_A0  : func-2
  GPIO3_A1  : func-2
  [...]

Patch 1-3 are minor fixes so that correct pinmux status is reported.

Patch 4 refactor to use syscon_regmap_lookup_by_phandle() helper.
Patch 6 refactor to get pinctrl device from gpio-ranges prop.

Patch 5 and 7 change to use pinctrl pin offset instead of bank num to
get current pinmux.

Patch 8 add required ops for use of the pinmux status cmd.

Patch 9 add gpio-ranges props for remaining RK SoCs, this is strictly
not needed for pinmux status cmd to function. However, the change to not
require the pin controller offset to be 32 aligned was required to add
gpio-ranges props for RK3288.

This series depends on the "rockchip: Add gpio request() ops and drop
PCIe reset-gpios workaround" [1] series.

[1] https://patchwork.ozlabs.org/cover/1934100/

Jonas Karlman (9):
  pinctrl: rockchip: rk3188: Fix support for IOMUX_GPIO_ONLY flag
  pinctrl: rockchip: rv1126: Fix support for IOMUX_L_SOURCE_PMU flag
  pinctrl: rockchip: rk3588: Fix support for rockchip_get_mux()
  pinctrl: rockchip: Use syscon_regmap_lookup_by_phandle()
  pinctrl: rockchip: Update get_gpio_mux() ops
  gpio: rockchip: Get pinctrl device from gpio-ranges prop
  gpio: rockchip: Use pinctrl pin offset to get_gpio_mux()
  pinctrl: rockchip: Add pinmux status related ops
  rockchip: gpio: Add gpio-ranges props

 arch/arm/dts/rk3036-u-boot.dtsi               |  12 ++
 arch/arm/dts/rk3066a-u-boot.dtsi              |   3 +-
 arch/arm/dts/rk3128-u-boot.dtsi               |  16 ++
 arch/arm/dts/rk322x-u-boot.dtsi               |  16 ++
 arch/arm/dts/rk3288-u-boot.dtsi               |  33 ++++
 arch/arm/dts/rk3308-u-boot.dtsi               |  20 +++
 arch/arm/dts/rk3328-u-boot.dtsi               |  13 ++
 arch/arm/dts/rk3368-u-boot.dtsi               |  16 ++
 arch/arm/dts/rk3399-u-boot.dtsi               |  20 +++
 arch/arm/dts/rv1108-u-boot.dtsi               |  16 ++
 arch/arm/dts/rv1126-u-boot.dtsi               |  14 ++
 drivers/gpio/rk_gpio.c                        |  44 +++--
 .../pinctrl/rockchip/pinctrl-rockchip-core.c  | 151 ++++++++++++++----
 13 files changed, 322 insertions(+), 52 deletions(-)

-- 
2.43.2



More information about the U-Boot mailing list