hi:
void BOARD_InitPins(void) {
CLOCK_EnableClock(kCLOCK_Iomuxc); /* LPCG on: LPCG is ON. */
CLOCK_EnableClock(kCLOCK_Iomuxc_Lpsr); /* LPCG on: LPCG is ON. */
/* GPIO configuration of BAT_AD_EN on GPIO_EMC_B1_41 (pin L1) */
gpio_pin_config_t BAT_AD_EN_config = {
.direction = kGPIO_DigitalOutput,
.outputLogic = 1U,
.interruptMode = kGPIO_NoIntmode
};
/* Initialize GPIO functionality on GPIO_EMC_B1_41 (pin L1) */
GPIO_PinInit(GPIO2, 9U, &BAT_AD_EN_config);
/* GPIO configuration of M1_PWM_UL on GPIO_AD_01 (pin R14) */
gpio_pin_config_t M1_PWM_UL_config = {
.direction = kGPIO_DigitalOutput,
.outputLogic = 0U,
.interruptMode = kGPIO_NoIntmode
};
/* Initialize GPIO functionality on GPIO_AD_01 (pin R14) */
GPIO_PinInit(GPIO3, 0U, &M1_PWM_UL_config);
/* GPIO configuration of M1_PWM_VL on GPIO_AD_03 (pin P15) */
gpio_pin_config_t M1_PWM_VL_config = {
.direction = kGPIO_DigitalOutput,
.outputLogic = 0U,
.interruptMode = kGPIO_NoIntmode
};
/* Initialize GPIO functionality on GPIO_AD_03 (pin P15) */
GPIO_PinInit(GPIO3, 2U, &M1_PWM_VL_config);
/* GPIO configuration of M1_PWM_WL on GPIO_AD_05 (pin P13) */
gpio_pin_config_t M1_PWM_WL_config = {
.direction = kGPIO_DigitalOutput,
.outputLogic = 0U,
.interruptMode = kGPIO_NoIntmode
};
/* Initialize GPIO functionality on GPIO_AD_05 (pin P13) */
GPIO_PinInit(GPIO3, 4U, &M1_PWM_WL_config);
/* GPIO configuration of EPM_WP on GPIO_SD_B1_04 (pin B15) */
gpio_pin_config_t EPM_WP_config = {
.direction = kGPIO_DigitalOutput,
.outputLogic = 0U,
.interruptMode = kGPIO_NoIntmode
};
/* Initialize GPIO functionality on GPIO_SD_B1_04 (pin B15) */
GPIO_PinInit(GPIO4, 7U, &EPM_WP_config);
/* GPIO configuration of DBG_OUT_CH2 on GPIO_DISP_B2_10 (pin D9) */
gpio_pin_config_t DBG_OUT_CH2_config = {
.direction = kGPIO_DigitalOutput,
.outputLogic = 0U,
.interruptMode = kGPIO_NoIntmode
};
/* Initialize GPIO functionality on GPIO_DISP_B2_10 (pin D9) */
GPIO_PinInit(GPIO5, 11U, &DBG_OUT_CH2_config);
/* GPIO configuration of DBG_OUT_CH1 on GPIO_DISP_B2_11 (pin A6) */
gpio_pin_config_t DBG_OUT_CH1_config = {
.direction = kGPIO_DigitalOutput,
.outputLogic = 0U,
.interruptMode = kGPIO_NoIntmode
};
/* Initialize GPIO functionality on GPIO_DISP_B2_11 (pin A6) */
GPIO_PinInit(GPIO5, 12U, &DBG_OUT_CH1_config);
/* GPIO configuration of DBG_OUT_CH3 on GPIO_DISP_B2_12 (pin B6) */
gpio_pin_config_t DBG_OUT_CH3_config = {
.direction = kGPIO_DigitalOutput,
.outputLogic = 0U,
.interruptMode = kGPIO_NoIntmode
};
/* Initialize GPIO functionality on GPIO_DISP_B2_12 (pin B6) */
GPIO_PinInit(GPIO5, 13U, &DBG_OUT_CH3_config);
IOMUXC_SetPinMux(
IOMUXC_GPIO_AD_01_GPIO_MUX3_IO00,
0U);
IOMUXC_SetPinMux(
IOMUXC_GPIO_AD_03_GPIO_MUX3_IO02,
0U);
IOMUXC_SetPinMux(
IOMUXC_GPIO_AD_05_GPIO_MUX3_IO04,
0U);
IOMUXC_SetPinMux(
IOMUXC_GPIO_AD_06_GPIO_MUX3_IO05,
0U);
IOMUXC_SetPinMux(
IOMUXC_GPIO_AD_08_LPI2C1_SCL,
1U);
IOMUXC_SetPinMux(
IOMUXC_GPIO_AD_09_LPI2C1_SDA,
1U);
IOMUXC_SetPinMux(
IOMUXC_GPIO_AD_12_GPIO_MUX3_IO11,
0U);
IOMUXC_SetPinMux(
IOMUXC_GPIO_AD_15_LPUART10_TXD,
0U);
IOMUXC_SetPinMux(
IOMUXC_GPIO_AD_16_LPUART10_RXD,
0U);
IOMUXC_SetPinMux(
IOMUXC_GPIO_AD_24_LPUART1_TXD,
0U);
IOMUXC_SetPinMux(
IOMUXC_GPIO_AD_25_LPUART1_RXD,
0U);
IOMUXC_SetPinMux(
IOMUXC_GPIO_DISP_B2_10_GPIO_MUX5_IO11,
0U);
IOMUXC_SetPinMux(
IOMUXC_GPIO_DISP_B2_11_GPIO_MUX5_IO12,
0U);
IOMUXC_SetPinMux(
IOMUXC_GPIO_DISP_B2_12_GPIO_MUX5_IO13,
0U);
IOMUXC_SetPinMux(
IOMUXC_GPIO_EMC_B1_41_GPIO_MUX2_IO09,
0U);
IOMUXC_SetPinMux(
IOMUXC_GPIO_SD_B1_04_GPIO_MUX4_IO07,
0U);
IOMUXC_GPR->GPR40 = ((IOMUXC_GPR->GPR40 &
(~(BOARD_INITPINS_IOMUXC_GPR_GPR40_GPIO_
| IOMUXC_GPR_GPR40_GPIO_MUX2_GPIO_SEL_
);
IOMUXC_GPR->GPR42 = ((IOMUXC_GPR->GPR42 &
(~(BOARD_INITPINS_IOMUXC_GPR_GPR42_GPIO_
| IOMUXC_GPR_GPR42_GPIO_MUX3_GPIO_SEL_
);
IOMUXC_SetPinMux(
IOMUXC_GPIO_LPSR_09_LPSPI6_PCS0,
0U);
IOMUXC_SetPinMux(
IOMUXC_GPIO_LPSR_10_LPSPI6_SCK,
0U);
IOMUXC_SetPinMux(
IOMUXC_GPIO_LPSR_11_LPSPI6_SOUT,
0U);
IOMUXC_SetPinMux(
IOMUXC_GPIO_LPSR_12_LPSPI6_SIN,
0U);
IOMUXC_SetPinConfig(
IOMUXC_GPIO_AD_01_GPIO_MUX3_IO00,
0x0AU);
IOMUXC_SetPinConfig(
IOMUXC_GPIO_AD_03_GPIO_MUX3_IO02,
0x0AU);
IOMUXC_SetPinConfig(
IOMUXC_GPIO_AD_05_GPIO_MUX3_IO04,
0x0AU);
IOMUXC_SetPinConfig(
IOMUXC_GPIO_AD_08_LPI2C1_SCL,
0x16U);
IOMUXC_SetPinConfig(
IOMUXC_GPIO_AD_09_LPI2C1_SDA,
0x16U);
IOMUXC_SetPinConfig(
IOMUXC_GPIO_AD_12_GPIO_MUX3_IO11,
0x02U);
IOMUXC_SetPinConfig(
IOMUXC_GPIO_AD_24_LPUART1_TXD,
0x02U);
IOMUXC_SetPinConfig(
IOMUXC_GPIO_DISP_B2_10_GPIO_MUX5_IO11,
0x0AU);
IOMUXC_SetPinConfig(
IOMUXC_GPIO_DISP_B2_11_GPIO_MUX5_IO12,
0x0AU);
IOMUXC_SetPinConfig(
IOMUXC_GPIO_DISP_B2_12_GPIO_MUX5_IO13,
0x0AU);
IOMUXC_SetPinConfig(
IOMUXC_GPIO_LPSR_09_LPSPI6_PCS0,
0x0AU);
IOMUXC_SetPinConfig(
IOMUXC_GPIO_LPSR_10_LPSPI6_SCK,
0x0AU);
IOMUXC_SetPinConfig(
IOMUXC_GPIO_LPSR_11_LPSPI6_SOUT,
0x0AU);
IOMUXC_SetPinConfig(
IOMUXC_GPIO_LPSR_12_LPSPI6_SIN,
0x0AU);
}
void BOARD_InitPeripherals(void)
{
/* Global initialization */
DMAMUX_Init(DMA0_DMAMUX_BASEADDR);
EDMA_Init(DMA0_DMA_BASEADDR, &DMA0_config);
/* Initialize components */
DMA0_init();
LPADC1_init();
LPUART1_init();
LPUART10_init();
LPI2C1_Driver_Init_init();
}
/***********************************************************************************************************************
* BOARD_InitBootPeripherals function
**********************************************************************************************************************/
void BOARD_InitBootPeripherals(void)
{
BOARD_InitPeripherals();
}
const lpadc_config_t LPADC1_config = {
.enableInDozeMode = true,
.enableAnalogPreliminary = false,
.powerUpDelay = 0x80UL,
.referenceVoltageSource = kLPADC_ReferenceVoltageAlt2,
.powerLevelMode = kLPADC_PowerLevelAlt1,
.triggerPriorityPolicy = kLPADC_TriggerPriorityPreemptImmediately,
.enableConvPause = false,
.convPauseDelay = 0UL,
.FIFOWatermark = 0UL,
};
lpadc_conv_command_config_t LPADC1_commandsConfig[2] = {
{
.sampleScaleMode = kLPADC_SampleFullScale,
.sampleChannelMode = kLPADC_SampleChannelSingleEndSideA,
.channelNumber = 0U,
.chainedNextCommandNumber = 2,
.enableAutoChannelIncrement = false,
.loopCount = 0UL,
.hardwareAverageMode = kLPADC_HardwareAverageCount1,
.sampleTimeMode = kLPADC_SampleTimeADCK3,
.hardwareCompareMode = kLPADC_HardwareCompareDisabled,
.hardwareCompareValueHigh = 0UL,
.hardwareCompareValueLow = 0UL,
},
{
.sampleScaleMode = kLPADC_SampleFullScale,
.sampleChannelMode = kLPADC_SampleChannelSingleEndSideA,
.channelNumber = 3U,
.chainedNextCommandNumber = 0,
.enableAutoChannelIncrement = false,
.loopCount = 0UL,
.hardwareAverageMode = kLPADC_HardwareAverageCount1,
.sampleTimeMode = kLPADC_SampleTimeADCK3,
.hardwareCompareMode = kLPADC_HardwareCompareDisabled,
.hardwareCompareValueHigh = 0UL,
.hardwareCompareValueLow = 0UL,
}
};
lpadc_conv_trigger_config_t LPADC1_triggersConfig[2] = {
{
.targetCommandId = 1,
.delayPower = 0UL,
.priority = 1,
.enableHardwareTrigger = true
},
{
.targetCommandId = 2,
.delayPower = 0UL,
.priority = 1,
.enableHardwareTrigger = true
}
};
static void LPADC1_init(void) {
/* Initialize LPADC converter */
LPADC_Init(LPADC1_PERIPHERAL, &LPADC1_config);
/* Configure conversion command 1. */
LPADC_SetConvCommandConfig(LPADC1_PERIPHERAL, 1, &LPADC1_commandsConfig[0]);
/* Configure conversion command 2. */
LPADC_SetConvCommandConfig(LPADC1_PERIPHERAL, 2, &LPADC1_commandsConfig[1]);
/* Configure trigger 0. */
LPADC_SetConvTriggerConfig(LPADC1_PERIPHERAL, 0, &LPADC1_triggersConfig[0]);
/* Configure trigger 1. */
LPADC_SetConvTriggerConfig(LPADC1_PERIPHERAL, 1, &LPADC1_triggersConfig[1]);
/* Interrupt vector ADC1_IRQn priority settings in the NVIC. */
NVIC_SetPriority(LPADC1_IRQN, LPADC1_IRQ_PRIORITY);
/* Enable interrupts from LPADC */
LPADC_EnableInterrupts(LPADC1_PERIPHERAL, (kLPADC_FIFOWatermarkInterruptEnable));
/* Enable interrupt ADC1_IRQn request in the NVIC. */
EnableIRQ(LPADC1_IRQN);
}