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