1 /*
2 * Copyright (c) 2015-2016, Texas Instruments Incorporated
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * * Neither the name of Texas Instruments Incorporated nor the names of
17 * its contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 */
32 /** ============================================================================
33 * @file MSP_I3MSP432P401R.h
34 *
35 * @brief MSP_I3MSP432P401R Board Specific APIs
36 *
37 * The MSP_I3MSP432P401R header file should be included in an application as
38 * follows:
39 * @code
40 * #include <MSP_I3MSP432P401R.h>
41 * @endcode
42 *
43 * ============================================================================
44 */
45 #ifndef __MSP_I3MSP432P401R_H
46 #define __MSP_I3MSP432P401R_H
48 #ifdef __cplusplus
49 extern "C" {
50 #endif
52 /* LEDs on MSP_I3MSP432P401R are active high. */
53 #define MSP_I3MSP432P401R_LED_OFF (0)
54 #define MSP_I3MSP432P401R_LED_ON (1)
56 /*!
57 * @def MSP_I3MSP432P401R_ADCName
58 * @brief Enum of ADC channels on the MSP_I3MSP432P401R dev board
59 */
60 typedef enum MSP_I3MSP432P401R_ADCName {
61 MSP_I3MSP432P401R_ADC0 = 0,
62 MSP_I3MSP432P401R_ADC1,
63 MSP_I3MSP432P401R_ADCCOUNT
64 }MSP_I3MSP432P401R_ADCName;
66 /*!
67 * @def MSP_I3MSP432P401R_GPIOName
68 * @brief Enum of GPIO names on the MSP_I3MSP432P401R dev board
69 */
70 typedef enum MSP_I3MSP432P401R_GPIOName {
71 MSP_I3MSP432P401R_S1 = 0,
72 MSP_I3MSP432P401R_SPIA1_IRQ,
73 MSP_I3MSP432P401R_SPIA1_CS,
74 MSP_I3MSP432P401R_SPIA2_CS,
75 /*
76 * MSP_I3MSP432P401R_LED_GREEN & MSP_I3MSP432P401R_LED_BLUE are used for
77 * PWM examples. Uncomment the following lines if you would like to control
78 * the LEDs with the GPIO driver.
79 */
80 MSP_I3MSP432P401R_LED_GREEN,
81 MSP_I3MSP432P401R_LED_RED,
83 MSP_I3MSP432P401R_GPIOCOUNT
84 } MSP_I3MSP432P401R_GPIOName;
86 /*!
87 * @def MSP_I3MSP432P401R_I2CName
88 * @brief Enum of I2C names on the MSP_I3MSP432P401R dev board
89 */
90 typedef enum MSP_I3MSP432P401R_I2CName {
91 MSP_I3MSP432P401R_I2CB2 = 0,
92 MSP_I3MSP432P401R_I2CCOUNT
93 } MSP_I3MSP432P401R_I2CName;
95 /*!
96 * @def MSP_I3MSP432P401R_PWMName
97 * @brief Enum of PWM names on the MSP_I3MSP432P401R dev board
98 */
99 typedef enum MSP_I3MSP432P401R_PWMName {
100 MSP_I3MSP432P401R_PWM_TA1_1 = 0,
101 MSP_I3MSP432P401R_PWM_TA1_2,
103 MSP_I3MSP432P401R_PWMCOUNT
104 } MSP_I3MSP432P401R_PWMName;
106 /*!
107 * @def MSP_I3MSP432P401R_SDSPIName
108 * @brief Enum of SDSPI names on the MSP_I3MSP432P401R dev board
110 typedef enum MSP_I3MSP432P401R_SDSPIName {
111 MSP_I3MSP432P401R_SDSPIB0 = 0,
113 MSP_I3MSP432P401R_SDSPICOUNT
114 } EMSP_I3MSP432P401R_SDSPIName;
115 */
117 /*!
118 * @def MSP_I3MSP432P401R_SPIName
119 * @brief Enum of SPI names on the MSP_I3MSP432P401R dev board
120 */
121 typedef enum MSP_I3MSP432P401R_SPIName {
122 MSP_I3MSP432P401R_SPIB0 = 0,
123 MSP_I3MSP432P401R_SPIA1,
124 MSP_I3MSP432P401R_SPIA2,
126 MSP_I3MSP432P401R_SPICOUNT
127 } MSP_I3MSP432P401R_SPIName;
129 /*!
130 * @def MSP_I3MSP432P401R_UARTName
131 * @brief Enum of UART names on the MSP_I3MSP432P401R dev board
132 */
133 typedef enum MSP_I3MSP432P401R_UARTName {
134 MSP_I3MSP432P401R_UARTA0 = 0,
135 MSP_I3MSP432P401R_UARTA2,
137 MSP_I3MSP432P401R_UARTCOUNT
138 } MSP_I3MSP432P401R_UARTName;
140 /*!
141 * @def MSP_I3MSP432P401R_WatchdogName
142 * @brief Enum of Watchdog names on the MSP_I3MSP432P401R dev board
143 */
144 typedef enum MSP_I3MSP432P401R_WatchdogName {
145 MSP_I3MSP432P401R_WATCHDOG = 0,
147 MSP_I3MSP432P401R_WATCHDOGCOUNT
148 } MSP_I3MSP432P401R_WatchdogName;
150 /*!
151 * @def MSP_I3MSP432P401R_WiFiName
152 * @brief Enum of WiFi names on the MSP_I3MSP432P401R dev board
153 */
154 typedef enum MSP_I3MSP432P401R_WiFiName {
155 MSP_I3MSP432P401R_WIFI = 0,
157 MSP_I3MSP432P401R_WIFICOUNT
158 } MSP_I3MSP432P401R_WiFiName;
160 /*!
161 * @brief Initialize board specific ADC settings
162 *
163 * This function initializes the board specific ADC settings and then calls
164 * the ADC_init API to initialize the ADC module.
165 *
166 * The ADC peripherals controlled by the ADC module are determined by the
167 * ADC_config variable.
168 */
169 extern void MSP_I3MSP432P401R_initADC(void);
171 /*!
172 * @brief Initialize the general board specific settings
173 *
174 * This function initializes the general board specific settings.
175 */
176 extern void MSP_I3MSP432P401R_initGeneral(void);
178 /*!
179 * @brief Initialize board specific GPIO settings
180 *
181 * This function initializes the board specific GPIO settings and
182 * then calls the GPIO_init API to initialize the GPIO module.
183 *
184 * The GPIOs controlled by the GPIO module are determined by the GPIO_PinConfig
185 * variable.
186 */
187 extern void MSP_I3MSP432P401R_initGPIO(void);
189 /*!
190 * @brief Initialize board specific I2C settings
191 *
192 * This function initializes the board specific I2C settings and then calls
193 * the I2C_init API to initialize the I2C module.
194 *
195 * The I2C peripherals controlled by the I2C module are determined by the
196 * I2C_config variable.
197 */
198 extern void MSP_I3MSP432P401R_initI2C(void);
200 /*!
201 * @brief Initialize board specific PWM settings
202 *
203 * This function initializes the board specific PWM settings and then calls
204 * the PWM_init API to initialize the PWM module.
205 *
206 * The PWM peripherals controlled by the PWM module are determined by the
207 * PWM_config variable.
208 */
209 extern void MSP_I3MSP432P401R_initPWM(void);
211 /*!
212 * @brief Initialize board specific SDSPI settings
213 *
214 * This function initializes the board specific SDSPI settings and then calls
215 * the SDSPI_init API to initialize the SDSPI module.
216 *
217 * The SDSPI peripherals controlled by the SDSPI module are determined by the
218 * SDSPI_config variable.
219 */
220 extern void MSP_I3MSP432P401R_initSDSPI(void);
222 /*!
223 * @brief Initialize board specific SPI settings
224 *
225 * This function initializes the board specific SPI settings and then calls
226 * the SPI_init API to initialize the SPI module.
227 *
228 * The SPI peripherals controlled by the SPI module are determined by the
229 * SPI_config variable.
230 */
231 extern void MSP_I3MSP432P401R_initSPI(void);
233 /*!
234 * @brief Initialize board specific UART settings
235 *
236 * This function initializes the board specific UART settings and then calls
237 * the UART_init API to initialize the UART module.
238 *
239 * The UART peripherals controlled by the UART module are determined by the
240 * UART_config variable.
241 */
242 extern void MSP_I3MSP432P401R_initUART(void);
244 /*!
245 * @brief Initialize board specific Watchdog settings
246 *
247 * This function initializes the board specific Watchdog settings and then
248 * calls the Watchdog_init API to initialize the Watchdog module.
249 *
250 * The Watchdog peripherals controlled by the Watchdog module are determined
251 * by the Watchdog_config variable.
252 */
253 extern void MSP_I3MSP432P401R_initWatchdog(void);
255 /*!
256 * @brief Initialize board specific WiFi settings
257 *
258 * This function initializes the board specific WiFi settings and then calls
259 * the WiFi_init API to initialize the WiFi module.
260 *
261 * The hardware resources controlled by the WiFi module are determined by the
262 * WiFi_config variable.
263 *
264 * A SimpleLink CC3100 device or module is required and must be connected to
265 * use the WiFi driver.
266 */
267 extern void MSP_I3MSP432P401R_initWiFi(void);
269 #ifdef __cplusplus
270 }
271 #endif
273 #endif /* __MSP_I3MSP432P401R_H */