8 #include "fsl_common.h" 9 #include "fsl_debug_console.h" 11 #if defined(SDK_I2C_BASED_COMPONENT_USED) && SDK_I2C_BASED_COMPONENT_USED 12 #include "fsl_lpi2c.h" 14 #include "fsl_iomuxc.h" 31 if (CLOCK_GetMux(kCLOCK_UartMux) == 0)
33 freq = (CLOCK_GetPllFreq(kCLOCK_PllUsb1) / 6U) / (CLOCK_GetDiv(kCLOCK_UartDiv) + 1U);
37 freq = CLOCK_GetOscFreq() / (CLOCK_GetDiv(kCLOCK_UartDiv) + 1U);
55 if (SCB_CCR_IC_Msk == (SCB_CCR_IC_Msk & SCB->CCR))
59 if (SCB_CCR_DC_Msk == (SCB_CCR_DC_Msk & SCB->CCR))
107 MPU->RBAR = ARM_MPU_RBAR(0, 0xC0000000U);
108 MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 2, 0, 0, 0, 0, ARM_MPU_REGION_SIZE_512MB);
111 MPU->RBAR = ARM_MPU_RBAR(1, 0x80000000U);
112 MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 2, 0, 0, 0, 0, ARM_MPU_REGION_SIZE_1GB);
115 #if defined(XIP_EXTERNAL_FLASH) && (XIP_EXTERNAL_FLASH == 1) 117 MPU->RBAR = ARM_MPU_RBAR(2, 0x60000000U);
118 MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_RO, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_16MB);
121 MPU->RBAR = ARM_MPU_RBAR(2, 0x60000000U);
122 MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_RO, 2, 0, 0, 0, 0, ARM_MPU_REGION_SIZE_16MB);
126 MPU->RBAR = ARM_MPU_RBAR(3, 0x00000000U);
127 MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 2, 0, 0, 0, 0, ARM_MPU_REGION_SIZE_1GB);
130 MPU->RBAR = ARM_MPU_RBAR(4, 0x00000000U);
131 MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_32KB);
134 MPU->RBAR = ARM_MPU_RBAR(5, 0x20000000U);
135 MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_32KB);
137 #if defined(OCRAM_IS_SHAREABLE) 139 MPU->RBAR = ARM_MPU_RBAR(6, 0x20200000U);
140 MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 1, 1, 1, 0, ARM_MPU_REGION_SIZE_64KB);
143 MPU->RBAR = ARM_MPU_RBAR(6, 0x20200000U);
144 MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_64KB);
148 ARM_MPU_Enable(MPU_CTRL_PRIVDEFENA_Msk);
155 #if defined(SDK_I2C_BASED_COMPONENT_USED) && SDK_I2C_BASED_COMPONENT_USED 156 void BOARD_LPI2C_Init(LPI2C_Type *base, uint32_t clkSrc_Hz)
158 lpi2c_master_config_t lpi2cConfig = {0};
170 LPI2C_MasterGetDefaultConfig(&lpi2cConfig);
171 LPI2C_MasterInit(base, &lpi2cConfig, clkSrc_Hz);
174 status_t BOARD_LPI2C_Send(LPI2C_Type *base,
175 uint8_t deviceAddress,
177 uint8_t subAddressSize,
184 reVal = LPI2C_MasterStart(base, deviceAddress, kLPI2C_Write);
185 if (kStatus_Success == reVal)
187 while (LPI2C_MasterGetStatusFlags(base) & kLPI2C_MasterNackDetectFlag)
191 reVal = LPI2C_MasterSend(base, &subAddress, subAddressSize);
192 if (reVal != kStatus_Success)
197 reVal = LPI2C_MasterSend(base, txBuff, txBuffSize);
198 if (reVal != kStatus_Success)
203 reVal = LPI2C_MasterStop(base);
204 if (reVal != kStatus_Success)
213 status_t BOARD_LPI2C_Receive(LPI2C_Type *base,
214 uint8_t deviceAddress,
216 uint8_t subAddressSize,
222 reVal = LPI2C_MasterStart(base, deviceAddress, kLPI2C_Write);
223 if (kStatus_Success == reVal)
225 while (LPI2C_MasterGetStatusFlags(base) & kLPI2C_MasterNackDetectFlag)
229 reVal = LPI2C_MasterSend(base, &subAddress, subAddressSize);
230 if (reVal != kStatus_Success)
235 reVal = LPI2C_MasterRepeatedStart(base, deviceAddress, kLPI2C_Read);
236 if (reVal != kStatus_Success)
241 reVal = LPI2C_MasterReceive(base, rxBuff, rxBuffSize);
242 if (reVal != kStatus_Success)
247 reVal = LPI2C_MasterStop(base);
248 if (reVal != kStatus_Success)
256 void BOARD_Accel_I2C_Init(
void)
261 status_t BOARD_Accel_I2C_Send(uint8_t deviceAddress, uint32_t subAddress, uint8_t subaddressSize, uint32_t txBuff)
263 uint8_t
data = (uint8_t)txBuff;
268 status_t BOARD_Accel_I2C_Receive(
269 uint8_t deviceAddress, uint32_t subAddress, uint8_t subaddressSize, uint8_t *rxBuff, uint8_t rxBuffSize)
271 return BOARD_LPI2C_Receive(
BOARD_ACCEL_I2C_BASEADDR, deviceAddress, subAddress, subaddressSize, rxBuff, rxBuffSize);
274 void BOARD_Codec_I2C_Init(
void)
279 status_t BOARD_Codec_I2C_Send(
280 uint8_t deviceAddress, uint32_t subAddress, uint8_t subAddressSize,
const uint8_t *txBuff, uint8_t txBuffSize)
286 status_t BOARD_Codec_I2C_Receive(
287 uint8_t deviceAddress, uint32_t subAddress, uint8_t subAddressSize, uint8_t *rxBuff, uint8_t rxBuffSize)
289 return BOARD_LPI2C_Receive(
BOARD_CODEC_I2C_BASEADDR, deviceAddress, subAddress, subAddressSize, rxBuff, rxBuffSize);
#define BOARD_ACCEL_I2C_CLOCK_FREQ
#define BOARD_CODEC_I2C_CLOCK_FREQ
uint32_t BOARD_DebugConsoleSrcFreq(void)
#define BOARD_DEBUG_UART_BAUDRATE
#define BOARD_ACCEL_I2C_BASEADDR
uint8_t data[FXLS8962_DATA_SIZE]
#define BOARD_DEBUG_UART_INSTANCE
#define BOARD_CODEC_I2C_BASEADDR
void BOARD_ConfigMPU(void)
void BOARD_InitDebugConsole(void)
#define BOARD_DEBUG_UART_TYPE