aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/boot/dts/mpc8641_hpcn.dts4
-rw-r--r--arch/powerpc/sysdev/fsl_soc.c9
2 files changed, 13 insertions, 0 deletions
diff --git a/arch/powerpc/boot/dts/mpc8641_hpcn.dts b/arch/powerpc/boot/dts/mpc8641_hpcn.dts
index db56a02b748f..6a78a2b37c08 100644
--- a/arch/powerpc/boot/dts/mpc8641_hpcn.dts
+++ b/arch/powerpc/boot/dts/mpc8641_hpcn.dts
@@ -131,6 +131,7 @@
131 interrupts = <1d 2 1e 2 22 2>; 131 interrupts = <1d 2 1e 2 22 2>;
132 interrupt-parent = <&mpic>; 132 interrupt-parent = <&mpic>;
133 phy-handle = <&phy0>; 133 phy-handle = <&phy0>;
134 phy-connection-type = "rgmii-id";
134 }; 135 };
135 136
136 ethernet@25000 { 137 ethernet@25000 {
@@ -150,6 +151,7 @@
150 interrupts = <23 2 24 2 28 2>; 151 interrupts = <23 2 24 2 28 2>;
151 interrupt-parent = <&mpic>; 152 interrupt-parent = <&mpic>;
152 phy-handle = <&phy1>; 153 phy-handle = <&phy1>;
154 phy-connection-type = "rgmii-id";
153 }; 155 };
154 156
155 ethernet@26000 { 157 ethernet@26000 {
@@ -169,6 +171,7 @@
169 interrupts = <1F 2 20 2 21 2>; 171 interrupts = <1F 2 20 2 21 2>;
170 interrupt-parent = <&mpic>; 172 interrupt-parent = <&mpic>;
171 phy-handle = <&phy2>; 173 phy-handle = <&phy2>;
174 phy-connection-type = "rgmii-id";
172 }; 175 };
173 176
174 ethernet@27000 { 177 ethernet@27000 {
@@ -188,6 +191,7 @@
188 interrupts = <25 2 26 2 27 2>; 191 interrupts = <25 2 26 2 27 2>;
189 interrupt-parent = <&mpic>; 192 interrupt-parent = <&mpic>;
190 phy-handle = <&phy3>; 193 phy-handle = <&phy3>;
194 phy-connection-type = "rgmii-id";
191 }; 195 };
192 serial@4500 { 196 serial@4500 {
193 device_type = "serial"; 197 device_type = "serial";
diff --git a/arch/powerpc/sysdev/fsl_soc.c b/arch/powerpc/sysdev/fsl_soc.c
index c0ddc80d8160..3289fab01e92 100644
--- a/arch/powerpc/sysdev/fsl_soc.c
+++ b/arch/powerpc/sysdev/fsl_soc.c
@@ -197,6 +197,7 @@ static int __init gfar_of_init(void)
197 struct gianfar_platform_data gfar_data; 197 struct gianfar_platform_data gfar_data;
198 const unsigned int *id; 198 const unsigned int *id;
199 const char *model; 199 const char *model;
200 const char *ctype;
200 const void *mac_addr; 201 const void *mac_addr;
201 const phandle *ph; 202 const phandle *ph;
202 int n_res = 2; 203 int n_res = 2;
@@ -254,6 +255,14 @@ static int __init gfar_of_init(void)
254 FSL_GIANFAR_DEV_HAS_VLAN | 255 FSL_GIANFAR_DEV_HAS_VLAN |
255 FSL_GIANFAR_DEV_HAS_EXTENDED_HASH; 256 FSL_GIANFAR_DEV_HAS_EXTENDED_HASH;
256 257
258 ctype = of_get_property(np, "phy-connection-type", NULL);
259
260 /* We only care about rgmii-id. The rest are autodetected */
261 if (ctype && !strcmp(ctype, "rgmii-id"))
262 gfar_data.interface = PHY_INTERFACE_MODE_RGMII_ID;
263 else
264 gfar_data.interface = PHY_INTERFACE_MODE_MII;
265
257 ph = of_get_property(np, "phy-handle", NULL); 266 ph = of_get_property(np, "phy-handle", NULL);
258 phy = of_find_node_by_phandle(*ph); 267 phy = of_find_node_by_phandle(*ph);
259 268