| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226 |
- /*
- * 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 <ti/devices/msp/msp.h>
- #include <ti/driverlib/driverlib.h>
- #include <ti/driverlib/m0p/dl_core.h>
- #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 */
|