[U-Boot] [PATCH v1 2/2] NET: Base support for etsec2.0

Sandeep Gopalpet sandeep.kumar at freescale.com
Sun Oct 18 10:43:15 CEST 2009


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 at freescale.com>
---
 include/asm-ppc/immap_85xx.h |    6 +++++-
 include/configs/P1_P2_RDB.h  |    5 +++++
 include/tsec.h               |   13 ++++++++++++-
 3 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/include/asm-ppc/immap_85xx.h b/include/asm-ppc/immap_85xx.h
index 6c9baac..fccfca5 100644
--- a/include/asm-ppc/immap_85xx.h
+++ b/include/asm-ppc/immap_85xx.h
@@ -1933,10 +1933,14 @@ typedef struct ccsr_gur {
 	(CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_USB_OFFSET)
 
 /* TSEC and MDIO OFFSETS */
+#ifdef CONFIG_TSECV2
+#define CONFIG_SYS_TSEC1_OFFSET		(0xB0000)
+#else
 #define CONFIG_SYS_TSEC1_OFFSET		(0x24000)
+#endif
 #define TSEC_SIZE			(0x01000)
 
-#define CONFIG_SYS_MDIO1_OFFSET		(0x24520)
+#define CONFIG_SYS_MDIO1_OFFSET		(0x24000)
 #define MDIO_OFFSET     		(0x01000)
 
 #define TSEC_BASE_ADDR		(CONFIG_SYS_IMMR + CONFIG_SYS_TSEC1_OFFSET)
diff --git a/include/configs/P1_P2_RDB.h b/include/configs/P1_P2_RDB.h
index 8e97ad0..77c43e7 100644
--- a/include/configs/P1_P2_RDB.h
+++ b/include/configs/P1_P2_RDB.h
@@ -68,6 +68,11 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
 #define CONFIG_MP
 #endif
 
+/* TSECV2 */
+#if defined(CONFIG_P1020)
+#define CONFIG_TSECV2
+#endif
+
 /*
  * These can be toggled for performance analysis, otherwise use default.
  */
diff --git a/include/tsec.h b/include/tsec.h
index 342c07e..a915266 100644
--- a/include/tsec.h
+++ b/include/tsec.h
@@ -29,7 +29,7 @@
 #endif
 
 #ifndef CONFIG_SYS_MDIO1_OFFSET
-    #define CONFIG_SYS_MDIO1_OFFSET	(0x24520)
+    #define CONFIG_SYS_MDIO1_OFFSET	(0x24000)
 #endif
 
 #ifndef MDIO_OFFSET
@@ -478,14 +478,25 @@ typedef struct tsec_hash_regs
 	uint	res2[24];
 } tsec_hash_t;
 
+/* MDIO structure for etsec2.0.
+ * Backward compatible to etsec1.x
+ */
+
 typedef struct tsec_mdio
 {
+	uint	res1[4];
+	uint	ieventm;	/* MDIO Interrupt event register */
+	uint	imaskm;		/* MDIO Interrupt mask register */
+	uint	res2;
+	uint	emapm;		/* MDIO Event mapping register */
+	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
-- 
1.5.2.2



More information about the U-Boot mailing list