|
@@ -1212,3 +1212,187 @@
|
|
|
#define GPIO_MBREQ GPIO_GPIO (22) /* Memory Bus REQuest (I) */
|
|
|
#define GPIO_TREQB GPIO_GPIO (23) /* TIC REQuest B (I) */
|
|
|
#define GPIO_1Hz GPIO_GPIO (25) /* 1 Hz clock (O) */
|
|
|
+#define GPIO_RCLK GPIO_GPIO (26) /* internal (R) CLocK (O, fcpu/2) */
|
|
|
+#define GPIO_32_768kHz GPIO_GPIO (27) /* 32.768 kHz clock (O, RTC) */
|
|
|
+
|
|
|
+#define GPDR_In 0 /* Input */
|
|
|
+#define GPDR_Out 1 /* Output */
|
|
|
+
|
|
|
+
|
|
|
+/*
|
|
|
+ * Interrupt Controller (IC) control registers
|
|
|
+ *
|
|
|
+ * Registers
|
|
|
+ * ICIP Interrupt Controller (IC) Interrupt ReQuest (IRQ)
|
|
|
+ * Pending register (read).
|
|
|
+ * ICMR Interrupt Controller (IC) Mask Register (read/write).
|
|
|
+ * ICLR Interrupt Controller (IC) Level Register (read/write).
|
|
|
+ * ICCR Interrupt Controller (IC) Control Register
|
|
|
+ * (read/write).
|
|
|
+ * [The ICCR register is only implemented in versions 2.0
|
|
|
+ * (rev. = 8) and higher of the StrongARM SA-1100.]
|
|
|
+ * ICFP Interrupt Controller (IC) Fast Interrupt reQuest
|
|
|
+ * (FIQ) Pending register (read).
|
|
|
+ * ICPR Interrupt Controller (IC) Pending Register (read).
|
|
|
+ * [The ICPR register is active low (inverted) in
|
|
|
+ * versions 1.0 (rev. = 1) and 1.1 (rev. = 2) of the
|
|
|
+ * StrongARM SA-1100, it is active high (non-inverted) in
|
|
|
+ * versions 2.0 (rev. = 8) and higher.]
|
|
|
+ */
|
|
|
+
|
|
|
+#define ICIP __REG(0x90050000) /* IC IRQ Pending reg. */
|
|
|
+#define ICMR __REG(0x90050004) /* IC Mask Reg. */
|
|
|
+#define ICLR __REG(0x90050008) /* IC Level Reg. */
|
|
|
+#define ICCR __REG(0x9005000C) /* IC Control Reg. */
|
|
|
+#define ICFP __REG(0x90050010) /* IC FIQ Pending reg. */
|
|
|
+#define ICPR __REG(0x90050020) /* IC Pending Reg. */
|
|
|
+
|
|
|
+#define IC_GPIO(Nb) /* GPIO [0..10] */ \
|
|
|
+ (0x00000001 << (Nb))
|
|
|
+#define IC_GPIO0 IC_GPIO (0) /* GPIO [0] */
|
|
|
+#define IC_GPIO1 IC_GPIO (1) /* GPIO [1] */
|
|
|
+#define IC_GPIO2 IC_GPIO (2) /* GPIO [2] */
|
|
|
+#define IC_GPIO3 IC_GPIO (3) /* GPIO [3] */
|
|
|
+#define IC_GPIO4 IC_GPIO (4) /* GPIO [4] */
|
|
|
+#define IC_GPIO5 IC_GPIO (5) /* GPIO [5] */
|
|
|
+#define IC_GPIO6 IC_GPIO (6) /* GPIO [6] */
|
|
|
+#define IC_GPIO7 IC_GPIO (7) /* GPIO [7] */
|
|
|
+#define IC_GPIO8 IC_GPIO (8) /* GPIO [8] */
|
|
|
+#define IC_GPIO9 IC_GPIO (9) /* GPIO [9] */
|
|
|
+#define IC_GPIO10 IC_GPIO (10) /* GPIO [10] */
|
|
|
+#define IC_GPIO11_27 0x00000800 /* GPIO [11:27] (ORed) */
|
|
|
+#define IC_LCD 0x00001000 /* LCD controller */
|
|
|
+#define IC_Ser0UDC 0x00002000 /* Ser. port 0 UDC */
|
|
|
+#define IC_Ser1SDLC 0x00004000 /* Ser. port 1 SDLC */
|
|
|
+#define IC_Ser1UART 0x00008000 /* Ser. port 1 UART */
|
|
|
+#define IC_Ser2ICP 0x00010000 /* Ser. port 2 ICP */
|
|
|
+#define IC_Ser3UART 0x00020000 /* Ser. port 3 UART */
|
|
|
+#define IC_Ser4MCP 0x00040000 /* Ser. port 4 MCP */
|
|
|
+#define IC_Ser4SSP 0x00080000 /* Ser. port 4 SSP */
|
|
|
+#define IC_DMA(Nb) /* DMA controller channel [0..5] */ \
|
|
|
+ (0x00100000 << (Nb))
|
|
|
+#define IC_DMA0 IC_DMA (0) /* DMA controller channel 0 */
|
|
|
+#define IC_DMA1 IC_DMA (1) /* DMA controller channel 1 */
|
|
|
+#define IC_DMA2 IC_DMA (2) /* DMA controller channel 2 */
|
|
|
+#define IC_DMA3 IC_DMA (3) /* DMA controller channel 3 */
|
|
|
+#define IC_DMA4 IC_DMA (4) /* DMA controller channel 4 */
|
|
|
+#define IC_DMA5 IC_DMA (5) /* DMA controller channel 5 */
|
|
|
+#define IC_OST(Nb) /* OS Timer match [0..3] */ \
|
|
|
+ (0x04000000 << (Nb))
|
|
|
+#define IC_OST0 IC_OST (0) /* OS Timer match 0 */
|
|
|
+#define IC_OST1 IC_OST (1) /* OS Timer match 1 */
|
|
|
+#define IC_OST2 IC_OST (2) /* OS Timer match 2 */
|
|
|
+#define IC_OST3 IC_OST (3) /* OS Timer match 3 */
|
|
|
+#define IC_RTC1Hz 0x40000000 /* RTC 1 Hz clock */
|
|
|
+#define IC_RTCAlrm 0x80000000 /* RTC Alarm */
|
|
|
+
|
|
|
+#define ICLR_IRQ 0 /* Interrupt ReQuest */
|
|
|
+#define ICLR_FIQ 1 /* Fast Interrupt reQuest */
|
|
|
+
|
|
|
+#define ICCR_DIM 0x00000001 /* Disable Idle-mode interrupt */
|
|
|
+ /* Mask */
|
|
|
+#define ICCR_IdleAllInt (ICCR_DIM*0) /* Idle-mode All Interrupt enable */
|
|
|
+ /* (ICMR ignored) */
|
|
|
+#define ICCR_IdleMskInt (ICCR_DIM*1) /* Idle-mode non-Masked Interrupt */
|
|
|
+ /* enable (ICMR used) */
|
|
|
+
|
|
|
+
|
|
|
+/*
|
|
|
+ * Peripheral Pin Controller (PPC) control registers
|
|
|
+ *
|
|
|
+ * Registers
|
|
|
+ * PPDR Peripheral Pin Controller (PPC) Pin Direction
|
|
|
+ * Register (read/write).
|
|
|
+ * PPSR Peripheral Pin Controller (PPC) Pin State Register
|
|
|
+ * (read/write).
|
|
|
+ * PPAR Peripheral Pin Controller (PPC) Pin Assignment
|
|
|
+ * Register (read/write).
|
|
|
+ * PSDR Peripheral Pin Controller (PPC) Sleep-mode pin
|
|
|
+ * Direction Register (read/write).
|
|
|
+ * PPFR Peripheral Pin Controller (PPC) Pin Flag Register
|
|
|
+ * (read).
|
|
|
+ */
|
|
|
+
|
|
|
+#define PPDR __REG(0x90060000) /* PPC Pin Direction Reg. */
|
|
|
+#define PPSR __REG(0x90060004) /* PPC Pin State Reg. */
|
|
|
+#define PPAR __REG(0x90060008) /* PPC Pin Assignment Reg. */
|
|
|
+#define PSDR __REG(0x9006000C) /* PPC Sleep-mode pin Direction Reg. */
|
|
|
+#define PPFR __REG(0x90060010) /* PPC Pin Flag Reg. */
|
|
|
+
|
|
|
+#define PPC_LDD(Nb) /* LCD Data [0..7] */ \
|
|
|
+ (0x00000001 << (Nb))
|
|
|
+#define PPC_LDD0 PPC_LDD (0) /* LCD Data [0] */
|
|
|
+#define PPC_LDD1 PPC_LDD (1) /* LCD Data [1] */
|
|
|
+#define PPC_LDD2 PPC_LDD (2) /* LCD Data [2] */
|
|
|
+#define PPC_LDD3 PPC_LDD (3) /* LCD Data [3] */
|
|
|
+#define PPC_LDD4 PPC_LDD (4) /* LCD Data [4] */
|
|
|
+#define PPC_LDD5 PPC_LDD (5) /* LCD Data [5] */
|
|
|
+#define PPC_LDD6 PPC_LDD (6) /* LCD Data [6] */
|
|
|
+#define PPC_LDD7 PPC_LDD (7) /* LCD Data [7] */
|
|
|
+#define PPC_L_PCLK 0x00000100 /* LCD Pixel CLocK */
|
|
|
+#define PPC_L_LCLK 0x00000200 /* LCD Line CLocK */
|
|
|
+#define PPC_L_FCLK 0x00000400 /* LCD Frame CLocK */
|
|
|
+#define PPC_L_BIAS 0x00000800 /* LCD AC BIAS */
|
|
|
+ /* ser. port 1: */
|
|
|
+#define PPC_TXD1 0x00001000 /* SDLC/UART Transmit Data 1 */
|
|
|
+#define PPC_RXD1 0x00002000 /* SDLC/UART Receive Data 1 */
|
|
|
+ /* ser. port 2: */
|
|
|
+#define PPC_TXD2 0x00004000 /* IPC Transmit Data 2 */
|
|
|
+#define PPC_RXD2 0x00008000 /* IPC Receive Data 2 */
|
|
|
+ /* ser. port 3: */
|
|
|
+#define PPC_TXD3 0x00010000 /* UART Transmit Data 3 */
|
|
|
+#define PPC_RXD3 0x00020000 /* UART Receive Data 3 */
|
|
|
+ /* ser. port 4: */
|
|
|
+#define PPC_TXD4 0x00040000 /* MCP/SSP Transmit Data 4 */
|
|
|
+#define PPC_RXD4 0x00080000 /* MCP/SSP Receive Data 4 */
|
|
|
+#define PPC_SCLK 0x00100000 /* MCP/SSP Sample CLocK */
|
|
|
+#define PPC_SFRM 0x00200000 /* MCP/SSP Sample FRaMe */
|
|
|
+
|
|
|
+#define PPDR_In 0 /* Input */
|
|
|
+#define PPDR_Out 1 /* Output */
|
|
|
+
|
|
|
+ /* ser. port 1: */
|
|
|
+#define PPAR_UPR 0x00001000 /* UART Pin Reassignment */
|
|
|
+#define PPAR_UARTTR (PPAR_UPR*0) /* UART on TXD_1 & RXD_1 */
|
|
|
+#define PPAR_UARTGPIO (PPAR_UPR*1) /* UART on GPIO [14:15] */
|
|
|
+ /* ser. port 4: */
|
|
|
+#define PPAR_SPR 0x00040000 /* SSP Pin Reassignment */
|
|
|
+#define PPAR_SSPTRSS (PPAR_SPR*0) /* SSP on TXD_C, RXD_C, SCLK_C, */
|
|
|
+ /* & SFRM_C */
|
|
|
+#define PPAR_SSPGPIO (PPAR_SPR*1) /* SSP on GPIO [10:13] */
|
|
|
+
|
|
|
+#define PSDR_OutL 0 /* Output Low in sleep mode */
|
|
|
+#define PSDR_Flt 1 /* Floating (input) in sleep mode */
|
|
|
+
|
|
|
+#define PPFR_LCD 0x00000001 /* LCD controller */
|
|
|
+#define PPFR_SP1TX 0x00001000 /* Ser. Port 1 SDLC/UART Transmit */
|
|
|
+#define PPFR_SP1RX 0x00002000 /* Ser. Port 1 SDLC/UART Receive */
|
|
|
+#define PPFR_SP2TX 0x00004000 /* Ser. Port 2 ICP Transmit */
|
|
|
+#define PPFR_SP2RX 0x00008000 /* Ser. Port 2 ICP Receive */
|
|
|
+#define PPFR_SP3TX 0x00010000 /* Ser. Port 3 UART Transmit */
|
|
|
+#define PPFR_SP3RX 0x00020000 /* Ser. Port 3 UART Receive */
|
|
|
+#define PPFR_SP4 0x00040000 /* Ser. Port 4 MCP/SSP */
|
|
|
+#define PPFR_PerEn 0 /* Peripheral Enabled */
|
|
|
+#define PPFR_PPCEn 1 /* PPC Enabled */
|
|
|
+
|
|
|
+
|
|
|
+/*
|
|
|
+ * Dynamic Random-Access Memory (DRAM) control registers
|
|
|
+ *
|
|
|
+ * Registers
|
|
|
+ * MDCNFG Memory system: Dynamic Random-Access Memory (DRAM)
|
|
|
+ * CoNFiGuration register (read/write).
|
|
|
+ * MDCAS0 Memory system: Dynamic Random-Access Memory (DRAM)
|
|
|
+ * Column Address Strobe (CAS) shift register 0
|
|
|
+ * (read/write).
|
|
|
+ * MDCAS1 Memory system: Dynamic Random-Access Memory (DRAM)
|
|
|
+ * Column Address Strobe (CAS) shift register 1
|
|
|
+ * (read/write).
|
|
|
+ * MDCAS2 Memory system: Dynamic Random-Access Memory (DRAM)
|
|
|
+ * Column Address Strobe (CAS) shift register 2
|
|
|
+ * (read/write).
|
|
|
+ *
|
|
|
+ * Clocks
|
|
|
+ * fcpu, Tcpu Frequency, period of the CPU core clock (CCLK).
|
|
|
+ * fmem, Tmem Frequency, period of the memory clock (fmem = fcpu/2).
|
|
|
+ * fcas, Tcas Frequency, period of the DRAM CAS shift registers.
|