274 lines
14 KiB
C
274 lines
14 KiB
C
/*
|
|
* Copyright 2017-2019 ,2021, 2023 NXP
|
|
* All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
/***********************************************************************************************************************
|
|
* 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 v8.0
|
|
processor: LPC55S69
|
|
package_id: LPC55S69JBD100
|
|
mcu_data: ksdk2_0
|
|
processor_version: 8.0.3
|
|
pin_labels:
|
|
- {pin_num: '14', pin_signal: PIO0_16/FC4_TXD_SCL_MISO_WS/CLKOUT/CT_INP4/SECURE_GPIO0_16/ADC0_8, label: PHASE_B, identifier: PHASE_B}
|
|
- {pin_num: '31', pin_signal: PIO1_5/FC0_RXD_SDA_MOSI_DATA/SD0_D2/CTIMER2_MAT0/SCT_GPI0, label: PHASE_A, identifier: PHASE_A}
|
|
- {pin_num: '64', pin_signal: PIO1_18/SD1_POW_EN/SCT0_OUT5/PLU_OUT0, label: WAKEUP, identifier: WAKEUP}
|
|
- {pin_num: '59', pin_signal: PIO1_1/FC3_RXD_SDA_MOSI_DATA/CT_INP3/SCT_GPI5/HS_SPI_SSEL1/USB1_OVERCURRENTN/PLU_OUT4, label: HSPI_CS, identifier: HSPI_CS}
|
|
* BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS ***********
|
|
*/
|
|
|
|
/***********************************************************************************************************************
|
|
* 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 v9.0
|
|
processor: LPC55S69
|
|
package_id: LPC55S69JBD100
|
|
mcu_data: ksdk2_0
|
|
processor_version: 9.0.0
|
|
pin_labels:
|
|
- {pin_num: '14', pin_signal: PIO0_16/FC4_TXD_SCL_MISO_WS/CLKOUT/CT_INP4/SECURE_GPIO0_16/ADC0_8, label: PHASE_B, identifier: PHASE_B}
|
|
- {pin_num: '31', pin_signal: PIO1_5/FC0_RXD_SDA_MOSI_DATA/SD0_D2/CTIMER2_MAT0/SCT_GPI0, label: PHASE_A, identifier: PHASE_A}
|
|
- {pin_num: '64', pin_signal: PIO1_18/SD1_POW_EN/SCT0_OUT5/PLU_OUT0, label: WAKEUP, identifier: WAKEUP}
|
|
- {pin_num: '59', pin_signal: PIO1_1/FC3_RXD_SDA_MOSI_DATA/CT_INP3/SCT_GPI5/HS_SPI_SSEL1/USB1_OVERCURRENTN/PLU_OUT4, label: HSPI_CS, identifier: HSPI_CS}
|
|
* BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS ***********
|
|
*/
|
|
/* clang-format on */
|
|
|
|
#include "fsl_common.h"
|
|
#include "fsl_gpio.h"
|
|
#include "fsl_iocon.h"
|
|
#include "pin_mux.h"
|
|
|
|
/* FUNCTION ************************************************************************************************************
|
|
*
|
|
* Function Name : BOARD_InitBootPins
|
|
* Description : Calls initialization functions.
|
|
*
|
|
* END ****************************************************************************************************************/
|
|
void BOARD_InitBootPins(void)
|
|
{
|
|
BOARD_InitPins();
|
|
}
|
|
|
|
/* clang-format off */
|
|
/*
|
|
* TEXT BELOW IS USED AS SETTING FOR TOOLS *************************************
|
|
BOARD_InitPins:
|
|
- options: {callFromInitBoot: 'true', coreID: cm33_core0, enableClock: 'true'}
|
|
- pin_list:
|
|
- {pin_num: '92', peripheral: FLEXCOMM0, signal: RXD_SDA_MOSI_DATA, pin_signal: PIO0_29/FC0_RXD_SDA_MOSI_DATA/SD1_D2/CTIMER2_MAT3/SCT0_OUT8/CMP0_OUT/PLU_OUT2/SECURE_GPIO0_29,
|
|
mode: inactive, slew_rate: standard, invert: disabled, open_drain: disabled}
|
|
- {pin_num: '94', peripheral: FLEXCOMM0, signal: TXD_SCL_MISO_WS, pin_signal: PIO0_30/FC0_TXD_SCL_MISO_WS/SD1_D3/CTIMER0_MAT0/SCT0_OUT9/SECURE_GPIO0_30, mode: inactive,
|
|
slew_rate: standard, invert: disabled, open_drain: disabled}
|
|
- {pin_num: '21', peripheral: SWD, signal: SWO, pin_signal: PIO0_10/FC6_SCK/CT_INP10/CTIMER2_MAT0/FC1_TXD_SCL_MISO_WS/SCT0_OUT2/SWO/SECURE_GPIO0_10/ADC0_1, mode: inactive,
|
|
slew_rate: standard, invert: disabled, open_drain: disabled, asw: disabled}
|
|
- {pin_num: '61', peripheral: FLEXCOMM8, signal: HS_SPI_SCK, pin_signal: PIO1_2/CTIMER0_MAT3/SCT_GPI6/HS_SPI_SCK/USB1_PORTPWRN/PLU_OUT5}
|
|
- {pin_num: '60', peripheral: FLEXCOMM8, signal: HS_SPI_MOSI, pin_signal: PIO0_26/FC2_RXD_SDA_MOSI_DATA/CLKOUT/CT_INP14/SCT0_OUT5/USB0_IDVALUE/FC0_SCK/HS_SPI_MOSI/SECURE_GPIO0_26}
|
|
- {pin_num: '59', peripheral: FLEXCOMM8, signal: HS_SPI_SSEL1, pin_signal: PIO1_1/FC3_RXD_SDA_MOSI_DATA/CT_INP3/SCT_GPI5/HS_SPI_SSEL1/USB1_OVERCURRENTN/PLU_OUT4,
|
|
direction: OUTPUT}
|
|
- {pin_num: '64', peripheral: GPIO, signal: 'PIO1, 18', pin_signal: PIO1_18/SD1_POW_EN/SCT0_OUT5/PLU_OUT0, direction: INPUT, mode: pullUp}
|
|
- {pin_num: '14', peripheral: GPIO, signal: 'PIO0, 16', pin_signal: PIO0_16/FC4_TXD_SCL_MISO_WS/CLKOUT/CT_INP4/SECURE_GPIO0_16/ADC0_8, direction: INPUT, mode: pullUp}
|
|
- {pin_num: '31', peripheral: GPIO, signal: 'PIO1, 5', pin_signal: PIO1_5/FC0_RXD_SDA_MOSI_DATA/SD0_D2/CTIMER2_MAT0/SCT_GPI0, direction: INPUT, mode: pullUp}
|
|
* BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS ***********
|
|
*/
|
|
/* clang-format on */
|
|
|
|
/* FUNCTION ************************************************************************************************************
|
|
*
|
|
* Function Name : BOARD_InitPins
|
|
* Description : Configures pin routing and optionally pin electrical features.
|
|
*
|
|
* END ****************************************************************************************************************/
|
|
/* Function assigned for the Cortex-M33 (Core #0) */
|
|
void BOARD_InitPins(void)
|
|
{
|
|
/* Enables the clock for the I/O controller.: Enable Clock. */
|
|
CLOCK_EnableClock(kCLOCK_Iocon);
|
|
|
|
/* Enables the clock for the GPIO0 module */
|
|
CLOCK_EnableClock(kCLOCK_Gpio0);
|
|
|
|
/* Enables the clock for the GPIO1 module */
|
|
CLOCK_EnableClock(kCLOCK_Gpio1);
|
|
|
|
gpio_pin_config_t PHASE_B_config = {
|
|
.pinDirection = kGPIO_DigitalInput,
|
|
.outputLogic = 0U
|
|
};
|
|
/* Initialize GPIO functionality on pin PIO0_16 (pin 14) */
|
|
GPIO_PinInit(BOARD_INITPINS_PHASE_B_GPIO, BOARD_INITPINS_PHASE_B_PORT, BOARD_INITPINS_PHASE_B_PIN, &PHASE_B_config);
|
|
|
|
gpio_pin_config_t PHASE_A_config = {
|
|
.pinDirection = kGPIO_DigitalInput,
|
|
.outputLogic = 0U
|
|
};
|
|
/* Initialize GPIO functionality on pin PIO1_5 (pin 31) */
|
|
GPIO_PinInit(BOARD_INITPINS_PHASE_A_GPIO, BOARD_INITPINS_PHASE_A_PORT, BOARD_INITPINS_PHASE_A_PIN, &PHASE_A_config);
|
|
|
|
gpio_pin_config_t WAKEUP_config = {
|
|
.pinDirection = kGPIO_DigitalInput,
|
|
.outputLogic = 0U
|
|
};
|
|
/* Initialize GPIO functionality on pin PIO1_18 (pin 64) */
|
|
GPIO_PinInit(BOARD_INITPINS_WAKEUP_GPIO, BOARD_INITPINS_WAKEUP_PORT, BOARD_INITPINS_WAKEUP_PIN, &WAKEUP_config);
|
|
|
|
const uint32_t port0_pin10_config = (/* Pin is configured as SWO */
|
|
IOCON_PIO_FUNC6 |
|
|
/* No addition pin function */
|
|
IOCON_PIO_MODE_INACT |
|
|
/* Standard mode, output slew rate control is enabled */
|
|
IOCON_PIO_SLEW_STANDARD |
|
|
/* Input function is not inverted */
|
|
IOCON_PIO_INV_DI |
|
|
/* Enables digital function */
|
|
IOCON_PIO_DIGITAL_EN |
|
|
/* Open drain is disabled */
|
|
IOCON_PIO_OPENDRAIN_DI |
|
|
/* Analog switch is open (disabled) */
|
|
IOCON_PIO_ASW_DI);
|
|
/* PORT0 PIN10 (coords: 21) is configured as SWO */
|
|
IOCON_PinMuxSet(IOCON, 0U, 10U, port0_pin10_config);
|
|
|
|
IOCON->PIO[0][16] = ((IOCON->PIO[0][16] &
|
|
/* Mask bits to zero which are setting */
|
|
(~(IOCON_PIO_FUNC_MASK | IOCON_PIO_MODE_MASK | IOCON_PIO_DIGIMODE_MASK)))
|
|
|
|
/* Selects pin function.
|
|
* : PORT016 (pin 14) is configured as PIO0_16. */
|
|
| IOCON_PIO_FUNC(PIO0_16_FUNC_ALT0)
|
|
|
|
/* Selects function mode (on-chip pull-up/pull-down resistor control).
|
|
* : Pull-up.
|
|
* Pull-up resistor enabled. */
|
|
| IOCON_PIO_MODE(PIO0_16_MODE_PULL_UP)
|
|
|
|
/* Select Digital mode.
|
|
* : Enable Digital mode.
|
|
* Digital input is enabled. */
|
|
| IOCON_PIO_DIGIMODE(PIO0_16_DIGIMODE_DIGITAL));
|
|
|
|
IOCON->PIO[0][26] = ((IOCON->PIO[0][26] &
|
|
/* Mask bits to zero which are setting */
|
|
(~(IOCON_PIO_FUNC_MASK | IOCON_PIO_DIGIMODE_MASK)))
|
|
|
|
/* Selects pin function.
|
|
* : PORT026 (pin 60) is configured as HS_SPI_MOSI. */
|
|
| IOCON_PIO_FUNC(0x09u)
|
|
|
|
/* Select Digital mode.
|
|
* : Enable Digital mode.
|
|
* Digital input is enabled. */
|
|
| IOCON_PIO_DIGIMODE(PIO0_26_DIGIMODE_DIGITAL));
|
|
|
|
const uint32_t port0_pin29_config = (/* Pin is configured as FC0_RXD_SDA_MOSI_DATA */
|
|
IOCON_PIO_FUNC1 |
|
|
/* No addition pin function */
|
|
IOCON_PIO_MODE_INACT |
|
|
/* Standard mode, output slew rate control is enabled */
|
|
IOCON_PIO_SLEW_STANDARD |
|
|
/* Input function is not inverted */
|
|
IOCON_PIO_INV_DI |
|
|
/* Enables digital function */
|
|
IOCON_PIO_DIGITAL_EN |
|
|
/* Open drain is disabled */
|
|
IOCON_PIO_OPENDRAIN_DI);
|
|
/* PORT0 PIN29 (coords: 92) is configured as FC0_RXD_SDA_MOSI_DATA */
|
|
IOCON_PinMuxSet(IOCON, 0U, 29U, port0_pin29_config);
|
|
|
|
const uint32_t port0_pin30_config = (/* Pin is configured as FC0_TXD_SCL_MISO_WS */
|
|
IOCON_PIO_FUNC1 |
|
|
/* No addition pin function */
|
|
IOCON_PIO_MODE_INACT |
|
|
/* Standard mode, output slew rate control is enabled */
|
|
IOCON_PIO_SLEW_STANDARD |
|
|
/* Input function is not inverted */
|
|
IOCON_PIO_INV_DI |
|
|
/* Enables digital function */
|
|
IOCON_PIO_DIGITAL_EN |
|
|
/* Open drain is disabled */
|
|
IOCON_PIO_OPENDRAIN_DI);
|
|
/* PORT0 PIN30 (coords: 94) is configured as FC0_TXD_SCL_MISO_WS */
|
|
IOCON_PinMuxSet(IOCON, 0U, 30U, port0_pin30_config);
|
|
|
|
IOCON->PIO[1][1] = ((IOCON->PIO[1][1] &
|
|
/* Mask bits to zero which are setting */
|
|
(~(IOCON_PIO_FUNC_MASK | IOCON_PIO_DIGIMODE_MASK)))
|
|
|
|
/* Selects pin function.
|
|
* : PORT11 (pin 59) is configured as HS_SPI_SSEL1. */
|
|
| IOCON_PIO_FUNC(PIO1_1_FUNC_ALT5)
|
|
|
|
/* Select Digital mode.
|
|
* : Enable Digital mode.
|
|
* Digital input is enabled. */
|
|
| IOCON_PIO_DIGIMODE(PIO1_1_DIGIMODE_DIGITAL));
|
|
|
|
IOCON->PIO[1][18] = ((IOCON->PIO[1][18] &
|
|
/* Mask bits to zero which are setting */
|
|
(~(IOCON_PIO_FUNC_MASK | IOCON_PIO_MODE_MASK | IOCON_PIO_DIGIMODE_MASK)))
|
|
|
|
/* Selects pin function.
|
|
* : PORT118 (pin 64) is configured as PIO1_18. */
|
|
| IOCON_PIO_FUNC(PIO1_18_FUNC_ALT0)
|
|
|
|
/* Selects function mode (on-chip pull-up/pull-down resistor control).
|
|
* : Pull-up.
|
|
* Pull-up resistor enabled. */
|
|
| IOCON_PIO_MODE(PIO1_18_MODE_PULL_UP)
|
|
|
|
/* Select Digital mode.
|
|
* : Enable Digital mode.
|
|
* Digital input is enabled. */
|
|
| IOCON_PIO_DIGIMODE(PIO1_18_DIGIMODE_DIGITAL));
|
|
|
|
IOCON->PIO[1][2] = ((IOCON->PIO[1][2] &
|
|
/* Mask bits to zero which are setting */
|
|
(~(IOCON_PIO_FUNC_MASK | IOCON_PIO_DIGIMODE_MASK)))
|
|
|
|
/* Selects pin function.
|
|
* : PORT12 (pin 61) is configured as HS_SPI_SCK. */
|
|
| IOCON_PIO_FUNC(PIO1_2_FUNC_ALT6)
|
|
|
|
/* Select Digital mode.
|
|
* : Enable Digital mode.
|
|
* Digital input is enabled. */
|
|
| IOCON_PIO_DIGIMODE(PIO1_2_DIGIMODE_DIGITAL));
|
|
|
|
IOCON->PIO[1][5] = ((IOCON->PIO[1][5] &
|
|
/* Mask bits to zero which are setting */
|
|
(~(IOCON_PIO_FUNC_MASK | IOCON_PIO_MODE_MASK | IOCON_PIO_DIGIMODE_MASK)))
|
|
|
|
/* Selects pin function.
|
|
* : PORT15 (pin 31) is configured as PIO1_5. */
|
|
| IOCON_PIO_FUNC(PIO1_5_FUNC_ALT0)
|
|
|
|
/* Selects function mode (on-chip pull-up/pull-down resistor control).
|
|
* : Pull-up.
|
|
* Pull-up resistor enabled. */
|
|
| IOCON_PIO_MODE(PIO1_5_MODE_PULL_UP)
|
|
|
|
/* Select Digital mode.
|
|
* : Enable Digital mode.
|
|
* Digital input is enabled. */
|
|
| IOCON_PIO_DIGIMODE(PIO1_5_DIGIMODE_DIGITAL));
|
|
}
|
|
/***********************************************************************************************************************
|
|
* EOF
|
|
**********************************************************************************************************************/
|