ISSDK  1.8
IoT Sensing Software Development Kit
lpc54114.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 lpc54114.c
11  * @brief The lpc54114.c file defines GPIO pins and I2C CMSIS utilities for LPCXpresso54114 board.
12  */
13 
14 #include "lpc54114.h"
15 
16 // I2C4 Pin Handles
18  .pinNumber = 26,
19  .mask = 1 << (26),
20  .clockName = kCLOCK_Gpio0,
21  .portNumber = kGINT_Port0};
23  .pinNumber = 25,
24  .mask = 1 << (25),
25  .clockName = kCLOCK_Gpio0,
26  .portNumber = kGINT_Port0};
27 
28 // I2C5/SPI5 Handle
30  .pinNumber = 20,
31  .mask = 1 << (20),
32  .clockName = kCLOCK_Gpio0,
33  .portNumber = kGINT_Port0};
35  .pinNumber = 18,
36  .mask = 1 << (18),
37  .clockName = kCLOCK_Gpio0,
38  .portNumber = kGINT_Port0};
40  .pinNumber = 19,
41  .mask = 1 << (19),
42  .clockName = kCLOCK_Gpio0,
43  .portNumber = kGINT_Port0};
44 
45 // UART0 Handle
47  .pinNumber = 8,
48  .mask = 1 << (8),
49  .clockName = kCLOCK_Gpio0,
50  .portNumber = kGINT_Port0};
52  .pinNumber = 9,
53  .mask = 1 << (9),
54  .clockName = kCLOCK_Gpio0,
55  .portNumber = kGINT_Port0};
56 
57 // FRDM-K64F Arduino Connector Pin Defintion
59  .pinNumber = 30,
60  .mask = 1 << (30),
61  .clockName = kCLOCK_Gpio0,
62  .portNumber = kGINT_Port0};
63 gpioHandleKSDK_t A1; // No Connection
65  .pinNumber = 8,
66  .mask = 1 << (8),
67  .clockName = kCLOCK_Gpio1,
68  .portNumber = kGINT_Port1};
70  .pinNumber = 10,
71  .mask = 1 << (10),
72  .clockName = kCLOCK_Gpio1,
73  .portNumber = kGINT_Port1};
75  .pinNumber = 4,
76  .mask = 1 << (4),
77  .clockName = kCLOCK_Gpio1,
78  .portNumber = kGINT_Port1};
80  .pinNumber = 5,
81  .mask = 1 << (5),
82  .clockName = kCLOCK_Gpio1,
83  .portNumber = kGINT_Port1};
84 
86  .pinNumber = 10,
87  .mask = 1 << (10),
88  .clockName = kCLOCK_Gpio0,
89  .portNumber = kGINT_Port0};
91  .pinNumber = 12,
92  .mask = 1 << (12),
93  .clockName = kCLOCK_Gpio1,
94  .portNumber = kGINT_Port1};
96  .pinNumber = 13,
97  .mask = 1 << (13),
98  .clockName = kCLOCK_Gpio1,
99  .portNumber = kGINT_Port1};
101  .pinNumber = 29,
102  .mask = 1 << (29),
103  .clockName = kCLOCK_Gpio0,
104  .portNumber = kGINT_Port0};
106  .pinNumber = 0,
107  .mask = 1 << (0),
108  .clockName = kCLOCK_Gpio1,
109  .portNumber = kGINT_Port1};
111  .pinNumber = 14,
112  .mask = 1 << (14),
113  .clockName = kCLOCK_Gpio1,
114  .portNumber = kGINT_Port1};
116  .pinNumber = 16,
117  .mask = 1 << (16),
118  .clockName = kCLOCK_Gpio1,
119  .portNumber = kGINT_Port1};
121  .pinNumber = 15,
122  .mask = 1 << (15),
123  .clockName = kCLOCK_Gpio1,
124  .portNumber = kGINT_Port1};
126  .pinNumber = 1,
127  .mask = 1 << (1),
128  .clockName = kCLOCK_Gpio1,
129  .portNumber = kGINT_Port1};
130 
131 // FRDM-K64F Internal Peripheral Pin Definitions
133  .pinNumber = 29,
134  .mask = 1 << (29),
135  .clockName = kCLOCK_Gpio0,
136  .portNumber = kGINT_Port0};
138  .pinNumber = 10,
139  .mask = 1 << (10),
140  .clockName = kCLOCK_Gpio1,
141  .portNumber = kGINT_Port1};
143  .pinNumber = 9,
144  .mask = 1 << (9),
145  .clockName = kCLOCK_Gpio1,
146  .portNumber = kGINT_Port1};
147 
148 /*!
149  * @brief Configures the system to WAIT power mode.
150  * API name used from Kinetis family to maintain compatibility.
151  *
152  * @param Power peripheral base address (dummy).
153  * @return Configuration error code.
154  */
155 status_t SMC_SetPowerModeWait(void *arg)
156 {
157  POWER_EnterSleep();
158 
159  return kStatus_Success;
160 }
161 
162 /*!
163  * @brief Configures the system to VLPR power mode.
164  * API name used from Kinetis family to maintain compatibility.
165  *
166  * @param Power peripheral base address (dummy).
167  * @return Configuration error code.
168  */
169 status_t SMC_SetPowerModeVlpr(void *arg)
170 {
171  POWER_EnterSleep();
172 
173  return kStatus_Success;
174 }
175 
176 /*! @brief Determines the Clock Frequency feature.
177  * @details The Clock Frequecny computation API required by fsl_uart_cmsis.c.
178  * @param[in] void
179  * @Constraints None
180  * @Reentrant Yes
181  * @return uint32_t Returns the clock frequency .
182  */
183 uint32_t USART0_GetFreq(void)
184 {
185  return CLOCK_GetFreq(kCLOCK_Flexcomm0);
186 }
187 
188 /*! @brief Determines the Clock Frequency feature.
189  * @details The Clock Frequecny computation API required by fsl_i2c_cmsis.c.
190  * @param[in] void
191  * @Constraints None
192  * @Reentrant Yes
193  * @return uint32_t Returns the clock frequency .
194  */
195 uint32_t I2C4_GetFreq(void)
196 {
197  return CLOCK_GetFreq(kCLOCK_Fro12M);
198 }
199 
200 /*! @brief Determines the Clock Frequency feature.
201  * @details The Clock Frequecny computation API required by fsl_i2c_cmsis.c.
202  * @param[in] void
203  * @Constraints None
204  * @Reentrant Yes
205  * @return uint32_t Returns the clock frequency .
206  */
207 uint32_t I2C5_GetFreq(void)
208 {
209  return CLOCK_GetFreq(kCLOCK_Fro12M);
210 }
211 
212 /*! @brief Determines the Clock Frequency feature.
213  * @details The Clock Frequecny computation API required by fsl_spi_cmsis.c.
214  * @param[in] void
215  * @Constraints None
216  * @Reentrant Yes
217  * @return uint32_t Returns the clock frequency .
218  */
219 uint32_t SPI3_GetFreq(void)
220 {
221  return CLOCK_GetFreq(kCLOCK_Flexcomm3);
222 }
223 
224 /*! @brief Determines the Clock Frequency feature.
225  * @details The Clock Frequecny computation API required by fsl_spi_cmsis.c.
226  * @param[in] void
227  * @Constraints None
228  * @Reentrant Yes
229  * @return uint32_t Returns the clock frequency .
230  */
231 uint32_t SPI5_GetFreq(void)
232 {
233  return CLOCK_GetFreq(kCLOCK_Flexcomm5);
234 }
gpioHandleKSDK_t D3
Definition: lpc54114.c:90
uint32_t SPI3_GetFreq(void)
Determines the Clock Frequency feature.
Definition: lpc54114.c:219
gpioHandleKSDK_t D13
Definition: lpc54114.c:39
gpioHandleKSDK_t D7
Definition: lpc54114.c:110
gpioHandleKSDK_t D1
Definition: lpc54114.c:51
gpioHandleKSDK_t A1
Definition: lpc54114.c:63
gpioHandleKSDK_t D5
Definition: lpc54114.c:100
status_t SMC_SetPowerModeVlpr(void *arg)
Configures the system to VLPR power mode. API name used from Kinetis family to maintain compatibility...
Definition: lpc54114.c:169
gpioHandleKSDK_t D15
Definition: lpc54114.c:22
gpioHandleKSDK_t D2
Definition: lpc54114.c:85
uint32_t I2C5_GetFreq(void)
Determines the Clock Frequency feature.
Definition: lpc54114.c:207
gpioHandleKSDK_t D11
Definition: lpc54114.c:29
The GPIO pin handle for KSDK.
Definition: gpio_driver.h:49
gpioHandleKSDK_t A5
Definition: lpc54114.c:79
gpioHandleKSDK_t D10
Definition: lpc54114.c:125
The lpc54114.h file defines GPIO pin mappings for LPCXpresso54114 board.
gpioHandleKSDK_t A0
Definition: lpc54114.c:58
gpioHandleKSDK_t D0
Definition: lpc54114.c:46
uint32_t USART0_GetFreq(void)
Determines the Clock Frequency feature.
Definition: lpc54114.c:183
gpioHandleKSDK_t BLUE_LED
Definition: lpc54114.c:142
gpioHandleKSDK_t D6
Definition: lpc54114.c:105
GPIO_Type * base
Definition: gpio_driver.h:51
gpioHandleKSDK_t D8
Definition: lpc54114.c:115
gpioHandleKSDK_t D12
Definition: lpc54114.c:34
gpioHandleKSDK_t D14
Definition: lpc54114.c:17
uint32_t SPI5_GetFreq(void)
Determines the Clock Frequency feature.
Definition: lpc54114.c:231
gpioHandleKSDK_t A3
Definition: lpc54114.c:69
gpioHandleKSDK_t GREEN_LED
Definition: lpc54114.c:137
uint32_t I2C4_GetFreq(void)
Determines the Clock Frequency feature.
Definition: lpc54114.c:195
gpioHandleKSDK_t A2
Definition: lpc54114.c:64
status_t SMC_SetPowerModeWait(void *arg)
Configures the system to WAIT power mode. API name used from Kinetis family to maintain compatibility...
Definition: lpc54114.c:155
gpioHandleKSDK_t D4
Definition: lpc54114.c:95
gpioHandleKSDK_t RED_LED
Definition: lpc54114.c:132
gpioHandleKSDK_t D9
Definition: lpc54114.c:120
gpioHandleKSDK_t A4
Definition: lpc54114.c:74