18 #define BOARD_NAME "FRDM-K32L3A6" 21 #define BOARD_DEBUG_UART_TYPE kSerialPort_Uart 22 #define BOARD_DEBUG_UART_BAUDRATE 115200U 23 #define BOARD_DEBUG_UART_BASEADDR (uint32_t) LPUART0 24 #define BOARD_DEBUG_UART_INSTANCE 0U 25 #define BOARD_DEBUG_UART_CLK_FREQ CLOCK_GetIpFreq(kCLOCK_Lpuart0) 26 #define BOARD_UART_IRQ LPUART0_IRQn 27 #define BOARD_UART_IRQ_HANDLER LPUART0_IRQHandler 30 #define BOARD_ACCEL_I2C_BASEADDR LPI2C3 31 #define BOARD_ACCEL_I2C_CLOCK_FREQ (CLOCK_GetIpFreq(kCLOCK_Lpi2c3)) 34 #if defined(FSL_FEATURE_MU_SIDE_A) 36 #define MU_IRQ MUA_IRQn 37 #define MU_IRQ_HANDLER MUA_IRQHandler 39 #if defined(FSL_FEATURE_MU_SIDE_B) 41 #define MU_IRQ MUB_IRQn 42 #define MU_IRQ_HANDLER MUB_IRQHandler 44 #define MU_IRQ_PRIORITY (2) 47 #ifndef BOARD_SW2_GPIO 48 #define BOARD_SW2_GPIO GPIOA 50 #ifndef BOARD_SW2_PORT 51 #define BOARD_SW2_PORT PORTA 53 #ifndef BOARD_SW2_GPIO_PIN 54 #define BOARD_SW2_GPIO_PIN 0U 56 #define BOARD_SW2_IRQ PORTA_IRQn 57 #define BOARD_SW2_IRQ_HANDLER PORTA_IRQHandler 58 #define BOARD_SW2_NAME "SW2" 61 #ifndef BOARD_LED_RED_GPIO 62 #define BOARD_LED_RED_GPIO GPIOA 64 #ifndef BOARD_LED_RED_GPIO_PIN 65 #define BOARD_LED_RED_GPIO_PIN 24U 69 #define BOARD_TPM_CHANNEL 0U 71 #define LOGIC_LED_ON 1U 72 #define LOGIC_LED_OFF 0U 73 #ifndef BOARD_LED1_GPIO 74 #define BOARD_LED1_GPIO GPIOA 76 #ifndef BOARD_LED1_GPIO_PIN 77 #define BOARD_LED1_GPIO_PIN 24U 79 #ifndef BOARD_LED2_GPIO 80 #define BOARD_LED2_GPIO GPIOA 82 #ifndef BOARD_LED2_GPIO_PIN 83 #define BOARD_LED2_GPIO_PIN 23U 85 #ifndef BOARD_LED3_GPIO 86 #define BOARD_LED3_GPIO GPIOA 88 #ifndef BOARD_LED3_GPIO_PIN 89 #define BOARD_LED3_GPIO_PIN 22U 92 #define LED1_INIT(output) \ 93 GPIO_PinWrite(BOARD_LED1_GPIO, BOARD_LED1_GPIO_PIN, output); \ 94 BOARD_LED1_GPIO->PDDR |= (1U << BOARD_LED1_GPIO_PIN) 95 #define LED1_ON() GPIO_PortSet(BOARD_LED1_GPIO, 1U << BOARD_LED1_GPIO_PIN) 96 #define LED1_OFF() GPIO_PortClear(BOARD_LED1_GPIO, 1U << BOARD_LED1_GPIO_PIN) 97 #define LED1_TOGGLE() GPIO_PortToggle(BOARD_LED1_GPIO, 1U << BOARD_LED1_GPIO_PIN) 99 #define LED2_INIT(output) \ 100 GPIO_PinWrite(BOARD_LED2_GPIO, BOARD_LED2_GPIO_PIN, output); \ 101 BOARD_LED2_GPIO->PDDR |= (1U << BOARD_LED2_GPIO_PIN) 102 #define LED2_ON() GPIO_PortSet(BOARD_LED2_GPIO, 1U << BOARD_LED2_GPIO_PIN) 103 #define LED2_OFF() GPIO_PortClear(BOARD_LED2_GPIO, 1U << BOARD_LED2_GPIO_PIN) 104 #define LED2_TOGGLE() GPIO_PortToggle(BOARD_LED2_GPIO, 1U << BOARD_LED2_GPIO_PIN) 106 #define LED3_INIT(output) \ 107 GPIO_PinWrite(BOARD_LED3_GPIO, BOARD_LED3_GPIO_PIN, output); \ 108 BOARD_LED3_GPIO->PDDR |= (1U << BOARD_LED3_GPIO_PIN) 109 #define LED3_ON() GPIO_PortSet(BOARD_LED3_GPIO, 1U << BOARD_LED3_GPIO_PIN) 110 #define LED3_OFF() GPIO_PortClear(BOARD_LED3_GPIO, 1U << BOARD_LED3_GPIO_PIN) 111 #define LED3_TOGGLE() GPIO_PortToggle(BOARD_LED3_GPIO, 1U << BOARD_LED3_GPIO_PIN) 113 #define BOARD_USDHC0_BASEADDR USDHC0 114 #define BOARD_USDHC_CD_PORT_BASE PORTC 115 #define BOARD_USDHC_CD_GPIO_BASE GPIOC 116 #define BOARD_USDHC_CD_GPIO_PIN 27 117 #define BOARD_USDHC_CD_PORT_IRQ PORTC_IRQn 118 #define BOARD_USDHC_CD_PORT_IRQ_HANDLER PORTC_IRQHandler 120 #define BOARD_USDHC_CD_GPIO_INIT() \ 122 gpio_pin_config_t sw_config = {kGPIO_DigitalInput, 0}; \ 123 GPIO_PinInit(BOARD_USDHC_CD_GPIO_BASE, BOARD_USDHC_CD_GPIO_PIN, &sw_config); \ 124 PORT_SetPinInterruptConfig(BOARD_USDHC_CD_PORT_BASE, BOARD_USDHC_CD_GPIO_PIN, kPORT_InterruptRisingEdge); \ 127 #define BOARD_USDHC_CD_STATUS() (GPIO_PinRead(BOARD_USDHC_CD_GPIO_BASE, BOARD_USDHC_CD_GPIO_PIN)) 129 #define BOARD_USDHC_CD_INTERRUPT_STATUS() (GPIO_PortGetInterruptFlags(BOARD_USDHC_CD_GPIO_BASE)) 130 #define BOARD_USDHC_CD_CLEAR_INTERRUPT(flag) (GPIO_PortClearInterruptFlags(BOARD_USDHC_CD_GPIO_BASE, flag)) 131 #define BOARD_USDHC_CARD_INSERT_CD_LEVEL (1U) 132 #define BOARD_USDHC0_CLK_FREQ (CLOCK_GetIpFreq(kCLOCK_Sdhc0)) 134 #define BOARD_SD_HOST_BASEADDR BOARD_USDHC0_BASEADDR 135 #define BOARD_SD_HOST_CLK_FREQ BOARD_USDHC0_CLK_FREQ 136 #define BOARD_SD_HOST_IRQ USDHC0_IRQn 137 #define BOARD_SD_SUPPORT_180V (0U) 138 #define BOARD_MMC_HOST_BASEADDR BOARD_USDHC0_BASEADDR 139 #define BOARD_MMC_HOST_CLK_FREQ BOARD_USDHC0_CLK_FREQ 140 #define BOARD_MMC_HOST_IRQ USDHC0_IRQn 141 #define BOARD_MMC_VCCQ_SUPPLY kMMC_VoltageWindows270to360 142 #define BOARD_MMC_VCC_SUPPLY kMMC_VoltageWindows270to360 143 #define BOARD_MMC_PIN_CONFIG(speed, strength) 146 #define BOARD_SD_POWER_RESET_GPIO () 147 #define BOARD_SD_POWER_RESET_GPIO_PIN () 148 #define BOARD_USDHC_SDCARD_POWER_CONTROL_INIT() 149 #define BOARD_USDHC_SDCARD_POWER_CONTROL(state) 150 #define BOARD_SD_PIN_CONFIG(speed, strength) 151 #define BOARD_USDHC_MMCCARD_POWER_CONTROL(enable) 152 #define BOARD_USDHC_MMCCARD_POWER_CONTROL_INIT() 154 #define LLWU_SW_GPIO BOARD_SW2_GPIO 155 #define LLWU_SW_PORT BOARD_SW2_PORT 156 #define LLWU_SW_GPIO_PIN BOARD_SW2_GPIO_PIN 157 #define LLWU_SW_IRQ BOARD_SW2_IRQ 158 #define LLWU_SW_IRQ_HANDLER BOARD_SW2_IRQ_HANDLER 159 #define LLWU_SW_NAME BOARD_SW2_NAME 161 #ifndef BOARD_SPI_FLASH_CS_GPIO 162 #define BOARD_SPI_FLASH_CS_GPIO GPIOB 164 #ifndef BOARD_SPI_FLASH_CS_GPIO_PIN 165 #define BOARD_SPI_FLASH_CS_GPIO_PIN 22U 167 #if defined(__cplusplus) 176 #if defined(SDK_I2C_BASED_COMPONENT_USED) && SDK_I2C_BASED_COMPONENT_USED 177 void BOARD_LPI2C_Init(LPI2C_Type *base, uint32_t clkSrc_Hz);
178 status_t BOARD_LPI2C_Send(LPI2C_Type *base,
179 uint8_t deviceAddress,
181 uint8_t subaddressSize,
184 status_t BOARD_LPI2C_Receive(LPI2C_Type *base,
185 uint8_t deviceAddress,
187 uint8_t subaddressSize,
190 void BOARD_Accel_I2C_Init(
void);
191 status_t BOARD_Accel_I2C_Send(uint8_t deviceAddress, uint32_t subAddress, uint8_t subaddressSize, uint32_t txBuff);
192 status_t BOARD_Accel_I2C_Receive(
193 uint8_t deviceAddress, uint32_t subAddress, uint8_t subaddressSize, uint8_t *rxBuff, uint8_t rxBuffSize);
195 #if defined(__cplusplus) void BOARD_InitDebugConsole(void)