2025-11-10 18:05:11 +08:00
|
|
|
/*
|
|
|
|
|
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-11-12 10:32:45 +08:00
|
|
|
/* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-11-17 10:13:18 +08:00
|
|
|
/* 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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-11-10 18:05:11 +08:00
|
|
|
|
|
|
|
|
/* 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
|
2025-11-13 15:16:24 +08:00
|
|
|
#define I2C_1_BUS_SPEED_HZ 100000
|
2025-11-10 18:05:11 +08:00
|
|
|
#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)
|
2025-11-17 10:13:18 +08:00
|
|
|
#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)
|
2025-11-10 18:05:11 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
/* 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)
|
|
|
|
|
|
|
|
|
|
|
2025-11-12 21:26:40 +08:00
|
|
|
|
|
|
|
|
|
2025-11-10 18:05:11 +08:00
|
|
|
/* 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);
|
2025-11-12 10:32:45 +08:00
|
|
|
void SYSCFG_DL_PWM_0_init(void);
|
2025-11-17 10:13:18 +08:00
|
|
|
void SYSCFG_DL_TIMER_0_init(void);
|
2025-11-10 18:05:11 +08:00
|
|
|
void SYSCFG_DL_I2C_1_init(void);
|
|
|
|
|
void SYSCFG_DL_UART_0_init(void);
|
|
|
|
|
void SYSCFG_DL_DMA_init(void);
|
|
|
|
|
|
2025-11-12 21:26:40 +08:00
|
|
|
void SYSCFG_DL_SYSTICK_init(void);
|
2025-11-10 18:05:11 +08:00
|
|
|
|
|
|
|
|
bool SYSCFG_DL_saveConfiguration(void);
|
|
|
|
|
bool SYSCFG_DL_restoreConfiguration(void);
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#endif /* ti_msp_dl_config_h */
|