|
@@ -445,3 +445,135 @@
|
|
|
#define SDCR0_FM0 (SDCR0_BMS*0) /* Freq. Modulation zero (0) */
|
|
|
#define SDCR0_NRZ (SDCR0_BMS*1) /* Non-Return to Zero modulation */
|
|
|
#define SDCR0_SCE 0x00000010 /* Sample Clock Enable (GPIO [16]) */
|
|
|
+#define SDCR0_SCD 0x00000020 /* Sample Clock Direction select */
|
|
|
+ /* (GPIO [16]) */
|
|
|
+#define SDCR0_SClkIn (SDCR0_SCD*0) /* Sample Clock Input */
|
|
|
+#define SDCR0_SClkOut (SDCR0_SCD*1) /* Sample Clock Output */
|
|
|
+#define SDCR0_RCE 0x00000040 /* Receive Clock Edge select */
|
|
|
+#define SDCR0_RcRsEdg (SDCR0_RCE*0) /* Receive clock Rising-Edge */
|
|
|
+#define SDCR0_RcFlEdg (SDCR0_RCE*1) /* Receive clock Falling-Edge */
|
|
|
+#define SDCR0_TCE 0x00000080 /* Transmit Clock Edge select */
|
|
|
+#define SDCR0_TrRsEdg (SDCR0_TCE*0) /* Transmit clock Rising-Edge */
|
|
|
+#define SDCR0_TrFlEdg (SDCR0_TCE*1) /* Transmit clock Falling-Edge */
|
|
|
+
|
|
|
+#define SDCR1_AAF 0x00000001 /* Abort After Frame enable */
|
|
|
+ /* (GPIO [17]) */
|
|
|
+#define SDCR1_TXE 0x00000002 /* Transmit Enable */
|
|
|
+#define SDCR1_RXE 0x00000004 /* Receive Enable */
|
|
|
+#define SDCR1_RIE 0x00000008 /* Receive FIFO 1/3-to-2/3-full or */
|
|
|
+ /* more Interrupt Enable */
|
|
|
+#define SDCR1_TIE 0x00000010 /* Transmit FIFO 1/2-full or less */
|
|
|
+ /* Interrupt Enable */
|
|
|
+#define SDCR1_AME 0x00000020 /* Address Match Enable */
|
|
|
+#define SDCR1_TUS 0x00000040 /* Transmit FIFO Under-run Select */
|
|
|
+#define SDCR1_EFrmURn (SDCR1_TUS*0) /* End Frame on Under-Run */
|
|
|
+#define SDCR1_AbortURn (SDCR1_TUS*1) /* Abort on Under-Run */
|
|
|
+#define SDCR1_RAE 0x00000080 /* Receive Abort interrupt Enable */
|
|
|
+
|
|
|
+#define SDCR2_AMV Fld (8, 0) /* Address Match Value */
|
|
|
+
|
|
|
+#define SDCR3_BRD Fld (4, 0) /* Baud Rate Divisor/16 - 1 [11:8] */
|
|
|
+#define SDCR4_BRD Fld (8, 0) /* Baud Rate Divisor/16 - 1 [7:0] */
|
|
|
+ /* fsd = fxtl/(16*(BRD[11:0] + 1)) */
|
|
|
+ /* Tsd = 16*(BRD[11:0] + 1)*Txtl */
|
|
|
+#define SDCR3_BdRtDiv(Div) /* Baud Rate Divisor [16..65536] */ \
|
|
|
+ (((Div) - 16)/16 >> FSize (SDCR4_BRD) << \
|
|
|
+ FShft (SDCR3_BRD))
|
|
|
+#define SDCR4_BdRtDiv(Div) /* Baud Rate Divisor [16..65536] */ \
|
|
|
+ (((Div) - 16)/16 & FAlnMsk (SDCR4_BRD) << \
|
|
|
+ FShft (SDCR4_BRD))
|
|
|
+ /* fsd = fxtl/(16*Floor (Div/16)) */
|
|
|
+ /* Tsd = 16*Floor (Div/16)*Txtl */
|
|
|
+#define SDCR3_CeilBdRtDiv(Div) /* Ceil. of BdRtDiv [16..65536] */ \
|
|
|
+ (((Div) - 1)/16 >> FSize (SDCR4_BRD) << \
|
|
|
+ FShft (SDCR3_BRD))
|
|
|
+#define SDCR4_CeilBdRtDiv(Div) /* Ceil. of BdRtDiv [16..65536] */ \
|
|
|
+ (((Div) - 1)/16 & FAlnMsk (SDCR4_BRD) << \
|
|
|
+ FShft (SDCR4_BRD))
|
|
|
+ /* fsd = fxtl/(16*Ceil (Div/16)) */
|
|
|
+ /* Tsd = 16*Ceil (Div/16)*Txtl */
|
|
|
+
|
|
|
+#define SDDR_DATA Fld (8, 0) /* receive/transmit DATA FIFOs */
|
|
|
+#if 0 /* Hidden receive FIFO bits */
|
|
|
+#define SDDR_EOF 0x00000100 /* receive End-Of-Frame (read) */
|
|
|
+#define SDDR_CRE 0x00000200 /* receive CRC Error (read) */
|
|
|
+#define SDDR_ROR 0x00000400 /* Receive FIFO Over-Run (read) */
|
|
|
+#endif /* 0 */
|
|
|
+
|
|
|
+#define SDSR0_EIF 0x00000001 /* Error In FIFO (read) */
|
|
|
+#define SDSR0_TUR 0x00000002 /* Transmit FIFO Under-Run */
|
|
|
+#define SDSR0_RAB 0x00000004 /* Receive ABort */
|
|
|
+#define SDSR0_TFS 0x00000008 /* Transmit FIFO 1/2-full or less */
|
|
|
+ /* Service request (read) */
|
|
|
+#define SDSR0_RFS 0x00000010 /* Receive FIFO 1/3-to-2/3-full or */
|
|
|
+ /* more Service request (read) */
|
|
|
+
|
|
|
+#define SDSR1_RSY 0x00000001 /* Receiver SYnchronized (read) */
|
|
|
+#define SDSR1_TBY 0x00000002 /* Transmitter BusY (read) */
|
|
|
+#define SDSR1_RNE 0x00000004 /* Receive FIFO Not Empty (read) */
|
|
|
+#define SDSR1_TNF 0x00000008 /* Transmit FIFO Not Full (read) */
|
|
|
+#define SDSR1_RTD 0x00000010 /* Receive Transition Detected */
|
|
|
+#define SDSR1_EOF 0x00000020 /* receive End-Of-Frame (read) */
|
|
|
+#define SDSR1_CRE 0x00000040 /* receive CRC Error (read) */
|
|
|
+#define SDSR1_ROR 0x00000080 /* Receive FIFO Over-Run (read) */
|
|
|
+
|
|
|
+
|
|
|
+/*
|
|
|
+ * High-Speed Serial to Parallel controller (HSSP) control registers
|
|
|
+ *
|
|
|
+ * Registers
|
|
|
+ * Ser2HSCR0 Serial port 2 High-Speed Serial to Parallel
|
|
|
+ * controller (HSSP) Control Register 0 (read/write).
|
|
|
+ * Ser2HSCR1 Serial port 2 High-Speed Serial to Parallel
|
|
|
+ * controller (HSSP) Control Register 1 (read/write).
|
|
|
+ * Ser2HSDR Serial port 2 High-Speed Serial to Parallel
|
|
|
+ * controller (HSSP) Data Register (read/write).
|
|
|
+ * Ser2HSSR0 Serial port 2 High-Speed Serial to Parallel
|
|
|
+ * controller (HSSP) Status Register 0 (read/write).
|
|
|
+ * Ser2HSSR1 Serial port 2 High-Speed Serial to Parallel
|
|
|
+ * controller (HSSP) Status Register 1 (read).
|
|
|
+ * Ser2HSCR2 Serial port 2 High-Speed Serial to Parallel
|
|
|
+ * controller (HSSP) Control Register 2 (read/write).
|
|
|
+ * [The HSCR2 register is only implemented in
|
|
|
+ * versions 2.0 (rev. = 8) and higher of the StrongARM
|
|
|
+ * SA-1100.]
|
|
|
+ */
|
|
|
+
|
|
|
+#define Ser2HSCR0 __REG(0x80040060) /* Ser. port 2 HSSP Control Reg. 0 */
|
|
|
+#define Ser2HSCR1 __REG(0x80040064) /* Ser. port 2 HSSP Control Reg. 1 */
|
|
|
+#define Ser2HSDR __REG(0x8004006C) /* Ser. port 2 HSSP Data Reg. */
|
|
|
+#define Ser2HSSR0 __REG(0x80040074) /* Ser. port 2 HSSP Status Reg. 0 */
|
|
|
+#define Ser2HSSR1 __REG(0x80040078) /* Ser. port 2 HSSP Status Reg. 1 */
|
|
|
+#define Ser2HSCR2 __REG(0x90060028) /* Ser. port 2 HSSP Control Reg. 2 */
|
|
|
+
|
|
|
+#define HSCR0_ITR 0x00000001 /* IrDA Transmission Rate */
|
|
|
+#define HSCR0_UART (HSCR0_ITR*0) /* UART mode (115.2 kb/s if IrDA) */
|
|
|
+#define HSCR0_HSSP (HSCR0_ITR*1) /* HSSP mode (4 Mb/s) */
|
|
|
+#define HSCR0_LBM 0x00000002 /* Look-Back Mode */
|
|
|
+#define HSCR0_TUS 0x00000004 /* Transmit FIFO Under-run Select */
|
|
|
+#define HSCR0_EFrmURn (HSCR0_TUS*0) /* End Frame on Under-Run */
|
|
|
+#define HSCR0_AbortURn (HSCR0_TUS*1) /* Abort on Under-Run */
|
|
|
+#define HSCR0_TXE 0x00000008 /* Transmit Enable */
|
|
|
+#define HSCR0_RXE 0x00000010 /* Receive Enable */
|
|
|
+#define HSCR0_RIE 0x00000020 /* Receive FIFO 2/5-to-3/5-full or */
|
|
|
+ /* more Interrupt Enable */
|
|
|
+#define HSCR0_TIE 0x00000040 /* Transmit FIFO 1/2-full or less */
|
|
|
+ /* Interrupt Enable */
|
|
|
+#define HSCR0_AME 0x00000080 /* Address Match Enable */
|
|
|
+
|
|
|
+#define HSCR1_AMV Fld (8, 0) /* Address Match Value */
|
|
|
+
|
|
|
+#define HSDR_DATA Fld (8, 0) /* receive/transmit DATA FIFOs */
|
|
|
+#if 0 /* Hidden receive FIFO bits */
|
|
|
+#define HSDR_EOF 0x00000100 /* receive End-Of-Frame (read) */
|
|
|
+#define HSDR_CRE 0x00000200 /* receive CRC Error (read) */
|
|
|
+#define HSDR_ROR 0x00000400 /* Receive FIFO Over-Run (read) */
|
|
|
+#endif /* 0 */
|
|
|
+
|
|
|
+#define HSSR0_EIF 0x00000001 /* Error In FIFO (read) */
|
|
|
+#define HSSR0_TUR 0x00000002 /* Transmit FIFO Under-Run */
|
|
|
+#define HSSR0_RAB 0x00000004 /* Receive ABort */
|
|
|
+#define HSSR0_TFS 0x00000008 /* Transmit FIFO 1/2-full or less */
|
|
|
+ /* Service request (read) */
|
|
|
+#define HSSR0_RFS 0x00000010 /* Receive FIFO 2/5-to-3/5-full or */
|
|
|
+ /* more Service request (read) */
|