Parcourir la source

NET: Base support for etsec2.0

1. Modified the tsec_mdio structure to include the new regs
2. Modified the MDIO_BASE_ADDR so that it will handle both
older version and new version of etsec.

Signed-off-by: Sandeep Gopalpet <sandeep.kumar@freescale.com>
Acked-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Kumar Gala il y a 14 ans
Parent
commit
3ad89c4ecb

+ 6 - 0
include/asm-ppc/config.h

@@ -57,6 +57,12 @@
 #endif
 #endif
 
+/* Enable TSEC2.0 for the platforms that have it if we are using TSEC */
+#if defined(CONFIG_TSEC_ENET) && \
+    (defined(CONFIG_P1020) || defined(CONFIG_P1011))
+#define CONFIG_TSECV2
+#endif
+
 /* Relocation to SDRAM works on all PPC boards */
 #define CONFIG_RELOC_FIXUP_WORKS
 

+ 1 - 1
include/asm-ppc/immap_83xx.h

@@ -870,7 +870,7 @@ typedef struct immap {
 			(CONFIG_SYS_IMMR + CONFIG_SYS_MPC83xx_USB_OFFSET)
 
 #define CONFIG_SYS_TSEC1_OFFSET		0x24000
-#define CONFIG_SYS_MDIO1_OFFSET		0x24520
+#define CONFIG_SYS_MDIO1_OFFSET		0x24000
 
 #define TSEC_BASE_ADDR		(CONFIG_SYS_IMMR + CONFIG_SYS_TSEC1_OFFSET)
 #define MDIO_BASE_ADDR		(CONFIG_SYS_IMMR + CONFIG_SYS_MDIO1_OFFSET)

+ 5 - 1
include/asm-ppc/immap_85xx.h

@@ -1959,8 +1959,12 @@ enum {
 #define CONFIG_SYS_MPC85xx_L2_OFFSET		0x20000
 #define CONFIG_SYS_MPC85xx_DMA_OFFSET		0x21000
 #define CONFIG_SYS_MPC85xx_USB_OFFSET		0x22000
+#ifdef CONFIG_TSECV2
+#define CONFIG_SYS_TSEC1_OFFSET			0xB0000
+#else
 #define CONFIG_SYS_TSEC1_OFFSET			0x24000
-#define CONFIG_SYS_MDIO1_OFFSET			0x24520
+#endif
+#define CONFIG_SYS_MDIO1_OFFSET			0x24000
 #define CONFIG_SYS_MPC85xx_ESDHC_OFFSET		0x2e000
 #define CONFIG_SYS_MPC85xx_SERDES2_OFFSET	0xE3100
 #define CONFIG_SYS_MPC85xx_SERDES1_OFFSET	0xE3000

+ 1 - 1
include/asm-ppc/immap_86xx.h

@@ -1299,7 +1299,7 @@ extern immap_t  *immr;
 #define CONFIG_SYS_MPC86xx_DMA_ADDR	(CONFIG_SYS_IMMR + CONFIG_SYS_MPC86xx_DMA_OFFSET)
 
 #define CONFIG_SYS_TSEC1_OFFSET		0x24000
-#define CONFIG_SYS_MDIO1_OFFSET		0x24520
+#define CONFIG_SYS_MDIO1_OFFSET		0x24000
 
 #define TSEC_BASE_ADDR		(CONFIG_SYS_IMMR + CONFIG_SYS_TSEC1_OFFSET)
 #define MDIO_BASE_ADDR		(CONFIG_SYS_IMMR + CONFIG_SYS_MDIO1_OFFSET)

+ 7 - 0
include/tsec.h

@@ -457,12 +457,19 @@ typedef struct tsec_hash_regs
 } tsec_hash_t;
 
 typedef struct tsec_mdio {
+	uint	res1[4];
+	uint	ieventm;
+	uint	imaskm;
+	uint	res2;
+	uint	emapm;
+	uint	res3[320];
 	uint	miimcfg;	/* MII Management: Configuration */
 	uint	miimcom;	/* MII Management: Command */
 	uint	miimadd;	/* MII Management: Address */
 	uint	miimcon;	/* MII Management: Control */
 	uint	miimstat;	/* MII Management: Status */
 	uint	miimind;	/* MII Management: Indicators */
+	uint	res4[690];
 } tsec_mdio_t;
 
 typedef struct tsec