diff options
Diffstat (limited to 'arch/powerpc/cpu/mpc8xxx/fdt.c')
| -rw-r--r-- | arch/powerpc/cpu/mpc8xxx/fdt.c | 24 | 
1 files changed, 24 insertions, 0 deletions
| diff --git a/arch/powerpc/cpu/mpc8xxx/fdt.c b/arch/powerpc/cpu/mpc8xxx/fdt.c index 88c47d1ae..54e60bb1a 100644 --- a/arch/powerpc/cpu/mpc8xxx/fdt.c +++ b/arch/powerpc/cpu/mpc8xxx/fdt.c @@ -27,6 +27,7 @@  #include <libfdt.h>  #include <fdt_support.h>  #include <asm/mp.h> +#include <asm/fsl_enet.h>  #if defined(CONFIG_MP) && (defined(CONFIG_MPC85xx) || defined(CONFIG_MPC86xx))  static int ft_del_cpuhandle(void *blob, int cpuhandle) @@ -215,3 +216,26 @@ void fdt_fixup_crypto_node(void *blob, int sec_rev)  		fdt_del_node_and_alias(blob, "crypto");  }  #endif + +int fdt_fixup_phy_connection(void *blob, int offset, enum fsl_phy_enet_if phyc) +{ +	static const char *fsl_phy_enet_if_str[] = { +		[MII]		= "mii", +		[RMII]		= "rmii", +		[GMII]		= "gmii", +		[RGMII]		= "rgmii", +		[RGMII_ID]	= "rgmii-id", +		[RGMII_RXID]	= "rgmii-rxid", +		[SGMII]		= "sgmii", +		[TBI]		= "tbi", +		[RTBI]		= "rtbi", +		[XAUI]		= "xgmii", +		[FSL_ETH_IF_NONE] = "", +	}; + +	if (phyc > ARRAY_SIZE(fsl_phy_enet_if_str)) +		return fdt_setprop_string(blob, offset, "phy-connection-type", ""); + +	return fdt_setprop_string(blob, offset, "phy-connection-type", +					 fsl_phy_enet_if_str[phyc]); +} |