10 #include "fsl_common.h"    11 #include "fsl_debug_console.h"    13 #include "fsl_clock.h"    14 #if defined(SDK_I2C_BASED_COMPONENT_USED) && SDK_I2C_BASED_COMPONENT_USED    17 #if defined BOARD_USE_CODEC    18 #include "fsl_wm8904.h"    25 #if defined BOARD_USE_CODEC    26 codec_config_t boardCodecConfig = {.I2C_SendFunc    = BOARD_Codec_I2C_Send,
    27                                    .I2C_ReceiveFunc = BOARD_Codec_I2C_Receive,
    28                                    .op.Init         = WM8904_Init,
    29                                    .op.Deinit       = WM8904_Deinit,
    30                                    .op.SetFormat    = WM8904_SetAudioFormat};
    38     uint32_t uartClkSrcFreq;
    50 #if defined(SDK_I2C_BASED_COMPONENT_USED) && SDK_I2C_BASED_COMPONENT_USED    51 void BOARD_I2C_Init(
I2C_Type *base, uint32_t clkSrc_Hz)
    53     i2c_master_config_t i2cConfig = {0};
    55     I2C_MasterGetDefaultConfig(&i2cConfig);
    56     I2C_MasterInit(base, &i2cConfig, clkSrc_Hz);
    59 status_t BOARD_I2C_Send(
I2C_Type *base,
    60                         uint8_t deviceAddress,
    62                         uint8_t subaddressSize,
    66     i2c_master_transfer_t masterXfer;
    69     masterXfer.slaveAddress   = deviceAddress;
    70     masterXfer.direction      = kI2C_Write;
    71     masterXfer.subaddress     = subAddress;
    72     masterXfer.subaddressSize = subaddressSize;
    73     masterXfer.data           = txBuff;
    74     masterXfer.dataSize       = txBuffSize;
    75     masterXfer.flags          = kI2C_TransferDefaultFlag;
    77     return I2C_MasterTransferBlocking(base, &masterXfer);
    80 status_t BOARD_I2C_Receive(
I2C_Type *base,
    81                            uint8_t deviceAddress,
    83                            uint8_t subaddressSize,
    87     i2c_master_transfer_t masterXfer;
    90     masterXfer.slaveAddress   = deviceAddress;
    91     masterXfer.subaddress     = subAddress;
    92     masterXfer.subaddressSize = subaddressSize;
    93     masterXfer.data           = rxBuff;
    94     masterXfer.dataSize       = rxBuffSize;
    95     masterXfer.direction      = kI2C_Read;
    96     masterXfer.flags          = kI2C_TransferDefaultFlag;
    98     return I2C_MasterTransferBlocking(base, &masterXfer);
   102 #if defined BOARD_USE_CODEC   103 void BOARD_I3C_Init(I3C_Type *base, uint32_t clkSrc_Hz)
   105     i3c_master_config_t i3cConfig;
   107     I3C_MasterGetDefaultConfig(&i3cConfig);
   108     I3C_MasterInit(base, &i3cConfig, clkSrc_Hz);
   111 status_t BOARD_I3C_Send(I3C_Type *base,
   112                         uint8_t deviceAddress,
   114                         uint8_t subaddressSize,
   118     i3c_master_transfer_t masterXfer;
   121     masterXfer.slaveAddress   = deviceAddress;
   122     masterXfer.direction      = kI3C_Write;
   123     masterXfer.subaddress     = subAddress;
   124     masterXfer.subaddressSize = subaddressSize;
   125     masterXfer.data           = txBuff;
   126     masterXfer.dataSize       = txBuffSize;
   127     masterXfer.flags          = kI3C_TransferDefaultFlag;
   129     return I3C_MasterTransferBlocking(base, kI3C_TypeI2C, &masterXfer);
   132 status_t BOARD_I3C_Receive(I3C_Type *base,
   133                            uint8_t deviceAddress,
   135                            uint8_t subaddressSize,
   139     i3c_master_transfer_t masterXfer;
   142     masterXfer.slaveAddress   = deviceAddress;
   143     masterXfer.subaddress     = subAddress;
   144     masterXfer.subaddressSize = subaddressSize;
   145     masterXfer.data           = rxBuff;
   146     masterXfer.dataSize       = rxBuffSize;
   147     masterXfer.direction      = kI3C_Read;
   148     masterXfer.flags          = kI3C_TransferDefaultFlag;
   150     return I3C_MasterTransferBlocking(base, kI3C_TypeI2C, &masterXfer);
   153 void BOARD_Codec_I2C_Init(
void)
   162 status_t BOARD_Codec_I2C_Send(
   163     uint8_t deviceAddress, uint32_t subAddress, uint8_t subAddressSize, 
const uint8_t *txBuff, uint8_t txBuffSize)
   173 status_t BOARD_Codec_I2C_Receive(
   174     uint8_t deviceAddress, uint32_t subAddress, uint8_t subAddressSize, uint8_t *rxBuff, uint8_t rxBuffSize)
   184 #if defined(SDK_I2C_BASED_COMPONENT_USED) && SDK_I2C_BASED_COMPONENT_USED   185 void BOARD_PMIC_I2C_Init(
void)
   190 status_t BOARD_PMIC_I2C_Send(
   191     uint8_t deviceAddress, uint32_t subAddress, uint8_t subAddressSize, 
const uint8_t *txBuff, uint8_t txBuffSize)
   197 status_t BOARD_PMIC_I2C_Receive(
   198     uint8_t deviceAddress, uint32_t subAddress, uint8_t subAddressSize, uint8_t *rxBuff, uint8_t rxBuffSize)
   200     return BOARD_I2C_Receive(
BOARD_PMIC_I2C_BASEADDR, deviceAddress, subAddress, subAddressSize, rxBuff, rxBuffSize);
   203 void BOARD_Accel_I2C_Init(
void)
   208 status_t BOARD_Accel_I2C_Send(uint8_t deviceAddress, uint32_t subAddress, uint8_t subaddressSize, uint32_t txBuff)
   210     uint8_t 
data = (uint8_t)txBuff;
   215 status_t BOARD_Accel_I2C_Receive(
   216     uint8_t deviceAddress, uint32_t subAddress, uint8_t subaddressSize, uint8_t *rxBuff, uint8_t rxBuffSize)
 #define BOARD_ACCEL_I2C_CLOCK_FREQ
 
#define BOARD_CODEC_I2C_CLOCK_FREQ
 
#define BOARD_DEBUG_UART_CLK_FREQ
 
#define BOARD_DEBUG_UART_BAUDRATE
 
#define BOARD_ACCEL_I2C_BASEADDR
 
uint8_t data[FXLS8962_DATA_SIZE]
 
#define BOARD_DEBUG_UART_CLK_ATTACH
 
#define BOARD_PMIC_I2C_BASEADDR
 
#define BOARD_DEBUG_UART_INSTANCE
 
#define BOARD_CODEC_I2C_BASEADDR
 
#define BOARD_PMIC_I2C_CLOCK_FREQ
 
#define BOARD_DEBUG_UART_RST
 
#define BOARD_DEBUG_UART_FRG_CLK
 
void BOARD_InitDebugConsole(void)
 
#define BOARD_DEBUG_UART_TYPE