/* * Copyright (c) 2023, Texas Instruments Incorporated - http://www.ti.com * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * * Neither the name of Texas Instruments Incorporated nor the names of * its contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* * ============ ti_msp_dl_config.h ============= * Configured MSPM0 DriverLib module declarations * * DO NOT EDIT - This file is generated for the MSPM0G350X * by the SysConfig tool. */ #ifndef ti_msp_dl_config_h #define ti_msp_dl_config_h #define CONFIG_MSPM0G350X #define CONFIG_MSPM0G3507 #if defined(__ti_version__) || defined(__TI_COMPILER_VERSION__) #define SYSCONFIG_WEAK __attribute__((weak)) #elif defined(__IAR_SYSTEMS_ICC__) #define SYSCONFIG_WEAK __weak #elif defined(__GNUC__) #define SYSCONFIG_WEAK __attribute__((weak)) #endif #include #include #include #ifdef __cplusplus extern "C" { #endif /* * ======== SYSCFG_DL_init ======== * Perform all required MSP DL initialization * * This function should be called once at a point before any use of * MSP DL. */ /* clang-format off */ #define POWER_STARTUP_DELAY (16) #define CPUCLK_FREQ 32000000 /* Defines for ADC12_0 */ #define ADC12_0_INST ADC0 #define ADC12_0_INST_IRQHandler ADC0_IRQHandler #define ADC12_0_INST_INT_IRQN (ADC0_INT_IRQn) #define ADC12_0_ADCMEM_0 DL_ADC12_MEM_IDX_0 #define ADC12_0_ADCMEM_0_REF DL_ADC12_REFERENCE_VOLTAGE_VDDA #define ADC12_0_ADCMEM_0_REF_VOLTAGE_V 3.3 #define ADC12_0_ADCMEM_1 DL_ADC12_MEM_IDX_1 #define ADC12_0_ADCMEM_1_REF DL_ADC12_REFERENCE_VOLTAGE_VDDA #define ADC12_0_ADCMEM_1_REF_VOLTAGE_V 3.3 #define ADC12_0_ADCMEM_2 DL_ADC12_MEM_IDX_2 #define ADC12_0_ADCMEM_2_REF DL_ADC12_REFERENCE_VOLTAGE_VDDA #define ADC12_0_ADCMEM_2_REF_VOLTAGE_V 3.3 #define GPIO_ADC12_0_C2_PORT GPIOA #define GPIO_ADC12_0_C2_PIN DL_GPIO_PIN_25 #define GPIO_ADC12_0_C3_PORT GPIOA #define GPIO_ADC12_0_C3_PIN DL_GPIO_PIN_24 #define GPIO_ADC12_0_C7_PORT GPIOA #define GPIO_ADC12_0_C7_PIN DL_GPIO_PIN_22 /* Port definition for Pin Group GPIO_BRIDGE_SEGMENT */ #define GPIO_BRIDGE_SEGMENT_PORT (GPIOA) /* Defines for PIN_BRIDGE_SEGMENT: GPIOA.10 with pinCMx 21 on package pin 15 */ #define GPIO_BRIDGE_SEGMENT_PIN_BRIDGE_SEGMENT_PIN (DL_GPIO_PIN_10) #define GPIO_BRIDGE_SEGMENT_PIN_BRIDGE_SEGMENT_IOMUX (IOMUX_PINCM21) /* Port definition for Pin Group GPIO_MULTIPLEXER_PIN_CONFIG */ #define GPIO_MULTIPLEXER_PIN_CONFIG_PORT (GPIOA) /* Defines for PIN_E1: GPIOA.9 with pinCMx 20 on package pin 14 */ #define GPIO_MULTIPLEXER_PIN_CONFIG_PIN_E1_PIN (DL_GPIO_PIN_9) #define GPIO_MULTIPLEXER_PIN_CONFIG_PIN_E1_IOMUX (IOMUX_PINCM20) /* Defines for PIN_S0: GPIOA.5 with pinCMx 10 on package pin 12 */ #define GPIO_MULTIPLEXER_PIN_CONFIG_PIN_S0_PIN (DL_GPIO_PIN_5) #define GPIO_MULTIPLEXER_PIN_CONFIG_PIN_S0_IOMUX (IOMUX_PINCM10) /* Defines for PIN_S1: GPIOA.4 with pinCMx 9 on package pin 11 */ #define GPIO_MULTIPLEXER_PIN_CONFIG_PIN_S1_PIN (DL_GPIO_PIN_4) #define GPIO_MULTIPLEXER_PIN_CONFIG_PIN_S1_IOMUX (IOMUX_PINCM9) /* Defines for PIN_S2: GPIOA.3 with pinCMx 8 on package pin 10 */ #define GPIO_MULTIPLEXER_PIN_CONFIG_PIN_S2_PIN (DL_GPIO_PIN_3) #define GPIO_MULTIPLEXER_PIN_CONFIG_PIN_S2_IOMUX (IOMUX_PINCM8) /* Defines for PIN_E0: GPIOA.6 with pinCMx 11 on package pin 13 */ #define GPIO_MULTIPLEXER_PIN_CONFIG_PIN_E0_PIN (DL_GPIO_PIN_6) #define GPIO_MULTIPLEXER_PIN_CONFIG_PIN_E0_IOMUX (IOMUX_PINCM11) /* Port definition for Pin Group GPIO_SHIFT_REGISTER_PIN_CONFIG */ #define GPIO_SHIFT_REGISTER_PIN_CONFIG_PORT (GPIOA) /* Defines for PIN_SER: GPIOA.11 with pinCMx 22 on package pin 16 */ #define GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_SER_PIN (DL_GPIO_PIN_11) #define GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_SER_IOMUX (IOMUX_PINCM22) /* Defines for PIN_OE: GPIOA.14 with pinCMx 36 on package pin 17 */ #define GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_OE_PIN (DL_GPIO_PIN_14) #define GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_OE_IOMUX (IOMUX_PINCM36) /* Defines for PIN_RCLK: GPIOA.15 with pinCMx 37 on package pin 18 */ #define GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_RCLK_PIN (DL_GPIO_PIN_15) #define GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_RCLK_IOMUX (IOMUX_PINCM37) /* Defines for PIN_SRCLK: GPIOA.16 with pinCMx 38 on package pin 19 */ #define GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_SRCLK_PIN (DL_GPIO_PIN_16) #define GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_SRCLK_IOMUX (IOMUX_PINCM38) /* Defines for PIN_SRCLR: GPIOA.17 with pinCMx 39 on package pin 20 */ #define GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_SRCLR_PIN (DL_GPIO_PIN_17) #define GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_SRCLR_IOMUX (IOMUX_PINCM39) /* Port definition for Pin Group GPIO_PIN_FOR_CAN_COMMUNICATION */ #define GPIO_PIN_FOR_CAN_COMMUNICATION_PORT (GPIOA) /* Defines for PIN_DISCOVERY_IN: GPIOA.0 with pinCMx 1 on package pin 4 */ #define GPIO_PIN_FOR_CAN_COMMUNICATION_PIN_DISCOVERY_IN_PIN (DL_GPIO_PIN_0) #define GPIO_PIN_FOR_CAN_COMMUNICATION_PIN_DISCOVERY_IN_IOMUX (IOMUX_PINCM1) /* Defines for PIN_DISCOVERY_OUT: GPIOA.1 with pinCMx 2 on package pin 5 */ #define GPIO_PIN_FOR_CAN_COMMUNICATION_PIN_DISCOVERY_OUT_PIN (DL_GPIO_PIN_1) #define GPIO_PIN_FOR_CAN_COMMUNICATION_PIN_DISCOVERY_OUT_IOMUX (IOMUX_PINCM2) /* Defines for MCAN0 */ #define MCAN0_INST CANFD0 #define GPIO_MCAN0_CAN_TX_PORT GPIOA #define GPIO_MCAN0_CAN_TX_PIN DL_GPIO_PIN_26 #define GPIO_MCAN0_IOMUX_CAN_TX (IOMUX_PINCM59) #define GPIO_MCAN0_IOMUX_CAN_TX_FUNC IOMUX_PINCM59_PF_CANFD0_CANTX #define GPIO_MCAN0_CAN_RX_PORT GPIOA #define GPIO_MCAN0_CAN_RX_PIN DL_GPIO_PIN_27 #define GPIO_MCAN0_IOMUX_CAN_RX (IOMUX_PINCM60) #define GPIO_MCAN0_IOMUX_CAN_RX_FUNC IOMUX_PINCM60_PF_CANFD0_CANRX #define MCAN0_INST_IRQHandler CANFD0_IRQHandler #define MCAN0_INST_INT_IRQN CANFD0_INT_IRQn /* Defines for MCAN0 MCAN RAM configuration */ #define MCAN0_INST_MCAN_STD_ID_FILT_START_ADDR (0) #define MCAN0_INST_MCAN_STD_ID_FILTER_NUM (2) #define MCAN0_INST_MCAN_EXT_ID_FILT_START_ADDR (0) #define MCAN0_INST_MCAN_EXT_ID_FILTER_NUM (0) #define MCAN0_INST_MCAN_TX_BUFF_START_ADDR (148) #define MCAN0_INST_MCAN_TX_BUFF_SIZE (2) #define MCAN0_INST_MCAN_FIFO_1_START_ADDR (192) #define MCAN0_INST_MCAN_FIFO_1_NUM (2) #define MCAN0_INST_MCAN_TX_EVENT_START_ADDR (164) #define MCAN0_INST_MCAN_TX_EVENT_SIZE (2) #define MCAN0_INST_MCAN_EXT_ID_AND_MASK (0x1FFFFFFFU) #define MCAN0_INST_MCAN_RX_BUFF_START_ADDR (208) #define MCAN0_INST_MCAN_FIFO_0_START_ADDR (172) #define MCAN0_INST_MCAN_FIFO_0_NUM (3) #define MCAN0_INST_MCAN_INTERRUPTS (DL_MCAN_INTERRUPT_ARA | \ DL_MCAN_INTERRUPT_BEU | \ DL_MCAN_INTERRUPT_BO | \ DL_MCAN_INTERRUPT_DRX | \ DL_MCAN_INTERRUPT_ELO | \ DL_MCAN_INTERRUPT_EP | \ DL_MCAN_INTERRUPT_EW | \ DL_MCAN_INTERRUPT_MRAF | \ DL_MCAN_INTERRUPT_PEA | \ DL_MCAN_INTERRUPT_PED | \ DL_MCAN_INTERRUPT_RF0N | \ DL_MCAN_INTERRUPT_TC | \ DL_MCAN_INTERRUPT_TEFN | \ DL_MCAN_INTERRUPT_TOO | \ DL_MCAN_INTERRUPT_TSW | \ DL_MCAN_INTERRUPT_WDI) /* clang-format on */ void SYSCFG_DL_init(void); void SYSCFG_DL_initPower(void); void SYSCFG_DL_GPIO_init(void); void SYSCFG_DL_SYSCTL_init(void); void SYSCFG_DL_ADC12_0_init(void); void SYSCFG_DL_MCAN0_init(void); bool SYSCFG_DL_saveConfiguration(void); bool SYSCFG_DL_restoreConfiguration(void); #ifdef __cplusplus } #endif #endif /* ti_msp_dl_config_h */