ISSDK  1.8
IoT Sensing Software Development Kit
frdm_k22f.c
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2016, Freescale Semiconductor, Inc.
3  * Copyright 2016-2017 NXP
4  * All rights reserved.
5  *
6  * SPDX-License-Identifier: BSD-3-Clause
7  */
8 
9 /*! \file frdm_k22f.c
10  \brief The frdm_k22f.c file defines GPIO pins for FRDM-K22F board
11 */
12 
13 #include "frdm_k22f.h"
14 
15 // I2C0 Handle
16 gpioHandleKSDK_t A5 = {.base = GPIOB,
17  .portBase = PORTB,
18  .pinNumber = 2,
19  .mask = 1 << (2),
20  .irq = PORTB_IRQn,
21  .clockName = kCLOCK_PortB,
22  .portNumber = PORTB_NUM};
23 gpioHandleKSDK_t A4 = {.base = GPIOB,
24  .portBase = PORTB,
25  .pinNumber = 3,
26  .mask = 1 << (3),
27  .irq = PORTB_IRQn,
28  .clockName = kCLOCK_PortB,
29  .portNumber = PORTB_NUM};
30 
31 // SPI1 Handle
33  .portBase = PORTD,
34  .pinNumber = 5,
35  .mask = 1 << (5),
36  .irq = PORTD_IRQn,
37  .clockName = kCLOCK_PortD,
38  .portNumber = PORTD_NUM};
40  .portBase = PORTD,
41  .pinNumber = 6,
42  .mask = 1 << (6),
43  .irq = PORTD_IRQn,
44  .clockName = kCLOCK_PortD,
45  .portNumber = PORTD_NUM};
47  .portBase = PORTD,
48  .pinNumber = 7,
49  .mask = 1 << (7),
50  .irq = PORTD_IRQn,
51  .clockName = kCLOCK_PortD,
52  .portNumber = PORTD_NUM};
53 
54 // UART1 Handle
56  .portBase = PORTE,
57  .pinNumber = 0,
58  .mask = 1 << (0),
59  .irq = PORTE_IRQn,
60  .clockName = kCLOCK_PortE,
61  .portNumber = PORTE_NUM};
63  .portBase = PORTE,
64  .pinNumber = 1,
65  .mask = 1 << (1),
66  .irq = PORTE_IRQn,
67  .clockName = kCLOCK_PortE,
68  .portNumber = PORTE_NUM};
69 
70 // FRDM-K22F Arduino Connector Pin Defintion
71 gpioHandleKSDK_t A0 = {.base = GPIOB,
72  .portBase = PORTB,
73  .pinNumber = 0,
74  .mask = 1 << (0),
75  .irq = PORTB_IRQn,
76  .clockName = kCLOCK_PortB,
77  .portNumber = PORTB_NUM};
78 gpioHandleKSDK_t A1 = {.base = GPIOB,
79  .portBase = PORTB,
80  .pinNumber = 1,
81  .mask = 1 << (1),
82  .irq = PORTB_IRQn,
83  .clockName = kCLOCK_PortB,
84  .portNumber = PORTB_NUM};
85 gpioHandleKSDK_t A2 = {.base = GPIOC,
86  .portBase = PORTC,
87  .pinNumber = 1,
88  .mask = 1 << (1),
89  .irq = PORTC_IRQn,
90  .clockName = kCLOCK_PortC,
91  .portNumber = PORTC_NUM};
92 gpioHandleKSDK_t A3 = {.base = GPIOC,
93  .portBase = PORTC,
94  .pinNumber = 2,
95  .mask = 1 << (2),
96  .irq = PORTC_IRQn,
97  .clockName = kCLOCK_PortC,
98  .portNumber = PORTC_NUM};
99 
100 // UART2 Handle
102  .portBase = PORTD,
103  .pinNumber = 2,
104  .mask = 1 << (2),
105  .irq = PORTD_IRQn,
106  .clockName = kCLOCK_PortD,
107  .portNumber = PORTD_NUM};
109  .portBase = PORTD,
110  .pinNumber = 3,
111  .mask = 1 << (3),
112  .irq = PORTD_IRQn,
113  .clockName = kCLOCK_PortD,
114  .portNumber = PORTD_NUM};
115 
117  .portBase = PORTB,
118  .pinNumber = 16,
119  .mask = 1 << (16),
120  .irq = PORTB_IRQn,
121  .clockName = kCLOCK_PortB,
122  .portNumber = PORTB_NUM};
124  .portBase = PORTA,
125  .pinNumber = 2,
126  .mask = 1 << (2),
127  .irq = PORTA_IRQn,
128  .clockName = kCLOCK_PortA,
129  .portNumber = PORTA_NUM};
131  .portBase = PORTA,
132  .pinNumber = 4,
133  .mask = 1 << (4),
134  .irq = PORTA_IRQn,
135  .clockName = kCLOCK_PortA,
136  .portNumber = PORTA_NUM};
138  .portBase = PORTB,
139  .pinNumber = 18,
140  .mask = 1 << (18),
141  .irq = PORTB_IRQn,
142  .clockName = kCLOCK_PortB,
143  .portNumber = PORTB_NUM};
145  .portBase = PORTC,
146  .pinNumber = 3,
147  .mask = 1 << (3),
148  .irq = PORTC_IRQn,
149  .clockName = kCLOCK_PortC,
150  .portNumber = PORTC_NUM};
152  .portBase = PORTC,
153  .pinNumber = 6,
154  .mask = 1 << (6),
155  .irq = PORTC_IRQn,
156  .clockName = kCLOCK_PortC,
157  .portNumber = PORTC_NUM};
159  .portBase = PORTB,
160  .pinNumber = 19,
161  .mask = 1 << (19),
162  .irq = PORTB_IRQn,
163  .clockName = kCLOCK_PortB,
164  .portNumber = PORTB_NUM};
166  .portBase = PORTA,
167  .pinNumber = 1,
168  .mask = 1 << (1),
169  .irq = PORTA_IRQn,
170  .clockName = kCLOCK_PortA,
171  .portNumber = PORTA_NUM};
173  .portBase = PORTD,
174  .pinNumber = 4,
175  .mask = 1 << (4),
176  .irq = PORTD_IRQn,
177  .clockName = kCLOCK_PortD,
178  .portNumber = PORTD_NUM};
179 
180 // FRDM-K22F RGB LED Pin Definitions
182  .portBase = PORTA,
183  .pinNumber = 1,
184  .mask = 1 << (1),
185  .irq = PORTA_IRQn,
186  .clockName = kCLOCK_PortA,
187  .portNumber = PORTA_NUM};
189  .portBase = PORTA,
190  .pinNumber = 2,
191  .mask = 1 << (2),
192  .irq = PORTA_IRQn,
193  .clockName = kCLOCK_PortA,
194  .portNumber = PORTA_NUM};
196  .portBase = PORTD,
197  .pinNumber = 5,
198  .mask = 1 << (5),
199  .irq = PORTD_IRQn,
200  .clockName = kCLOCK_PortD,
201  .portNumber = PORTD_NUM};
202 
203 // FRDM-K22F I2C Inertial Sensor Pin Definitions
205  .portBase = PORTD,
206  .pinNumber = 0,
207  .mask = 1 << (0),
208  .irq = PORTD_IRQn,
209  .clockName = kCLOCK_PortD,
210  .portNumber = PORTD_NUM};
212  .portBase = PORTD,
213  .pinNumber = 1,
214  .mask = 1 << (1),
215  .irq = PORTD_IRQn,
216  .clockName = kCLOCK_PortD,
217  .portNumber = PORTD_NUM};
218 
219 /*! @brief Determines the Clock Frequency feature.
220  * @details The Clock Frequecny computation API required by fsl_uart_cmsis.c.
221  * @param[in] void
222  * @Constraints None
223  * @Reentrant Yes
224  * @return uint32_t Returns the clock frequency .
225  */
226 uint32_t UART0_GetFreq(void)
227 {
228  return CLOCK_GetFreq(UART0_CLK_SRC);
229 }
230 
231 /*! @brief Determines the Clock Frequency feature.
232  * @details The Clock Frequecny computation API required by fsl_uart_cmsis.c.
233  * @param[in] void
234  * @Constraints None
235  * @Reentrant Yes
236  * @return uint32_t Returns the clock frequency .
237  */
238 uint32_t UART1_GetFreq(void)
239 {
240  return CLOCK_GetFreq(UART1_CLK_SRC);
241 }
242 
243 /*! @brief Determines the Clock Frequency feature.
244  * @details The Clock Frequecny computation API required by fsl_uart_cmsis.c.
245  * @param[in] void
246  * @Constraints None
247  * @Reentrant Yes
248  * @return uint32_t Returns the clock frequency .
249  */
250 uint32_t UART2_GetFreq(void)
251 {
252  return CLOCK_GetFreq(UART2_CLK_SRC);
253 }
254 
255 /*! @brief Determines the Clock Frequency feature.
256  * @details The Clock Frequecny computation API required by fsl_i2c_cmsis.c.
257  * @param[in] void
258  * @Constraints None
259  * @Reentrant Yes
260  * @return uint32_t Returns the clock frequency .
261  */
262 uint32_t I2C0_GetFreq(void)
263 {
264  return CLOCK_GetFreq(I2C0_CLK_SRC);
265 }
266 
267 /*! @brief Determines the Clock Frequency feature.
268  * @details The Clock Frequecny computation API required by fsl_i2c_cmsis.c.
269  * @param[in] void
270  * @Constraints None
271  * @Reentrant Yes
272  * @return uint32_t Returns the clock frequency .
273  */
274 uint32_t I2C1_GetFreq(void)
275 {
276  return CLOCK_GetFreq(I2C1_CLK_SRC);
277 }
278 
279 /*! @brief Determines the Clock Frequency feature.
280  * @details The Clock Frequecny computation API required by fsl_spi_cmsis.c.
281  * @param[in] void
282  * @Constraints None
283  * @Reentrant Yes
284  * @return uint32_t Returns the clock frequency .
285  */
286 uint32_t DSPI0_GetFreq(void)
287 {
288  return CLOCK_GetBusClkFreq();
289 }
290 
291 /*! @brief Determines the Clock Frequency feature.
292  * @details The Clock Frequecny computation API required by fsl_spi_cmsis.c.
293  * @param[in] void
294  * @Constraints None
295  * @Reentrant Yes
296  * @return uint32_t Returns the clock frequency .
297  */
298 uint32_t DSPI1_GetFreq(void)
299 {
300  return CLOCK_GetBusClkFreq();
301 }
uint32_t I2C1_GetFreq(void)
Determines the Clock Frequency feature.
Definition: frdm_k22f.c:274
gpioHandleKSDK_t D2
Definition: frdm_k22f.c:116
gpioHandleKSDK_t D10
Definition: frdm_k22f.c:172
gpioHandleKSDK_t D11
Definition: frdm_k22f.c:39
gpioHandleKSDK_t D1
Definition: frdm_k22f.c:108
uint32_t I2C0_GetFreq(void)
Determines the Clock Frequency feature.
Definition: frdm_k22f.c:262
gpioHandleKSDK_t A3
Definition: frdm_k22f.c:92
gpioHandleKSDK_t A1
Definition: frdm_k22f.c:78
The GPIO pin handle for KSDK.
Definition: gpio_driver.h:49
uint32_t UART2_GetFreq(void)
Determines the Clock Frequency feature.
Definition: frdm_k22f.c:250
gpioHandleKSDK_t D7
Definition: frdm_k22f.c:151
gpioHandleKSDK_t A4
Definition: frdm_k22f.c:23
gpioHandleKSDK_t A5
Definition: frdm_k22f.c:16
uint32_t DSPI1_GetFreq(void)
Determines the Clock Frequency feature.
Definition: frdm_k22f.c:298
GPIO_Type * base
Definition: gpio_driver.h:51
The frdm_k22f.h file defines GPIO pins for FRDM-K22F board.
gpioHandleKSDK_t D4
Definition: frdm_k22f.c:130
gpioHandleKSDK_t D3
Definition: frdm_k22f.c:123
gpioHandleKSDK_t D12
Definition: frdm_k22f.c:46
gpioHandleKSDK_t D15
Definition: frdm_k22f.c:62
uint32_t DSPI0_GetFreq(void)
Determines the Clock Frequency feature.
Definition: frdm_k22f.c:286
gpioHandleKSDK_t D14
Definition: frdm_k22f.c:55
gpioHandleKSDK_t INT1
Definition: frdm_k22f.c:204
gpioHandleKSDK_t D9
Definition: frdm_k22f.c:165
gpioHandleKSDK_t D8
Definition: frdm_k22f.c:158
gpioHandleKSDK_t D0
Definition: frdm_k22f.c:101
uint32_t UART0_GetFreq(void)
Determines the Clock Frequency feature.
Definition: frdm_k22f.c:226
gpioHandleKSDK_t D6
Definition: frdm_k22f.c:144
gpioHandleKSDK_t D5
Definition: frdm_k22f.c:137
gpioHandleKSDK_t A0
Definition: frdm_k22f.c:71
uint32_t UART1_GetFreq(void)
Determines the Clock Frequency feature.
Definition: frdm_k22f.c:238
gpioHandleKSDK_t A2
Definition: frdm_k22f.c:85
gpioHandleKSDK_t INT2
Definition: frdm_k22f.c:211
gpioHandleKSDK_t GREEN_LED
Definition: frdm_k22f.c:188
gpioHandleKSDK_t RED_LED
Definition: frdm_k22f.c:181
gpioHandleKSDK_t BLUE_LED
Definition: frdm_k22f.c:195
gpioHandleKSDK_t D13
Definition: frdm_k22f.c:32