2 * Copyright (c) 2016, Freescale Semiconductor, Inc.
\r
3 * Copyright 2016-2017 NXP
\r
4 * All rights reserved.
\r
6 * SPDX-License-Identifier: BSD-3-Clause
\r
12 #include "clock_config.h"
\r
13 #include "fsl_common.h"
\r
14 #include "fsl_gpio.h"
\r
16 /*******************************************************************************
\r
18 ******************************************************************************/
\r
19 /*! @brief The board name */
\r
20 #define BOARD_NAME "LPCXPRESSO51U68"
\r
22 #define BOARD_EXTCLKINRATE (0)
\r
24 /*! @brief The UART to use for debug messages. */
\r
25 #define BOARD_DEBUG_UART_TYPE kSerialPort_Uart
\r
26 #define BOARD_DEBUG_UART_BASEADDR (uint32_t) USART0
\r
27 #define BOARD_DEBUG_UART_INSTANCE 0U
\r
28 #define BOARD_DEBUG_UART_CLK_FREQ CLOCK_GetFreq(kCLOCK_Flexcomm0)
\r
29 #define BOARD_DEBUG_UART_CLK_ATTACH kFRO12M_to_FLEXCOMM0
\r
30 #define BOARD_DEBUG_UART_RST kFC0_RST_SHIFT_RSTn
\r
31 #define BOARD_UART_IRQ FLEXCOMM0_IRQn
\r
32 #define BOARD_UART_IRQ_HANDLER FLEXCOMM0_IRQHandler
\r
34 #define BOARD_DEBUG_SPI_CLK_FREQ 12000000
\r
36 #ifndef BOARD_DEBUG_UART_BAUDRATE
\r
37 #define BOARD_DEBUG_UART_BAUDRATE 115200
\r
38 #endif /* BOARD_DEBUG_UART_BAUDRATE */
\r
40 #ifndef BOARD_LED_RED_GPIO
\r
41 #define BOARD_LED_RED_GPIO GPIO
\r
43 #define BOARD_LED_RED_GPIO_PORT 0U
\r
44 #ifndef BOARD_LED_RED_GPIO_PIN
\r
45 #define BOARD_LED_RED_GPIO_PIN 29U
\r
47 #ifndef BOARD_LED_GREEN_GPIO
\r
48 #define BOARD_LED_GREEN_GPIO GPIO
\r
50 #define BOARD_LED_GREEN_GPIO_PORT 1U
\r
51 #ifndef BOARD_LED_GREEN_GPIO_PIN
\r
52 #define BOARD_LED_GREEN_GPIO_PIN 10U
\r
54 #ifndef BOARD_LED_BLUE_GPIO
\r
55 #define BOARD_LED_BLUE_GPIO GPIO
\r
57 #define BOARD_LED_BLUE_GPIO_PORT 1U
\r
58 #ifndef BOARD_LED_BLUE_GPIO_PIN
\r
59 #define BOARD_LED_BLUE_GPIO_PIN 9U
\r
62 #ifndef BOARD_SW1_GPIO
\r
63 #define BOARD_SW1_GPIO GPIO
\r
65 #define BOARD_SW1_GPIO_PORT 0U
\r
66 #ifndef BOARD_SW1_GPIO_PIN
\r
67 #define BOARD_SW1_GPIO_PIN 24U
\r
69 #define BOARD_SW1_NAME "SW1"
\r
70 #define BOARD_SW3_IRQ PIN_INT0_IRQn
\r
71 #define BOARD_SW3_IRQ_HANDLER PIN_INT0_IRQHandler
\r
73 #ifndef BOARD_SW2_GPIO
\r
74 #define BOARD_SW2_GPIO GPIO
\r
76 #define BOARD_SW2_GPIO_PORT 0U
\r
77 #ifndef BOARD_SW2_GPIO_PIN
\r
78 #define BOARD_SW2_GPIO_PIN 31U
\r
80 #define BOARD_SW2_NAME "SW2"
\r
81 #define BOARD_SW3_IRQ PIN_INT0_IRQn
\r
82 #define BOARD_SW3_IRQ_HANDLER PIN_INT0_IRQHandler
\r
84 #ifndef BOARD_SW3_GPIO
\r
85 #define BOARD_SW3_GPIO GPIO
\r
87 #define BOARD_SW3_GPIO_PORT 0U
\r
88 #ifndef BOARD_SW3_GPIO_PIN
\r
89 #define BOARD_SW3_GPIO_PIN 4U
\r
91 #define BOARD_SW3_NAME "SW3"
\r
92 #define BOARD_SW3_IRQ PIN_INT0_IRQn
\r
93 #define BOARD_SW3_IRQ_HANDLER PIN_INT0_IRQHandler
\r
94 #define BOARD_SW3_GPIO_PININT_INDEX 0
\r
96 #define BOARD_ARDUINO_INT_IRQ (GINT0_IRQn)
\r
97 #define BOARD_ARDUINO_I2C_IRQ (FLEXCOMM4_IRQn)
\r
98 #define BOARD_ARDUINO_I2C_INDEX (4)
\r
99 /* Board led color mapping */
\r
100 #define LOGIC_LED_ON 0U
\r
101 #define LOGIC_LED_OFF 1U
\r
103 #define LED_RED_INIT(output) \
\r
104 GPIO_PinInit(BOARD_LED_RED_GPIO, BOARD_LED_RED_GPIO_PORT, BOARD_LED_RED_GPIO_PIN, \
\r
105 &(gpio_pin_config_t){kGPIO_DigitalOutput, (output)}) /*!< Enable target LED_RED */
\r
106 #define LED_RED_ON() \
\r
107 GPIO_PortClear(BOARD_LED_RED_GPIO, BOARD_LED_RED_GPIO_PORT, \
\r
108 1U << BOARD_LED_RED_GPIO_PIN) /*!< Turn on target LED_RED */
\r
109 #define LED_RED_OFF() \
\r
110 GPIO_PortSet(BOARD_LED_RED_GPIO, BOARD_LED_RED_GPIO_PORT, \
\r
111 1U << BOARD_LED_RED_GPIO_PIN) /*!< Turn off target LED_RED */
\r
112 #define LED_RED_TOGGLE() \
\r
113 GPIO_PortToggle(BOARD_LED_RED_GPIO, BOARD_LED_RED_GPIO_PORT, \
\r
114 1U << BOARD_LED_RED_GPIO_PIN) /*!< Toggle on target LED_RED */
\r
116 #define LED_GREEN_INIT(output) \
\r
117 GPIO_PinInit(BOARD_LED_GREEN_GPIO, BOARD_LED_GREEN_GPIO_PORT, BOARD_LED_GREEN_GPIO_PIN, \
\r
118 &(gpio_pin_config_t){kGPIO_DigitalOutput, (output)}) /*!< Enable target LED_GREEN */
\r
119 #define LED_GREEN_ON() \
\r
120 GPIO_PortClear(BOARD_LED_GREEN_GPIO, BOARD_LED_GREEN_GPIO_PORT, \
\r
121 1U << BOARD_LED_GREEN_GPIO_PIN) /*!< Turn on target LED_GREEN */
\r
122 #define LED_GREEN_OFF() \
\r
123 GPIO_PortSet(BOARD_LED_GREEN_GPIO, BOARD_LED_GREEN_GPIO_PORT, \
\r
124 1U << BOARD_LED_GREEN_GPIO_PIN) /*!< Turn off target LED_GREEN */
\r
125 #define LED_GREEN_TOGGLE() \
\r
126 GPIO_PortToggle(BOARD_LED_GREEN_GPIO, BOARD_LED_GREEN_GPIO_PORT, \
\r
127 1U << BOARD_LED_GREEN_GPIO_PIN) /*!< Toggle on target LED_GREEN */
\r
129 #define LED_BLUE_INIT(output) \
\r
130 GPIO_PinInit(BOARD_LED_BLUE_GPIO, BOARD_LED_BLUE_GPIO_PORT, BOARD_LED_BLUE_GPIO_PIN, \
\r
131 &(gpio_pin_config_t){kGPIO_DigitalOutput, (output)}) /*!< Enable target LED_BLUE */
\r
132 #define LED_BLUE_ON() \
\r
133 GPIO_PortClear(BOARD_LED_BLUE_GPIO, BOARD_LED_BLUE_GPIO_PORT, \
\r
134 1U << BOARD_LED_BLUE_GPIO_PIN) /*!< Turn on target LED_BLUE */
\r
135 #define LED_BLUE_OFF() \
\r
136 GPIO_PortSet(BOARD_LED_BLUE_GPIO, BOARD_LED_BLUE_GPIO_PORT, \
\r
137 1U << BOARD_LED_BLUE_GPIO_PIN) /*!< Turn off target LED_BLUE */
\r
138 #define LED_BLUE_TOGGLE() \
\r
139 GPIO_PortToggle(BOARD_LED_BLUE_GPIO, BOARD_LED_BLUE_GPIO_PORT, \
\r
140 1U << BOARD_LED_BLUE_GPIO_PIN) /*!< Toggle on target LED_BLUE */
\r
142 #if defined(__cplusplus)
\r
144 #endif /* __cplusplus */
\r
146 /*******************************************************************************
\r
148 ******************************************************************************/
\r
150 status_t BOARD_InitDebugConsole(void);
\r
152 #if defined(__cplusplus)
\r
154 #endif /* __cplusplus */
\r
156 #endif /* _BOARD_H_ */
\r