Module Name:    src
Committed By:   kiyohara
Date:           Mon Sep 30 13:21:10 UTC 2013

Modified Files:
        src/sys/arch/arm/marvell: mv78xx0reg.h

Log Message:
Change some defines.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/arm/marvell/mv78xx0reg.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/marvell/mv78xx0reg.h
diff -u src/sys/arch/arm/marvell/mv78xx0reg.h:1.1 src/sys/arch/arm/marvell/mv78xx0reg.h:1.2
--- src/sys/arch/arm/marvell/mv78xx0reg.h:1.1	Sun Oct  3 05:49:24 2010
+++ src/sys/arch/arm/marvell/mv78xx0reg.h	Mon Sep 30 13:21:10 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: mv78xx0reg.h,v 1.1 2010/10/03 05:49:24 kiyohara Exp $	*/
+/*	$NetBSD: mv78xx0reg.h,v 1.2 2013/09/30 13:21:10 kiyohara Exp $	*/
 /*
  * Copyright (c) 2010 KIYOHARA Takashi
  * All rights reserved.
@@ -39,13 +39,14 @@
 
 #define MV78XX0_UNITID_DDR		MVSOC_UNITID_DDR
 #define MV78XX0_UNITID_DEVBUS		MVSOC_UNITID_DEVBUS
-#define MV78XX0_UNITID_LMB		MVSOC_UNITID_LMB
+#define MV78XX0_UNITID_LMB		MVSOC_UNITID_MLMB
 #define MV78XX0_UNITID_GBE23		0x3	/* Gigabit Ethernet registers */
 #define MV78XX0_UNITID_PEX		MVSOC_UNITID_PEX
 #define MV78XX0_UNITID_USB		0x5	/* USB registers */
 #define MV78XX0_UNITID_IDMA		0x6	/* IDMA registers */
 #define MV78XX0_UNITID_XOR		0x6	/* XOR registers */
 #define MV78XX0_UNITID_GBE01		0x7	/* Gigabit Ethernet registers */
+#define MV78XX0_UNITID_PEX1		0x8
 #define MV78XX0_UNITID_CRYPT		0x9	/* Cryptographic Engine reg */
 #define MV78XX0_UNITID_SA		0x9	/* Security Accelelerator reg */
 #define MV78XX0_UNITID_SATA		0xa	/* SATA registers */
@@ -54,13 +55,9 @@
 #define MV78XX0_ATTR_DEVICE_CS0		0x3e
 #define MV78XX0_ATTR_DEVICE_CS1		0x3d
 #define MV78XX0_ATTR_DEVICE_CS2		0x3b
-#define MV78XX0_ATTR_DEVICE_CS2		0x37
+#define MV78XX0_ATTR_DEVICE_CS3		0x37
 #define MV78XX0_ATTR_BOOT_CS		0x2f
 #define MV78XX0_ATTR_SPI		0x1f
-#define MV78XX0_ATTR_PEX_IO		0xe0	/* PCIe x4 Port 0.0 */
-#define MV78XX0_ATTR_PEX_MEM		0xe8
-#define MV78XX0_ATTR_PEX1_IO		0xe0	/* PCIe x1 Port 1 */
-#define MV78XX0_ATTR_PEX1_MEM		0xe8
 #define MV78XX0_ATTR_PEX_0_IO		0xe0	/* PCIe x1 Port 0.0 */
 #define MV78XX0_ATTR_PEX_0_MEM		0xe8
 #define MV78XX0_ATTR_PEX_1_IO		0xd0	/* PCIe x1 Port 0.1 */
@@ -69,6 +66,7 @@
 #define MV78XX0_ATTR_PEX_2_MEM		0xb8
 #define MV78XX0_ATTR_PEX_3_IO		0x70	/* PCIe x1 Port 0.3 */
 #define MV78XX0_ATTR_PEX_3_MEM		0x78
