diff options
author | Andy Fleming <afleming@freescale.com> | 2011-04-08 02:10:54 -0500 |
---|---|---|
committer | Andy Fleming <afleming@freescale.com> | 2011-04-20 15:09:34 -0500 |
commit | 063c12633d5ad74d52152d9c358e715475e17629 (patch) | |
tree | 872f1bfe0cd0eb14eb38bdb51e1351c064d98dc4 /arch | |
parent | 9082eeac5de1335d663016668c9b89c290f5c79b (diff) | |
download | u-boot-imx-063c12633d5ad74d52152d9c358e715475e17629.zip u-boot-imx-063c12633d5ad74d52152d9c358e715475e17629.tar.gz u-boot-imx-063c12633d5ad74d52152d9c358e715475e17629.tar.bz2 |
tsec: Convert tsec to use PHY Lib
This converts tsec to use the new PHY Lib. All of the old PHY support
is ripped out. The old MDIO driver is split off, and placed in
fsl_mdio.c. The initialization is modified to initialize the MDIO
driver as well. The powerpc config file is modified to configure PHYLIB
if TSEC_ENET is configured.
Signed-off-by: Mingkai Hu <Mingkai.hu@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Acked-by: Detlev Zundel <dzu@denx.de>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/include/asm/config.h | 9 | ||||
-rw-r--r-- | arch/powerpc/include/asm/fsl_enet.h | 10 |
2 files changed, 19 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/config.h b/arch/powerpc/include/asm/config.h index 536f142..624d8c2 100644 --- a/arch/powerpc/include/asm/config.h +++ b/arch/powerpc/include/asm/config.h @@ -80,6 +80,15 @@ #endif #endif +/* The TSEC driver uses the PHYLIB infrastructure */ +#ifndef CONFIG_PHYLIB +#if defined(CONFIG_TSEC_ENET) +#define CONFIG_PHYLIB + +#include <config_phylib_all_drivers.h> +#endif /* TSEC_ENET */ +#endif /* !CONFIG_PHYLIB */ + /* All PPC boards must swap IDE bytes */ #define CONFIG_IDE_SWAP_IO diff --git a/arch/powerpc/include/asm/fsl_enet.h b/arch/powerpc/include/asm/fsl_enet.h index 4fb2857..1f8f8e4 100644 --- a/arch/powerpc/include/asm/fsl_enet.h +++ b/arch/powerpc/include/asm/fsl_enet.h @@ -28,6 +28,16 @@ enum fsl_phy_enet_if { FSL_ETH_IF_NONE, }; +struct tsec_mii_mng { + u32 miimcfg; /* MII management configuration reg */ + u32 miimcom; /* MII management command reg */ + u32 miimadd; /* MII management address reg */ + u32 miimcon; /* MII management control reg */ + u32 miimstat; /* MII management status reg */ + u32 miimind; /* MII management indication reg */ + u32 ifstat; /* Interface Status Register */ +} __attribute__ ((packed)); + int fdt_fixup_phy_connection(void *blob, int offset, enum fsl_phy_enet_if phyc); #endif /* __ASM_PPC_FSL_ENET_H */ |