[PATCH v9 29/36] pinctrl: airoha: an7583: add support for pon_alt pinmux
Mikhail Kshevetskiy <[email protected]> Tue, 4 Aug 2026 19:04:12 +0300
| Newsgroups | org.infradead.lists.linux-mediatek,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-gpio,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Add support for pon pin function for pon_alt pin group. Signed-off-by: Mikhail Kshevetskiy <[email protected]> --- drivers/pinctrl/airoha/pinctrl-an7583.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/drivers/pinctrl/airoha/pinctrl-an7583.c b/drivers/pinctrl/airoha/pinctrl-an7583.c index dc88cbd8746bb..2e145ef5a224c 100644 --- a/drivers/pinctrl/airoha/pinctrl-an7583.c +++ b/drivers/pinctrl/airoha/pinctrl-an7583.c @@ -38,6 +38,7 @@ #define GPIO_SPI_CS1_MODE_MASK BIT(0) #define REG_GPIO_PON_MODE 0x021c +#define GPIO_PON_ALT_MODE_MASK BIT(27) #define MDIO_0_GPIO_MODE_MASK BIT(26) #define MDC_0_GPIO_MODE_MASK BIT(25) #define UART_RXD_GPIO_MODE_MASK BIT(24) @@ -391,6 +392,7 @@ static struct pinctrl_pin_desc pinctrl_pins[] = { }; static const int pon_pins[] = { 15, 16, 17, 18, 19, 20 }; +static const int pon_alt_pins[] = { 36, 37, 38, 39, 40 }; static const int pon_tod_1pps_pins[] = { 32 }; static const int gsw_tod_1pps_pins[] = { 32 }; static const int sipo_pins[] = { 34, 35 }; @@ -480,6 +482,7 @@ static const int pcie_reset1_pins[] = { 52 }; static const struct pingroup pinctrl_groups[] = { PINCTRL_PIN_GROUP("pon", pon), + PINCTRL_PIN_GROUP("pon_alt", pon_alt), PINCTRL_PIN_GROUP("pon_tod_1pps", pon_tod_1pps), PINCTRL_PIN_GROUP("gsw_tod_1pps", gsw_tod_1pps), PINCTRL_PIN_GROUP("sipo", sipo), @@ -564,7 +567,7 @@ static const struct pingroup pinctrl_groups[] = { PINCTRL_PIN_GROUP("pcie_reset1", pcie_reset1), }; -static const char *const pon_groups[] = { "pon" }; +static const char *const pon_groups[] = { "pon", "pon_alt" }; static const char *const tod_1pps_groups[] = { "pon_tod_1pps", "gsw_tod_1pps" }; @@ -632,10 +635,19 @@ static const struct airoha_pinctrl_func_group pon_func_group[] = { .regmap[0] = { AIROHA_FUNC_MUX, REG_GPIO_PON_MODE, - GPIO_PON_MODE_MASK, + GPIO_PON_MODE_MASK | GPIO_PON_ALT_MODE_MASK, GPIO_PON_MODE_MASK }, .regmap_size = 1, + }, { + .name = "pon_alt", + .regmap[0] = { + AIROHA_FUNC_MUX, + REG_GPIO_PON_MODE, + GPIO_PON_MODE_MASK | GPIO_PON_ALT_MODE_MASK, + GPIO_PON_ALT_MODE_MASK + }, + .regmap_size = 1, }, }; -- 2.53.0