PERFORCE change 153778 for review

Sam Leffler sam at FreeBSD.org
Sat Nov 29 10:42:14 PST 2008


http://perforce.freebsd.org/chv.cgi?CH=153778

Change 153778 by sam at sam_ebb on 2008/11/29 18:41:30

	add ixp435 and Cambria-specific definitions

Affected files ...

.. //depot/projects/vap/sys/arm/xscale/ixp425/ixp425reg.h#3 edit

Differences ...

==== //depot/projects/vap/sys/arm/xscale/ixp425/ixp425reg.h#3 (text+ko) ====

@@ -64,7 +64,7 @@
  *
  * 4000 0000 ---------------------------
  *           SDRAM
- * 1000 0000 ---------------------------
+ * 0000 0000 ---------------------------
  */           
 
 /*
@@ -115,6 +115,11 @@
 #define	IXP425_MAC_B_OFFSET	0x0000a000UL
 #define	IXP425_USB_OFFSET	0x0000b000UL
 
+#define	IXP435_MAC_C_OFFSET	0x0000a000UL	/* Ethernet MAC on NPE C */
+#define	IXP435_MAC_A_OFFSET	0x0000c000UL	/* Ethernet MAC on NPE A */
+#define	IXP435_USB1_OFFSET	0x0000d000UL	/* USB host controller 1 */
+#define	IXP435_USB2_OFFSET	0x0000e000UL	/* USB host controller 2 */
+
 #define	IXP425_REG_SIZE		0x1000
 
 /*
@@ -224,6 +229,18 @@
 #define	IXP425_INT_NPE_B	 1	/* NPE B */
 #define	IXP425_INT_NPE_A	 0	/* NPE A */
 
+/* NB: IXP435 has an additional 32 IRQ's */
+#define	IXP435_INT_STATUS2	(IXP425_IRQ_VBASE + 0x20)
+#define	IXP435_INT_ENABLE2	(IXP425_IRQ_VBASE + 0x24)
+#define	IXP435_INT_SELECT2	(IXP425_IRQ_VBASE + 0x28)
+#define	IXP435_IRQ_STATUS2	(IXP425_IRQ_VBASE + 0x2C)
+#define	IXP435_FIQ_STATUS2	(IXP425_IRQ_VBASE + 0x30)
+
+#define	IXP435_INT_USB0		32	/* USB Host 2.0 Host 0 */
+#define	IXP435_INT_USB1		33	/* USB Host 2.0 Host 1 */
+#define	IXP435_INT_QMGR_PER	60	/* Queue manager parity error */
+#define	IXP435_INT_ECC		61	/* Single or multi-bit ECC error */
+
 /*
  * software interrupt
  */
@@ -239,6 +256,11 @@
 					  (1 << IXP425_INT_bit11)))
 #define	IXP425_INT_GPIOMASK	(0x3ff800c0u)
 
+#define	IXP435_INT_HWMASK	((1 << (IXP435_INT_USB0 - 32)) | \
+				 (1 << (IXP435_INT_USB1 - 32)) | \
+				 (1 << (IXP435_INT_QMGR_PER - 32)) | \
+				 (1 << (IXP435_INT_ECC - 32)))
+
 /*
  * GPIO
  */
