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