mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2025-03-06 05:31:23 +00:00
mediatek: fix support for gmac1 using external PHY
Signed-off-by: John Crispin <john@phrozen.org>
This commit is contained in:
parent
956e31b1e4
commit
f3bae0fa4b
@ -218,6 +218,7 @@ CONFIG_I2C=y
|
|||||||
CONFIG_I2C_BOARDINFO=y
|
CONFIG_I2C_BOARDINFO=y
|
||||||
CONFIG_I2C_CHARDEV=y
|
CONFIG_I2C_CHARDEV=y
|
||||||
CONFIG_I2C_MT65XX=y
|
CONFIG_I2C_MT65XX=y
|
||||||
|
CONFIG_ICPLUS_PHY=y
|
||||||
CONFIG_IIO=y
|
CONFIG_IIO=y
|
||||||
# CONFIG_IIO_BUFFER is not set
|
# CONFIG_IIO_BUFFER is not set
|
||||||
# CONFIG_IIO_TRIGGER is not set
|
# CONFIG_IIO_TRIGGER is not set
|
||||||
|
@ -454,6 +454,14 @@
|
|||||||
&gmac1 {
|
&gmac1 {
|
||||||
mac-address = [00 11 22 33 44 56];
|
mac-address = [00 11 22 33 44 56];
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
|
phy-mode = "trgmii";
|
||||||
|
|
||||||
|
fixed-link {
|
||||||
|
speed = <1000>;
|
||||||
|
full-duplex;
|
||||||
|
pause;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&gmac2 {
|
&gmac2 {
|
||||||
@ -490,29 +498,45 @@
|
|||||||
port@0 {
|
port@0 {
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
label = "lan0";
|
label = "lan0";
|
||||||
|
cpu = <&cpu_port0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
port@1 {
|
port@1 {
|
||||||
reg = <1>;
|
reg = <1>;
|
||||||
label = "lan1";
|
label = "lan1";
|
||||||
|
cpu = <&cpu_port0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
port@2 {
|
port@2 {
|
||||||
reg = <2>;
|
reg = <2>;
|
||||||
label = "lan2";
|
label = "lan2";
|
||||||
|
cpu = <&cpu_port0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
port@3 {
|
port@3 {
|
||||||
reg = <3>;
|
reg = <3>;
|
||||||
label = "lan3";
|
label = "lan3";
|
||||||
|
cpu = <&cpu_port0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
port@4 {
|
port@4 {
|
||||||
reg = <4>;
|
reg = <4>;
|
||||||
label = "wan";
|
label = "wan";
|
||||||
|
cpu = <&cpu_port1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
port@6 {
|
cpu_port1: port@5 {
|
||||||
|
reg = <5>;
|
||||||
|
label = "cpu";
|
||||||
|
ethernet = <&gmac2>;
|
||||||
|
phy-mode = "trgmii";
|
||||||
|
fixed-link {
|
||||||
|
speed = <1000>;
|
||||||
|
full-duplex;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
cpu_port0: port@6 {
|
||||||
reg = <6>;
|
reg = <6>;
|
||||||
label = "cpu";
|
label = "cpu";
|
||||||
ethernet = <&gmac1>;
|
ethernet = <&gmac1>;
|
||||||
@ -526,7 +550,6 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
&pwm {
|
&pwm {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pwm_pins>;
|
pinctrl-0 = <&pwm_pins>;
|
||||||
|
@ -474,6 +474,65 @@
|
|||||||
&gmac2 {
|
&gmac2 {
|
||||||
mac-address = [00 11 22 33 44 55];
|
mac-address = [00 11 22 33 44 55];
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
|
phy-handle = <&phy5>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&mdio0 {
|
||||||
|
switch@0 {
|
||||||
|
compatible = "mediatek,mt7530";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <0>;
|
||||||
|
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <ð_default>;
|
||||||
|
|
||||||
|
core-supply = <&mt6323_vpa_reg>;
|
||||||
|
io-supply = <&mt6323_vemc3v3_reg>;
|
||||||
|
reset-gpios = <&pio 33 0>;
|
||||||
|
|
||||||
|
ports {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <0>;
|
||||||
|
port@0 {
|
||||||
|
reg = <0>;
|
||||||
|
label = "lan0";
|
||||||
|
};
|
||||||
|
|
||||||
|
port@1 {
|
||||||
|
reg = <1>;
|
||||||
|
label = "lan1";
|
||||||
|
};
|
||||||
|
|
||||||
|
port@2 {
|
||||||
|
reg = <2>;
|
||||||
|
label = "lan2";
|
||||||
|
};
|
||||||
|
|
||||||
|
port@3 {
|
||||||
|
reg = <3>;
|
||||||
|
label = "lan3";
|
||||||
|
};
|
||||||
|
|
||||||
|
port@6 {
|
||||||
|
reg = <6>;
|
||||||
|
label = "cpu";
|
||||||
|
ethernet = <&gmac1>;
|
||||||
|
phy-mode = "trgmii";
|
||||||
|
fixed-link {
|
||||||
|
speed = <1000>;
|
||||||
|
full-duplex;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
phy5: ethernet-phy@5 {
|
||||||
|
reg = <5>;
|
||||||
|
phy-mode = "rgmii-rxid";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&pwm {
|
&pwm {
|
||||||
|
30
target/linux/mediatek/patches-4.9/0095-ephy.patch
Normal file
30
target/linux/mediatek/patches-4.9/0095-ephy.patch
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
Index: linux-4.9.20/drivers/net/dsa/mt7530.c
|
||||||
|
===================================================================
|
||||||
|
--- linux-4.9.20.orig/drivers/net/dsa/mt7530.c
|
||||||
|
+++ linux-4.9.20/drivers/net/dsa/mt7530.c
|
||||||
|
@@ -629,6 +629,11 @@ mt7530_setup(struct dsa_switch *ds)
|
||||||
|
val = mt7530_read(priv, MT7530_MHWTRAP);
|
||||||
|
val &= ~MHWTRAP_P6_DIS & ~MHWTRAP_PHY_ACCESS;
|
||||||
|
val |= MHWTRAP_MANUAL;
|
||||||
|
+ if (!dsa_is_cpu_port(ds, 5)) {
|
||||||
|
+ val |= MHWTRAP_P5_DIS;
|
||||||
|
+ val |= MHWTRAP_P5_MAC_SEL;
|
||||||
|
+ val |= MHWTRAP_P5_RGMII_MODE;
|
||||||
|
+ }
|
||||||
|
mt7530_write(priv, MT7530_MHWTRAP, val);
|
||||||
|
|
||||||
|
/* Enable and reset MIB counters */
|
||||||
|
Index: linux-4.9.20/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||||
|
===================================================================
|
||||||
|
--- linux-4.9.20.orig/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||||
|
+++ linux-4.9.20/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||||
|
@@ -221,6 +221,9 @@ static void mtk_phy_link_adjust(struct n
|
||||||
|
netif_carrier_on(dev);
|
||||||
|
else
|
||||||
|
netif_carrier_off(dev);
|
||||||
|
+
|
||||||
|
+ if (!of_phy_is_fixed_link(mac->of_node))
|
||||||
|
+ phy_print_status(dev->phydev);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int mtk_phy_connect_node(struct mtk_eth *eth, struct mtk_mac *mac,
|
Loading…
Reference in New Issue
Block a user