/*********************************************************************************************************************** * This file was generated by the MCUXpresso Config Tools. Any manual edits made to this file * will be overwritten if the respective MCUXpresso Config Tools is used to update this file. **********************************************************************************************************************/ /* clang-format off */ /* * TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* !!GlobalInfo product: Pins v14.0 processor: LPC804 package_id: LPC804M101JHI33 mcu_data: ksdk2_0 processor_version: 14.0.0 pin_labels: - {pin_num: '30', pin_signal: PIO0_22, label: LED_R, identifier: LED_R} - {pin_num: '31', pin_signal: PIO0_18, label: LED_G, identifier: LED_G} - {pin_num: '32', pin_signal: PIO0_16/ACMP_I4/ADC_3, label: LED_B, identifier: LED_B} - {pin_num: '16', pin_signal: PIO0_15/ADC_8, label: IO0, identifier: IO0} - {pin_num: '8', pin_signal: PIO0_11/ADC_6/WKTCLKIN, label: IO1, identifier: IO1} - {pin_num: '9', pin_signal: PIO0_10/ADC_7, label: IO2, identifier: IO2} - {pin_num: '15', pin_signal: PIO0_20, label: IO3, identifier: IO3} - {pin_num: '25', pin_signal: PIO0_14/ACMP_I3/ADC_2, label: IOREF, identifier: ADC_IOREF;IOREF} - {pin_num: '26', pin_signal: PIO0_19/DACOUT, label: DAC, identifier: DAC} * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS *********** */ /* clang-format on */ #include "fsl_common.h" #include "fsl_gpio.h" #include "fsl_swm.h" #include "pin_mux.h" /* FUNCTION ************************************************************************************************************ * * Function Name : BOARD_InitBootPins * Description : Calls initialization functions. * * END ****************************************************************************************************************/ void BOARD_InitBootPins(void) { BOARD_InitLEDPins(); BOARD_InitADCPins(); BOARD_InitDACPins(); BOARD_InitI2CPins(); BOARD_InitIOPins(); } /* clang-format off */ /* * TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* BOARD_InitDbgUARTPins: - options: {callFromInitBoot: 'false', coreID: core0, enableClock: 'true'} - pin_list: - {pin_num: '28', peripheral: USART0, signal: TXD, pin_signal: PIO0_24} - {pin_num: '27', peripheral: USART0, signal: RXD, pin_signal: PIO0_25} * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS *********** */ /* clang-format on */ /* FUNCTION ************************************************************************************************************ * * Function Name : BOARD_InitDbgUARTPins * Description : Configures pin routing and optionally pin electrical features. * * END ****************************************************************************************************************/ /* Function assigned for the Cortex-M0P */ void BOARD_InitDbgUARTPins(void) { /* Enables clock for switch matrix.: enable */ CLOCK_EnableClock(kCLOCK_Swm); /* USART0_TXD connect to P0_24 */ SWM_SetMovablePinSelect(SWM0, kSWM_USART0_TXD, kSWM_PortPin_P0_24); /* USART0_RXD connect to P0_25 */ SWM_SetMovablePinSelect(SWM0, kSWM_USART0_RXD, kSWM_PortPin_P0_25); /* Disable clock for switch matrix. */ CLOCK_DisableClock(kCLOCK_Swm); } /* clang-format off */ /* * TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* BOARD_InitLEDPins: - options: {callFromInitBoot: 'true', coreID: core0, enableClock: 'true'} - pin_list: - {pin_num: '30', peripheral: GPIO, signal: 'PIO0, 22', pin_signal: PIO0_22, direction: OUTPUT, gpio_init_state: 'true', opendrain: enabled} - {pin_num: '31', peripheral: GPIO, signal: 'PIO0, 18', pin_signal: PIO0_18, direction: OUTPUT, gpio_init_state: 'true', opendrain: enabled} - {pin_num: '32', peripheral: GPIO, signal: 'PIO0, 16', pin_signal: PIO0_16/ACMP_I4/ADC_3, direction: OUTPUT, gpio_init_state: 'true', opendrain: enabled} * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS *********** */ /* clang-format on */ /* FUNCTION ************************************************************************************************************ * * Function Name : BOARD_InitLEDPins * Description : Configures pin routing and optionally pin electrical features. * * END ****************************************************************************************************************/ /* Function assigned for the Cortex-M0P */ void BOARD_InitLEDPins(void) { /* Enables clock for IOCON.: enable */ CLOCK_EnableClock(kCLOCK_Iocon); /* Enables the clock for the GPIO0 module */ CLOCK_EnableClock(kCLOCK_Gpio0); gpio_pin_config_t LED_B_config = { .pinDirection = kGPIO_DigitalOutput, .outputLogic = 1U, }; /* Initialize GPIO functionality on pin PIO0_16 (pin 32) */ GPIO_PinInit(BOARD_INITLEDPINS_LED_B_GPIO, BOARD_INITLEDPINS_LED_B_PORT, BOARD_INITLEDPINS_LED_B_PIN, &LED_B_config); gpio_pin_config_t LED_G_config = { .pinDirection = kGPIO_DigitalOutput, .outputLogic = 1U, }; /* Initialize GPIO functionality on pin PIO0_18 (pin 31) */ GPIO_PinInit(BOARD_INITLEDPINS_LED_G_GPIO, BOARD_INITLEDPINS_LED_G_PORT, BOARD_INITLEDPINS_LED_G_PIN, &LED_G_config); gpio_pin_config_t LED_R_config = { .pinDirection = kGPIO_DigitalOutput, .outputLogic = 1U, }; /* Initialize GPIO functionality on pin PIO0_22 (pin 30) */ GPIO_PinInit(BOARD_INITLEDPINS_LED_R_GPIO, BOARD_INITLEDPINS_LED_R_PORT, BOARD_INITLEDPINS_LED_R_PIN, &LED_R_config); IOCON->PIO[9] = ((IOCON->PIO[9] & /* Mask bits to zero which are setting */ (~(IOCON_PIO_OD_MASK))) /* Open-drain mode.: Open-drain mode enabled. Remark: This is not a true open-drain mode. */ | IOCON_PIO_OD(PIO0_16_OD_ENABLED)); IOCON->PIO[29] = ((IOCON->PIO[29] & /* Mask bits to zero which are setting */ (~(IOCON_PIO_OD_MASK))) /* Open-drain mode.: Open-drain mode enabled. Remark: This is not a true open-drain mode. */ | IOCON_PIO_OD(PIO0_18_OD_ENABLED)); IOCON->PIO[28] = ((IOCON->PIO[28] & /* Mask bits to zero which are setting */ (~(IOCON_PIO_OD_MASK))) /* Open-drain mode.: Open-drain mode enabled. Remark: This is not a true open-drain mode. */ | IOCON_PIO_OD(PIO0_22_OD_ENABLED)); /* Disable clock for switch matrix. */ CLOCK_DisableClock(kCLOCK_Swm); } /* clang-format off */ /* * TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* BOARD_InitADCPins: - options: {callFromInitBoot: 'true', coreID: core0, enableClock: 'true'} - pin_list: - {pin_num: '25', peripheral: ADC0, signal: 'CH, 2', pin_signal: PIO0_14/ACMP_I3/ADC_2, identifier: IOREF, mode: inactive, opendrain: disabled} * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS *********** */ /* clang-format on */ /* FUNCTION ************************************************************************************************************ * * Function Name : BOARD_InitADCPins * Description : Configures pin routing and optionally pin electrical features. * * END ****************************************************************************************************************/ /* Function assigned for the Cortex-M0P */ void BOARD_InitADCPins(void) { /* Enables clock for IOCON.: enable */ CLOCK_EnableClock(kCLOCK_Iocon); /* Enables clock for switch matrix.: enable */ CLOCK_EnableClock(kCLOCK_Swm); IOCON->PIO[18] = ((IOCON->PIO[18] & /* Mask bits to zero which are setting */ (~(IOCON_PIO_MODE_MASK | IOCON_PIO_OD_MASK))) /* Selects function mode (on-chip pull-up/pull-down resistor control).: Inactive. Inactive (no * pull-down/pull-up resistor enabled). */ | IOCON_PIO_MODE(PIO0_14_MODE_INACTIVE) /* Open-drain mode.: Disable. */ | IOCON_PIO_OD(PIO0_14_OD_DISABLE)); /* ADC_CHN2 connect to P0_14 */ SWM_SetFixedPinSelect(SWM0, kSWM_ADC_CHN2, true); /* Disable clock for switch matrix. */ CLOCK_DisableClock(kCLOCK_Swm); } /* clang-format off */ /* * TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* BOARD_InitDACPins: - options: {callFromInitBoot: 'true', coreID: core0, enableClock: 'true'} - pin_list: - {pin_num: '26', peripheral: DAC0, signal: DACOUT0, pin_signal: PIO0_19/DACOUT, mode: inactive, opendrain: disabled, dacmode: enabled} * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS *********** */ /* clang-format on */ /* FUNCTION ************************************************************************************************************ * * Function Name : BOARD_InitDACPins * Description : Configures pin routing and optionally pin electrical features. * * END ****************************************************************************************************************/ /* Function assigned for the Cortex-M0P */ void BOARD_InitDACPins(void) { /* Enables clock for IOCON.: enable */ CLOCK_EnableClock(kCLOCK_Iocon); /* Enables clock for switch matrix.: enable */ CLOCK_EnableClock(kCLOCK_Swm); IOCON->PIO[24] = ((IOCON->PIO[24] & /* Mask bits to zero which are setting */ (~(IOCON_PIO_MODE_MASK | IOCON_PIO_OD_MASK | IOCON_PIO_DACMODE_MASK))) /* Selects function mode (on-chip pull-up/pull-down resistor control).: Inactive. Inactive (no * pull-down/pull-up resistor enabled). */ | IOCON_PIO_MODE(PIO0_19_MODE_INACTIVE) /* Open-drain mode.: Disable. */ | IOCON_PIO_OD(PIO0_19_OD_DISABLE) /* DAC mode enable.: Enable. */ | IOCON_PIO_DACMODE(PIO0_19_DACMODE_ENABLE)); /* DAC_OUT0 connect to P0_19 */ SWM_SetFixedPinSelect(SWM0, kSWM_DAC_OUT0, true); /* Disable clock for switch matrix. */ CLOCK_DisableClock(kCLOCK_Swm); } /* clang-format off */ /* * TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* BOARD_InitI2CPins: - options: {callFromInitBoot: 'true', coreID: core0, enableClock: 'true'} - pin_list: - {pin_num: '18', peripheral: I2C0, signal: SCL, pin_signal: PIO0_9/ADC_4, mode: inactive} - {pin_num: '17', peripheral: I2C0, signal: SDA, pin_signal: PIO0_1/ADC_0/ACMP_I2/CLKIN, mode: inactive} * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS *********** */ /* clang-format on */ /* FUNCTION ************************************************************************************************************ * * Function Name : BOARD_InitI2CPins * Description : Configures pin routing and optionally pin electrical features. * * END ****************************************************************************************************************/ /* Function assigned for the Cortex-M0P */ void BOARD_InitI2CPins(void) { /* Enables clock for IOCON.: enable */ CLOCK_EnableClock(kCLOCK_Iocon); /* Enables clock for switch matrix.: enable */ CLOCK_EnableClock(kCLOCK_Swm); IOCON->PIO[11] = ((IOCON->PIO[11] & /* Mask bits to zero which are setting */ (~(IOCON_PIO_MODE_MASK))) /* Selects function mode (on-chip pull-up/pull-down resistor control).: Inactive. Inactive (no * pull-down/pull-up resistor enabled). */ | IOCON_PIO_MODE(PIO0_1_MODE_INACTIVE)); IOCON->PIO[13] = ((IOCON->PIO[13] & /* Mask bits to zero which are setting */ (~(IOCON_PIO_MODE_MASK))) /* Selects function mode (on-chip pull-up/pull-down resistor control).: Inactive. Inactive (no * pull-down/pull-up resistor enabled). */ | IOCON_PIO_MODE(PIO0_9_MODE_INACTIVE)); /* I2C0_SDA connect to P0_1 */ SWM_SetMovablePinSelect(SWM0, kSWM_I2C0_SDA, kSWM_PortPin_P0_1); /* I2C0_SCL connect to P0_9 */ SWM_SetMovablePinSelect(SWM0, kSWM_I2C0_SCL, kSWM_PortPin_P0_9); /* Disable clock for switch matrix. */ CLOCK_DisableClock(kCLOCK_Swm); } /* clang-format off */ /* * TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* BOARD_InitIOPins: - options: {callFromInitBoot: 'true', coreID: core0, enableClock: 'true'} - pin_list: - {pin_num: '16', peripheral: GPIO, signal: 'PIO0, 15', pin_signal: PIO0_15/ADC_8, mode: repeater} - {pin_num: '8', peripheral: GPIO, signal: 'PIO0, 11', pin_signal: PIO0_11/ADC_6/WKTCLKIN, mode: repeater} - {pin_num: '9', peripheral: GPIO, signal: 'PIO0, 10', pin_signal: PIO0_10/ADC_7, mode: repeater} - {pin_num: '15', peripheral: GPIO, signal: 'PIO0, 20', pin_signal: PIO0_20, mode: repeater} * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS *********** */ /* clang-format on */ /* FUNCTION ************************************************************************************************************ * * Function Name : BOARD_InitIOPins * Description : Configures pin routing and optionally pin electrical features. * * END ****************************************************************************************************************/ /* Function assigned for the Cortex-M0P */ void BOARD_InitIOPins(void) { /* Enables clock for IOCON.: enable */ CLOCK_EnableClock(kCLOCK_Iocon); IOCON->PIO[8] = ((IOCON->PIO[8] & /* Mask bits to zero which are setting */ (~(IOCON_PIO_MODE_MASK))) /* Selects function mode (on-chip pull-up/pull-down resistor control).: Repeater. Repeater mode. */ | IOCON_PIO_MODE(PIO0_10_MODE_REPEATER)); IOCON->PIO[7] = ((IOCON->PIO[7] & /* Mask bits to zero which are setting */ (~(IOCON_PIO_MODE_MASK))) /* Selects function mode (on-chip pull-up/pull-down resistor control).: Repeater. Repeater mode. */ | IOCON_PIO_MODE(PIO0_11_MODE_REPEATER)); IOCON->PIO[10] = ((IOCON->PIO[10] & /* Mask bits to zero which are setting */ (~(IOCON_PIO_MODE_MASK))) /* Selects function mode (on-chip pull-up/pull-down resistor control).: Repeater. Repeater mode. */ | IOCON_PIO_MODE(PIO0_15_MODE_REPEATER)); IOCON->PIO[22] = ((IOCON->PIO[22] & /* Mask bits to zero which are setting */ (~(IOCON_PIO_MODE_MASK))) /* Selects function mode (on-chip pull-up/pull-down resistor control).: Repeater. Repeater mode. */ | IOCON_PIO_MODE(PIO0_20_MODE_REPEATER)); /* Disable clock for switch matrix. */ CLOCK_DisableClock(kCLOCK_Swm); } /*********************************************************************************************************************** * EOF **********************************************************************************************************************/