/* * 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 PWM_0 */ #define PWM_0_INST TIMA0 #define PWM_0_INST_IRQHandler TIMA0_IRQHandler #define PWM_0_INST_INT_IRQN (TIMA0_INT_IRQn) #define PWM_0_INST_CLK_FREQ 16000000 /* GPIO defines for channel 0 */ #define GPIO_PWM_0_C0_PORT GPIOA #define GPIO_PWM_0_C0_PIN DL_GPIO_PIN_21 #define GPIO_PWM_0_C0_IOMUX (IOMUX_PINCM46) #define GPIO_PWM_0_C0_IOMUX_FUNC IOMUX_PINCM46_PF_TIMA0_CCP0 #define GPIO_PWM_0_C0_IDX DL_TIMER_CC_0_INDEX /* GPIO defines for channel 1 */ #define GPIO_PWM_0_C1_PORT GPIOA #define GPIO_PWM_0_C1_PIN DL_GPIO_PIN_22 #define GPIO_PWM_0_C1_IOMUX (IOMUX_PINCM47) #define GPIO_PWM_0_C1_IOMUX_FUNC IOMUX_PINCM47_PF_TIMA0_CCP1 #define GPIO_PWM_0_C1_IDX DL_TIMER_CC_1_INDEX /* GPIO defines for channel 2 */ #define GPIO_PWM_0_C2_PORT GPIOB #define GPIO_PWM_0_C2_PIN DL_GPIO_PIN_20 #define GPIO_PWM_0_C2_IOMUX (IOMUX_PINCM48) #define GPIO_PWM_0_C2_IOMUX_FUNC IOMUX_PINCM48_PF_TIMA0_CCP2 #define GPIO_PWM_0_C2_IDX DL_TIMER_CC_2_INDEX /* Defines for TIMER_0 */ #define TIMER_0_INST (TIMG0) #define TIMER_0_INST_IRQHandler TIMG0_IRQHandler #define TIMER_0_INST_INT_IRQN (TIMG0_INT_IRQn) #define TIMER_0_INST_LOAD_VALUE (511U) /* Defines for I2C_1 */ #define I2C_1_INST I2C1 #define I2C_1_INST_IRQHandler I2C1_IRQHandler #define I2C_1_INST_INT_IRQN I2C1_INT_IRQn #define I2C_1_BUS_SPEED_HZ 100000 #define GPIO_I2C_1_SDA_PORT GPIOB #define GPIO_I2C_1_SDA_PIN DL_GPIO_PIN_3 #define GPIO_I2C_1_IOMUX_SDA (IOMUX_PINCM16) #define GPIO_I2C_1_IOMUX_SDA_FUNC IOMUX_PINCM16_PF_I2C1_SDA #define GPIO_I2C_1_SCL_PORT GPIOB #define GPIO_I2C_1_SCL_PIN DL_GPIO_PIN_2 #define GPIO_I2C_1_IOMUX_SCL (IOMUX_PINCM15) #define GPIO_I2C_1_IOMUX_SCL_FUNC IOMUX_PINCM15_PF_I2C1_SCL /* Defines for UART_0 */ #define UART_0_INST UART0 #define UART_0_INST_FREQUENCY 4000000 #define UART_0_INST_IRQHandler UART0_IRQHandler #define UART_0_INST_INT_IRQN UART0_INT_IRQn #define GPIO_UART_0_RX_PORT GPIOA #define GPIO_UART_0_TX_PORT GPIOA #define GPIO_UART_0_RX_PIN DL_GPIO_PIN_11 #define GPIO_UART_0_TX_PIN DL_GPIO_PIN_10 #define GPIO_UART_0_IOMUX_RX (IOMUX_PINCM22) #define GPIO_UART_0_IOMUX_TX (IOMUX_PINCM21) #define GPIO_UART_0_IOMUX_RX_FUNC IOMUX_PINCM22_PF_UART0_RX #define GPIO_UART_0_IOMUX_TX_FUNC IOMUX_PINCM21_PF_UART0_TX #define UART_0_BAUD_RATE (115200) #define UART_0_IBRD_4_MHZ_115200_BAUD (2) #define UART_0_FBRD_4_MHZ_115200_BAUD (11) /* Defines for DMA_CH0 */ #define DMA_CH0_CHAN_ID (0) #define UART_0_INST_DMA_TRIGGER_0 (DMA_UART0_TX_TRIG) /* Defines for DMA_CH1 */ #define DMA_CH1_CHAN_ID (1) #define UART_0_INST_DMA_TRIGGER_1 (DMA_UART0_RX_TRIG) /* Port definition for Pin Group LED */ #define LED_PORT (GPIOA) /* Defines for PA0: GPIOA.0 with pinCMx 1 on package pin 1 */ #define LED_PA0_PIN (DL_GPIO_PIN_0) #define LED_PA0_IOMUX (IOMUX_PINCM1) /* 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_PWM_0_init(void); void SYSCFG_DL_TIMER_0_init(void); void SYSCFG_DL_I2C_1_init(void); void SYSCFG_DL_UART_0_init(void); void SYSCFG_DL_DMA_init(void); void SYSCFG_DL_SYSTICK_init(void); bool SYSCFG_DL_saveConfiguration(void); bool SYSCFG_DL_restoreConfiguration(void); #ifdef __cplusplus } #endif #endif /* ti_msp_dl_config_h */