diff --git a/MAX/Include/wrap_max32_tmr.h b/MAX/Include/wrap_max32_tmr.h index 310e90ed..f3706dae 100644 --- a/MAX/Include/wrap_max32_tmr.h +++ b/MAX/Include/wrap_max32_tmr.h @@ -105,8 +105,7 @@ int Wrap_MXC_TMR_GetPendingInt(mxc_tmr_regs_t *tmr) (CONFIG_SOC_MAX32672) || (CONFIG_SOC_MAX32662) || (CONFIG_SOC_MAX32675) || \ (CONFIG_SOC_MAX32680) || (CONFIG_SOC_MAX32657) || (CONFIG_SOC_MAX78002) -#if defined(CONFIG_SOC_MAX32672) || (CONFIG_SOC_MAX32675) || (CONFIG_SOC_MAX32657) || \ - (CONFIG_SOC_MAX32670) +#if defined(CONFIG_SOC_MAX32672) || (CONFIG_SOC_MAX32675) || (CONFIG_SOC_MAX32657) /* All timers are 32bits */ #define WRAP_MXC_IS_32B_TIMER(idx) (1) #elif defined(CONFIG_SOC_MAX32662) diff --git a/MAX/Libraries/CMSIS/Device/Maxim/MAX32657/Include/fcr_regs.h b/MAX/Libraries/CMSIS/Device/Maxim/MAX32657/Include/fcr_regs.h index 62b4e1f2..da7cb86b 100644 --- a/MAX/Libraries/CMSIS/Device/Maxim/MAX32657/Include/fcr_regs.h +++ b/MAX/Libraries/CMSIS/Device/Maxim/MAX32657/Include/fcr_regs.h @@ -80,7 +80,7 @@ typedef struct { __IO uint32_t erfoks; /**< \b 0x18: FCR ERFOKS Register */ __IO uint32_t intfl; /**< \b 0x1C: FCR INTFL Register */ __IO uint32_t inten; /**< \b 0x20: FCR INTEN Register */ - __IO uint32_t erfoctrl; /**< \b 0x24: FCR ERFOCTRL Register */ + __R uint32_t rsv_0x24; __IO uint32_t frqcntctrl; /**< \b 0x28: FCR FRQCNTCTRL Register */ __IO uint32_t frqcntcmp; /**< \b 0x2C: FCR FRQCNTCMP Register */ __I uint32_t refclk; /**< \b 0x30: FCR REFCLK Register */ @@ -101,7 +101,6 @@ typedef struct { #define MXC_R_FCR_ERFOKS ((uint32_t)0x00000018UL) /**< Offset from FCR Base Address: 0x0018 */ #define MXC_R_FCR_INTFL ((uint32_t)0x0000001CUL) /**< Offset from FCR Base Address: 0x001C */ #define MXC_R_FCR_INTEN ((uint32_t)0x00000020UL) /**< Offset from FCR Base Address: 0x0020 */ -#define MXC_R_FCR_ERFOCTRL ((uint32_t)0x00000024UL) /**< Offset from FCR Base Address: 0x0024 */ #define MXC_R_FCR_FRQCNTCTRL ((uint32_t)0x00000028UL) /**< Offset from FCR Base Address: 0x0028 */ #define MXC_R_FCR_FRQCNTCMP ((uint32_t)0x0000002CUL) /**< Offset from FCR Base Address: 0x002C */ #define MXC_R_FCR_REFCLK ((uint32_t)0x00000030UL) /**< Offset from FCR Base Address: 0x0030 */ @@ -237,23 +236,6 @@ typedef struct { /**@} end of group FCR_INTEN_Register */ -/** - * @ingroup fcr_registers - * @defgroup FCR_ERFOCTRL FCR_ERFOCTRL - * @brief ERFO Control Register. - * @{ - */ -#define MXC_F_FCR_ERFOCTRL_CAP_X1_POS 0 /**< ERFOCTRL_CAP_X1 Position */ -#define MXC_F_FCR_ERFOCTRL_CAP_X1 ((uint32_t)(0x7FUL << MXC_F_FCR_ERFOCTRL_CAP_X1_POS)) /**< ERFOCTRL_CAP_X1 Mask */ - -#define MXC_F_FCR_ERFOCTRL_CAP_X2_POS 7 /**< ERFOCTRL_CAP_X2 Position */ -#define MXC_F_FCR_ERFOCTRL_CAP_X2 ((uint32_t)(0x7FUL << MXC_F_FCR_ERFOCTRL_CAP_X2_POS)) /**< ERFOCTRL_CAP_X2 Mask */ - -#define MXC_F_FCR_ERFOCTRL_CAP_BYPASS_POS 14 /**< ERFOCTRL_CAP_BYPASS Position */ -#define MXC_F_FCR_ERFOCTRL_CAP_BYPASS ((uint32_t)(0x1UL << MXC_F_FCR_ERFOCTRL_CAP_BYPASS_POS)) /**< ERFOCTRL_CAP_BYPASS Mask */ - -/**@} end of group FCR_ERFOCTRL_Register */ - /** * @ingroup fcr_registers * @defgroup FCR_FRQCNTCTRL FCR_FRQCNTCTRL diff --git a/MAX/Libraries/CMSIS/Device/Maxim/MAX32657/Include/gcr_regs.h b/MAX/Libraries/CMSIS/Device/Maxim/MAX32657/Include/gcr_regs.h index d49be0aa..3b2350d7 100644 --- a/MAX/Libraries/CMSIS/Device/Maxim/MAX32657/Include/gcr_regs.h +++ b/MAX/Libraries/CMSIS/Device/Maxim/MAX32657/Include/gcr_regs.h @@ -563,48 +563,48 @@ typedef struct { * @brief BTLE LDO Control Register * @{ */ -#define MXC_F_GCR_BTLELDOCTRL_BB_EN_POS 0 /**< BTLELDOCTRL_BB_EN Position */ -#define MXC_F_GCR_BTLELDOCTRL_BB_EN ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_BB_EN_POS)) /**< BTLELDOCTRL_BB_EN Mask */ - -#define MXC_F_GCR_BTLELDOCTRL_BB_PD_EN_POS 1 /**< BTLELDOCTRL_BB_PD_EN Position */ -#define MXC_F_GCR_BTLELDOCTRL_BB_PD_EN ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_BB_PD_EN_POS)) /**< BTLELDOCTRL_BB_PD_EN Mask */ - -#define MXC_F_GCR_BTLELDOCTRL_BB_VSEL_POS 2 /**< BTLELDOCTRL_BB_VSEL Position */ -#define MXC_F_GCR_BTLELDOCTRL_BB_VSEL ((uint32_t)(0x3UL << MXC_F_GCR_BTLELDOCTRL_BB_VSEL_POS)) /**< BTLELDOCTRL_BB_VSEL Mask */ - -#define MXC_F_GCR_BTLELDOCTRL_RF_EN_POS 4 /**< BTLELDOCTRL_RF_EN Position */ +#define MXC_F_GCR_BTLELDOCTRL_RF_EN_POS 0 /**< BTLELDOCTRL_RF_EN Position */ #define MXC_F_GCR_BTLELDOCTRL_RF_EN ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_RF_EN_POS)) /**< BTLELDOCTRL_RF_EN Mask */ -#define MXC_F_GCR_BTLELDOCTRL_RF_PD_EN_POS 5 /**< BTLELDOCTRL_RF_PD_EN Position */ +#define MXC_F_GCR_BTLELDOCTRL_RF_PD_EN_POS 1 /**< BTLELDOCTRL_RF_PD_EN Position */ #define MXC_F_GCR_BTLELDOCTRL_RF_PD_EN ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_RF_PD_EN_POS)) /**< BTLELDOCTRL_RF_PD_EN Mask */ -#define MXC_F_GCR_BTLELDOCTRL_RF_VSEL_POS 6 /**< BTLELDOCTRL_RF_VSEL Position */ +#define MXC_F_GCR_BTLELDOCTRL_RF_VSEL_POS 2 /**< BTLELDOCTRL_RF_VSEL Position */ #define MXC_F_GCR_BTLELDOCTRL_RF_VSEL ((uint32_t)(0x3UL << MXC_F_GCR_BTLELDOCTRL_RF_VSEL_POS)) /**< BTLELDOCTRL_RF_VSEL Mask */ -#define MXC_F_GCR_BTLELDOCTRL_RF_BP_EN_POS 8 /**< BTLELDOCTRL_RF_BP_EN Position */ -#define MXC_F_GCR_BTLELDOCTRL_RF_BP_EN ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_RF_BP_EN_POS)) /**< BTLELDOCTRL_RF_BP_EN Mask */ +#define MXC_F_GCR_BTLELDOCTRL_BB_EN_POS 4 /**< BTLELDOCTRL_BB_EN Position */ +#define MXC_F_GCR_BTLELDOCTRL_BB_EN ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_BB_EN_POS)) /**< BTLELDOCTRL_BB_EN Mask */ -#define MXC_F_GCR_BTLELDOCTRL_RF_DISCH_POS 9 /**< BTLELDOCTRL_RF_DISCH Position */ -#define MXC_F_GCR_BTLELDOCTRL_RF_DISCH ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_RF_DISCH_POS)) /**< BTLELDOCTRL_RF_DISCH Mask */ +#define MXC_F_GCR_BTLELDOCTRL_BB_PD_EN_POS 5 /**< BTLELDOCTRL_BB_PD_EN Position */ +#define MXC_F_GCR_BTLELDOCTRL_BB_PD_EN ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_BB_PD_EN_POS)) /**< BTLELDOCTRL_BB_PD_EN Mask */ -#define MXC_F_GCR_BTLELDOCTRL_BB_BP_EN_POS 10 /**< BTLELDOCTRL_BB_BP_EN Position */ +#define MXC_F_GCR_BTLELDOCTRL_BB_VSEL_POS 6 /**< BTLELDOCTRL_BB_VSEL Position */ +#define MXC_F_GCR_BTLELDOCTRL_BB_VSEL ((uint32_t)(0x3UL << MXC_F_GCR_BTLELDOCTRL_BB_VSEL_POS)) /**< BTLELDOCTRL_BB_VSEL Mask */ + +#define MXC_F_GCR_BTLELDOCTRL_BB_BP_EN_POS 8 /**< BTLELDOCTRL_BB_BP_EN Position */ #define MXC_F_GCR_BTLELDOCTRL_BB_BP_EN ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_BB_BP_EN_POS)) /**< BTLELDOCTRL_BB_BP_EN Mask */ -#define MXC_F_GCR_BTLELDOCTRL_BB_DISCH_POS 11 /**< BTLELDOCTRL_BB_DISCH Position */ +#define MXC_F_GCR_BTLELDOCTRL_BB_DISCH_POS 9 /**< BTLELDOCTRL_BB_DISCH Position */ #define MXC_F_GCR_BTLELDOCTRL_BB_DISCH ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_BB_DISCH_POS)) /**< BTLELDOCTRL_BB_DISCH Mask */ -#define MXC_F_GCR_BTLELDOCTRL_BB_EN_DLY_POS 12 /**< BTLELDOCTRL_BB_EN_DLY Position */ -#define MXC_F_GCR_BTLELDOCTRL_BB_EN_DLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_BB_EN_DLY_POS)) /**< BTLELDOCTRL_BB_EN_DLY Mask */ +#define MXC_F_GCR_BTLELDOCTRL_RF_BP_EN_POS 10 /**< BTLELDOCTRL_RF_BP_EN Position */ +#define MXC_F_GCR_BTLELDOCTRL_RF_BP_EN ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_RF_BP_EN_POS)) /**< BTLELDOCTRL_RF_BP_EN Mask */ + +#define MXC_F_GCR_BTLELDOCTRL_RF_DISCH_POS 11 /**< BTLELDOCTRL_RF_DISCH Position */ +#define MXC_F_GCR_BTLELDOCTRL_RF_DISCH ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_RF_DISCH_POS)) /**< BTLELDOCTRL_RF_DISCH Mask */ -#define MXC_F_GCR_BTLELDOCTRL_RF_EN_DLY_POS 13 /**< BTLELDOCTRL_RF_EN_DLY Position */ +#define MXC_F_GCR_BTLELDOCTRL_RF_EN_DLY_POS 12 /**< BTLELDOCTRL_RF_EN_DLY Position */ #define MXC_F_GCR_BTLELDOCTRL_RF_EN_DLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_RF_EN_DLY_POS)) /**< BTLELDOCTRL_RF_EN_DLY Mask */ -#define MXC_F_GCR_BTLELDOCTRL_RF_BP_EN_DLY_POS 14 /**< BTLELDOCTRL_RF_BP_EN_DLY Position */ -#define MXC_F_GCR_BTLELDOCTRL_RF_BP_EN_DLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_RF_BP_EN_DLY_POS)) /**< BTLELDOCTRL_RF_BP_EN_DLY Mask */ +#define MXC_F_GCR_BTLELDOCTRL_BB_EN_DLY_POS 13 /**< BTLELDOCTRL_BB_EN_DLY Position */ +#define MXC_F_GCR_BTLELDOCTRL_BB_EN_DLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_BB_EN_DLY_POS)) /**< BTLELDOCTRL_BB_EN_DLY Mask */ -#define MXC_F_GCR_BTLELDOCTRL_BB_BP_EN_DLY_POS 15 /**< BTLELDOCTRL_BB_BP_EN_DLY Position */ +#define MXC_F_GCR_BTLELDOCTRL_BB_BP_EN_DLY_POS 14 /**< BTLELDOCTRL_BB_BP_EN_DLY Position */ #define MXC_F_GCR_BTLELDOCTRL_BB_BP_EN_DLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_BB_BP_EN_DLY_POS)) /**< BTLELDOCTRL_BB_BP_EN_DLY Mask */ +#define MXC_F_GCR_BTLELDOCTRL_RF_BP_EN_DLY_POS 15 /**< BTLELDOCTRL_RF_BP_EN_DLY Position */ +#define MXC_F_GCR_BTLELDOCTRL_RF_BP_EN_DLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_RF_BP_EN_DLY_POS)) /**< BTLELDOCTRL_RF_BP_EN_DLY Mask */ + /**@} end of group GCR_BTLELDOCTRL_Register */ /** diff --git a/MAX/Libraries/CMSIS/Device/Maxim/MAX32657/Include/gpio_regs.h b/MAX/Libraries/CMSIS/Device/Maxim/MAX32657/Include/gpio_regs.h index 6005fb79..3b9ad89a 100644 --- a/MAX/Libraries/CMSIS/Device/Maxim/MAX32657/Include/gpio_regs.h +++ b/MAX/Libraries/CMSIS/Device/Maxim/MAX32657/Include/gpio_regs.h @@ -96,8 +96,8 @@ typedef struct { __IO uint32_t wken_clr; /**< \b 0x54: GPIO WKEN_CLR Register */ __R uint32_t rsv_0x58; __IO uint32_t dualedge; /**< \b 0x5C: GPIO DUALEDGE Register */ - __IO uint32_t padctrl; /**< \b 0x60: GPIO PADCTRL Register */ - __R uint32_t rsv_0x64; + __IO uint32_t padctrl0; /**< \b 0x60: GPIO PADCTRL0 Register */ + __IO uint32_t padctrl1; /**< \b 0x64: GPIO PADCTRL1 Register */ __IO uint32_t en1; /**< \b 0x68: GPIO EN1 Register */ __IO uint32_t en1_set; /**< \b 0x6C: GPIO EN1_SET Register */ __IO uint32_t en1_clr; /**< \b 0x70: GPIO EN1_CLR Register */ @@ -143,7 +143,8 @@ typedef struct { #define MXC_R_GPIO_WKEN_SET ((uint32_t)0x00000050UL) /**< Offset from GPIO Base Address: 0x0050 */ #define MXC_R_GPIO_WKEN_CLR ((uint32_t)0x00000054UL) /**< Offset from GPIO Base Address: 0x0054 */ #define MXC_R_GPIO_DUALEDGE ((uint32_t)0x0000005CUL) /**< Offset from GPIO Base Address: 0x005C */ -#define MXC_R_GPIO_PADCTRL ((uint32_t)0x00000060UL) /**< Offset from GPIO Base Address: 0x0060 */ +#define MXC_R_GPIO_PADCTRL0 ((uint32_t)0x00000060UL) /**< Offset from GPIO Base Address: 0x0060 */ +#define MXC_R_GPIO_PADCTRL1 ((uint32_t)0x00000064UL) /**< Offset from GPIO Base Address: 0x0064 */ #define MXC_R_GPIO_EN1 ((uint32_t)0x00000068UL) /**< Offset from GPIO Base Address: 0x0068 */ #define MXC_R_GPIO_EN1_SET ((uint32_t)0x0000006CUL) /**< Offset from GPIO Base Address: 0x006C */ #define MXC_R_GPIO_EN1_CLR ((uint32_t)0x00000070UL) /**< Offset from GPIO Base Address: 0x0070 */ @@ -472,21 +473,39 @@ typedef struct { /** * @ingroup gpio_registers - * @defgroup GPIO_PADCTRL GPIO_PADCTRL - * @brief GPIO Pad Control. Each bit in this register configures the pad for the - * associated GPIO pin in this port. + * @defgroup GPIO_PADCTRL0 GPIO_PADCTRL0 + * @brief GPIO Input Mode Config 0. Each bit in this register enables the weak pull-up for + * the associated GPIO pin in this port. * @{ */ -#define MXC_F_GPIO_PADCTRL_ALL_POS 0 /**< PADCTRL_ALL Position */ -#define MXC_F_GPIO_PADCTRL_ALL ((uint32_t)(0xFFFFFFFFUL << MXC_F_GPIO_PADCTRL_ALL_POS)) /**< PADCTRL_ALL Mask */ -#define MXC_V_GPIO_PADCTRL_ALL_IMPEDANCE ((uint32_t)0x0UL) /**< PADCTRL_ALL_IMPEDANCE Value */ -#define MXC_S_GPIO_PADCTRL_ALL_IMPEDANCE (MXC_V_GPIO_PADCTRL_ALL_IMPEDANCE << MXC_F_GPIO_PADCTRL_ALL_POS) /**< PADCTRL_ALL_IMPEDANCE Setting */ -#define MXC_V_GPIO_PADCTRL_ALL_PU ((uint32_t)0x1UL) /**< PADCTRL_ALL_PU Value */ -#define MXC_S_GPIO_PADCTRL_ALL_PU (MXC_V_GPIO_PADCTRL_ALL_PU << MXC_F_GPIO_PADCTRL_ALL_POS) /**< PADCTRL_ALL_PU Setting */ -#define MXC_V_GPIO_PADCTRL_ALL_PD ((uint32_t)0x2UL) /**< PADCTRL_ALL_PD Value */ -#define MXC_S_GPIO_PADCTRL_ALL_PD (MXC_V_GPIO_PADCTRL_ALL_PD << MXC_F_GPIO_PADCTRL_ALL_POS) /**< PADCTRL_ALL_PD Setting */ +#define MXC_F_GPIO_PADCTRL0_ALL_POS 0 /**< PADCTRL0_ALL Position */ +#define MXC_F_GPIO_PADCTRL0_ALL ((uint32_t)(0xFFFFFFFFUL << MXC_F_GPIO_PADCTRL0_ALL_POS)) /**< PADCTRL0_ALL Mask */ +#define MXC_V_GPIO_PADCTRL0_ALL_IMPEDANCE ((uint32_t)0x0UL) /**< PADCTRL0_ALL_IMPEDANCE Value */ +#define MXC_S_GPIO_PADCTRL0_ALL_IMPEDANCE (MXC_V_GPIO_PADCTRL0_ALL_IMPEDANCE << MXC_F_GPIO_PADCTRL0_ALL_POS) /**< PADCTRL0_ALL_IMPEDANCE Setting */ +#define MXC_V_GPIO_PADCTRL0_ALL_PU ((uint32_t)0x1UL) /**< PADCTRL0_ALL_PU Value */ +#define MXC_S_GPIO_PADCTRL0_ALL_PU (MXC_V_GPIO_PADCTRL0_ALL_PU << MXC_F_GPIO_PADCTRL0_ALL_POS) /**< PADCTRL0_ALL_PU Setting */ +#define MXC_V_GPIO_PADCTRL0_ALL_PD ((uint32_t)0x2UL) /**< PADCTRL0_ALL_PD Value */ +#define MXC_S_GPIO_PADCTRL0_ALL_PD (MXC_V_GPIO_PADCTRL0_ALL_PD << MXC_F_GPIO_PADCTRL0_ALL_POS) /**< PADCTRL0_ALL_PD Setting */ -/**@} end of group GPIO_PADCTRL_Register */ +/**@} end of group GPIO_PADCTRL0_Register */ + +/** + * @ingroup gpio_registers + * @defgroup GPIO_PADCTRL1 GPIO_PADCTRL1 + * @brief GPIO Input Mode Config 1. Each bit in this register enables the weak pull-up for + * the associated GPIO pin in this port. + * @{ + */ +#define MXC_F_GPIO_PADCTRL1_ALL_POS 0 /**< PADCTRL1_ALL Position */ +#define MXC_F_GPIO_PADCTRL1_ALL ((uint32_t)(0xFFFFFFFFUL << MXC_F_GPIO_PADCTRL1_ALL_POS)) /**< PADCTRL1_ALL Mask */ +#define MXC_V_GPIO_PADCTRL1_ALL_IMPEDANCE ((uint32_t)0x0UL) /**< PADCTRL1_ALL_IMPEDANCE Value */ +#define MXC_S_GPIO_PADCTRL1_ALL_IMPEDANCE (MXC_V_GPIO_PADCTRL1_ALL_IMPEDANCE << MXC_F_GPIO_PADCTRL1_ALL_POS) /**< PADCTRL1_ALL_IMPEDANCE Setting */ +#define MXC_V_GPIO_PADCTRL1_ALL_PU ((uint32_t)0x1UL) /**< PADCTRL1_ALL_PU Value */ +#define MXC_S_GPIO_PADCTRL1_ALL_PU (MXC_V_GPIO_PADCTRL1_ALL_PU << MXC_F_GPIO_PADCTRL1_ALL_POS) /**< PADCTRL1_ALL_PU Setting */ +#define MXC_V_GPIO_PADCTRL1_ALL_PD ((uint32_t)0x2UL) /**< PADCTRL1_ALL_PD Value */ +#define MXC_S_GPIO_PADCTRL1_ALL_PD (MXC_V_GPIO_PADCTRL1_ALL_PD << MXC_F_GPIO_PADCTRL1_ALL_POS) /**< PADCTRL1_ALL_PD Setting */ + +/**@} end of group GPIO_PADCTRL1_Register */ /** * @ingroup gpio_registers diff --git a/MAX/Libraries/CMSIS/Device/Maxim/MAX32657/Include/max32657.svd b/MAX/Libraries/CMSIS/Device/Maxim/MAX32657/Include/max32657.svd index ecfcfda3..b9ee605e 100644 --- a/MAX/Libraries/CMSIS/Device/Maxim/MAX32657/Include/max32657.svd +++ b/MAX/Libraries/CMSIS/Device/Maxim/MAX32657/Include/max32657.svd @@ -1537,32 +1537,6 @@ - - ERFOCTRL - ERFO Control Register. - 0x24 - read-write - - - CAP_X1 - Load capacitor tuning bit for X1. - 0 - 7 - - - CAP_X2 - Load capacitor tuning bit for X2. - 7 - 7 - - - CAP_BYPASS - Bypass (disable) load capacitors. - 14 - 1 - - - FRQCNTCTRL Frequency Counter Control Register. @@ -2792,86 +2766,86 @@ 0x74 - BB_EN - LDO BB enable. + RF_EN + LDO RF enable. 0 1 - BB_PD_EN - LDO BB Pull Down. + RF_PD_EN + LDO RF Pull Down. 1 1 - BB_VSEL - Voltage Selection for BB LDO. + RF_VSEL + Voltage Selection for RF LDO 2 2 - RF_EN - LDO RF enable. + BB_EN + LDOBB enable. 4 1 - RF_PD_EN - LDO RF Pull DOwn. + BB_PD_EN + LDO BB Pull DOwn. 5 1 - RF_VSEL - LDO RF Voltage Setting. + BB_VSEL + LDO BB Voltage Setting. 6 2 - RF_BP_EN - LDO RF Bypass Enable. + BB_BP_EN + LDO BB Bypass Enable. 8 1 - RF_DISCH - LDO RF Discharge. + BB_DISCH + LDO BB Discharge. 9 1 - BB_BP_EN - LDO BB Bypass Enable. + RF_BP_EN + LDO RF Bypass Enable. 10 1 - BB_DISCH - LDO BB Discharge. + RF_DISCH + LDO RF Discharge. 11 1 - BB_EN_DLY - LDO BB Enable Delay. + RF_EN_DLY + LDO RF Enable Delay. 12 1 - RF_EN_DLY - LDO RF Enable Delay. + BB_EN_DLY + LDO BB Enable Delay. 13 1 - RF_BP_EN_DLY - LDO RF Bypass Enable Delay. + BB_BP_EN_DLY + LDO BB Bypass Enable Delay. 14 1 - BB_BP_EN_DLY - LDO BB Bypass Enable Delay. + RF_BP_EN_DLY + LDO RF Bypass Enable Delay. 15 1 @@ -3353,8 +3327,8 @@ - PADCTRL - GPIO Pad Control. Each bit in this register configures the pad for the associated GPIO pin in this port. + PADCTRL0 + GPIO Input Mode Config 0. Each bit in this register enables the weak pull-up for the associated GPIO pin in this port. 0x60 @@ -3382,6 +3356,36 @@ + + PADCTRL1 + GPIO Input Mode Config 1. Each bit in this register enables the weak pull-up for the associated GPIO pin in this port. + 0x64 + + + ALL + The two bits in GPIO_PADCTRL0 and GPIO_PADCTRL1 for each GPIO pin work together to determine the pad mode when the GPIO is set to input mode. + 0 + 32 + + + impedance + High Impedance. + 0 + + + pu + Weak pull-up mode. + 1 + + + pd + weak pull-down mode. + 2 + + + + + EN1 GPIO Alternate Function Enable Register. Each bit in this register selects between primary/secondary functions for the associated GPIO pin in this port. @@ -3523,66 +3527,2518 @@ - DS0 - GPIO Drive Strength 0 Register. Each bit in this register selects the drive strength for the associated GPIO pin in this port. Refer to the Datasheet for sink/source current of GPIO pins in each mode. - 0xB0 + DS0 + GPIO Drive Strength 0 Register. Each bit in this register selects the drive strength for the associated GPIO pin in this port. Refer to the Datasheet for sink/source current of GPIO pins in each mode. + 0xB0 + + + ALL + Mask of all of the pins on the port. + 0 + 32 + + + ld + GPIO port pin is in low-drive mode. + 0 + + + hd + GPIO port pin is in high-drive mode. + 1 + + + + + + + DS1 + GPIO Drive Strength 1 Register. Each bit in this register selects the drive strength for the associated GPIO pin in this port. Refer to the Datasheet for sink/source current of GPIO pins in each mode. + 0xB4 + + + ALL + Mask of all of the pins on the port. + 0 + 32 + + + + + PSSEL + GPIO Pull Select Mode. + 0xB8 + + + ALL + Mask of all of the pins on the port. + 0 + 32 + + + + + VSSEL + GPIO Voltage Select. + 0xC0 + + + ALL + Mask of all of the pins on the port. + 0 + 32 + + + + + + + + I3C0 + Improved Inter-Integrated Circuit. + I3C + 0x50018000 + 32 + + 0x00 + 0x1000 + registers + + + I3C0 + I3C0 IRQ + 26 + + + + CONT_CTRL0 + Controller Control 0 (Configuration) Register. + 0x000 + + + EN + I3C Device Enable. + [1:0] + read-write + + + OFF + Off. + 0 + + + ON + On. + 1 + + + CAP + I23 Bug Target with secondary controller capability. + 2 + + + + + TO_DIS + Disable Timeout error. + [3:3] + read-write + + + HKEEP + High-keepr implementation. + [5:4] + read-write + + + OFF + No high-keeper support. + 0 + + + ON_CHIP + On-chip high-keeper support. + 1 + + + EXT_SDA + External high-keeper support for SDA. + 2 + + + EXT_SCL_SDA + External high-keeper support for SCL and SDA. + 3 + + + + + OD_STOP + Use open-drain speed for STOP. + [6:6] + read-write + + + PP_BAUD + SCL Frequency for push-pull drive. + [11:8] + read-write + + + 1_FCLK + SCL High Period is one FCLK Period. + 0 + + + 2_FCLK + SCL High Period is two FLCK Periods. + 1 + + + 3_FCLK + SCL High Period is three FCLK Period. + 2 + + + 4_FCLK + SCL High Period is four FCLK Period. + 3 + + + 5_FCLK + SCL High Period is five FCLK Period. + 4 + + + 6_FCLK + SCL High Period is six FCLK Period. + 5 + + + 7_FCLK + SCL High Period is seven FCLK Period. + 6 + + + 8_FCLK + SCL High Period is eight FCLK Period. + 7 + + + 9_FCLK + SCL High Period is nine FCLK Period. + 8 + + + 10_FCLK + SCL High Period is ten FCLK Period. + 9 + + + 11_FCLK + SCL High Period is eleven FCLK Period. + 10 + + + 12_FCLK + SCL High Period is twelve FCLK Period. + 11 + + + 13_FCLK + SCL High Period is thirteen FCLK Period. + 12 + + + 14_FCLK + SCL High Period is fourteen FCLK Period. + 13 + + + 15_FCLK + SCL High Period is fifthteen FCLK Period. + 14 + + + 16_FCLK + SCL High Period is sixteen FCLK Period. + 15 + + + + + PP_ADD_LBAUD + Number of FCLK periods to add to the base of SCL low period. + [15:12] + read-write + + + 0_FCLK + Adds zero FCLK periods to the SCL low period. + 0 + + + 1_FCLK + Adds one FCLK period to the SCL low period. + 1 + + + 2_FCLK + Adds two FCLK periods to the SCL low period. + 2 + + + 3_FCLK + Adds three FCLK periods to the SCL low period. + 3 + + + 4_FCLK + Adds four FCLK periods to the SCL low period. + 4 + + + 5_FCLK + Adds five FCLK periods to the SCL low period. + 5 + + + 6_FCLK + Adds six FCLK periods to the SCL low period. + 6 + + + 7_FCLK + Adds seven FCLK periods to the SCL low period. + 7 + + + 8_FCLK + Adds eight FCLK periods to the SCL low period. + 8 + + + 9_FCLK + Adds nine FCLK periods to the SCL low period. + 9 + + + 10_FCLK + Adds ten FCLK periods to the SCL low period. + 10 + + + 11_FCLK + Adds eleven FCLK periods to the SCL low period. + 11 + + + 12_FCLK + Adds twelve FCLK periods to the SCL low period. + 12 + + + 13_FCLK + Adds thirteen FCLK periods to the SCL low period. + 13 + + + 14_FCLK + Adds fourteen FCLK periods to the SCL low period. + 14 + + + 15_FCLK + Adds fifthteen FCLK periods to the SCL low period. + 15 + + + + + OD_LBAUD + Number of PP_BAUD periods minus 1 to make one SCL low period for I3C open-dran periods. + [23:16] + read-write + + + OD_HP + Controls SCL high period for I3C oepn-drain operation. + [24:24] + read-write + + + PP_SKEW + Number of FCLK periods to delay the SDA value change from the SCL edge for I3C push-pull operation. + [27:25] + read-write + + + I2C_BAUD + Detyermines SCL high and low pweriods for I2C mode, in units of OD_BAUD period. + [31:28] + read-write + + + + + TARG_CTRL0 + Target Control 0 (Configuration) Register. + 0x004 + + + EN + Target device enable. + [0:0] + read-write + + + MATCHSS + Match STOP and START. + [2:2] + read-write + + + TO_IGN + Ignore Timeout Errors. + [3:3] + read-write + + + OFFLINE + Rejoin I3C bus with existing dynamic address. + [9:9] + read-write + + + + + TARG_STATUS + Target Status Register. + 0x008 + + + BUSY + Not stopped. + [0:0] + read-only + + + LIST_RESP + Message status - listening/responding or not. + [1:1] + read-only + + + CCCH + CCC is being handled. + [2:2] + read-only + + + RX_SDR + SDR Read. + [3:3] + + + TX_SDR + SDR Write. + [4:4] + + + DAA + Dynamic Address Assignment Mode. + [5:5] + read-only + + + HDR + HDR Mode. + [6:6] + read-only + + + START + START Detected. + [8:8] + read-write + + + ADDRMATCH + Address Matched. + [9:9] + read-write + + + STOP + STOP Detected. + [10:10] + read-write + + + RX_RDY + Receive data ready. + [11:11] + read-only + + + TX_NFULL + TX FIFO is not full, ready to accept more data. + [12:12] + read-write + + + DYNADDR_CHG + Dynamic address changed. + [13:13] + read-write + + + CCC + CCC received. + [14:14] + read-write + + + ERRWARN + An error or warning has occurred. + [15:15] + read-only + + + CCCH_DONE + CCC Handled. + [17:17] + read-write + + + EVENT_REQ + Event Requested. + [18:18] + read-write + + + TARG_RST + Target Reset. + [19:19] + read-write + + + EVENT + Event Status. + [21:20] + read-only + + + NONE + No event. + 0 + + + REQ_PEND + Request not yet sent. + 1 + + + REQ_NACK + Request was sent and NACKed and will be tried again. + 2 + + + REQ_ACK + Request was sent and ACKed. + 3 + + + + + IBI_DIS + Indicates whether IBI events are disabled. + [24:24] + read-only + + + CONTREQ_DIS + Indicates whether bus controller request events are disabled. + [25:25] + read-only + + + HJ_DIS + Indicates whether Hot-Joinevents are disabled. + [27:27] + read-only + + + ACTSTATE + Holds the current activity state. + [29:28] + read-only + + + NORMAL + No latency, normal bus operation. + 0 + + + 1MS_LAT + 1 ms latency. + 1 + + + 100MS_LAT + 100 ms latency. + 2 + + + 10S_LAT + 10 s latency. + 3 + + + + + TIMECTRL + Time Control mode. + [31:30] + read-only + + + DIS + No timing control mode is enabled. + 0 + + + SYNC + Synchronous Mode is enabled. + 1 + + + ASYNC + Asynchronous Mode is enabled. + 2 + + + BOTH + Both synchronous and asynchronous modes are enabled. + 3 + + + + + + + TARG_CTRL1 + Target Control 1 Register. + 0x00C + + + EVENT + Sets respecive I3C target event request. + [1:0] + read-write + + + NORMAL + Normal mode. + 0 + + + IBI + Generate an IBI on the I3C bus. + 1 + + + CONTREQ + Request control of the I3C bus. + 2 + + + HJ + Generate a Hot-Join request. + 3 + + + + + EXTIBI + Indicates there are extended IBI data bytes. + [3:3] + read-write + + + DYNADDR_IDX + Index of dynamic address for the current IBI request. + [7:4] + read-write + + + IBIDATA + Contains the mandatory data byte to be sent when generating an IBI. + [15:8] + read-write + + + + + TARG_INTEN + Target Interrupt Enable Register. + 0x010 + read-write + + + START + START detected. + [8:8] + + + ADDRMATCH + Address matched interrupt. + [9:9] + + + STOP + STOP detected. + [10:10] + + + RX_RDY + Receive data ready. + [11:11] + + + TX_NFULL + Ready for transmit data, + [12:12] + + + DYNADDR_CHG + Dynamic Address Changed interrupt enable. + [13:13] + + + CCC + CCC Reveived Interrupt. + [14:14] + + + ERRWARN + Error or warning interrupt. + [15:15] + + + CCCH_DONE + CCC Handled Interrupt. + [17:17] + + + EVENT_REQ + Event Reqeusted Interrupt. + [18:18] + + + TARG_RST + I3C Target Reset Interrupt. + [19:19] + + + + + TARG_INTCLR + Target Interrupt Clear Register. + 0x014 + write-only + + + START + START detected. + [8:8] + + + ADDRMATCH + Address matched interrupt. + [9:9] + + + STOP + STOP detected. + [10:10] + + + RX_RDY + Receive data ready. + [11:11] + + + TX_NFULL + Ready for transmit data, + [12:12] + + + DYNADDR_CHG + Dynamic Address Changed interrupt enable. + [13:13] + + + CCC + CCC Reveived Interrupt. + [14:14] + + + ERRWARN + Error or warning interrupt. + [15:15] + + + CCCH_DONE + CCC Handled Interrupt. + [17:17] + + + EVENT_REQ + Event Reqeusted Interrupt. + [18:18] + + + TARG_RST + I3C Target Reset Interrupt. + [19:19] + + + + + TARG_INTFL + Target Interrupt Flag Register. + 0x018 + read-only + + + START + START detected. + [8:8] + + + ADDRMATCH + Address matched interrupt. + [9:9] + + + STOP + STOP detected. + [10:10] + + + RX_RDY + Receive data ready. + [11:11] + + + TX_NFULL + Ready for transmit data, + [12:12] + + + DYNADDR_CHG + Dynamic Address Changed interrupt enable. + [13:13] + + + CCC + CCC Reveived Interrupt. + [14:14] + + + ERRWARN + Error or warning interrupt. + [15:15] + + + CCCH_DONE + CCC Handled Interrupt. + [17:17] + + + EVENT_REQ + Event Reqeusted Interrupt. + [18:18] + + + TARG_RST + I3C Target Reset Interrupt. + [19:19] + + + + + TARG_ERRWARN + Target Error and Warning Register. + 0x01C + read-write + + + OVR + Internal FIFO overrun flag. + [0:0] + + + UNR + Internal FIFO underrun flag. + [1:1] + + + UNR_NACK + I3C or I2C mode address emitted by the IP was NACKed by the targets. + [2:2] + + + CONT_RX_TERM + Controller terminated read in message mode. + [3:3] + + + INVSTART + Invalid START. + [4:4] + + + SDR_PAR + SDR Parity Error. + [8:8] + + + TO + Timeout Error. + [11:11] + + + RX_UNR + Read data underrun. + [16:16] + + + TX_OVR + Write data overrun. + [17:17] + + + + + TARG_DMACTRL + Target DMA Control Register. + 0x020 + read-write + + + RX_EN + DMA read enable. + [1:0] + + + DIS + Disable DMA. + 0 + + + ONE_FR + Enable DMA for one frame. + 1 + + + EN + Enable DMA until disabled by setting this field to 0b00. + 2 + + + + + TX_EN + DMA write enable. + [3:2] + + + DIS + Disable DMA. + 0 + + + ONE_FR + Enable DMA for one frame. + 1 + + + EN + Enable DMA until disabled by setting this field to 0b00. + 2 + + + + + WIDTH + Selects the data width for DMA transfers. + [5:4] + + + BYTE + Byte size. + 0 + + + HALFWORD + Halfword size. + 2 + + + + + + + TARG_FIFOCTRL + Target FIFO Control Register. + 0x02C + + + TX_FLUSH + Flush TX FIFO. + [0:0] + write-only + + + RX_FLUSH + Flush RX FIFO. + [1:1] + write-only + + + UNLOCK + Unlock FIFO Triggers. + [3:3] + write-only + + + TX_THD_LVL + TX FIFO trigger level. + [5:4] + read-write + + + EMPTY + Trigger when empty. + 0 + + + QUARTER_FULL + Trigger when quarter full or less. + 1 + + + HALF_FULL + Trigger when half full or less. + 2 + + + ALMOST_FULL + Trigger when almost full or less. + 3 + + + + + RX_THD_LVL + RX FIFO trigger level. + [7:6] + read-write + + + NOT_EMPTY + Trigger when empty. + 0 + + + QUARTER_FULL + Trigger when quarter full or less. + 1 + + + HALF_FULL + Trigger when half full or less. + 2 + + + 3_QUARTER_FULL + Trigger when 3 quarters full or less. + 3 + + + + + TX_LVL + Number of messages in TX FIFO. + [21:16] + read-only + + + RX_LVL + Number of messages in RX FIFO. + [29:24] + read-only + + + TX_FULL + TX FIFO Full flag. + [30:30] + read-only + + + RX_EM + RX FIFO Empty Flag. + [31:31] + read-only + + + + + TARG_TXFIFO8 + Target Write Byte Data Register. + 0x030 + write-only + + + DATA + Data byte to send. + [7:0] + + + END + End of data. + [8:8] + + + END2 + End of data. + [16:16] + + + + + TARG_TXFIFO8E + Target Write Byte Data as End Register. + 0x034 + write-only + + + DATA + Data is read from or written to this location. Transmit and receive FIFO are separate but both are addressed at this location. + [7:0] + + + + + TARG_TXFIFO16 + Target Write Half-Word Data Register. + 0x038 + write-only + + + DATA + Data halfword to send. + [15:0] + + + END + End of data. + [16:16] + + + + + TARG_TXFIFO16E + Target Write Half-Word Data as End Register. + 0x03C + write-only + + + DATA + Data halfword to send. + [15:0] + + + + + TARG_RXFIFO8 + Target Read Byte Data Register. + 0x040 + read-only + + + DATA + Read data byte from RX FIFO. + [7:0] + + + + + TARG_RXFIFO16 + Target Read Half-Word Data Register. + 0x048 + read-only + + + DATA + Read data hyalfword from RX FIFO. + [15:0] + + + + + TARG_TXFIFO8O + Target Byte-Only Write Byte Data Register. + 0x054 + write-only + + + DATA + Data byte to send. + [7:0] + + + + + TARG_CAP0 + Target Capabilities 0 Register. + 0x05C + read-only + + + MAPCNT + Number of mapped target addresses supported. + [3:0] + + + I2C_10BADDR + I2C 10-bit address support. + [4:4] + + + I2C_SWRST + I2C Software Reset Support. + [5:5] + + + I2C_DEVID + I2C Device ID Support. + [6:6] + + + FIFO32_REG + FIFO 32 registers available. + [7:7] + + + EXTIBI + Extended IBI data support. + [8:8] + + + EXTIBI_REG + Extended IBI data register support. + [9:9] + + + HDRBT_LANES + Multi-lane support for HDR-BT mode. + [13:12] + + + CCC_V1_1 + CCC V1.1 Support. + [16:16] + + + TARG_RST + Target Reset Support. + [17:17] + + + GROUPADDR + Group address support. + [19:18] + + + AASA_CCC + SETAASA CCC Support. + [21:21] + + + T2T_SUBSC + Target-to-target subscriber support. + [22:22] + + + T2T_WR + Target-to-target write support. + [23:23] + + + + + TARG_CAP1 + TARG_Capabilities 1 Register. + 0x060 + read-only + + + PROVID + Provisioned ID implementation. + [1:0] + + + PROVID_REG + Provision ID, Bus Characteristics, Device Characteristics implementation. + [5:2] + + + HDR_MODES + Supported HDR modes. + [8:6] + + + CONT + Controller mode capable. + [9:9] + + + STATADDR + I2C-style static address implementation. + [11:10] + + + CCCH + CCC Handled by IP. + [15:12] + + + BASIC + Basic CCCs. + 1 + + + LIMITS + CCCs related to maximum transfer lengths and speed. + 2 + + + INTACT + Pending Interrupt and Activity Mode fields of GETSTATUS CCC. + 4 + + + VENDOR + Vendor Reserved field of GETSTATUS CCC. + 8 + + + + + IBI_EVENTS + Supported IBI events. + [20:16] + + + IBI + IBI support. + 1 + + + PAYLOAD + IBI has payload. + 2 + + + CONTREQ + Controller request support. + 4 + + + HJ + Hot-Join support. + 8 + + + BAMATCH + Use BAMATCH field of CONFIG register to measure 1us Bus Available timing. + 16 + + + + + TIMECTRL + Timing Control Support. + [21:21] + + + EXTFIFO + External FIFO configuration. + [25:23] + + + TXFIFO_CFG + TX FIFO configuration. + [27:26] + + + RXFIFO_CFG + RX FIFO configuration. + [29:28] + + + INTR + Interrupt support. + [30:30] + + + DMA + DMA support. + [31:31] + + + + + TARG_DYNADDR + Target Dynamic Address Register. + 0x064 + read-write + + + VALID + Address valid check. + [0:0] + + + ADDR + The assigned dynamic address. + [7:1] + + + CAUSE + Indicates how the last primary dynnamic address value change occurred. + [10:8] + + + + + TARG_MAXLIMITS + Maximum Limits Register. + 0x068 + read-write + + + RX + The maximum number of bytes that the I3C controller may read from this I3C target device per message. + [11:0] + + + TX + The maximum number of bytes that the I3C controller may write from this I3C target device per message. + [27:16] + + + + + TARG_IDEXT + ID Extension Register. + 0x070 + read-write + + + DEVCHAR + Device Characteristics Register. + [15:8] + + + BUSCHAR + Bus Characteristics Register. + [23:16] + + + + + TARG_MSGLAST + Target Matching Address Index Register. + 0x07C + read-only + + + IDX + Index or group number of last matched address. + [3:0] + + + STATADDR + Last matched address was a I2C static address. + [4:4] + + + GROUP + Last matched address was a group address. + [5:5] + + + MODE + Indicates the mode of the last access. + [7:6] + + + DYN_STAT_ADDR + I3C SDR or I2C + 0 + + + HDR_DDR + HDR-DDR. + 1 + + + HDR_BT + HDR-BT. + 2 + + + + + PREV_IDX + Index or group number of previous matched address. + [11:8] + + + PREV_GROUP + Last matched address was a previous group address. + [13:13] + + + PREV_MODE + Indicates the mode of the previous access. + [15:14] + + + DYN_STAT_ADDR + I3C SDR or I2C + 0 + + + HDR_DDR + HDR-DDR. + 1 + + + HDR_BT + HDR-BT. + 2 + + + + + SECPREV_IDX + Index or group number of secondary previous matched address. + [19:16] + + + SECPREV_GROUP + Last matched address was a secondary previous group address. + [21:21] + + + SECPREV_MODE + Indicates the mode of the secondary previous access. + [23:22] + + + DYN_STAT_ADDR + I3C SDR or I2C + 0 + + + HDR_DDR + HDR-DDR. + 1 + + + HDR_BT + HDR-BT. + 2 + + + + + + + CONT_CTRL1 + Controller Control 1 Register. + 0x084 + + + REQ + Requests an I3C or I2C bus operation. + [2:0] + read-write + + + NONE + None operation. + 0 + + + EMIT_START + Emit a START with address and read-write bit from stopped state or in the middle of an SDR message. + 1 + + + EMIT_STOP + Emit a STOP. + 2 + + + IBI_ACKNACK + Manually ACK or NACK an IBI. + 3 + + + PROCESS_DAA + Process Dynamic Address Assignment. + 4 + + + EXIT_RST + Emit HDR Exit Pattern or Target Reset pattern. + 6 + + + AUTO_IBI + Automatic IBI response. + 7 + + + + + TYPE + Controls type of operation for REQ field. + [5:4] + read-write + + + IBIRESP + Response to use when an IBI occurs. + [7:6] + read-write + + + RDWR_DIR + Direction of the transfer. + [8:8] + read-write + + + ADDR + Address to send with START. + [15:9] + read-write + + + TERM_RD + Termination count for read. + [23:16] + read-write + + + + + CONT_STATUS + Controller Status Register. + 0x088 + + + STATE + Current working state. + [2:0] + read-only + + + IDLE + Bus Idle. + 0 + + + TARG_REQ + I3C Bus i stopped and a target is holding SDA low. + 1 + + + SDR_TXSDRMSG + SDR Message Mode using SDRMSG registers. + 2 + + + SDR_NORM + Normal SDR message mode. + 3 + + + DDR + DDR Message mode + 4 + + + DAA + Dynamic Address Assignment mode. + 5 + + + IBI_ACKNACK + IP is waiting for the application to provide an ACK or NACK decision. + 6 + + + IBI_RX + IP is receiving an IBI. + 7 + + + + + WAIT + Depending on STATE, WAIT is 1 when it's waiting in an intermediary state. + [4:4] + read-only + + + NACK + Address was NACKed. + [5:5] + read-only + + + IBITYPE + The type of event for which arbitration was last won. + [7:6] + + + NONE + None. + 0 + + + IBI + In-band Interrupt. + 1 + + + CONT_REQ + Controller request. + 2 + + + HOTJOIN_REQ + Hot-Join request. + 3 + + + + + TARG_START + Target START detected. + [8:8] + + + REQ_DONE + CTRL1 Request completed. + [9:9] + read-only + + + DONE + Message completed. + [10:10] + read-write + + + RX_RDY + Receive data ready. + [11:11] + read-only + + + TX_NFULL + TX FIFO Not Full flag. + [12:12] + read-only + + + IBI_WON + IBI Arbitration won. + [13:13] + read-write + + + ERRWARN + Error or warning status. + [15:15] + read-only + + + CONT_TRANS + IP transitioned from I3C target to controller. + [19:19] + read-write + + + IBI_ADDR + The address of a received IBI or dcontroller request. + [30:24] + read-only + + + + + CONT_IBIRULES + Controller IBI Registry and Rules Register. + 0x08C + + + ADDR0 + Target 0 dynamic address. + [5:0] + read-write + + + ADDR1 + Target 1 dynamic address. + [11:6] + read-write + + + ADDR2 + Target 2 dynamic address. + [17:12] + read-write + + + ADDR3 + Target 3 dynamic address. + [23:18] + read-write + + + ADDR4 + Target 4 dynamic address. + [29:24] + read-write + + + MSB0 + Implementation of MSb for I3C dynamic addresses. + [30:30] + read-write + + + NOBYTE + Specifies the function of ADDR0 to ADDR4 + [31:31] + read-write + + + + + CONT_INTEN + Controller Interrupt Enable Register. + 0x090 + read-write + + + TARG_START + Target Start Detected. + [8:8] + + + REQ_DONE + CTRL request completed. + [9:9] + + + DONE + Message complete. + [10:10] + + + RX_RDY + Receive data ready. + [11:11] + + + TX_NFULL + Ready for transmit data, + [12:12] + + + IBI_WON + IBI arbitration won. + [13:13] + + + ERRWARN + Error or warning interrupt. + [15:15] + + + NOW_CONT + The IP transitioned from I3C bus target to I3C bus controller. + [19:19] + + + + + CONT_INTCLR + Controller Interrupt Clear Register. + 0x094 + write-only + + + TARG_START + Target Start Detected. + [8:8] + + + REQ_DONE + CTRL request completed. + [9:9] + + + DONE + Message complete. + [10:10] + + + RX_RDY + Receive data ready. + [11:11] + + + TX_NFULL + Ready for transmit data, + [12:12] + + + IBI_WON + IBI arbitration won. + [13:13] + + + ERRWARN + Error or warning interrupt. + [15:15] + + + NOW_CONT + The IP transitioned from I3C bus target to I3C bus controller. + [19:19] + + + + + CONT_INTFL + Controller Interrupt Flag Register. + 0x098 + read-only + + + TARG_START + Target Start Detected. + [8:8] + + + REQ_DONE + CTRL request completed. + [9:9] + + + DONE + Message complete. + [10:10] + + + RX_RDY + Receive data ready. + [11:11] + + + TX_NFULL + Ready for transmit data, + [12:12] + + + IBI_WON + IBI arbitration won. + [13:13] + + + ERRWARN + Error or warning interrupt. + [15:15] + + + NOW_CONT + The IP transitioned from I3C bus target to I3C bus controller. + [19:19] + + + + + CONT_ERRWARN + Controller Error and Warning Register. + 0x09C + read-write + + + NACK + I3C or I2C mode address emitted by the IP was NACKed by the targets. + [2:2] + + + TX_ABT + Write aborted due to data NACK. + [3:3] + + + RX_TERM + Controller terminated read in messaage mode. + [4:4] + + + HDR_PAR + HDR Parity Error. + [9:9] + + + HDR_CRC + HDR-DDR CRC Error. + [10:10] + + + RX_UNR + Read data underrun. + [16:16] + + + TX_OVR + Write data overrun. + [17:17] + + + MSG + Message mode error. + [18:18] + + + INV_REQ + Invalid use of request from CTRL register. + [19:19] + + + TO + Timeout error. + [20:20] + + + + + CONT_DMACTRL + Controller DMA Control Register. + 0x0A0 + read-write + + + RX_EN + DMA read enable. + [1:0] + + + DIS + Disable DMA. + 0 + + + ONE_FR + Enable DMA for one frame. + 1 + + + EN + Enable DMA until disabled by setting this field to 0b00. + 2 + + + + + TX_EN + DMA write enable. + [3:2] + + + DIS + Disable DMA. + 0 + + + ONE_FR + Enable DMA for one frame. + 1 + + + EN + Enable DMA until disabled by setting this field to 0b00. + 2 + + + + + WIDTH + Selects the data width for DMA transfers. + [5:4] + + + BYTE + Byte size. + 0 + + + HALFWORD + Halfword size. + 2 + + + + + + + CONT_FIFOCTRL + Controller FIFO Control Register. + 0x0AC + + + TX_FLUSH + Flush TX FIFO. + [0:0] + write-only + + + RX_FLUSH + Flush RX FIFO. + [1:1] + write-only + + + UNLOCK + Unlock FIFO Triggers. + [3:3] + write-only + + + TX_THD_LVL + TX FIFO trigger level. + [5:4] + read-write + + + EMPTY + Trigger when empty. + 0 + + + QUARTER_FULL + Trigger when quarter full or less. + 1 + + + HALF_FULL + Trigger when half full or less. + 2 + + + ALMOST_FULL + Trigger when almost full or less. + 3 + + + + + RX_THD_LVL + RX FIFO trigger level. + [7:6] + read-write + + + NOT_EMPTY + Trigger when empty. + 0 + + + QUARTER_FULL + Trigger when quarter full or less. + 1 + + + HALF_FULL + Trigger when half full or less. + 2 + + + 3_QUARTER_FULL + Trigger when 3 quarters full or less. + 3 + + + + + TX_LVL + Number of messages in TX FIFO. + [21:16] + read-only + + + RX_LVL + Number of messages in RX FIFO. + [29:24] + read-only + + + TX_FULL + TX FIFO Full flag. + [30:30] + read-only + + + RX_EM + RX FIFO Empty Flag. + [31:31] + read-only + + + + + CONT_TXFIFO8 + Controller Write Byte Data Register. + 0x0B0 + write-only + + + DATA + Data byte to send. + [7:0] + + + END + End of data. + [8:8] + + + END2 + End of data. + [16:16] + + + + + CONT_TXFIFO8E + Controller Write Byte Data as End Register. + 0x0B4 + write-only + + + DATA + Data is read from or written to this location. Transmit and receive FIFO are separate but both are addressed at this location. + [7:0] + + + + + CONT_TXFIFO16 + Controller Write Half-Word Data Register. + 0x0B8 + write-only + + + DATA + Data halfword to send. + [15:0] + + + END + End of data. + [16:16] + + + + + CONT_TXFIFO16E + Controller Write Half-Word Data as End Register. + 0x0BC + write-only + + + DATA + Data halfword to send. + [15:0] + + + + + CONT_RXFIFO8 + Controller Read Byte Data Register. + 0x0C0 + read-only + + + DATA + Read data byte from RX FIFO. + [7:0] + + + + + CONT_RXFIFO16 + Controller Read Half-Word Data Register. + 0x0C8 + read-only + + + DATA + Read data hyalfword from RX FIFO. + [15:0] + + + + + CONT_TXFIFO8O + Controller Byte-Only Write Byte Data Register. + 0x0CC + write-only + + + DATA + Data byte to send. + [7:0] + + + + + CONT_TXSDRMSG_CTRL + Controller Start or Continue SDR Message Register. + 0x0D0 + read-write + + + RDWR_DIR + Direction of the transfer. + [0:0] + + + ADDR + Destination address of message. + [7:1] + + + END + Select how to end message. + [8:8] + + + I2C_EN + I2C Mode Enable. + [10:10] + + + LEN + Message length in bytes. + [15:11] + + + + + CONT_TXSDRMSG_FIFO + Controller Start or Continue SDR Message Register. + 0x0D0 + write-only + + + DATA + Data for SDR write message after control information has been written. + [15:0] + + + + + CONT_RXSDRMSG + Controller Read SDR Message Data Register. + 0x0D4 + read-only + + + DATA + Data for SDR write message after control information has been written. + [15:0] + + + + + CONT_TXDDRMSG + Controller Start or Continue DDR Message Register. + 0x0D8 + write-only + + + MSG + Data, address/command, and control information. + [15:0] + + + + + CONT_RXDDR16 + Controller Read DDR Message Data Register. + 0x0DC + read-only + + + DATA + Read data (16bits). + [15:0] + + + + + CONT_DYNADDR + Controller Dynamic Address Register. + 0x0E4 + read-write + + + ADDR + The assigned dynamic address. + [7:1] + + + VALID + Address valid check. + [8:8] + + + + + TARG_GROUPDEF + Target Group Definition Register. + 0x114 + read-only - ALL - Mask of all of the pins on the port. - 0 - 32 - - - ld - GPIO port pin is in low-drive mode. - 0 - - - hd - GPIO port pin is in high-drive mode. - 1 - - + ADDR_EN + Group Address enable. + [0:0] + + + ADDR + Group Address . + [7:1] - DS1 - GPIO Drive Strength 1 Register. Each bit in this register selects the drive strength for the associated GPIO pin in this port. Refer to the Datasheet for sink/source current of GPIO pins in each mode. - 0xB4 + TARG_MAPCTRL0 + Target Primary Map Control Register. + 0x11C + read-write - ALL - Mask of all of the pins on the port. - 0 - 32 + DYNADDR_EN + Dynamic address is enabled. + [0:0] + + + DYNADDR + Dynamic address. + [7:1] + + + CAUSE + Indicates how the last primary dynamic address value change occurred. + [10:8] - PSSEL - GPIO Pull Select Mode. - 0xB8 + TARG_MAPCTRL1 + Target Map Control 1 Register. + 0x120 + read-write - ALL - Mask of all of the pins on the port. - 0 - 32 + EN + Mapped address slot is enabled. + [0:0] + + + ADDR + Static or Dynamic address. + [7:1] + + + STATADDR_EN + ADDR field contains the I2C static address if enabled. + [8:8] + + + STATADDR_10B + Contains the upper 3 bits of a 10-bit I2C Static Address. + [11:9] + + + NACK + Indicates how the last primary dynamic address value change occurred. + [12:12] - VSSEL - GPIO Voltage Select. - 0xC0 + TARG_MAPCTRL2 + Target Map Control 2 Register. + 0x124 + read-write - ALL - Mask of all of the pins on the port. - 0 - 32 + EN + Mapped address slot is enabled. + [0:0] + + + ADDR + Static or Dynamic address. + [7:1] + + + STATADDR_EN + ADDR field contains the I2C static address if enabled. + [8:8] + + + NACK + Indicates how the last primary dynamic address value change occurred. + [12:12] + + + AUTO_EN + Enable slot for automatic dynamic address assignment. + [13:13] + + + PID + Indicates how the last primary dynamic address value change occurred. + [31:14] @@ -3590,11 +6046,9 @@ - I3C0 - Improved Inter-Integrated Circuit. - I3C - 0x50018000 - 32 + ICC + Instruction Cache Controller Registers + 0x4002A000 0x00 0x1000 @@ -6301,6 +8755,12 @@ 0 1 + + RSTZ + Reset RSTZ Controller. + 1 + 1 + @@ -6323,7 +8783,7 @@ CLKSEL - Clcok Select for the RTC, System, WUT, and Timer. + Clock select for RTC, WUTs, and Timers. 0 2 @@ -6333,49 +8793,49 @@ 0 - INRO_DIV4 + INRO INRO as clock source. 1 - RTC_IN_DIV8 + EXTCLK P0.12 div 8 as clock source. 2 - ERTCO32K_EN - Enable the 32KHz ERTCO. + ERTCO_32KHZ_EN + Enable ERTCO 32KHz while ERTCO_EN. 3 1 ERTCO_EN - Enable the ERTCO. + Enable ERTCO 4KHz. 5 1 - BYPASS0 - This register is used by firmware to bypass chain of trust on a Warm Boot. + BBREG0 + Battery Back Reg0. 0x30 - BYPASS1 - This register is used by firmware to bypass chain of trust on a Warm Boot. + BBREG1 + Battery Back Reg1. 0x34 - DATA0 - Battery Back Data0 Register. Retains value in all modes. + BBDATA0 + Battery Back Data0 Register. 0x40 - DATA1 - Battery Back Data1 Register. Retains value in all modes. + BBDATA1 + Battery Back Data1 Register. 0x44 @@ -8430,6 +10890,11 @@ TS2 is selected. 0x4 + + TS3 + TS3 is selected. + 0x8 + @@ -8647,7 +11112,7 @@ TSPOL Target Select Polarity, each Target Select can have unique polarity. 16 - 3 + 4 TS0_high @@ -8664,6 +11129,11 @@ TS2 active high. 0x4 + + TS3_high + TS3 active high. + 0x8 + @@ -10191,7 +12661,7 @@ TRIMSIR - Trim System Initilazation Registers. + Trim System Initilazation Registers 0x50005400 0x00 @@ -10200,28 +12670,167 @@ - RTCX1 - RTC X1 Capacitor Setting. + RTC + RTC Trim System Initialization Register. + 0x08 + + + X1TRIM + RTC X1 Trim. + 16 + 5 + + + X2TRIM + RTC X2 Trim. + 21 + 5 + + + LOCK + Lock. + 31 + 1 + + + + + SIMO + SIMO Trim System Initialization Register. + 0x34 + read-only + + + CLKDIV + SIMO Clock Divide. + 0 + 3 + + + DIV1 + 0 + + + DIV16 + 1 + + + DIV32 + 3 + + + DIV64 + 5 + + + DIV128 + 7 + + + + + + + IPOLO + IPO Low Trim System Initialization Register. 0x3C + read-only - CAP - RTC X1 Load Capacitor Setting. + IPO_LIMITLO + IPO Low Limit Trim. 0 - 5 + 8 + + + + + CTRL + Control Trim System Initialization Register. + 0x40 + + + VDDA_LIMITLO + VDDA Low Trim Limit. + 0 + 7 + + + VDDA_LIMITHI + VDDA High Trim Limit. + 8 + 7 + + + IPO_LIMITHI + IPO High Trim Limit. + 15 + 9 + + + INRO_SEL + INRO Clock Select. + 24 + 2 + + + 8KHZ + 0 + + + 16KHZ + 1 + + + 30KHZ + 2 + + + + + INRO_TRIM + INRO Clock Trim. + 29 + 3 - RTCX2 - RTC X2 Capacitor Setting. + INRO + RTC Trim System Initialization Register. 0x44 - CAP - RTC X2 Load Capacitor Setting. + TRIM16K + INRO 16KHz Trim. 0 - 5 + 3 + + + TRIM30K + INRO 30KHz Trim. + 3 + 3 + + + LPCLKSEL + INRO Low Power Mode Clock Select. + 6 + 2 + + + 8KHZ + 0 + + + 16KHZ + 1 + + + 30KHZ + 2 + + @@ -11893,4 +14502,4 @@ - \ No newline at end of file + diff --git a/MAX/Libraries/CMSIS/Device/Maxim/MAX32657/Include/mcr_regs.h b/MAX/Libraries/CMSIS/Device/Maxim/MAX32657/Include/mcr_regs.h index 039c7940..0334c680 100644 --- a/MAX/Libraries/CMSIS/Device/Maxim/MAX32657/Include/mcr_regs.h +++ b/MAX/Libraries/CMSIS/Device/Maxim/MAX32657/Include/mcr_regs.h @@ -78,11 +78,11 @@ typedef struct { __R uint32_t rsv_0xc; __IO uint32_t ctrl; /**< \b 0x10: MCR CTRL Register */ __R uint32_t rsv_0x14_0x2f[7]; - __IO uint32_t bypass0; /**< \b 0x30: MCR BYPASS0 Register */ - __IO uint32_t bypass1; /**< \b 0x34: MCR BYPASS1 Register */ + __IO uint32_t bbreg0; /**< \b 0x30: MCR BBREG0 Register */ + __IO uint32_t bbreg1; /**< \b 0x34: MCR BBREG1 Register */ __R uint32_t rsv_0x38_0x3f[2]; - __IO uint32_t data0; /**< \b 0x40: MCR DATA0 Register */ - __IO uint32_t data1; /**< \b 0x44: MCR DATA1 Register */ + __IO uint32_t bbdata0; /**< \b 0x40: MCR BBDATA0 Register */ + __IO uint32_t bbdata1; /**< \b 0x44: MCR BBDATA1 Register */ } mxc_mcr_regs_t; /* Register offsets for module MCR */ @@ -95,10 +95,10 @@ typedef struct { #define MXC_R_MCR_RST ((uint32_t)0x00000004UL) /**< Offset from MCR Base Address: 0x0004 */ #define MXC_R_MCR_OUTEN ((uint32_t)0x00000008UL) /**< Offset from MCR Base Address: 0x0008 */ #define MXC_R_MCR_CTRL ((uint32_t)0x00000010UL) /**< Offset from MCR Base Address: 0x0010 */ -#define MXC_R_MCR_BYPASS0 ((uint32_t)0x00000030UL) /**< Offset from MCR Base Address: 0x0030 */ -#define MXC_R_MCR_BYPASS1 ((uint32_t)0x00000034UL) /**< Offset from MCR Base Address: 0x0034 */ -#define MXC_R_MCR_DATA0 ((uint32_t)0x00000040UL) /**< Offset from MCR Base Address: 0x0040 */ -#define MXC_R_MCR_DATA1 ((uint32_t)0x00000044UL) /**< Offset from MCR Base Address: 0x0044 */ +#define MXC_R_MCR_BBREG0 ((uint32_t)0x00000030UL) /**< Offset from MCR Base Address: 0x0030 */ +#define MXC_R_MCR_BBREG1 ((uint32_t)0x00000034UL) /**< Offset from MCR Base Address: 0x0034 */ +#define MXC_R_MCR_BBDATA0 ((uint32_t)0x00000040UL) /**< Offset from MCR Base Address: 0x0040 */ +#define MXC_R_MCR_BBDATA1 ((uint32_t)0x00000044UL) /**< Offset from MCR Base Address: 0x0044 */ /**@} end of group mcr_registers */ /** @@ -110,6 +110,9 @@ typedef struct { #define MXC_F_MCR_RST_BOOST_POS 0 /**< RST_BOOST Position */ #define MXC_F_MCR_RST_BOOST ((uint32_t)(0x1UL << MXC_F_MCR_RST_BOOST_POS)) /**< RST_BOOST Mask */ +#define MXC_F_MCR_RST_RSTZ_POS 1 /**< RST_RSTZ Position */ +#define MXC_F_MCR_RST_RSTZ ((uint32_t)(0x1UL << MXC_F_MCR_RST_RSTZ_POS)) /**< RST_RSTZ Mask */ + /**@} end of group MCR_RST_Register */ /** @@ -133,13 +136,13 @@ typedef struct { #define MXC_F_MCR_CTRL_CLKSEL ((uint32_t)(0x3UL << MXC_F_MCR_CTRL_CLKSEL_POS)) /**< CTRL_CLKSEL Mask */ #define MXC_V_MCR_CTRL_CLKSEL_ERTCO ((uint32_t)0x0UL) /**< CTRL_CLKSEL_ERTCO Value */ #define MXC_S_MCR_CTRL_CLKSEL_ERTCO (MXC_V_MCR_CTRL_CLKSEL_ERTCO << MXC_F_MCR_CTRL_CLKSEL_POS) /**< CTRL_CLKSEL_ERTCO Setting */ -#define MXC_V_MCR_CTRL_CLKSEL_INRO_DIV4 ((uint32_t)0x1UL) /**< CTRL_CLKSEL_INRO_DIV4 Value */ -#define MXC_S_MCR_CTRL_CLKSEL_INRO_DIV4 (MXC_V_MCR_CTRL_CLKSEL_INRO_DIV4 << MXC_F_MCR_CTRL_CLKSEL_POS) /**< CTRL_CLKSEL_INRO_DIV4 Setting */ -#define MXC_V_MCR_CTRL_CLKSEL_RTC_IN_DIV8 ((uint32_t)0x2UL) /**< CTRL_CLKSEL_RTC_IN_DIV8 Value */ -#define MXC_S_MCR_CTRL_CLKSEL_RTC_IN_DIV8 (MXC_V_MCR_CTRL_CLKSEL_RTC_IN_DIV8 << MXC_F_MCR_CTRL_CLKSEL_POS) /**< CTRL_CLKSEL_RTC_IN_DIV8 Setting */ +#define MXC_V_MCR_CTRL_CLKSEL_INRO ((uint32_t)0x1UL) /**< CTRL_CLKSEL_INRO Value */ +#define MXC_S_MCR_CTRL_CLKSEL_INRO (MXC_V_MCR_CTRL_CLKSEL_INRO << MXC_F_MCR_CTRL_CLKSEL_POS) /**< CTRL_CLKSEL_INRO Setting */ +#define MXC_V_MCR_CTRL_CLKSEL_EXTCLK ((uint32_t)0x2UL) /**< CTRL_CLKSEL_EXTCLK Value */ +#define MXC_S_MCR_CTRL_CLKSEL_EXTCLK (MXC_V_MCR_CTRL_CLKSEL_EXTCLK << MXC_F_MCR_CTRL_CLKSEL_POS) /**< CTRL_CLKSEL_EXTCLK Setting */ -#define MXC_F_MCR_CTRL_ERTCO32K_EN_POS 3 /**< CTRL_ERTCO32K_EN Position */ -#define MXC_F_MCR_CTRL_ERTCO32K_EN ((uint32_t)(0x1UL << MXC_F_MCR_CTRL_ERTCO32K_EN_POS)) /**< CTRL_ERTCO32K_EN Mask */ +#define MXC_F_MCR_CTRL_ERTCO_32KHZ_EN_POS 3 /**< CTRL_ERTCO_32KHZ_EN Position */ +#define MXC_F_MCR_CTRL_ERTCO_32KHZ_EN ((uint32_t)(0x1UL << MXC_F_MCR_CTRL_ERTCO_32KHZ_EN_POS)) /**< CTRL_ERTCO_32KHZ_EN Mask */ #define MXC_F_MCR_CTRL_ERTCO_EN_POS 5 /**< CTRL_ERTCO_EN Position */ #define MXC_F_MCR_CTRL_ERTCO_EN ((uint32_t)(0x1UL << MXC_F_MCR_CTRL_ERTCO_EN_POS)) /**< CTRL_ERTCO_EN Mask */ diff --git a/MAX/Libraries/CMSIS/Device/Maxim/MAX32657/Include/spi_regs.h b/MAX/Libraries/CMSIS/Device/Maxim/MAX32657/Include/spi_regs.h index 75860a7e..c9443d1d 100644 --- a/MAX/Libraries/CMSIS/Device/Maxim/MAX32657/Include/spi_regs.h +++ b/MAX/Libraries/CMSIS/Device/Maxim/MAX32657/Include/spi_regs.h @@ -176,6 +176,8 @@ typedef struct { #define MXC_S_SPI_CTRL0_TS_ACTIVE_TS1 (MXC_V_SPI_CTRL0_TS_ACTIVE_TS1 << MXC_F_SPI_CTRL0_TS_ACTIVE_POS) /**< CTRL0_TS_ACTIVE_TS1 Setting */ #define MXC_V_SPI_CTRL0_TS_ACTIVE_TS2 ((uint32_t)0x4UL) /**< CTRL0_TS_ACTIVE_TS2 Value */ #define MXC_S_SPI_CTRL0_TS_ACTIVE_TS2 (MXC_V_SPI_CTRL0_TS_ACTIVE_TS2 << MXC_F_SPI_CTRL0_TS_ACTIVE_POS) /**< CTRL0_TS_ACTIVE_TS2 Setting */ +#define MXC_V_SPI_CTRL0_TS_ACTIVE_TS3 ((uint32_t)0x8UL) /**< CTRL0_TS_ACTIVE_TS3 Value */ +#define MXC_S_SPI_CTRL0_TS_ACTIVE_TS3 (MXC_V_SPI_CTRL0_TS_ACTIVE_TS3 << MXC_F_SPI_CTRL0_TS_ACTIVE_POS) /**< CTRL0_TS_ACTIVE_TS3 Setting */ /**@} end of group SPI_CTRL0_Register */ @@ -256,13 +258,15 @@ typedef struct { #define MXC_F_SPI_CTRL2_THREE_WIRE ((uint32_t)(0x1UL << MXC_F_SPI_CTRL2_THREE_WIRE_POS)) /**< CTRL2_THREE_WIRE Mask */ #define MXC_F_SPI_CTRL2_TSPOL_POS 16 /**< CTRL2_TSPOL Position */ -#define MXC_F_SPI_CTRL2_TSPOL ((uint32_t)(0x7UL << MXC_F_SPI_CTRL2_TSPOL_POS)) /**< CTRL2_TSPOL Mask */ +#define MXC_F_SPI_CTRL2_TSPOL ((uint32_t)(0xFUL << MXC_F_SPI_CTRL2_TSPOL_POS)) /**< CTRL2_TSPOL Mask */ #define MXC_V_SPI_CTRL2_TSPOL_TS0_HIGH ((uint32_t)0x1UL) /**< CTRL2_TSPOL_TS0_HIGH Value */ #define MXC_S_SPI_CTRL2_TSPOL_TS0_HIGH (MXC_V_SPI_CTRL2_TSPOL_TS0_HIGH << MXC_F_SPI_CTRL2_TSPOL_POS) /**< CTRL2_TSPOL_TS0_HIGH Setting */ #define MXC_V_SPI_CTRL2_TSPOL_TS1_HIGH ((uint32_t)0x2UL) /**< CTRL2_TSPOL_TS1_HIGH Value */ #define MXC_S_SPI_CTRL2_TSPOL_TS1_HIGH (MXC_V_SPI_CTRL2_TSPOL_TS1_HIGH << MXC_F_SPI_CTRL2_TSPOL_POS) /**< CTRL2_TSPOL_TS1_HIGH Setting */ #define MXC_V_SPI_CTRL2_TSPOL_TS2_HIGH ((uint32_t)0x4UL) /**< CTRL2_TSPOL_TS2_HIGH Value */ #define MXC_S_SPI_CTRL2_TSPOL_TS2_HIGH (MXC_V_SPI_CTRL2_TSPOL_TS2_HIGH << MXC_F_SPI_CTRL2_TSPOL_POS) /**< CTRL2_TSPOL_TS2_HIGH Setting */ +#define MXC_V_SPI_CTRL2_TSPOL_TS3_HIGH ((uint32_t)0x8UL) /**< CTRL2_TSPOL_TS3_HIGH Value */ +#define MXC_S_SPI_CTRL2_TSPOL_TS3_HIGH (MXC_V_SPI_CTRL2_TSPOL_TS3_HIGH << MXC_F_SPI_CTRL2_TSPOL_POS) /**< CTRL2_TSPOL_TS3_HIGH Setting */ /**@} end of group SPI_CTRL2_Register */ diff --git a/MAX/Libraries/CMSIS/Device/Maxim/MAX32657/Include/trimsir_regs.h b/MAX/Libraries/CMSIS/Device/Maxim/MAX32657/Include/trimsir_regs.h index 63a2682e..701e00c7 100644 --- a/MAX/Libraries/CMSIS/Device/Maxim/MAX32657/Include/trimsir_regs.h +++ b/MAX/Libraries/CMSIS/Device/Maxim/MAX32657/Include/trimsir_regs.h @@ -64,7 +64,7 @@ extern "C" { * @ingroup trimsir * @defgroup trimsir_registers TRIMSIR_Registers * @brief Registers, Bit Masks and Bit Positions for the TRIMSIR Peripheral Module. - * @details Trim System Initilazation Registers. + * @details Trim System Initilazation Registers */ /** @@ -72,10 +72,14 @@ extern "C" { * Structure type to access the TRIMSIR Registers. */ typedef struct { - __R uint32_t rsv_0x0_0x3b[15]; - __IO uint32_t rtcx1; /**< \b 0x3C: TRIMSIR RTCX1 Register */ - __R uint32_t rsv_0x40; - __IO uint32_t rtcx2; /**< \b 0x44: TRIMSIR RTCX2 Register */ + __R uint32_t rsv_0x0_0x7[2]; + __IO uint32_t rtc; /**< \b 0x08: TRIMSIR RTC Register */ + __R uint32_t rsv_0xc_0x33[10]; + __I uint32_t simo; /**< \b 0x34: TRIMSIR SIMO Register */ + __R uint32_t rsv_0x38; + __I uint32_t ipolo; /**< \b 0x3C: TRIMSIR IPOLO Register */ + __IO uint32_t ctrl; /**< \b 0x40: TRIMSIR CTRL Register */ + __IO uint32_t inro; /**< \b 0x44: TRIMSIR INRO Register */ } mxc_trimsir_regs_t; /* Register offsets for module TRIMSIR */ @@ -85,31 +89,113 @@ typedef struct { * @brief TRIMSIR Peripheral Register Offsets from the TRIMSIR Base Peripheral Address. * @{ */ -#define MXC_R_TRIMSIR_RTCX1 ((uint32_t)0x0000003CUL) /**< Offset from TRIMSIR Base Address: 0x003C */ -#define MXC_R_TRIMSIR_RTCX2 ((uint32_t)0x00000044UL) /**< Offset from TRIMSIR Base Address: 0x0044 */ +#define MXC_R_TRIMSIR_RTC ((uint32_t)0x00000008UL) /**< Offset from TRIMSIR Base Address: 0x0008 */ +#define MXC_R_TRIMSIR_SIMO ((uint32_t)0x00000034UL) /**< Offset from TRIMSIR Base Address: 0x0034 */ +#define MXC_R_TRIMSIR_IPOLO ((uint32_t)0x0000003CUL) /**< Offset from TRIMSIR Base Address: 0x003C */ +#define MXC_R_TRIMSIR_CTRL ((uint32_t)0x00000040UL) /**< Offset from TRIMSIR Base Address: 0x0040 */ +#define MXC_R_TRIMSIR_INRO ((uint32_t)0x00000044UL) /**< Offset from TRIMSIR Base Address: 0x0044 */ /**@} end of group trimsir_registers */ /** * @ingroup trimsir_registers - * @defgroup TRIMSIR_RTCX1 TRIMSIR_RTCX1 - * @brief RTC X1 Capacitor Setting. + * @defgroup TRIMSIR_RTC TRIMSIR_RTC + * @brief RTC Trim System Initialization Register. * @{ */ -#define MXC_F_TRIMSIR_RTCX1_CAP_POS 0 /**< RTCX1_CAP Position */ -#define MXC_F_TRIMSIR_RTCX1_CAP ((uint32_t)(0x1FUL << MXC_F_TRIMSIR_RTCX1_CAP_POS)) /**< RTCX1_CAP Mask */ +#define MXC_F_TRIMSIR_RTC_X1TRIM_POS 16 /**< RTC_X1TRIM Position */ +#define MXC_F_TRIMSIR_RTC_X1TRIM ((uint32_t)(0x1FUL << MXC_F_TRIMSIR_RTC_X1TRIM_POS)) /**< RTC_X1TRIM Mask */ -/**@} end of group TRIMSIR_RTCX1_Register */ +#define MXC_F_TRIMSIR_RTC_X2TRIM_POS 21 /**< RTC_X2TRIM Position */ +#define MXC_F_TRIMSIR_RTC_X2TRIM ((uint32_t)(0x1FUL << MXC_F_TRIMSIR_RTC_X2TRIM_POS)) /**< RTC_X2TRIM Mask */ + +#define MXC_F_TRIMSIR_RTC_LOCK_POS 31 /**< RTC_LOCK Position */ +#define MXC_F_TRIMSIR_RTC_LOCK ((uint32_t)(0x1UL << MXC_F_TRIMSIR_RTC_LOCK_POS)) /**< RTC_LOCK Mask */ + +/**@} end of group TRIMSIR_RTC_Register */ + +/** + * @ingroup trimsir_registers + * @defgroup TRIMSIR_SIMO TRIMSIR_SIMO + * @brief SIMO Trim System Initialization Register. + * @{ + */ +#define MXC_F_TRIMSIR_SIMO_CLKDIV_POS 0 /**< SIMO_CLKDIV Position */ +#define MXC_F_TRIMSIR_SIMO_CLKDIV ((uint32_t)(0x7UL << MXC_F_TRIMSIR_SIMO_CLKDIV_POS)) /**< SIMO_CLKDIV Mask */ +#define MXC_V_TRIMSIR_SIMO_CLKDIV_DIV1 ((uint32_t)0x0UL) /**< SIMO_CLKDIV_DIV1 Value */ +#define MXC_S_TRIMSIR_SIMO_CLKDIV_DIV1 (MXC_V_TRIMSIR_SIMO_CLKDIV_DIV1 << MXC_F_TRIMSIR_SIMO_CLKDIV_POS) /**< SIMO_CLKDIV_DIV1 Setting */ +#define MXC_V_TRIMSIR_SIMO_CLKDIV_DIV16 ((uint32_t)0x1UL) /**< SIMO_CLKDIV_DIV16 Value */ +#define MXC_S_TRIMSIR_SIMO_CLKDIV_DIV16 (MXC_V_TRIMSIR_SIMO_CLKDIV_DIV16 << MXC_F_TRIMSIR_SIMO_CLKDIV_POS) /**< SIMO_CLKDIV_DIV16 Setting */ +#define MXC_V_TRIMSIR_SIMO_CLKDIV_DIV32 ((uint32_t)0x3UL) /**< SIMO_CLKDIV_DIV32 Value */ +#define MXC_S_TRIMSIR_SIMO_CLKDIV_DIV32 (MXC_V_TRIMSIR_SIMO_CLKDIV_DIV32 << MXC_F_TRIMSIR_SIMO_CLKDIV_POS) /**< SIMO_CLKDIV_DIV32 Setting */ +#define MXC_V_TRIMSIR_SIMO_CLKDIV_DIV64 ((uint32_t)0x5UL) /**< SIMO_CLKDIV_DIV64 Value */ +#define MXC_S_TRIMSIR_SIMO_CLKDIV_DIV64 (MXC_V_TRIMSIR_SIMO_CLKDIV_DIV64 << MXC_F_TRIMSIR_SIMO_CLKDIV_POS) /**< SIMO_CLKDIV_DIV64 Setting */ +#define MXC_V_TRIMSIR_SIMO_CLKDIV_DIV128 ((uint32_t)0x7UL) /**< SIMO_CLKDIV_DIV128 Value */ +#define MXC_S_TRIMSIR_SIMO_CLKDIV_DIV128 (MXC_V_TRIMSIR_SIMO_CLKDIV_DIV128 << MXC_F_TRIMSIR_SIMO_CLKDIV_POS) /**< SIMO_CLKDIV_DIV128 Setting */ + +/**@} end of group TRIMSIR_SIMO_Register */ + +/** + * @ingroup trimsir_registers + * @defgroup TRIMSIR_IPOLO TRIMSIR_IPOLO + * @brief IPO Low Trim System Initialization Register. + * @{ + */ +#define MXC_F_TRIMSIR_IPOLO_IPO_LIMITLO_POS 0 /**< IPOLO_IPO_LIMITLO Position */ +#define MXC_F_TRIMSIR_IPOLO_IPO_LIMITLO ((uint32_t)(0xFFUL << MXC_F_TRIMSIR_IPOLO_IPO_LIMITLO_POS)) /**< IPOLO_IPO_LIMITLO Mask */ + +/**@} end of group TRIMSIR_IPOLO_Register */ /** * @ingroup trimsir_registers - * @defgroup TRIMSIR_RTCX2 TRIMSIR_RTCX2 - * @brief RTC X2 Capacitor Setting. + * @defgroup TRIMSIR_CTRL TRIMSIR_CTRL + * @brief Control Trim System Initialization Register. * @{ */ -#define MXC_F_TRIMSIR_RTCX2_CAP_POS 0 /**< RTCX2_CAP Position */ -#define MXC_F_TRIMSIR_RTCX2_CAP ((uint32_t)(0x1FUL << MXC_F_TRIMSIR_RTCX2_CAP_POS)) /**< RTCX2_CAP Mask */ +#define MXC_F_TRIMSIR_CTRL_VDDA_LIMITLO_POS 0 /**< CTRL_VDDA_LIMITLO Position */ +#define MXC_F_TRIMSIR_CTRL_VDDA_LIMITLO ((uint32_t)(0x7FUL << MXC_F_TRIMSIR_CTRL_VDDA_LIMITLO_POS)) /**< CTRL_VDDA_LIMITLO Mask */ + +#define MXC_F_TRIMSIR_CTRL_VDDA_LIMITHI_POS 8 /**< CTRL_VDDA_LIMITHI Position */ +#define MXC_F_TRIMSIR_CTRL_VDDA_LIMITHI ((uint32_t)(0x7FUL << MXC_F_TRIMSIR_CTRL_VDDA_LIMITHI_POS)) /**< CTRL_VDDA_LIMITHI Mask */ + +#define MXC_F_TRIMSIR_CTRL_IPO_LIMITHI_POS 15 /**< CTRL_IPO_LIMITHI Position */ +#define MXC_F_TRIMSIR_CTRL_IPO_LIMITHI ((uint32_t)(0x1FFUL << MXC_F_TRIMSIR_CTRL_IPO_LIMITHI_POS)) /**< CTRL_IPO_LIMITHI Mask */ + +#define MXC_F_TRIMSIR_CTRL_INRO_SEL_POS 24 /**< CTRL_INRO_SEL Position */ +#define MXC_F_TRIMSIR_CTRL_INRO_SEL ((uint32_t)(0x3UL << MXC_F_TRIMSIR_CTRL_INRO_SEL_POS)) /**< CTRL_INRO_SEL Mask */ +#define MXC_V_TRIMSIR_CTRL_INRO_SEL_8KHZ ((uint32_t)0x0UL) /**< CTRL_INRO_SEL_8KHZ Value */ +#define MXC_S_TRIMSIR_CTRL_INRO_SEL_8KHZ (MXC_V_TRIMSIR_CTRL_INRO_SEL_8KHZ << MXC_F_TRIMSIR_CTRL_INRO_SEL_POS) /**< CTRL_INRO_SEL_8KHZ Setting */ +#define MXC_V_TRIMSIR_CTRL_INRO_SEL_16KHZ ((uint32_t)0x1UL) /**< CTRL_INRO_SEL_16KHZ Value */ +#define MXC_S_TRIMSIR_CTRL_INRO_SEL_16KHZ (MXC_V_TRIMSIR_CTRL_INRO_SEL_16KHZ << MXC_F_TRIMSIR_CTRL_INRO_SEL_POS) /**< CTRL_INRO_SEL_16KHZ Setting */ +#define MXC_V_TRIMSIR_CTRL_INRO_SEL_30KHZ ((uint32_t)0x2UL) /**< CTRL_INRO_SEL_30KHZ Value */ +#define MXC_S_TRIMSIR_CTRL_INRO_SEL_30KHZ (MXC_V_TRIMSIR_CTRL_INRO_SEL_30KHZ << MXC_F_TRIMSIR_CTRL_INRO_SEL_POS) /**< CTRL_INRO_SEL_30KHZ Setting */ + +#define MXC_F_TRIMSIR_CTRL_INRO_TRIM_POS 29 /**< CTRL_INRO_TRIM Position */ +#define MXC_F_TRIMSIR_CTRL_INRO_TRIM ((uint32_t)(0x7UL << MXC_F_TRIMSIR_CTRL_INRO_TRIM_POS)) /**< CTRL_INRO_TRIM Mask */ -/**@} end of group TRIMSIR_RTCX2_Register */ +/**@} end of group TRIMSIR_CTRL_Register */ + +/** + * @ingroup trimsir_registers + * @defgroup TRIMSIR_INRO TRIMSIR_INRO + * @brief RTC Trim System Initialization Register. + * @{ + */ +#define MXC_F_TRIMSIR_INRO_TRIM16K_POS 0 /**< INRO_TRIM16K Position */ +#define MXC_F_TRIMSIR_INRO_TRIM16K ((uint32_t)(0x7UL << MXC_F_TRIMSIR_INRO_TRIM16K_POS)) /**< INRO_TRIM16K Mask */ + +#define MXC_F_TRIMSIR_INRO_TRIM30K_POS 3 /**< INRO_TRIM30K Position */ +#define MXC_F_TRIMSIR_INRO_TRIM30K ((uint32_t)(0x7UL << MXC_F_TRIMSIR_INRO_TRIM30K_POS)) /**< INRO_TRIM30K Mask */ + +#define MXC_F_TRIMSIR_INRO_LPCLKSEL_POS 6 /**< INRO_LPCLKSEL Position */ +#define MXC_F_TRIMSIR_INRO_LPCLKSEL ((uint32_t)(0x3UL << MXC_F_TRIMSIR_INRO_LPCLKSEL_POS)) /**< INRO_LPCLKSEL Mask */ +#define MXC_V_TRIMSIR_INRO_LPCLKSEL_8KHZ ((uint32_t)0x0UL) /**< INRO_LPCLKSEL_8KHZ Value */ +#define MXC_S_TRIMSIR_INRO_LPCLKSEL_8KHZ (MXC_V_TRIMSIR_INRO_LPCLKSEL_8KHZ << MXC_F_TRIMSIR_INRO_LPCLKSEL_POS) /**< INRO_LPCLKSEL_8KHZ Setting */ +#define MXC_V_TRIMSIR_INRO_LPCLKSEL_16KHZ ((uint32_t)0x1UL) /**< INRO_LPCLKSEL_16KHZ Value */ +#define MXC_S_TRIMSIR_INRO_LPCLKSEL_16KHZ (MXC_V_TRIMSIR_INRO_LPCLKSEL_16KHZ << MXC_F_TRIMSIR_INRO_LPCLKSEL_POS) /**< INRO_LPCLKSEL_16KHZ Setting */ +#define MXC_V_TRIMSIR_INRO_LPCLKSEL_30KHZ ((uint32_t)0x2UL) /**< INRO_LPCLKSEL_30KHZ Value */ +#define MXC_S_TRIMSIR_INRO_LPCLKSEL_30KHZ (MXC_V_TRIMSIR_INRO_LPCLKSEL_30KHZ << MXC_F_TRIMSIR_INRO_LPCLKSEL_POS) /**< INRO_LPCLKSEL_30KHZ Setting */ + +/**@} end of group TRIMSIR_INRO_Register */ #ifdef __cplusplus } diff --git a/MAX/Libraries/CMSIS/Device/Maxim/MAX32665/Include/dma_regs.h b/MAX/Libraries/CMSIS/Device/Maxim/MAX32665/Include/dma_regs.h index 5e11de9b..630c490b 100644 --- a/MAX/Libraries/CMSIS/Device/Maxim/MAX32665/Include/dma_regs.h +++ b/MAX/Libraries/CMSIS/Device/Maxim/MAX32665/Include/dma_regs.h @@ -88,7 +88,7 @@ typedef struct { __IO uint32_t cn; /**< \b 0x000: DMA CN Register */ __I uint32_t intr; /**< \b 0x004: DMA INTR Register */ __R uint32_t rsv_0x8_0xff[62]; - __IO mxc_dma_ch_regs_t ch[8]; /**< \b 0x100: DMA CH Register */ + __IO mxc_dma_ch_regs_t ch[8]; /**< \b 0x100: DMA CH Register */ } mxc_dma_regs_t; /* Register offsets for module DMA */ diff --git a/MAX/Libraries/CMSIS/Device/Maxim/MAX32665/Include/max32665.svd b/MAX/Libraries/CMSIS/Device/Maxim/MAX32665/Include/max32665.svd index 8f1abdaf..0972ba6c 100644 --- a/MAX/Libraries/CMSIS/Device/Maxim/MAX32665/Include/max32665.svd +++ b/MAX/Libraries/CMSIS/Device/Maxim/MAX32665/Include/max32665.svd @@ -4336,13 +4336,13 @@ LDOTXBYPENENDLY - LDOTX Bypass Enable Delay + LDORX Bypass Enable Delay 14 1 LDORXBYPENENDLY - LDORX Bypass Enable Delay + LDOTX Bypass Enable Delay 15 1 diff --git a/MAX/Libraries/CMSIS/Device/Maxim/MAX32672/Include/max32672.h b/MAX/Libraries/CMSIS/Device/Maxim/MAX32672/Include/max32672.h index 604e6d57..f4c0d699 100644 --- a/MAX/Libraries/CMSIS/Device/Maxim/MAX32672/Include/max32672.h +++ b/MAX/Libraries/CMSIS/Device/Maxim/MAX32672/Include/max32672.h @@ -29,6 +29,13 @@ #include +// TODO(ADI): Remove below after grace period. Temporarily added these includes to resolve errors +// for grace period before eventually removing support for deprecated features. 10-24-2022 +//>>> +#include "trimsir_regs.h" +#include "aes_regs.h" +//<<< + #ifndef FALSE #define FALSE (0) #endif @@ -307,6 +314,10 @@ typedef enum { #define MXC_BASE_AES ((uint32_t)0x40207400UL) #define MXC_AES ((mxc_aes_regs_t *)MXC_BASE_AES) +// DEPRECATED(10-24-2022): Scheduled for removal. +typedef __attribute__((deprecated( + "Use MXC_AES (mxc_aes_regs_t), not the deprecated MXC_SYS_AES (mxc_sys_aes_regs_t) instance name and struct. 10-24-2022"))) +mxc_aes_regs_t mxc_sys_aes_regs_t; #define MXC_SYS_AES ((mxc_sys_aes_regs_t *)MXC_BASE_AES) /******************************************************************************/ diff --git a/MAX/Libraries/PeriphDrivers/Include/MAX32657/gpio.h b/MAX/Libraries/PeriphDrivers/Include/MAX32657/gpio.h index 2c076b28..db68a95e 100644 --- a/MAX/Libraries/PeriphDrivers/Include/MAX32657/gpio.h +++ b/MAX/Libraries/PeriphDrivers/Include/MAX32657/gpio.h @@ -151,10 +151,10 @@ typedef enum { */ typedef enum { MXC_GPIO_PAD_NONE, /**< No pull-up or pull-down */ + MXC_GPIO_PAD_PULL_UP, /**< Set pad to strong pull-up */ + MXC_GPIO_PAD_PULL_DOWN, /**< Set pad to strong pull-down */ MXC_GPIO_PAD_WEAK_PULL_UP, /**< Set pad to weak pull-up */ - MXC_GPIO_PAD_WEAK_PULL_DOWN, /**< Set pad to weak pull-down */ - MXC_GPIO_PAD_PULL_UP = MXC_GPIO_PAD_WEAK_PULL_UP, /**< Set pad to default (weak) pull-up */ - MXC_GPIO_PAD_PULL_DOWN = MXC_GPIO_PAD_WEAK_PULL_DOWN /**< Set pad to default (weak) pull-down */ + MXC_GPIO_PAD_WEAK_PULL_DOWN /**< Set pad to weak pull-down */ } mxc_gpio_pad_t; /** diff --git a/MAX/Libraries/PeriphDrivers/Source/GPIO/gpio_me14.c b/MAX/Libraries/PeriphDrivers/Source/GPIO/gpio_me14.c index 38e489f1..8caa986a 100644 --- a/MAX/Libraries/PeriphDrivers/Source/GPIO/gpio_me14.c +++ b/MAX/Libraries/PeriphDrivers/Source/GPIO/gpio_me14.c @@ -133,12 +133,7 @@ int MXC_GPIO_Config(const mxc_gpio_cfg_t *cfg) return E_BAD_PARAM; } - // Configure the drive strength - if (cfg->func == MXC_GPIO_FUNC_IN) { - return E_NO_ERROR; - } else { - return MXC_GPIO_SetDriveStrength(gpio, cfg->drvstr, cfg->mask); - } + return E_NO_ERROR; } /* ************************************************************************** */ diff --git a/MAX/Libraries/PeriphDrivers/Source/GPIO/gpio_me30.c b/MAX/Libraries/PeriphDrivers/Source/GPIO/gpio_me30.c index 335e2a3d..c7e07a07 100644 --- a/MAX/Libraries/PeriphDrivers/Source/GPIO/gpio_me30.c +++ b/MAX/Libraries/PeriphDrivers/Source/GPIO/gpio_me30.c @@ -96,16 +96,33 @@ int MXC_GPIO_Config(const mxc_gpio_cfg_t *cfg) // Configure the pad switch (cfg->pad) { case MXC_GPIO_PAD_NONE: - gpio->padctrl &= ~cfg->mask; + gpio->padctrl0 &= ~cfg->mask; + gpio->padctrl1 &= ~cfg->mask; break; + // Note: for "ps" field set 1 for weak and 0 for strong. + // As of 8-28-2024 most UG tables have this flipped the wrong way case MXC_GPIO_PAD_WEAK_PULL_UP: - gpio->padctrl |= cfg->mask; + gpio->padctrl0 |= cfg->mask; + gpio->padctrl1 &= ~cfg->mask; gpio->pssel |= cfg->mask; break; + case MXC_GPIO_PAD_PULL_UP: + gpio->padctrl0 |= cfg->mask; + gpio->padctrl1 &= ~cfg->mask; + gpio->pssel &= ~cfg->mask; + break; + case MXC_GPIO_PAD_WEAK_PULL_DOWN: - gpio->padctrl |= cfg->mask; + gpio->padctrl0 &= ~cfg->mask; + gpio->padctrl1 |= cfg->mask; + gpio->pssel |= cfg->mask; + break; + + case MXC_GPIO_PAD_PULL_DOWN: + gpio->padctrl0 &= ~cfg->mask; + gpio->padctrl1 |= cfg->mask; gpio->pssel &= ~cfg->mask; break; diff --git a/MAX/Libraries/PeriphDrivers/Source/GPIO/gpio_reva_me30.svd b/MAX/Libraries/PeriphDrivers/Source/GPIO/gpio_reva_me30.svd index a9a08a0a..2020a611 100644 --- a/MAX/Libraries/PeriphDrivers/Source/GPIO/gpio_reva_me30.svd +++ b/MAX/Libraries/PeriphDrivers/Source/GPIO/gpio_reva_me30.svd @@ -443,8 +443,8 @@ - PADCTRL - GPIO Pad Control. Each bit in this register configures the pad for the associated GPIO pin in this port. + PADCTRL0 + GPIO Input Mode Config 0. Each bit in this register enables the weak pull-up for the associated GPIO pin in this port. 0x60 @@ -472,6 +472,36 @@ + + PADCTRL1 + GPIO Input Mode Config 1. Each bit in this register enables the weak pull-up for the associated GPIO pin in this port. + 0x64 + + + ALL + The two bits in GPIO_PADCTRL0 and GPIO_PADCTRL1 for each GPIO pin work together to determine the pad mode when the GPIO is set to input mode. + 0 + 32 + + + impedance + High Impedance. + 0 + + + pu + Weak pull-up mode. + 1 + + + pd + weak pull-down mode. + 2 + + + + + EN1 GPIO Alternate Function Enable Register. Each bit in this register selects between primary/secondary functions for the associated GPIO pin in this port. diff --git a/MAX/Libraries/PeriphDrivers/Source/LP/lp_me12.c b/MAX/Libraries/PeriphDrivers/Source/LP/lp_me12.c index ead2ecec..3b2c9a93 100644 --- a/MAX/Libraries/PeriphDrivers/Source/LP/lp_me12.c +++ b/MAX/Libraries/PeriphDrivers/Source/LP/lp_me12.c @@ -58,7 +58,7 @@ void MXC_LP_EnterBackupMode(void) // Should never reach this line - device will jump to backup vector on exit from background mode. } -void MXC_LP_EnterShutDownMode(void) +void MXC_LP_EnterPowerDownMode(void) { MXC_GCR->pm &= ~MXC_F_GCR_PM_MODE; MXC_GCR->pm |= MXC_S_GCR_PM_MODE_SHUTDOWN; diff --git a/MAX/Libraries/PeriphDrivers/Source/RTC/rtc_me30.c b/MAX/Libraries/PeriphDrivers/Source/RTC/rtc_me30.c index 313a1012..c8fe6636 100644 --- a/MAX/Libraries/PeriphDrivers/Source/RTC/rtc_me30.c +++ b/MAX/Libraries/PeriphDrivers/Source/RTC/rtc_me30.c @@ -151,10 +151,13 @@ int MXC_RTC_GetBusyFlag(void) return MXC_RTC_RevA_GetBusyFlag((mxc_rtc_reva_regs_t *)MXC_RTC); } -// TODO(SW): TRIMSIR RTC X1/X2 register descriptions were updated due to design changes. -// CAP vs TRIM value differences unknown, and this function has not been tested. int MXC_RTC_TrimCrystal(void) { +#if TARGET_NUM == 78000 + /* MAX78000 does not have the ERFO clock which the Trim function requires */ + return E_NOT_SUPPORTED; +#endif + unsigned int search_step, elapsed; unsigned int upper, lower, trim, oldtrim, bestTrim, bestElapsed, bestElapsedDiff; unsigned int freq = NOM_32K_FREQ; @@ -206,10 +209,10 @@ int MXC_RTC_TrimCrystal(void) } /* Set the trim values */ - MXC_SETFIELD(MXC_TRIMSIR->rtcx1, MXC_F_TRIMSIR_RTCX1_CAP, - (trim << MXC_F_TRIMSIR_RTCX1_CAP_POS)); - MXC_SETFIELD(MXC_TRIMSIR->rtcx2, MXC_F_TRIMSIR_RTCX2_CAP, - (trim << MXC_F_TRIMSIR_RTCX2_CAP_POS)); + MXC_SETFIELD(MXC_TRIMSIR->rtc, MXC_F_TRIMSIR_RTC_X1TRIM, + (trim << MXC_F_TRIMSIR_RTC_X1TRIM_POS)); + MXC_SETFIELD(MXC_TRIMSIR->rtc, MXC_F_TRIMSIR_RTC_X2TRIM, + (trim << MXC_F_TRIMSIR_RTC_X2TRIM_POS)); /* Sleep to settle new caps */ MXC_Delay(MXC_DELAY_MSEC(10)); @@ -260,10 +263,10 @@ int MXC_RTC_TrimCrystal(void) } /* Apply the closest trim setting */ - MXC_SETFIELD(MXC_TRIMSIR->rtcx1, MXC_F_TRIMSIR_RTCX1_CAP, - (bestTrim << MXC_F_TRIMSIR_RTCX1_CAP_POS)); - MXC_SETFIELD(MXC_TRIMSIR->rtcx2, MXC_F_TRIMSIR_RTCX2_CAP, - (bestTrim << MXC_F_TRIMSIR_RTCX2_CAP_POS)); + MXC_SETFIELD(MXC_TRIMSIR->rtc, MXC_F_TRIMSIR_RTC_X1TRIM, + (bestTrim << MXC_F_TRIMSIR_RTC_X1TRIM_POS)); + MXC_SETFIELD(MXC_TRIMSIR->rtc, MXC_F_TRIMSIR_RTC_X2TRIM, + (bestTrim << MXC_F_TRIMSIR_RTC_X2TRIM_POS)); /* Adjust 32K freq if we can't get close enough to 32768 Hz */ if (bestElapsed >= SEARCH_TARGET) { diff --git a/MAX/Libraries/PeriphDrivers/Source/SDHC/sdhc_ai87.c b/MAX/Libraries/PeriphDrivers/Source/SDHC/sdhc_ai87.c index 45e710c7..aed74ee5 100644 --- a/MAX/Libraries/PeriphDrivers/Source/SDHC/sdhc_ai87.c +++ b/MAX/Libraries/PeriphDrivers/Source/SDHC/sdhc_ai87.c @@ -46,7 +46,6 @@ unsigned int MXC_SDHC_Get_Clock_Config(void) /* ************************************************************************** */ int MXC_SDHC_Init(const mxc_sdhc_cfg_t *cfg) { -#ifndef MSDK_NO_GPIO_CLK_INIT mxc_gpio_regs_t *gpio = gpio_cfg_sdhc.port; // Startup the IPO clock if it's not on already @@ -63,7 +62,6 @@ int MXC_SDHC_Init(const mxc_sdhc_cfg_t *cfg) gpio->ds0 |= gpio_cfg_sdhc.mask; MXC_GPIO_Config(&gpio_cfg_sdhc); -#endif return MXC_SDHC_RevA_Init((mxc_sdhc_reva_regs_t *)MXC_SDHC, cfg); } diff --git a/MAX/Libraries/PeriphDrivers/Source/SDHC/sdhc_me10.c b/MAX/Libraries/PeriphDrivers/Source/SDHC/sdhc_me10.c index a7b54a61..a50a1597 100644 --- a/MAX/Libraries/PeriphDrivers/Source/SDHC/sdhc_me10.c +++ b/MAX/Libraries/PeriphDrivers/Source/SDHC/sdhc_me10.c @@ -37,7 +37,6 @@ /* ************************************************************************** */ int MXC_SDHC_Init(const mxc_sdhc_cfg_t *cfg) { -#ifndef MSDK_NO_GPIO_CLK_INIT MXC_SYS_ClockEnable(MXC_SYS_PERIPH_CLOCK_SDHC); MXC_GPIO_Config(&gpio_cfg_sdhc_0); @@ -45,7 +44,6 @@ int MXC_SDHC_Init(const mxc_sdhc_cfg_t *cfg) gpio_cfg_sdhc_1.port->vssel |= gpio_cfg_sdhc_1.mask; gpio_cfg_sdhc_0.port->ds_sel0 |= gpio_cfg_sdhc_0.mask; gpio_cfg_sdhc_1.port->ds_sel0 |= gpio_cfg_sdhc_1.mask; -#endif return MXC_SDHC_RevA_Init((mxc_sdhc_reva_regs_t *)MXC_SDHC, cfg); } diff --git a/MAX/Libraries/PeriphDrivers/Source/SDHC/sdhc_me13.c b/MAX/Libraries/PeriphDrivers/Source/SDHC/sdhc_me13.c index 4b4cd58b..96c1d99a 100644 --- a/MAX/Libraries/PeriphDrivers/Source/SDHC/sdhc_me13.c +++ b/MAX/Libraries/PeriphDrivers/Source/SDHC/sdhc_me13.c @@ -45,7 +45,6 @@ unsigned int MXC_SDHC_Get_Clock_Config(void) /* ************************************************************************** */ int MXC_SDHC_Init(const mxc_sdhc_cfg_t *cfg) { -#ifndef MSDK_NO_GPIO_CLK_INIT mxc_gpio_regs_t *gpio = gpio_cfg_sdhc.port; // Startup the HIRC96M clock if it's not on already @@ -62,8 +61,6 @@ int MXC_SDHC_Init(const mxc_sdhc_cfg_t *cfg) gpio->ds |= gpio_cfg_sdhc.mask; MXC_GPIO_Config(&gpio_cfg_sdhc); -#endif - return MXC_SDHC_RevA_Init((mxc_sdhc_reva_regs_t *)MXC_SDHC, cfg); } diff --git a/MAX/Libraries/PeriphDrivers/Source/SDHC/sdhc_me14.c b/MAX/Libraries/PeriphDrivers/Source/SDHC/sdhc_me14.c index 41332259..fb96f3fa 100644 --- a/MAX/Libraries/PeriphDrivers/Source/SDHC/sdhc_me14.c +++ b/MAX/Libraries/PeriphDrivers/Source/SDHC/sdhc_me14.c @@ -46,7 +46,6 @@ unsigned int MXC_SDHC_Get_Clock_Config(void) /* ************************************************************************** */ int MXC_SDHC_Init(const mxc_sdhc_cfg_t *cfg) { -#ifndef MSDK_NO_GPIO_CLK_INIT mxc_gpio_regs_t *gpio = gpio_cfg_sdhc.port; // Startup the HIRC96M clock if it's not on already @@ -63,8 +62,6 @@ int MXC_SDHC_Init(const mxc_sdhc_cfg_t *cfg) gpio->ds0 |= gpio_cfg_sdhc.mask; MXC_GPIO_Config(&gpio_cfg_sdhc); -#endif - return MXC_SDHC_RevA_Init((mxc_sdhc_reva_regs_t *)MXC_SDHC, cfg); } diff --git a/MAX/Libraries/PeriphDrivers/Source/SPI/spi_reva_me30.svd b/MAX/Libraries/PeriphDrivers/Source/SPI/spi_reva_me30.svd index d8917410..2f6efe41 100644 --- a/MAX/Libraries/PeriphDrivers/Source/SPI/spi_reva_me30.svd +++ b/MAX/Libraries/PeriphDrivers/Source/SPI/spi_reva_me30.svd @@ -177,6 +177,11 @@ TS2 is selected. 0x4 + + TS3 + TS3 is selected. + 0x8 + @@ -394,7 +399,7 @@ TSPOL Target Select Polarity, each Target Select can have unique polarity. 16 - 3 + 4 TS0_high @@ -411,6 +416,11 @@ TS2 active high. 0x4 + + TS3_high + TS3 active high. + 0x8 + diff --git a/MAX/Libraries/PeriphDrivers/Source/SYS/SVD/fcr_me30.svd b/MAX/Libraries/PeriphDrivers/Source/SYS/SVD/fcr_me30.svd index 005effeb..b40c329b 100644 --- a/MAX/Libraries/PeriphDrivers/Source/SYS/SVD/fcr_me30.svd +++ b/MAX/Libraries/PeriphDrivers/Source/SYS/SVD/fcr_me30.svd @@ -288,32 +288,6 @@ - - ERFOCTRL - ERFO Control Register. - 0x24 - read-write - - - CAP_X1 - Load capacitor tuning bit for X1. - 0 - 7 - - - CAP_X2 - Load capacitor tuning bit for X2. - 7 - 7 - - - CAP_BYPASS - Bypass (disable) load capacitors. - 14 - 1 - - - FRQCNTCTRL Frequency Counter Control Register. diff --git a/MAX/Libraries/PeriphDrivers/Source/SYS/SVD/gcr_me14.svd b/MAX/Libraries/PeriphDrivers/Source/SYS/SVD/gcr_me14.svd index f147d782..52a915dc 100644 --- a/MAX/Libraries/PeriphDrivers/Source/SYS/SVD/gcr_me14.svd +++ b/MAX/Libraries/PeriphDrivers/Source/SYS/SVD/gcr_me14.svd @@ -1864,281 +1864,281 @@ BTLE LDO Control Register 0x74 - - LDORXEN - LDORX Enable - 0 - 1 - - - dis - disabled. - 0 - - - en - enabled. - 1 - - - - - LDORXOPULLD - LDORX PULL Disable - 1 - 1 - - - en - enabled. - 0 - - - dis - disabled. - 1 - - - - - LDORXVSEL - LDORX Voltage Setting - 2 - 2 - - - 0_85 - 0.85V - 0 - - - 0_9 - 0.9V - 1 - - - 1_0 - 1.0V - 2 - - - 1_1 - 1.1V - 3 - - - - - LDOTXEN - LDOTX Enable - 4 - 1 - - - dis - disabled. - 0 - - - en - enabled. - 1 - - - - - LDOTXPULLD - LDOTX Pulldown - 5 - 1 - - - en - enabled. - 0 - - - dis - disabled. - 1 - - - - - LDOTXVSEL - LDOTX Output Voltage Setting - 6 - 2 - - - 0_85 - 0.85V - 0 - - - 0_9 - 0.9V - 1 - - - 1_0 - 1.0V - 2 - - - 1_1 - 1.1V - 3 - - - - - LDOTXBYP - LDOTX Bypass Enable - 8 - 1 - - - dis - disabled. - 0 - - - en - enabled. - 1 - - - - - LDOTXDISCH - LDOTX Discharge - 9 - 1 - - - dis - disabled. - 0 - - - en - enabled. - 1 - - - - - LDORXBYP - LDORX Bypass Enable - 10 - 1 - - - dis - disabled. - 0 - - - en - enabled. - 1 - - - - - LDORXDISCH - LDORX Discharge - 11 - 1 - - - dis - disabled. - 0 - - - en - enabled. - 1 - - - - - LDORXENDLY - LDORX Enable Delay - 12 - 1 - - - dis - disabled. - 0 - - - en - enabled. - 1 - - - - - LDOTXENDLY - LDOTX Enable Delay - 13 - 1 - - - dis - disabled. - 0 - - - en - enabled. - 1 - - - - - LDOTXBYPENENDLY - LDOTX Bypass Enable Delay - 14 - 1 - - - LDORXBYPENENDLY - LDORX Bypass Enable Delay - 15 - 1 - + + LDORXEN + LDORX Enable + 0 + 1 + + + dis + disabled. + 0 + + + en + enabled. + 1 + + + + + LDORXOPULLD + LDORX PULL Disable + 1 + 1 + + + en + enabled. + 0 + + + dis + disabled. + 1 + + + + + LDORXVSEL + LDORX Voltage Setting + 2 + 2 + + + 0_85 + 0.85V + 0 + + + 0_9 + 0.9V + 1 + + + 1_0 + 1.0V + 2 + + + 1_1 + 1.1V + 3 + + + + + LDOTXEN + LDOTX Enable + 4 + 1 + + + dis + disabled. + 0 + + + en + enabled. + 1 + + + + + LDOTXPULLD + LDOTX Pulldown + 5 + 1 + + + en + enabled. + 0 + + + dis + disabled. + 1 + + + + + LDOTXVSEL + LDOTX Output Voltage Setting + 6 + 2 + + + 0_85 + 0.85V + 0 + + + 0_9 + 0.9V + 1 + + + 1_0 + 1.0V + 2 + + + 1_1 + 1.1V + 3 + + + + + LDOTXBYP + LDOTX Bypass Enable + 8 + 1 + + + dis + disabled. + 0 + + + en + enabled. + 1 + + + + + LDOTXDISCH + LDOTX Discharge + 9 + 1 + + + dis + disabled. + 0 + + + en + enabled. + 1 + + + + + LDORXBYP + LDORX Bypass Enable + 10 + 1 + + + dis + disabled. + 0 + + + en + enabled. + 1 + + + + + LDORXDISCH + LDORX Discharge + 11 + 1 + + + dis + disabled. + 0 + + + en + enabled. + 1 + + + + + LDORXENDLY + LDORX Enable Delay + 12 + 1 + + + dis + disabled. + 0 + + + en + enabled. + 1 + + + + + LDOTXENDLY + LDOTX Enable Delay + 13 + 1 + + + dis + disabled. + 0 + + + en + enabled. + 1 + + + + + LDOTXBYPENENDLY + LDORX Bypass Enable Delay + 14 + 1 + + + LDORXBYPENENDLY + LDOTX Bypass Enable Delay + 15 + 1 + - - + + BTLE_LDODCR BTLE LDO Delay Register 0x78 - - BYPDLYCNT - Bypass Delay Count. Count delay base on PCLK. - 0 - 8 - - - LDOTXDLYCNT - LDOTX Delay Count. Count delay base on PCLK/128. - 8 - 9 - - - LDORXDLYCNT - LDORX Delay Count. Count delay base on PCLK/128. - 20 - 9 - + + BYPDLYCNT + Bypass Delay Count. Count delay base on PCLK. + 0 + 8 + + + LDOTXDLYCNT + LDOTX Delay Count. Count delay base on PCLK/128. + 8 + 9 + + + LDORXDLYCNT + LDORX Delay Count. Count delay base on PCLK/128. + 20 + 9 + - + GP0 General Purpose Register 0 diff --git a/MAX/Libraries/PeriphDrivers/Source/SYS/SVD/gcr_me30.svd b/MAX/Libraries/PeriphDrivers/Source/SYS/SVD/gcr_me30.svd index a580c6ad..b499495b 100644 --- a/MAX/Libraries/PeriphDrivers/Source/SYS/SVD/gcr_me30.svd +++ b/MAX/Libraries/PeriphDrivers/Source/SYS/SVD/gcr_me30.svd @@ -880,86 +880,86 @@ 0x74 - BB_EN - LDO BB enable. + RF_EN + LDO RF enable. 0 1 - BB_PD_EN - LDO BB Pull Down. + RF_PD_EN + LDO RF Pull Down. 1 1 - BB_VSEL - Voltage Selection for BB LDO. + RF_VSEL + Voltage Selection for RF LDO 2 2 - RF_EN - LDO RF enable. + BB_EN + LDOBB enable. 4 1 - RF_PD_EN - LDO RF Pull DOwn. + BB_PD_EN + LDO BB Pull DOwn. 5 1 - RF_VSEL - LDO RF Voltage Setting. + BB_VSEL + LDO BB Voltage Setting. 6 2 - RF_BP_EN - LDO RF Bypass Enable. + BB_BP_EN + LDO BB Bypass Enable. 8 1 - RF_DISCH - LDO RF Discharge. + BB_DISCH + LDO BB Discharge. 9 1 - BB_BP_EN - LDO BB Bypass Enable. + RF_BP_EN + LDO RF Bypass Enable. 10 1 - BB_DISCH - LDO BB Discharge. + RF_DISCH + LDO RF Discharge. 11 1 - BB_EN_DLY - LDO BB Enable Delay. + RF_EN_DLY + LDO RF Enable Delay. 12 1 - RF_EN_DLY - LDO RF Enable Delay. + BB_EN_DLY + LDO BB Enable Delay. 13 1 - RF_BP_EN_DLY - LDO RF Bypass Enable Delay. + BB_BP_EN_DLY + LDO BB Bypass Enable Delay. 14 1 - BB_BP_EN_DLY - LDO BB Bypass Enable Delay. + RF_BP_EN_DLY + LDO RF Bypass Enable Delay. 15 1 diff --git a/MAX/Libraries/PeriphDrivers/Source/SYS/SVD/mcr_me30.svd b/MAX/Libraries/PeriphDrivers/Source/SYS/SVD/mcr_me30.svd index 814c4e73..fcca217a 100644 --- a/MAX/Libraries/PeriphDrivers/Source/SYS/SVD/mcr_me30.svd +++ b/MAX/Libraries/PeriphDrivers/Source/SYS/SVD/mcr_me30.svd @@ -21,6 +21,12 @@ 0 1 + + RSTZ + Reset RSTZ Controller. + 1 + 1 + @@ -43,7 +49,7 @@ CLKSEL - Clcok Select for the RTC, System, WUT, and Timer. + Clock select for RTC, WUTs, and Timers. 0 2 @@ -53,49 +59,49 @@ 0 - INRO_DIV4 + INRO INRO as clock source. 1 - RTC_IN_DIV8 + EXTCLK P0.12 div 8 as clock source. 2 - ERTCO32K_EN - Enable the 32KHz ERTCO. + ERTCO_32KHZ_EN + Enable ERTCO 32KHz while ERTCO_EN. 3 1 ERTCO_EN - Enable the ERTCO. + Enable ERTCO 4KHz. 5 1 - BYPASS0 - This register is used by firmware to bypass chain of trust on a Warm Boot. + BBREG0 + Battery Back Reg0. 0x30 - BYPASS1 - This register is used by firmware to bypass chain of trust on a Warm Boot. + BBREG1 + Battery Back Reg1. 0x34 - DATA0 - Battery Back Data0 Register. Retains value in all modes. + BBDATA0 + Battery Back Data0 Register. 0x40 - DATA1 - Battery Back Data1 Register. Retains value in all modes. + BBDATA1 + Battery Back Data1 Register. 0x44 diff --git a/MAX/Libraries/PeriphDrivers/Source/SYS/SVD/trimsir_me30.svd b/MAX/Libraries/PeriphDrivers/Source/SYS/SVD/trimsir_me30.svd index c834decf..570df3a7 100644 --- a/MAX/Libraries/PeriphDrivers/Source/SYS/SVD/trimsir_me30.svd +++ b/MAX/Libraries/PeriphDrivers/Source/SYS/SVD/trimsir_me30.svd @@ -2,7 +2,7 @@ TRIMSIR - Trim System Initilazation Registers. + Trim System Initilazation Registers 0x40005400 0x00 @@ -11,32 +11,171 @@ - RTCX1 - RTC X1 Capacitor Setting. + RTC + RTC Trim System Initialization Register. + 0x08 + + + X1TRIM + RTC X1 Trim. + 16 + 5 + + + X2TRIM + RTC X2 Trim. + 21 + 5 + + + LOCK + Lock. + 31 + 1 + + + + + SIMO + SIMO Trim System Initialization Register. + 0x34 + read-only + + + CLKDIV + SIMO Clock Divide. + 0 + 3 + + + DIV1 + 0 + + + DIV16 + 1 + + + DIV32 + 3 + + + DIV64 + 5 + + + DIV128 + 7 + + + + + + + IPOLO + IPO Low Trim System Initialization Register. 0x3C + read-only - CAP - RTC X1 Load Capacitor Setting. + IPO_LIMITLO + IPO Low Limit Trim. 0 - 5 + 8 - RTCX2 - RTC X2 Capacitor Setting. + CTRL + Control Trim System Initialization Register. + 0x40 + + + VDDA_LIMITLO + VDDA Low Trim Limit. + 0 + 7 + + + VDDA_LIMITHI + VDDA High Trim Limit. + 8 + 7 + + + IPO_LIMITHI + IPO High Trim Limit. + 15 + 9 + + + INRO_SEL + INRO Clock Select. + 24 + 2 + + + 8KHZ + 0 + + + 16KHZ + 1 + + + 30KHZ + 2 + + + + + INRO_TRIM + INRO Clock Trim. + 29 + 3 + + + + + INRO + RTC Trim System Initialization Register. 0x44 - CAP - RTC X2 Load Capacitor Setting. + TRIM16K + INRO 16KHz Trim. 0 - 5 + 3 + + + TRIM30K + INRO 30KHz Trim. + 3 + 3 + + + LPCLKSEL + INRO Low Power Mode Clock Select. + 6 + 2 + + + 8KHZ + 0 + + + 16KHZ + 1 + + + 30KHZ + 2 + + - + \ No newline at end of file diff --git a/MAX/Libraries/PeriphDrivers/Source/WUT/wut_me30.c b/MAX/Libraries/PeriphDrivers/Source/WUT/wut_me30.c index 2d51c4d2..7f6f8689 100644 --- a/MAX/Libraries/PeriphDrivers/Source/WUT/wut_me30.c +++ b/MAX/Libraries/PeriphDrivers/Source/WUT/wut_me30.c @@ -168,15 +168,13 @@ static void MXC_WUT_GetWUTSync(mxc_wut_regs_t *wut, uint32_t *wutCnt, uint32_t * /* ************************************************************************** */ static void MXC_WUT_SetTrim(uint32_t trimValue) { - MXC_SETFIELD(MXC_TRIMSIR->rtcx1, MXC_F_TRIMSIR_RTCX1_CAP, - (trimValue << MXC_F_TRIMSIR_RTCX1_CAP_POS)); - MXC_SETFIELD(MXC_TRIMSIR->rtcx2, MXC_F_TRIMSIR_RTCX2_CAP, - (trimValue << MXC_F_TRIMSIR_RTCX2_CAP_POS)); + MXC_SETFIELD(MXC_TRIMSIR->rtc, MXC_F_TRIMSIR_RTC_X1TRIM, + (trimValue << MXC_F_TRIMSIR_RTC_X1TRIM_POS)); + MXC_SETFIELD(MXC_TRIMSIR->rtc, MXC_F_TRIMSIR_RTC_X2TRIM, + (trimValue << MXC_F_TRIMSIR_RTC_X2TRIM_POS)); } /* ************************************************************************** */ -// TODO(SW): TRIMSIR RTC X1/X2 register descriptions were updated due to design changes. -// CAP vs TRIM value differences unknown, and this function has not been tested. static int MXC_WUT_StartTrim(mxc_wut_regs_t *wut) { uint32_t wutCnt0, wutCnt1; @@ -196,7 +194,7 @@ static int MXC_WUT_StartTrim(mxc_wut_regs_t *wut) } /* Start with existing trim value */ - trimValue = (MXC_TRIMSIR->rtcx1 & MXC_F_TRIMSIR_RTCX1_CAP) >> MXC_F_TRIMSIR_RTCX1_CAP_POS; + trimValue = (MXC_TRIMSIR->rtc & MXC_F_TRIMSIR_RTC_X1TRIM) >> MXC_F_TRIMSIR_RTC_X1TRIM_POS; MXC_WUT_SetTrim(trimValue); /* Initialize the variables */ @@ -238,7 +236,7 @@ int MXC_WUT_Handler(mxc_wut_regs_t *wut) calcTicks = ((uint64_t)wutTicks * (uint64_t)BB_CLK_RATE_HZ) / (uint64_t)32768; trimComplete = 0; - trimValue = (MXC_TRIMSIR->rtcx1 & MXC_F_TRIMSIR_RTCX1_CAP) >> MXC_F_TRIMSIR_RTCX1_CAP_POS; + trimValue = (MXC_TRIMSIR->rtc & MXC_F_TRIMSIR_RTC_X1TRIM) >> MXC_F_TRIMSIR_RTC_X1TRIM_POS; if (snapTicks > calcTicks) { /* See if we're closer to the calculated value */ diff --git a/MAX/msdk_sha b/MAX/msdk_sha index 614bf75c..8c89a5bb 100644 --- a/MAX/msdk_sha +++ b/MAX/msdk_sha @@ -1 +1 @@ -c75f2f7143b66b90dd6e699de4989b4437c893ae +11bca58f7d4103a71b43be2ad618634033daab27