+#define MV78XX0_ATTR_CRYPT		0x00/* 0:Bswap,1:No,2:B&Wswap,3:Wswap */
 
 #define MV78XX0_IRQ_ERRSUM		0	/* Sum of Main Intr Err Cause */
 #define MV78XX0_IRQ_SPI			1	/* SPI */
@@ -130,8 +128,7 @@
  * Physical address of integrated peripherals
  */
 
-#undef UNITID2PHYS
-#define UNITID2PHYS(uid)	((MV78XX0_UNITID_ ## uid) << 16)
+#define MV78XX0_UNITID2PHYS(uid)	((MV78XX0_UNITID_ ## uid) << 16)
 
 /*
  * General Purpose Port Registers
@@ -140,6 +137,11 @@
 #define MV78XX0_GPP_SIZE		  0x100
 
 /*
+ * Two-Wire Serial Interface Registers
+ */
+#define MV78XX0_TWSI1_BASE		(MVSOC_DEVBUS_BASE + 0x1100)
+
+/*
  * UART Interface Registers
  */
 					/* NS16550 compatible */
@@ -147,60 +149,84 @@
 #define MV78XX0_COM3_BASE		(MVSOC_DEVBUS_BASE + 0x2300)
 
 /*
+ * Reset Registers
+ */
+#define MV78XX0_SAMPLE_AT_RESET_LOW	(MVSOC_DEVBUS_BASE + 0x0030)
+#define MV78XX0_SAMPLE_AT_RESET_HIGH	(MVSOC_DEVBUS_BASE + 0x0034)
+
+
+/*
  * Mbus-L to Mbus Bridge Registers
  */
 /* CPU Address Map Registers */
 #define MV78XX0_MLMB_NWINDOW		14
 #define MV78XX0_MLMB_NREMAP		8
 
-/* Main Interrupt Controller Registers */
-#define MV78XX0_MLMB_MICLR		  0x200	/*Main Interrupt Cause Low reg*/
-#define MV78XX0_MLMB_MIRQIMLR		  0x204	/* Main IRQ Interrupt Mask */
-#define MV78XX0_MLMB_MFIQIMLR		  0x208	/* Main FIQ Interrupt Mask */
-#define MV78XX0_MLMB_EIMLR		  0x20c	/* Endpoint Interrupt Mask */
-#define MV78XX0_MLMB_MICHR		  0x210	/* Main Intr Cause High reg */
-#define MV78XX0_MLMB_MIRQIMHR		  0x214 /*Main IRQ Interrupt High Mask*/
-#define MV78XX0_MLMB_MFIQIMHR		  0x218 /*Main FIQ Interrupt High Mask*/
-#define MV78XX0_MLMB_EIMHR		  0x21c	/*Endpoint Interrupt High Mask*/
+#define MV78XX0_ICI_BASE(cpu)		((cpu)->ci_cpuid << 14)
+
+/* Interrupt Controller Interface Registers */
+#define MV78XX0_ICI_MIECR		  0x200	/* Main Interrupt Error Cause */
+#define MV78XX0_ICI_MICLR		  0x204	/* Main Interrupt Cause Low */
+#define MV78XX0_ICI_MICHR		  0x208	/* Main Interrupt Cause High */
+#define MV78XX0_ICI_IRQIMER		  0x20c	/* IRQ Interrupt Mask Error */
+#define MV78XX0_ICI_IRQIMLR		  0x210	/* IRQ Interrupt Mask Low */
+#define MV78XX0_ICI_IRQIMHR		  0x214 /* IRQ Interrupt Mask High */
+#define MV78XX0_ICI_IRQSCR		  0x218 /* IRQ Select Cause */
+#define MV78XX0_ICI_FIQIMER		  0x21c	/* FIQ Interrupt Mask Error */
+#define MV78XX0_ICI_FIQIMLR		  0x220	/* FIQ Interrupt Mask Low */
+#define MV78XX0_ICI_FIQIMHR		  0x224	/* FIQ Interrupt Mask High */
+#define MV78XX0_ICI_FIQSCR		  0x228	/* FIQ Select Cause */
+#define MV78XX0_ICI_EIMER		  0x22c	/* Endpoint Intr Mask Error */
+#define MV78XX0_ICI_EIMLR		  0x230	/* Endpoint Intr Mask Low */
+#define MV78XX0_ICI_EIMHR		  0x234	/* Endpoint Intr Mask High */
+#define MV78XX0_ICI_ESCR		  0x238	/* Endpoint Select Cause */
 
 /* CPU Timers Registers */
