-
Notifications
You must be signed in to change notification settings - Fork 149
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Apply MCUXpresso SDK 2.15.000 MCUXA15X release update
The release update is from the MCUXpresso SDK 2.15.000 release for MCXA15X, support board FRDM-MCXA156
- Loading branch information
Showing
265 changed files
with
336,040 additions
and
985 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
/* | ||
* Copyright 2024 NXP | ||
* | ||
* SPDX-License-Identifier: BSD-3-Clause | ||
*/ | ||
|
||
#include <stdint.h> | ||
#include "fsl_common.h" | ||
#include "fsl_debug_console.h" | ||
#include "board.h" | ||
#if defined(SDK_I2C_BASED_COMPONENT_USED) && SDK_I2C_BASED_COMPONENT_USED | ||
#include "fsl_lpi2c.h" | ||
#endif /* SDK_I2C_BASED_COMPONENT_USED */ | ||
|
||
/******************************************************************************* | ||
* Variables | ||
******************************************************************************/ | ||
|
||
/******************************************************************************* | ||
* Code | ||
******************************************************************************/ | ||
|
||
/* Initialize debug console. */ | ||
void BOARD_InitDebugConsole(void) | ||
{ | ||
/* attach 12 MHz clock to FLEXCOMM0 (debug console) */ | ||
CLOCK_SetClockDiv(kCLOCK_DivLPUART0, 1u); | ||
CLOCK_AttachClk(BOARD_DEBUG_UART_CLK_ATTACH); | ||
|
||
RESET_PeripheralReset(BOARD_DEBUG_UART_RST); | ||
|
||
DbgConsole_Init(BOARD_DEBUG_UART_INSTANCE, BOARD_DEBUG_UART_BAUDRATE, BOARD_DEBUG_UART_TYPE, | ||
BOARD_DEBUG_UART_CLK_FREQ); | ||
} | ||
|
||
#if defined(SDK_I2C_BASED_COMPONENT_USED) && SDK_I2C_BASED_COMPONENT_USED | ||
void BOARD_LPI2C_Init(LPI2C_Type *base, uint32_t clkSrc_Hz) | ||
{ | ||
lpi2c_master_config_t lpi2cConfig = {0}; | ||
|
||
/* | ||
* lpi2cConfig.debugEnable = false; | ||
* lpi2cConfig.ignoreAck = false; | ||
* lpi2cConfig.pinConfig = kLPI2C_2PinOpenDrain; | ||
* lpi2cConfig.baudRate_Hz = 100000U; | ||
* lpi2cConfig.busIdleTimeout_ns = 0; | ||
* lpi2cConfig.pinLowTimeout_ns = 0; | ||
* lpi2cConfig.sdaGlitchFilterWidth_ns = 0; | ||
* lpi2cConfig.sclGlitchFilterWidth_ns = 0; | ||
*/ | ||
LPI2C_MasterGetDefaultConfig(&lpi2cConfig); | ||
LPI2C_MasterInit(base, &lpi2cConfig, clkSrc_Hz); | ||
} | ||
|
||
status_t BOARD_LPI2C_Send(LPI2C_Type *base, | ||
uint8_t deviceAddress, | ||
uint32_t subAddress, | ||
uint8_t subAddressSize, | ||
uint8_t *txBuff, | ||
uint8_t txBuffSize) | ||
{ | ||
lpi2c_master_transfer_t xfer; | ||
|
||
xfer.flags = kLPI2C_TransferDefaultFlag; | ||
xfer.slaveAddress = deviceAddress; | ||
xfer.direction = kLPI2C_Write; | ||
xfer.subaddress = subAddress; | ||
xfer.subaddressSize = subAddressSize; | ||
xfer.data = txBuff; | ||
xfer.dataSize = txBuffSize; | ||
|
||
return LPI2C_MasterTransferBlocking(base, &xfer); | ||
} | ||
|
||
status_t BOARD_LPI2C_Receive(LPI2C_Type *base, | ||
uint8_t deviceAddress, | ||
uint32_t subAddress, | ||
uint8_t subAddressSize, | ||
uint8_t *rxBuff, | ||
uint8_t rxBuffSize) | ||
{ | ||
lpi2c_master_transfer_t xfer; | ||
|
||
xfer.flags = kLPI2C_TransferDefaultFlag; | ||
xfer.slaveAddress = deviceAddress; | ||
xfer.direction = kLPI2C_Read; | ||
xfer.subaddress = subAddress; | ||
xfer.subaddressSize = subAddressSize; | ||
xfer.data = rxBuff; | ||
xfer.dataSize = rxBuffSize; | ||
|
||
return LPI2C_MasterTransferBlocking(base, &xfer); | ||
} | ||
#endif /* SDK_I2C_BASED_COMPONENT_USED */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,136 @@ | ||
/* | ||
* Copyright 2024 NXP | ||
* | ||
* SPDX-License-Identifier: BSD-3-Clause | ||
*/ | ||
|
||
#ifndef _BOARD_H_ | ||
#define _BOARD_H_ | ||
|
||
#include "clock_config.h" | ||
#include "fsl_gpio.h" | ||
#include "fsl_common.h" | ||
|
||
/******************************************************************************* | ||
* Definitions | ||
******************************************************************************/ | ||
/*! @brief The board name */ | ||
#define BOARD_NAME "FRDM-MCXA156" | ||
/*! @brief The manufacturer name */ | ||
#define MANUFACTURER_NAME "NXP" | ||
|
||
/*! @brief The UART to use for debug messages. */ | ||
#define BOARD_DEBUG_UART_TYPE kSerialPort_Uart | ||
#define BOARD_DEBUG_UART_CLK_FREQ 12000000U | ||
|
||
#ifndef BOARD_DEBUG_UART_BAUDRATE | ||
#define BOARD_DEBUG_UART_BAUDRATE 115200U | ||
#endif | ||
|
||
#define BOARD_DEBUG_UART_BASEADDR (uint32_t) LPUART0 | ||
#define BOARD_DEBUG_UART_INSTANCE 0U | ||
#define BOARD_DEBUG_UART_CLK_ATTACH kFRO12M_to_LPUART0 | ||
#define BOARD_DEBUG_UART_RST kLPUART0_RST_SHIFT_RSTn | ||
#define BOARD_DEBUG_UART_CLKSRC kCLOCK_LPUART0 | ||
#define BOARD_UART_IRQ_HANDLER LPUART0_IRQHandler | ||
#define BOARD_UART_IRQ LPUART0_IRQn | ||
|
||
/*! @brief GPIO for LED. */ | ||
#ifndef BOARD_LED_RED_GPIO | ||
#define BOARD_LED_RED_GPIO GPIO3 | ||
#endif | ||
#ifndef BOARD_LED_RED_GPIO_PIN | ||
#define BOARD_LED_RED_GPIO_PIN 12U | ||
#endif | ||
|
||
#ifndef BOARD_LED_GREEN_GPIO | ||
#define BOARD_LED_GREEN_GPIO GPIO3 | ||
#endif | ||
#ifndef BOARD_LED_GREEN_GPIO_PIN | ||
#define BOARD_LED_GREEN_GPIO_PIN 13U | ||
#endif | ||
|
||
#ifndef BOARD_LED_BLUE_GPIO | ||
#define BOARD_LED_BLUE_GPIO GPIO3 | ||
#endif | ||
#ifndef BOARD_LED_BLUE_GPIO_PIN | ||
#define BOARD_LED_BLUE_GPIO_PIN 0U | ||
#endif | ||
|
||
/*! @brief GPIO for SW. */ | ||
#ifndef BOARD_SW2_GPIO | ||
#define BOARD_SW2_GPIO GPIO1 | ||
#endif | ||
#ifndef BOARD_SW2_GPIO_PIN | ||
#define BOARD_SW2_GPIO_PIN 7U | ||
#endif | ||
#define BOARD_SW2_NAME "SW2" | ||
#define BOARD_SW2_IRQ GPIO1_IRQn | ||
#define BOARD_SW2_IRQ_HANDLER GPIO1_IRQHandler | ||
|
||
#ifndef BOARD_SW3_GPIO | ||
#define BOARD_SW3_GPIO GPIO0 | ||
#endif | ||
#ifndef BOARD_SW3_GPIO_PIN | ||
#define BOARD_SW3_GPIO_PIN 6U | ||
#endif | ||
#define BOARD_SW3_NAME "SW3" | ||
#define BOARD_SW3_IRQ GPIO0_IRQn | ||
#define BOARD_SW3_IRQ_HANDLER GPIO0_IRQHandler | ||
|
||
/* Board LED color mapping */ | ||
#define LOGIC_LED_ON 0U | ||
#define LOGIC_LED_OFF 1U | ||
|
||
#define LED_RED_INIT(output) \ | ||
GPIO_PinWrite(BOARD_LED_RED_GPIO, BOARD_LED_RED_GPIO_PIN, output); \ | ||
BOARD_LED_RED_GPIO->PDDR |= (1U << BOARD_LED_RED_GPIO_PIN) /*!< Enable target LED_RED */ | ||
#define LED_RED_ON() \ | ||
GPIO_PinWrite(BOARD_LED_RED_GPIO, BOARD_LED_RED_GPIO_PIN, LOGIC_LED_ON) /*!< Turn on target LED_RED */ | ||
#define LED_RED_OFF() \ | ||
GPIO_PinWrite(BOARD_LED_RED_GPIO, BOARD_LED_RED_GPIO_PIN, LOGIC_LED_OFF) /*!< Turn off target LED_RED */ | ||
#define LED_RED_TOGGLE() \ | ||
GPIO_PortToggle(BOARD_LED_RED_GPIO, 1U << BOARD_LED_RED_GPIO_PIN) /*!< Toggle on target LED_RED */ | ||
|
||
#define LED_GREEN_INIT(output) \ | ||
GPIO_PinWrite(BOARD_LED_GREEN_GPIO, BOARD_LED_GREEN_GPIO_PIN, output); \ | ||
BOARD_LED_GREEN_GPIO->PDDR |= (1U << BOARD_LED_GREEN_GPIO_PIN) /*!< Enable target LED_GREEN */ | ||
#define LED_GREEN_ON() \ | ||
GPIO_PinWrite(BOARD_LED_RED_GPIO, BOARD_LED_GREEN_GPIO_PIN, LOGIC_LED_ON) /*!< Turn on target LED_GREEN */ | ||
#define LED_GREEN_OFF() \ | ||
GPIO_PinWrite(BOARD_LED_RED_GPIO, BOARD_LED_GREEN_GPIO_PIN, LOGIC_LED_OFF) /*!< Turn off target LED_GREEN */ | ||
#define LED_GREEN_TOGGLE() \ | ||
GPIO_PortToggle(BOARD_LED_GREEN_GPIO, 1U << BOARD_LED_GREEN_GPIO_PIN) /*!< Toggle on target LED_GREEN */ | ||
|
||
#define LED_BLUE_INIT(output) \ | ||
GPIO_PinWrite(BOARD_LED_BLUE_GPIO, BOARD_LED_BLUE_GPIO_PIN, output); \ | ||
BOARD_LED_BLUE_GPIO->PDDR |= (1U << BOARD_LED_BLUE_GPIO_PIN) /*!< Enable target LED_BLUE */ | ||
#define LED_BLUE_ON() \ | ||
GPIO_PinWrite(BOARD_LED_RED_GPIO, BOARD_LED_BLUE_GPIO_PIN, LOGIC_LED_ON) /*!< Turn on target LED_BLUE */ | ||
#define LED_BLUE_OFF() \ | ||
GPIO_PinWrite(BOARD_LED_RED_GPIO, BOARD_LED_BLUE_GPIO_PIN, LOGIC_LED_OFF) /*!< Turn off target LED_BLUE */ | ||
#define LED_BLUE_TOGGLE() \ | ||
GPIO_PortToggle(BOARD_LED_BLUE_GPIO, 1U << BOARD_LED_BLUE_GPIO_PIN) /*!< Toggle on target LED_BLUE */ | ||
|
||
/******************************************************************************* | ||
* API | ||
******************************************************************************/ | ||
void BOARD_InitDebugConsole(void); | ||
|
||
#if defined(SDK_I2C_BASED_COMPONENT_USED) && SDK_I2C_BASED_COMPONENT_USED | ||
void BOARD_LPI2C_Init(LPI2C_Type *base, uint32_t clkSrc_Hz); | ||
status_t BOARD_LPI2C_Send(LPI2C_Type *base, | ||
uint8_t deviceAddress, | ||
uint32_t subAddress, | ||
uint8_t subaddressSize, | ||
uint8_t *txBuff, | ||
uint8_t txBuffSize); | ||
status_t BOARD_LPI2C_Receive(LPI2C_Type *base, | ||
uint8_t deviceAddress, | ||
uint32_t subAddress, | ||
uint8_t subaddressSize, | ||
uint8_t *rxBuff, | ||
uint8_t rxBuffSize); | ||
#endif /* SDK_I2C_BASED_COMPONENT_USED */ | ||
|
||
#endif /* _BOARD_H_ */ |
Oops, something went wrong.