kernel: rtl8367b: fix external interface modes
authorINAGAKI Hiroshi <musashino.open@gmail.com>
Mon, 30 Mar 2020 06:47:44 +0000 (15:47 +0900)
committerChuanhong Guo <gch981213@gmail.com>
Thu, 11 Jun 2020 13:50:01 +0000 (21:50 +0800)
The interface mode number of RGMII_33V is 7 on RTL8367, but it's 9 on
RTL8367B.

the external interface modes for RTL8367 are follows:

- 0, Disabled
- 1, RGMII
- 2, MII_MAC
- 3, MII_PHY
- 4, TMII_MAC
- 5, TMII_PHY
- 6, GMII
- 7, RGMII_33V

the external interface modes for RTL8367B are follows:

- 0, Disabled
- 1, RGMII
- 2, MII_MAC
- 3, MII_PHY
- 4, TMII_MAC
- 5, TMII_PHY
- 6, GMII
- 7, RMII_MAC
- 8, RMII_PHY
- 9, RGMII_33V

But the driver in U-Boot of RT-N56U GPL tar blocks using RGMII_33V (9)
mode and it seems to be unsupported on RTL8367B, so drop it from
switch-case in rtl8367b_extif_set_mode.

ref (RTL8367):

- TL-WR2453ND v1

ref (RTL8367B):

- ASUS RT-N56U
- TP-Link Archer C2 v1

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
target/linux/generic/files/drivers/net/phy/rtl8367b.c
target/linux/generic/files/include/linux/rtl8367.h

index 1b1d5001a34a0c49fa595d3e9574323b943ce58b..3599791a517bbf5389daf42a2c2d8c67535e32de 100644 (file)
@@ -781,7 +781,6 @@ static int rtl8367b_extif_set_mode(struct rtl8366_smi *smi, int id,
        /* set port mode */
        switch (mode) {
        case RTL8367_EXTIF_MODE_RGMII:
-       case RTL8367_EXTIF_MODE_RGMII_33V:
                REG_RMW(smi, RTL8367B_CHIP_DEBUG0_REG,
                        RTL8367B_DEBUG0_SEL33(id),
                        RTL8367B_DEBUG0_SEL33(id));
index 855de6a5cc51348c5197ea0364ae81125d6ed0d4..14150393e280707bfc62b49c884fab31b965b3ca 100644 (file)
@@ -39,6 +39,9 @@ enum rtl8367_extif_mode {
        RTL8367_EXTIF_MODE_TMII_PHY,
        RTL8367_EXTIF_MODE_GMII,
        RTL8367_EXTIF_MODE_RGMII_33V,
+       RTL8367B_EXTIF_MODE_RMII_MAC = 7,
+       RTL8367B_EXTIF_MODE_RMII_PHY,
+       RTL8367B_EXTIF_MODE_RGMII_33V,
 };
 
 struct rtl8367_extif_config {