@@ -491,6 +513,30 @@
 #define	MCU_SDR_IR		0x08
 
 /*
+ * IXP435 DDR MCU Registers
+ */
+#define	IXP435_MCU_HWBASE	0xcc00e500UL
+#define	IXP435_MCU_VBASE	0xf0200000UL	/* NB: use same addr as 425 */
+#define	IXP435_MCU_SIZE		0x1000		/* NB: does not map all regs */
+#define	MCU_DDR_SDIR		0x00		/* DDR SDAM Initialization Reg*/
+#define	MCU_DDR_SDCR0		0x04		/* DDR SDRAM Control Reg 0 */
+#define	MCU_DDR_SDCR1		0x08		/* DDR SDRAM Control Reg 1 */
+#define	MCU_DDR_SDBR		0x0c		/* SDRAM Base Register */
+#define	MCU_DDR_SBR0		0x10		/* SDRAM Boundary Register 0 */
+#define	MCU_DDR_SBR1		0x14		/* SDRAM Boundary Register 1 */
+#define	MCU_DDR_ECCR		0x1c		/* ECC Control Register */
+#define	MCU_DDR_ELOG0		0x20		/* ECC Log Register 0 */
+#define	MCU_DDR_ELOG1		0x24		/* ECC Log Register 1 */
+#define	MCU_DDR_ECAR0		0x28		/* ECC Address Register 0 */
+#define	MCU_DDR_ECAR1		0x2c		/* ECC Address Register 1 */
+#define	MCU_DDR_ECTST		0x30		/* ECC Test Register */
+#define	MCU_DDR_MCISR		0x34		/* MC Interrupt Status Reg */
+#define	MCU_DDR_MPTCR		0x3c		/* MC Port Transaction Cnt Reg*/
+#define	MCU_DDR_RFR		0x48		/* Refresh Frequency Register */
+#define	MCU_DDR_SDPR(n)		(0x50+(n)*4)	/* SDRAM Page Register 0-7 */
+/* NB: RCVDLY at 0x1050 and LEGOVERIDE at 0x1074 */
+
+/*
  * Performance Monitoring Unit          (CP14)
  *
  *      CP14.0.1	Performance Monitor Control Register(PMNC)
@@ -557,6 +603,14 @@
 #define IXP425_MAC_B_VBASE	(IXP425_IO_VBASE + IXP425_MAC_B_OFFSET)
 #define IXP425_MAC_B_SIZE	0x1000 		/* Actually only 256 bytes */
 
+#define IXP435_MAC_A_HWBASE	(IXP425_IO_HWBASE + IXP435_MAC_A_OFFSET)
+#define IXP435_MAC_A_VBASE	(IXP425_IO_VBASE + IXP435_MAC_A_OFFSET)
+#define IXP435_MAC_A_SIZE	0x1000		/* Actually only 256 bytes */
+
+#define IXP435_MAC_C_HWBASE	(IXP425_IO_HWBASE + IXP435_MAC_C_OFFSET)
+#define IXP435_MAC_C_VBASE	(IXP425_IO_VBASE + IXP435_MAC_C_OFFSET)
+#define IXP435_MAC_C_SIZE	0x1000 		/* Actually only 256 bytes */
+
 /*
  * Expansion Bus Data Space.
  */
@@ -588,4 +642,25 @@
 #define	IXP425_EXP_BUS_CS6_HWBASE	IXP425_EXP_BUS_CSx_HWBASE(6)
 #define	IXP425_EXP_BUS_CS7_HWBASE	IXP425_EXP_BUS_CSx_HWBASE(7)
 
+/*
+ * IXP435/Gateworks Cambria
+ *
+ * Octal status LED latch is in upper 256K of CS3
+ * Optional RS485 Serial port is next lower 256K
+ * Optional GPS Serial port is next lower 256K
+ * next lower 768K is reserved
+ * Compact flash socket 1 is next lower 256K
+ * Compact flash socket 0 is next lower 256K
+ */
+#define	CAMBRIA_OCTAL_LED_HWBASE (IXP425_EXP_BUS_CS4_HWBASE - 0x40000)
+#define	CAMBRIA_OCTAL_LED_SIZE	0x40000
+#define	CAMBRIA_RS485_HWBASE	(CAMBRIA_OCTAL_LED_HWBASE - 0x40000)
+#define	CAMBRIA_RS485_SIZE	0x40000
+#define	CAMBRIA_GPS_HWBASE	(CAMBRIA_RS485_HWBASE - 0x40000)
+#define	CAMBRIA_GPS_SIZE	0x40000
+#define	CAMBRIA_CFSEL1_HWBASE	(CAMBRIA_GPS_HWBASE - 4*0x40000)
+#define	CAMBRIA_CFSEL1_SIZE	0x40000
+#define	CAMBRIA_CFSEL0_HWBASE	(CAMBRIA_CFSEL1_HWBASE - 0x40000)
+#define	CAMBRIA_CFSEL0_SIZE	0x40000
+
 #endif /* _IXP425REG_H_ */


More information about the p4-projects mailing list