diff --git a/arch/arm/dts/ipq807x-hk08.dts b/arch/arm/dts/ipq807x-hk08.dts index ca9e1a9d7d..f4372aac5e 100644 --- a/arch/arm/dts/ipq807x-hk08.dts +++ b/arch/arm/dts/ipq807x-hk08.dts @@ -27,11 +27,40 @@ }; ess-switch { switch_mac_mode = <0x1>; - switch_mac_mode1 = <0xFF>; + switch_mac_mode1 = <0x6>; switch_mac_mode2 = <0x2>; 8033_port = <0>; aquantia_port = <5>; aquantia_gpio = <63>; + napa_gpio = <37>; + napa_gpio_cnt = <1>; + port_phyinfo { + port@0 { + phy_address = <6>; + phy_type = <4>; + }; + port@1 { + phy_address = <1>; + phy_type = <1>; + }; + port@2 { + phy_address = <2>; + phy_type = <1>; + }; + port@3 { + phy_address = <3>; + phy_type = <1>; + }; + port@4 { + phy_address = <20>; + phy_type = <2>; + }; + port@5 { + phy_address = <7>; + phy_type = <3>; + }; + }; }; + }; diff --git a/drivers/net/ipq807x/ipq807x_edma.c b/drivers/net/ipq807x/ipq807x_edma.c index c64465c07f..97151c3440 100755 --- a/drivers/net/ipq807x/ipq807x_edma.c +++ b/drivers/net/ipq807x/ipq807x_edma.c @@ -1875,6 +1875,7 @@ int ipq807x_edma_init(void *edma_board_cfg) ipq_qca8033_phy_init(&ipq807x_edma_dev[i]->ops[phy_id], phy_addr); break; case QCA8081_PHY: + case QCA8081_1_1_PHY: ipq_qca8081_phy_init(&ipq807x_edma_dev[i]->ops[phy_id], phy_addr); break; case AQUANTIA_PHY_107: diff --git a/drivers/net/ipq_common/ipq_phy.h b/drivers/net/ipq_common/ipq_phy.h index 61a3026139..5fd29c3fa5 100755 --- a/drivers/net/ipq_common/ipq_phy.h +++ b/drivers/net/ipq_common/ipq_phy.h @@ -38,6 +38,7 @@ #define QCA8033_PHY 0x004DD074 #define QCA8033_PHY_ADDR 0x6 #define QCA8081_PHY 0x004DD100 +#define QCA8081_1_1_PHY 0x004DD101 #define AQUANTIA_PHY_107 0x03a1b4e2 #define AQUANTIA_PHY_109 0x03a1b502 #define AQUANTIA_PHY_111 0x03a1b610 @@ -100,6 +101,7 @@ enum phy_mode { MALIBU_PHY_TYPE = 1, QCA8081_PHY_TYPE = 2, AQ_PHY_TYPE = 3, + QCA8033_PHY_TYPE = 4, }; typedef struct {