]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_LM3S102_GCC/hw_include/hw_ssi.h
Add FreeRTOS-Plus directory.
[freertos] / FreeRTOS / Demo / CORTEX_LM3S102_GCC / hw_include / hw_ssi.h
1 //*****************************************************************************\r
2 //\r
3 // hw_ssi.h - Macros used when accessing the SSI hardware.\r
4 //\r
5 // Copyright (c) 2005,2006 Luminary Micro, Inc.  All rights reserved.\r
6 //\r
7 // Software License Agreement\r
8 //\r
9 // Luminary Micro, Inc. (LMI) is supplying this software for use solely and\r
10 // exclusively on LMI's Stellaris Family of microcontroller products.\r
11 //\r
12 // The software is owned by LMI and/or its suppliers, and is protected under\r
13 // applicable copyright laws.  All rights are reserved.  Any use in violation\r
14 // of the foregoing restrictions may subject the user to criminal sanctions\r
15 // under applicable laws, as well as to civil liability for the breach of the\r
16 // terms and conditions of this license.\r
17 //\r
18 // THIS SOFTWARE IS PROVIDED "AS IS".  NO WARRANTIES, WHETHER EXPRESS, IMPLIED\r
19 // OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF\r
20 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.\r
21 // LMI SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR\r
22 // CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.\r
23 //\r
24 // This is part of revision 523 of the Stellaris Driver Library.\r
25 //\r
26 //*****************************************************************************\r
27 \r
28 #ifndef __HW_SSI_H__\r
29 #define __HW_SSI_H__\r
30 \r
31 //*****************************************************************************\r
32 //\r
33 // The following define the offsets of the SSI registers.\r
34 //\r
35 //*****************************************************************************\r
36 #define SSI_O_CR0               0x00000000  // Control register 0\r
37 #define SSI_O_CR1               0x00000004  // Control register 1\r
38 #define SSI_O_DR                0x00000008  // Data register\r
39 #define SSI_O_SR                0x0000000C  // Status register\r
40 #define SSI_O_CPSR              0x00000010  // Clock prescale register\r
41 #define SSI_O_IM                0x00000014  // Int mask set and clear register\r
42 #define SSI_O_RIS               0x00000018  // Raw interrupt register\r
43 #define SSI_O_MIS               0x0000001C  // Masked interrupt register\r
44 #define SSI_O_ICR               0x00000020  // Interrupt clear register\r
45 \r
46 //*****************************************************************************\r
47 //\r
48 // The following define the bit fields in the SSI Control register 0.\r
49 //\r
50 //*****************************************************************************\r
51 #define SSI_CR0_SCR             0x0000FF00  // Serial clock rate\r
52 #define SSI_CR0_SPH             0x00000080  // SSPCLKOUT phase\r
53 #define SSI_CR0_SPO             0x00000040  // SSPCLKOUT polarity\r
54 #define SSI_CR0_FRF_MASK        0x00000030  // Frame format mask\r
55 #define SSI_CR0_FRF_MOTO        0x00000000  // Motorola SPI frame format\r
56 #define SSI_CR0_FRF_TI          0x00000010  // TI sync serial frame format\r
57 #define SSI_CR0_FRF_NMW         0x00000020  // National Microwire frame format\r
58 #define SSI_CR0_DSS             0x0000000F  // Data size select\r
59 #define SSI_CR0_DSS_4           0x00000003  // 4 bit data\r
60 #define SSI_CR0_DSS_5           0x00000004  // 5 bit data\r
61 #define SSI_CR0_DSS_6           0x00000005  // 6 bit data\r
62 #define SSI_CR0_DSS_7           0x00000006  // 7 bit data\r
63 #define SSI_CR0_DSS_8           0x00000007  // 8 bit data\r
64 #define SSI_CR0_DSS_9           0x00000008  // 9 bit data\r
65 #define SSI_CR0_DSS_10          0x00000009  // 10 bit data\r
66 #define SSI_CR0_DSS_11          0x0000000A  // 11 bit data\r
67 #define SSI_CR0_DSS_12          0x0000000B  // 12 bit data\r
68 #define SSI_CR0_DSS_13          0x0000000C  // 13 bit data\r
69 #define SSI_CR0_DSS_14          0x0000000D  // 14 bit data\r
70 #define SSI_CR0_DSS_15          0x0000000E  // 15 bit data\r
71 #define SSI_CR0_DSS_16          0x0000000F  // 16 bit data\r
72 \r
73 //*****************************************************************************\r
74 //\r
75 // The following define the bit fields in the SSI Control register 1.\r
76 //\r
77 //*****************************************************************************\r
78 #define SSI_CR1_SOD             0x00000008  // Slave mode output disable\r
79 #define SSI_CR1_MS              0x00000004  // Master or slave mode select\r
80 #define SSI_CR1_SSE             0x00000002  // Sync serial port enable\r
81 #define SSI_CR1_LBM             0x00000001  // Loopback mode\r
82 \r
83 //*****************************************************************************\r
84 //\r
85 // The following define the bit fields in the SSI Status register\r
86 //\r
87 //*****************************************************************************\r
88 #define SSI_SR_BSY              0x00000010  // SSI busy\r
89 #define SSI_SR_RFF              0x00000008  // RX FIFO full\r
90 #define SSI_SR_RNE              0x00000004  // RX FIFO not empty\r
91 #define SSI_SR_TNF              0x00000002  // TX FIFO not full\r
92 #define SSI_SR_TFE              0x00000001  // TX FIFO empty\r
93 \r
94 //*****************************************************************************\r
95 //\r
96 // The following define information concerning the SSI Data register.\r
97 //\r
98 //*****************************************************************************\r
99 #define TX_FIFO_SIZE            (8)         // Number of entries in the TX FIFO\r
100 #define RX_FIFO_SIZE            (8)         // Number of entries in the RX FIFO\r
101 \r
102 //*****************************************************************************\r
103 //\r
104 // The following define the bit fields in the interrupt mask set and clear,\r
105 // raw interrupt, masked interrupt, and interrupt clear registers.\r
106 //\r
107 //*****************************************************************************\r
108 #define SSI_INT_TXFF            0x00000008  // TX FIFO interrupt\r
109 #define SSI_INT_RXFF            0x00000004  // RX FIFO interrupt\r
110 #define SSI_INT_RXTO            0x00000002  // RX timeout interrupt\r
111 #define SSI_INT_RXOR            0x00000001  // RX overrun interrupt\r
112 \r
113 #endif // __HW_SSI_H__\r