[PATCH 3/6] pinctrl: airoha: convert PHY LED GPIO to macro
Lorenzo Bianconi
lorenzo at kernel.org
Wed May 28 01:21:03 PDT 2025
> PHY LED GPIO pinctrl struct definition is very similar across the
> different 4 PHY and 2 LED and it can be generelized to a macro.
>
> To reduce code size, convert them to a common macro.
Acked-by: Lorenzo Bianconi <lorenzo at kernel.org>
>
> Signed-off-by: Christian Marangi <ansuelsmth at gmail.com>
> ---
> drivers/pinctrl/mediatek/pinctrl-airoha.c | 570 ++++------------------
> 1 file changed, 82 insertions(+), 488 deletions(-)
>
> diff --git a/drivers/pinctrl/mediatek/pinctrl-airoha.c b/drivers/pinctrl/mediatek/pinctrl-airoha.c
> index 8af9109db992..2b532334d759 100644
> --- a/drivers/pinctrl/mediatek/pinctrl-airoha.c
> +++ b/drivers/pinctrl/mediatek/pinctrl-airoha.c
> @@ -1475,516 +1475,110 @@ static const struct airoha_pinctrl_func_group pwm_func_group[] = {
> },
> };
>
> +#define AIROHA_PINCTRL_PHY_LED(gpio, mux_val, map_mask, map_val) \
> + { \
> + .name = (gpio), \
> + .regmap[0] = { \
> + AIROHA_FUNC_MUX, \
> + REG_GPIO_2ND_I2C_MODE, \
> + (mux_val), \
> + (mux_val), \
> + }, \
> + .regmap[1] = { \
> + AIROHA_FUNC_MUX, \
> + REG_LAN_LED0_MAPPING, \
> + (map_mask), \
> + (map_val), \
> + }, \
> + .regmap_size = 2, \
> + }
> +
> static const struct airoha_pinctrl_func_group phy1_led0_func_group[] = {
> - {
> - .name = "gpio33",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN0_LED0_MODE_MASK,
> - GPIO_LAN0_LED0_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN0_LED_MAPPING_MASK,
> - LAN0_PHY_LED_MAP(0)
> - },
> - .regmap_size = 2,
> - }, {
> - .name = "gpio34",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN1_LED0_MODE_MASK,
> - GPIO_LAN1_LED0_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN1_LED_MAPPING_MASK,
> - LAN1_PHY_LED_MAP(0)
> - },
> - .regmap_size = 2,
> - }, {
> - .name = "gpio35",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN2_LED0_MODE_MASK,
> - GPIO_LAN2_LED0_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN2_LED_MAPPING_MASK,
> - LAN2_PHY_LED_MAP(0)
> - },
> - .regmap_size = 2,
> - }, {
> - .name = "gpio42",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN3_LED0_MODE_MASK,
> - GPIO_LAN3_LED0_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN3_LED_MAPPING_MASK,
> - LAN3_PHY_LED_MAP(0)
> - },
> - .regmap_size = 2,
> - },
> + AIROHA_PINCTRL_PHY_LED("gpio33", GPIO_LAN0_LED0_MODE_MASK,
> + LAN0_LED_MAPPING_MASK, LAN0_PHY_LED_MAP(0)),
> + AIROHA_PINCTRL_PHY_LED("gpio34", GPIO_LAN1_LED0_MODE_MASK,
> + LAN1_LED_MAPPING_MASK, LAN1_PHY_LED_MAP(0)),
> + AIROHA_PINCTRL_PHY_LED("gpio35", GPIO_LAN2_LED0_MODE_MASK,
> + LAN2_LED_MAPPING_MASK, LAN2_PHY_LED_MAP(0)),
> + AIROHA_PINCTRL_PHY_LED("gpio42", GPIO_LAN3_LED0_MODE_MASK,
> + LAN3_LED_MAPPING_MASK, LAN3_PHY_LED_MAP(0)),
> };
>
> static const struct airoha_pinctrl_func_group phy2_led0_func_group[] = {
> - {
> - .name = "gpio33",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN0_LED0_MODE_MASK,
> - GPIO_LAN0_LED0_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN0_LED_MAPPING_MASK,
> - LAN0_PHY_LED_MAP(1)
> - },
> - .regmap_size = 2,
> - }, {
> - .name = "gpio34",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN1_LED0_MODE_MASK,
> - GPIO_LAN1_LED0_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN1_LED_MAPPING_MASK,
> - LAN1_PHY_LED_MAP(1)
> - },
> - .regmap_size = 2,
> - }, {
> - .name = "gpio35",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN2_LED0_MODE_MASK,
> - GPIO_LAN2_LED0_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN2_LED_MAPPING_MASK,
> - LAN2_PHY_LED_MAP(1)
> - },
> - .regmap_size = 2,
> - }, {
> - .name = "gpio42",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN3_LED0_MODE_MASK,
> - GPIO_LAN3_LED0_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN3_LED_MAPPING_MASK,
> - LAN3_PHY_LED_MAP(1)
> - },
> - .regmap_size = 2,
> - },
> + AIROHA_PINCTRL_PHY_LED("gpio33", GPIO_LAN0_LED0_MODE_MASK,
> + LAN0_LED_MAPPING_MASK, LAN0_PHY_LED_MAP(1)),
> + AIROHA_PINCTRL_PHY_LED("gpio34", GPIO_LAN1_LED0_MODE_MASK,
> + LAN1_LED_MAPPING_MASK, LAN1_PHY_LED_MAP(1)),
> + AIROHA_PINCTRL_PHY_LED("gpio35", GPIO_LAN2_LED0_MODE_MASK,
> + LAN2_LED_MAPPING_MASK, LAN2_PHY_LED_MAP(1)),
> + AIROHA_PINCTRL_PHY_LED("gpio42", GPIO_LAN3_LED0_MODE_MASK,
> + LAN3_LED_MAPPING_MASK, LAN3_PHY_LED_MAP(1)),
> };
>
> static const struct airoha_pinctrl_func_group phy3_led0_func_group[] = {
> - {
> - .name = "gpio33",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN0_LED0_MODE_MASK,
> - GPIO_LAN0_LED0_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN0_LED_MAPPING_MASK,
> - LAN0_PHY_LED_MAP(2)
> - },
> - .regmap_size = 2,
> - }, {
> - .name = "gpio34",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN1_LED0_MODE_MASK,
> - GPIO_LAN1_LED0_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN1_LED_MAPPING_MASK,
> - LAN1_PHY_LED_MAP(2)
> - },
> - .regmap_size = 2,
> - }, {
> - .name = "gpio35",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN2_LED0_MODE_MASK,
> - GPIO_LAN2_LED0_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN2_LED_MAPPING_MASK,
> - LAN2_PHY_LED_MAP(2)
> - },
> - .regmap_size = 2,
> - }, {
> - .name = "gpio42",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN3_LED0_MODE_MASK,
> - GPIO_LAN3_LED0_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN3_LED_MAPPING_MASK,
> - LAN3_PHY_LED_MAP(2)
> - },
> - .regmap_size = 2,
> - },
> + AIROHA_PINCTRL_PHY_LED("gpio33", GPIO_LAN0_LED0_MODE_MASK,
> + LAN0_LED_MAPPING_MASK, LAN0_PHY_LED_MAP(2)),
> + AIROHA_PINCTRL_PHY_LED("gpio34", GPIO_LAN1_LED0_MODE_MASK,
> + LAN1_LED_MAPPING_MASK, LAN1_PHY_LED_MAP(2)),
> + AIROHA_PINCTRL_PHY_LED("gpio35", GPIO_LAN2_LED0_MODE_MASK,
> + LAN2_LED_MAPPING_MASK, LAN2_PHY_LED_MAP(2)),
> + AIROHA_PINCTRL_PHY_LED("gpio42", GPIO_LAN3_LED0_MODE_MASK,
> + LAN3_LED_MAPPING_MASK, LAN3_PHY_LED_MAP(2)),
> };
>
> static const struct airoha_pinctrl_func_group phy4_led0_func_group[] = {
> - {
> - .name = "gpio33",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN0_LED0_MODE_MASK,
> - GPIO_LAN0_LED0_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN0_LED_MAPPING_MASK,
> - LAN0_PHY_LED_MAP(3)
> - },
> - .regmap_size = 2,
> - }, {
> - .name = "gpio34",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN1_LED0_MODE_MASK,
> - GPIO_LAN1_LED0_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN1_LED_MAPPING_MASK,
> - LAN1_PHY_LED_MAP(3)
> - },
> - .regmap_size = 2,
> - }, {
> - .name = "gpio35",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN2_LED0_MODE_MASK,
> - GPIO_LAN2_LED0_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN2_LED_MAPPING_MASK,
> - LAN2_PHY_LED_MAP(3)
> - },
> - .regmap_size = 2,
> - }, {
> - .name = "gpio42",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN3_LED0_MODE_MASK,
> - GPIO_LAN3_LED0_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN3_LED_MAPPING_MASK,
> - LAN3_PHY_LED_MAP(3)
> - },
> - .regmap_size = 2,
> - },
> + AIROHA_PINCTRL_PHY_LED("gpio33", GPIO_LAN0_LED0_MODE_MASK,
> + LAN0_LED_MAPPING_MASK, LAN0_PHY_LED_MAP(3)),
> + AIROHA_PINCTRL_PHY_LED("gpio34", GPIO_LAN1_LED0_MODE_MASK,
> + LAN1_LED_MAPPING_MASK, LAN1_PHY_LED_MAP(3)),
> + AIROHA_PINCTRL_PHY_LED("gpio35", GPIO_LAN2_LED0_MODE_MASK,
> + LAN2_LED_MAPPING_MASK, LAN2_PHY_LED_MAP(3)),
> + AIROHA_PINCTRL_PHY_LED("gpio42", GPIO_LAN3_LED0_MODE_MASK,
> + LAN3_LED_MAPPING_MASK, LAN3_PHY_LED_MAP(3)),
> };
>
> static const struct airoha_pinctrl_func_group phy1_led1_func_group[] = {
> - {
> - .name = "gpio43",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN0_LED1_MODE_MASK,
> - GPIO_LAN0_LED1_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN0_LED_MAPPING_MASK,
> - LAN0_PHY_LED_MAP(0)
> - },
> - .regmap_size = 2,
> - }, {
> - .name = "gpio44",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN1_LED1_MODE_MASK,
> - GPIO_LAN1_LED1_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN1_LED_MAPPING_MASK,
> - LAN1_PHY_LED_MAP(0)
> - },
> - .regmap_size = 2,
> - }, {
> - .name = "gpio45",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN2_LED1_MODE_MASK,
> - GPIO_LAN2_LED1_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN2_LED_MAPPING_MASK,
> - LAN2_PHY_LED_MAP(0)
> - },
> - .regmap_size = 2,
> - }, {
> - .name = "gpio46",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN3_LED1_MODE_MASK,
> - GPIO_LAN3_LED1_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN3_LED_MAPPING_MASK,
> - LAN3_PHY_LED_MAP(0)
> - },
> - .regmap_size = 2,
> - },
> + AIROHA_PINCTRL_PHY_LED("gpio33", GPIO_LAN0_LED1_MODE_MASK,
> + LAN0_LED_MAPPING_MASK, LAN0_PHY_LED_MAP(0)),
> + AIROHA_PINCTRL_PHY_LED("gpio34", GPIO_LAN1_LED1_MODE_MASK,
> + LAN1_LED_MAPPING_MASK, LAN1_PHY_LED_MAP(0)),
> + AIROHA_PINCTRL_PHY_LED("gpio35", GPIO_LAN2_LED1_MODE_MASK,
> + LAN2_LED_MAPPING_MASK, LAN2_PHY_LED_MAP(0)),
> + AIROHA_PINCTRL_PHY_LED("gpio42", GPIO_LAN3_LED1_MODE_MASK,
> + LAN3_LED_MAPPING_MASK, LAN3_PHY_LED_MAP(0)),
> };
>
> static const struct airoha_pinctrl_func_group phy2_led1_func_group[] = {
> - {
> - .name = "gpio43",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN0_LED1_MODE_MASK,
> - GPIO_LAN0_LED1_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN0_LED_MAPPING_MASK,
> - LAN0_PHY_LED_MAP(1)
> - },
> - .regmap_size = 2,
> - }, {
> - .name = "gpio44",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN1_LED1_MODE_MASK,
> - GPIO_LAN1_LED1_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN1_LED_MAPPING_MASK,
> - LAN1_PHY_LED_MAP(1)
> - },
> - .regmap_size = 2,
> - }, {
> - .name = "gpio45",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN2_LED1_MODE_MASK,
> - GPIO_LAN2_LED1_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN2_LED_MAPPING_MASK,
> - LAN2_PHY_LED_MAP(1)
> - },
> - .regmap_size = 2,
> - }, {
> - .name = "gpio46",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN3_LED1_MODE_MASK,
> - GPIO_LAN3_LED1_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN3_LED_MAPPING_MASK,
> - LAN3_PHY_LED_MAP(1)
> - },
> - .regmap_size = 2,
> - },
> + AIROHA_PINCTRL_PHY_LED("gpio33", GPIO_LAN0_LED1_MODE_MASK,
> + LAN0_LED_MAPPING_MASK, LAN0_PHY_LED_MAP(1)),
> + AIROHA_PINCTRL_PHY_LED("gpio34", GPIO_LAN1_LED1_MODE_MASK,
> + LAN1_LED_MAPPING_MASK, LAN1_PHY_LED_MAP(1)),
> + AIROHA_PINCTRL_PHY_LED("gpio35", GPIO_LAN2_LED1_MODE_MASK,
> + LAN2_LED_MAPPING_MASK, LAN2_PHY_LED_MAP(1)),
> + AIROHA_PINCTRL_PHY_LED("gpio42", GPIO_LAN3_LED1_MODE_MASK,
> + LAN3_LED_MAPPING_MASK, LAN3_PHY_LED_MAP(1)),
> };
>
> static const struct airoha_pinctrl_func_group phy3_led1_func_group[] = {
> - {
> - .name = "gpio43",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN0_LED1_MODE_MASK,
> - GPIO_LAN0_LED1_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN0_LED_MAPPING_MASK,
> - LAN0_PHY_LED_MAP(2)
> - },
> - .regmap_size = 2,
> - }, {
> - .name = "gpio44",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN1_LED1_MODE_MASK,
> - GPIO_LAN1_LED1_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN1_LED_MAPPING_MASK,
> - LAN1_PHY_LED_MAP(2)
> - },
> - .regmap_size = 2,
> - }, {
> - .name = "gpio45",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN2_LED1_MODE_MASK,
> - GPIO_LAN2_LED1_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN2_LED_MAPPING_MASK,
> - LAN2_PHY_LED_MAP(2)
> - },
> - .regmap_size = 2,
> - }, {
> - .name = "gpio46",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN3_LED1_MODE_MASK,
> - GPIO_LAN3_LED1_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN3_LED_MAPPING_MASK,
> - LAN3_PHY_LED_MAP(2)
> - },
> - .regmap_size = 2,
> - },
> + AIROHA_PINCTRL_PHY_LED("gpio33", GPIO_LAN0_LED1_MODE_MASK,
> + LAN0_LED_MAPPING_MASK, LAN0_PHY_LED_MAP(2)),
> + AIROHA_PINCTRL_PHY_LED("gpio34", GPIO_LAN1_LED1_MODE_MASK,
> + LAN1_LED_MAPPING_MASK, LAN1_PHY_LED_MAP(2)),
> + AIROHA_PINCTRL_PHY_LED("gpio35", GPIO_LAN2_LED1_MODE_MASK,
> + LAN2_LED_MAPPING_MASK, LAN2_PHY_LED_MAP(2)),
> + AIROHA_PINCTRL_PHY_LED("gpio42", GPIO_LAN3_LED1_MODE_MASK,
> + LAN3_LED_MAPPING_MASK, LAN3_PHY_LED_MAP(2)),
> };
>
> static const struct airoha_pinctrl_func_group phy4_led1_func_group[] = {
> - {
> - .name = "gpio43",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN0_LED1_MODE_MASK,
> - GPIO_LAN0_LED1_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN0_LED_MAPPING_MASK,
> - LAN0_PHY_LED_MAP(3)
> - },
> - .regmap_size = 2,
> - }, {
> - .name = "gpio44",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN1_LED1_MODE_MASK,
> - GPIO_LAN1_LED1_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN1_LED_MAPPING_MASK,
> - LAN1_PHY_LED_MAP(3)
> - },
> - .regmap_size = 2,
> - }, {
> - .name = "gpio45",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN2_LED1_MODE_MASK,
> - GPIO_LAN2_LED1_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN2_LED_MAPPING_MASK,
> - LAN2_PHY_LED_MAP(3)
> - },
> - .regmap_size = 2,
> - }, {
> - .name = "gpio46",
> - .regmap[0] = {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN3_LED1_MODE_MASK,
> - GPIO_LAN3_LED1_MODE_MASK
> - },
> - .regmap[1] = {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN3_LED_MAPPING_MASK,
> - LAN3_PHY_LED_MAP(3)
> - },
> - .regmap_size = 2,
> - },
> + AIROHA_PINCTRL_PHY_LED("gpio33", GPIO_LAN0_LED1_MODE_MASK,
> + LAN0_LED_MAPPING_MASK, LAN0_PHY_LED_MAP(2)),
> + AIROHA_PINCTRL_PHY_LED("gpio34", GPIO_LAN1_LED1_MODE_MASK,
> + LAN1_LED_MAPPING_MASK, LAN1_PHY_LED_MAP(2)),
> + AIROHA_PINCTRL_PHY_LED("gpio35", GPIO_LAN2_LED1_MODE_MASK,
> + LAN2_LED_MAPPING_MASK, LAN2_PHY_LED_MAP(2)),
> + AIROHA_PINCTRL_PHY_LED("gpio42", GPIO_LAN3_LED1_MODE_MASK,
> + LAN3_LED_MAPPING_MASK, LAN3_PHY_LED_MAP(2)),
> };
>
> static const struct airoha_pinctrl_func en7581_pinctrl_funcs[] = {
> --
> 2.48.1
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-mediatek/attachments/20250528/4b801344/attachment.sig>
More information about the Linux-mediatek
mailing list