-/*   see oriontmrreg.h */
+
+#define IRQ_IS_TIMER(n, irq)		((irq) == MV78XX0_IRQ_TIMER ## n)
+#define MLMBI_TIMER(n)			MVSOC_MLMB_MLMBI_CPUTIMER ## n ## INTREQ
+#define TIMER_IRQ2MLMBIMR(irq)				\
+	IRQ_IS_TIMER(0, irq) ? MLMBI_TIMER(0) :		\
+	    (IRQ_IS_TIMER(1, irq) ? MLMBI_TIMER(1) :	\
+	    (IRQ_IS_TIMER(2, irq) ? MLMBI_TIMER(2) : MLMBI_TIMER(3)))
 
 
 /*
  * PCI Express Interface Registers
  */
-#define MV78XX0_PEX_BASE	(UNITID2PHYS(PEX))	/* 0x40000 */
+#define MV78XX0_PEX1_BASE	(MV78XX0_UNITID2PHYS(PEX1))	/* 0x80000 */
 
 /*
  * USB 2.0 Interface Registers
  */
-#define MV78XX0_USB_BASE	(UNITID2PHYS(USB))	/* 0x50000 */
+#define MV78XX0_USB_BASE	(MV78XX0_UNITID2PHYS(USB))	/* 0x50000 */
 
 /*
  * IDMA Controller and XOR Engine Registers
  */
-#define MV78XX0_IDMAC_BASE	(UNITID2PHYS(IDMA))	/* 0x60000 */
+#define MV78XX0_IDMAC_BASE	(MV78XX0_UNITID2PHYS(IDMA))	/* 0x60000 */
 
 /*
  * Gigabit Ethernet Registers
  */
-#define MV78XX0_GBE01_BASE	(UNITID2PHYS(GBE01))	/* 0x70000 */
-#define MV78XX0_GBE23_BASE	(UNITID2PHYS(GBE23))	/* 0x30000 */
+#define MV78XX0_GBE0_BASE	(MV78XX0_UNITID2PHYS(GBE01))	/* 0x70000 */
+#define MV78XX0_GBE1_BASE	(MV78XX0_UNITID2PHYS(GBE01) + MVGBE_SIZE)
+#define MV78XX0_GBE2_BASE	(MV78XX0_UNITID2PHYS(GBE23))	/* 0x30000 */
+#define MV78XX0_GBE3_BASE	(MV78XX0_UNITID2PHYS(GBE23) + MVGBE_SIZE)
 
 /*
  * Cryptographic Engine and Security Accelerator Registers
  */
-#define MV78XX0_CESA_BASE	(UNITID2PHYS(CRYPT))	/* 0x90000 */
+#define MV78XX0_CESA_BASE	(MV78XX0_UNITID2PHYS(CRYPT) + 0xd000)/*0x9d000*/
 
 /*
  * Serial-ATA Host Controller (SATAHC) Registers
  */
-#define MV78XX0_SATAHC_BASE	(UNITID2PHYS(SATA))	/* 0xa0000 */
+#define MV78XX0_SATAHC_BASE	(MV78XX0_UNITID2PHYS(SATA))	/* 0xa0000 */
 
 /*
  * Time Division Multiplexing (TDM) Unit Registers
  */
-#define MV78XX0_TDM_BASE	(UNITID2PHYS(TDM))	/* 0xb0000 */
+#define MV78XX0_TDM_BASE	(MV78XX0_UNITID2PHYS(TDM))	/* 0xb0000 */
 
 #endif	/* _MV78XX0REG_H_ */

Reply via email to