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