diff options
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/boot/dts/mpc8641_hpcn.dts | 4 | ||||
-rw-r--r-- | arch/powerpc/sysdev/fsl_soc.c | 9 |
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 | ||