17 #define SPI_ACCELEROMETER 2
18 #define SPI_LEDS_ONOFF 3
19 #define SPI_LEDS_DIMMER 4
22 #define SPI_AUDIOSDI 8
23 #define SPI_AUDIOSCI 9
24 #define SPI_EXPAND0 10
25 #define SPI_EXPAND1 11
28 #define SPI_RADIO_FREQUENCY 5000000
29 #define SPI_MSP430_FREQUENCY 2000000
30 #define SPI_SDCARD_FREQUENCY 350000
31 #define SPI_AUDIOSDI_FREQUENCY 2000000
32 #define SPI_AUDIOSCI_FREQUENCY 2000000
33 #define SPI_EXPAND0_FREQUENCY 1000000
34 #define SPI_EXPAND1_FREQUENCY 1000000
35 #define SPI_NULL_FREQUENCY 1000000
37 #define SPI_RADIO_WORDSIZE 8
38 #define SPI_LEDS_ONOFF_WORDSIZE 16
39 #define SPI_LEDS_DIMMER_WORDSIZE 7
40 #define SPI_MSP430_WORDSIZE 8
41 #define SPI_SDCARD_WORDSIZE 8
42 #define SPI_AUDIO_WORDSIZE 16
44 #define SPI_ACCELEROMETER_WORDSIZE 8
45 #define SPI_EXPAND_WORDSIZE 8
49 #define SPI_MOSI_PIN GPIO_PIN_5
50 #define SPI_MISO_PIN GPIO_PIN_4
51 #define SPI_CLK_PIN GPIO_PIN_2
53 #define RADIO_SELECT_PORT GPIO_PORTA_BASE
54 #define RADIO_SELECT_PERIPH SYSCTL_PERIPH_GPIOA
55 #define RADIO_SELECT_PIN GPIO_PIN_7
57 #define LED_LE_SYSCTL SYSCTL_PERIPH_GPIOA
58 #define LED_LE_PORT GPIO_PORTA_BASE
59 #define LED_LE_PIN GPIO_PIN_6
61 #define ACCELEROMETER_SELECT_SYSCTL SYSCTL_PERIPH_GPIOA
62 #define ACCELEROMETER_SELECT_PORT GPIO_PORTA_BASE
63 #define ACCELEROMETER_SELECT_PIN GPIO_PIN_3
64 #elif defined(RONE_V9)
65 #define SPI_ENABLE_PERIPH SYSCTL_PERIPH_GPIOG
66 #define SPI_ENABLE_PORT GPIO_PORTG_BASE
67 #define SPI_ENABLE_PIN GPIO_PIN_0
69 #define SPI_MOSI_PIN GPIO_PIN_5
70 #define SPI_MISO_PIN GPIO_PIN_4
71 #define SPI_CLK_PIN GPIO_PIN_2
73 #define SPI_SELECT_PERIPH SYSCTL_PERIPH_GPIOA
74 #define SPI_SELECT_PORT GPIO_PORTA_BASE
75 #define SPI_SELECT_PINS (GPIO_PIN_3 | GPIO_PIN_6 | GPIO_PIN_7)
76 #define NULL_SELECT_PINS (0 | 0 | 0 )
77 #define MSP430_SELECT_PINS (GPIO_PIN_3 | 0 | 0 )
78 #define RADIO_SELECT_PINS (0 | GPIO_PIN_6 | 0 )
79 #define AUDIOSCI_SELECT_PINS (GPIO_PIN_3 | GPIO_PIN_6 | 0 )
80 #define AUDIOSDI_SELECT_PINS (0 | 0 | GPIO_PIN_7)
81 #define SDCARD_SELECT_PINS (GPIO_PIN_3 | 0 | GPIO_PIN_7)
82 #define EXPAND0_SELECT_PINS (0 | GPIO_PIN_6 | GPIO_PIN_7)
83 #define EXPAND1_SELECT_PINS (GPIO_PIN_3 | GPIO_PIN_6 | GPIO_PIN_7)
84 #elif defined(RONE_V12)
85 #define SPI_ENABLE_PERIPH SYSCTL_PERIPH_GPIOG
86 #define SPI_ENABLE_PORT GPIO_PORTG_BASE
87 #define SPI_ENABLE_PIN GPIO_PIN_0
89 #define SPI_MOSI_PIN GPIO_PIN_5
90 #define SPI_MISO_PIN GPIO_PIN_4
91 #define SPI_CLK_PIN GPIO_PIN_2
93 #define SPI_SELECT_PERIPH SYSCTL_PERIPH_GPIOA
94 #define SPI_SELECT_PORT GPIO_PORTA_BASE
95 #define SPI_SELECT_PINS (GPIO_PIN_3 | GPIO_PIN_6 | GPIO_PIN_7)
96 #define NULL_SELECT_PINS (0 | 0 | 0 )
97 #define MSP430_SELECT_PINS (GPIO_PIN_3 | 0 | 0 )
98 #define RADIO_SELECT_PINS (0 | GPIO_PIN_6 | 0 )
99 #define AUDIOSCI_SELECT_PINS (GPIO_PIN_3 | GPIO_PIN_6 | 0 )
100 #define AUDIOSDI_SELECT_PINS (0 | 0 | GPIO_PIN_7)
101 #define SDCARD_SELECT_PINS (GPIO_PIN_3 | 0 | GPIO_PIN_7)
102 #define EXPAND0_SELECT_PINS (0 | GPIO_PIN_6 | GPIO_PIN_7)
103 #define EXPAND1_SELECT_PINS (GPIO_PIN_3 | GPIO_PIN_6 | GPIO_PIN_7)
108 #define SPI_MAX_XFER_IRQ_DELAY 32
132 void SPISelectDevice(uint8 device);
140 void SPISelectDeviceISR(uint8 device);
149 void SPIDeselect(
void);
158 void SPIDeselectSynchronous(
void);
166 boolean SPIDeselectISR(
void);
176 void SPISemaphoreGiveFromISR(
void);
189 boolean SPIXmitNullByte(uint8 dat);
205 void SPIXmitNullBytes(uint8 device, uint16 numBytes);
222 void SPIConfigure(uint32 ulBase, uint8 wordSize, uint8 mode, uint32 frequency);
231 void SPIConfigureDevice(uint8 device);