Skip to content

Commit 33468b5

Browse files
committed
Merge tag 'pinctrl-v6.17-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
Pull pin control fixes from Linus Walleij: "Two small driver fixes for the Airhoa driver: - Correct a PHY LED mux value so the PHY LED will blink as it should - Fix the MDIO function bitmasks, working around a HW bug to force-enable the MDIO pins" * tag 'pinctrl-v6.17-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: pinctrl: airoha: fix wrong MDIO function bitmaks pinctrl: airoha: fix wrong PHY LED mux value for LED1 GPIO46
2 parents 07e27ad + a061e73 commit 33468b5

1 file changed

Lines changed: 17 additions & 14 deletions

File tree

drivers/pinctrl/mediatek/pinctrl-airoha.c

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,9 @@
108108
#define JTAG_UDI_EN_MASK BIT(4)
109109
#define JTAG_DFD_EN_MASK BIT(3)
110110

111+
#define REG_FORCE_GPIO_EN 0x0228
112+
#define FORCE_GPIO_EN(n) BIT(n)
113+
111114
/* LED MAP */
112115
#define REG_LAN_LED0_MAPPING 0x027c
113116
#define REG_LAN_LED1_MAPPING 0x0280
@@ -718,17 +721,17 @@ static const struct airoha_pinctrl_func_group mdio_func_group[] = {
718721
{
719722
.name = "mdio",
720723
.regmap[0] = {
721-
AIROHA_FUNC_MUX,
722-
REG_GPIO_PON_MODE,
723-
GPIO_SGMII_MDIO_MODE_MASK,
724-
GPIO_SGMII_MDIO_MODE_MASK
725-
},
726-
.regmap[1] = {
727724
AIROHA_FUNC_MUX,
728725
REG_GPIO_2ND_I2C_MODE,
729726
GPIO_MDC_IO_MASTER_MODE_MODE,
730727
GPIO_MDC_IO_MASTER_MODE_MODE
731728
},
729+
.regmap[1] = {
730+
AIROHA_FUNC_MUX,
731+
REG_FORCE_GPIO_EN,
732+
FORCE_GPIO_EN(1) | FORCE_GPIO_EN(2),
733+
FORCE_GPIO_EN(1) | FORCE_GPIO_EN(2)
734+
},
732735
.regmap_size = 2,
733736
},
734737
};
@@ -1752,8 +1755,8 @@ static const struct airoha_pinctrl_func_group phy1_led1_func_group[] = {
17521755
.regmap[0] = {
17531756
AIROHA_FUNC_MUX,
17541757
REG_GPIO_2ND_I2C_MODE,
1755-
GPIO_LAN3_LED0_MODE_MASK,
1756-
GPIO_LAN3_LED0_MODE_MASK
1758+
GPIO_LAN3_LED1_MODE_MASK,
1759+
GPIO_LAN3_LED1_MODE_MASK
17571760
},
17581761
.regmap[1] = {
17591762
AIROHA_FUNC_MUX,
@@ -1816,8 +1819,8 @@ static const struct airoha_pinctrl_func_group phy2_led1_func_group[] = {
18161819
.regmap[0] = {
18171820
AIROHA_FUNC_MUX,
18181821
REG_GPIO_2ND_I2C_MODE,
1819-
GPIO_LAN3_LED0_MODE_MASK,
1820-
GPIO_LAN3_LED0_MODE_MASK
1822+
GPIO_LAN3_LED1_MODE_MASK,
1823+
GPIO_LAN3_LED1_MODE_MASK
18211824
},
18221825
.regmap[1] = {
18231826
AIROHA_FUNC_MUX,
@@ -1880,8 +1883,8 @@ static const struct airoha_pinctrl_func_group phy3_led1_func_group[] = {
18801883
.regmap[0] = {
18811884
AIROHA_FUNC_MUX,
18821885
REG_GPIO_2ND_I2C_MODE,
1883-
GPIO_LAN3_LED0_MODE_MASK,
1884-
GPIO_LAN3_LED0_MODE_MASK
1886+
GPIO_LAN3_LED1_MODE_MASK,
1887+
GPIO_LAN3_LED1_MODE_MASK
18851888
},
18861889
.regmap[1] = {
18871890
AIROHA_FUNC_MUX,
@@ -1944,8 +1947,8 @@ static const struct airoha_pinctrl_func_group phy4_led1_func_group[] = {
19441947
.regmap[0] = {
19451948
AIROHA_FUNC_MUX,
19461949
REG_GPIO_2ND_I2C_MODE,
1947-
GPIO_LAN3_LED0_MODE_MASK,
1948-
GPIO_LAN3_LED0_MODE_MASK
1950+
GPIO_LAN3_LED1_MODE_MASK,
1951+
GPIO_LAN3_LED1_MODE_MASK
19491952
},
19501953
.regmap[1] = {
19511954
AIROHA_FUNC_MUX,

0 commit comments

Comments
 (0)