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