Skip to content

Commit

Permalink
fix(Other): zephyr: MAX32660: add compat wrappers
Browse files Browse the repository at this point in the history
Some defines and structs are different so reconcile these here

Signed-off-by: Matthew McClintock <[email protected]>
  • Loading branch information
mattsm committed Feb 5, 2025
1 parent bacab6b commit 4f0e4c2
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 4 deletions.
10 changes: 7 additions & 3 deletions Libraries/zephyr/MAX/Include/wrap_max32_sys.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ void max32xx_system_init(void);
* MAX32665, MAX32666 related mapping
*/
#if defined(CONFIG_SOC_MAX32665) || defined(CONFIG_SOC_MAX32666)

#define ADI_MAX32_CLK_IPO MXC_SYS_CLOCK_HIRC96
#define ADI_MAX32_CLK_ERFO MXC_SYS_CLOCK_XTAL32M
#define ADI_MAX32_CLK_IBRO MXC_SYS_CLOCK_HIRC8
Expand All @@ -57,15 +56,20 @@ static inline int Wrap_MXC_SYS_Select32KClockSource(int clock)
}

/*
* MAX32690, MAX32655 related mapping
* MAX32660, MAX32690, MAX32655 related mapping
*/
#elif defined(CONFIG_SOC_MAX32690) || defined(CONFIG_SOC_MAX32655) || \
defined(CONFIG_SOC_MAX32670) || defined(CONFIG_SOC_MAX32672) || \
defined(CONFIG_SOC_MAX32662) || defined(CONFIG_SOC_MAX32675) || \
defined(CONFIG_SOC_MAX32680) || defined(CONFIG_SOC_MAX32657) || \
defined(CONFIG_SOC_MAX78002) || defined(CONFIG_SOC_MAX78000)
defined(CONFIG_SOC_MAX78002) || defined(CONFIG_SOC_MAX78000) || \
defined(CONFIG_SOC_MAX32660)

#if defined(CONFIG_SOC_MAX32660)
#define ADI_MAX32_CLK_IPO MXC_SYS_CLOCK_HIRC
#else
#define ADI_MAX32_CLK_IPO MXC_SYS_CLOCK_IPO
#endif
#if defined(CONFIG_SOC_MAX78002)
#define ADI_MAX32_CLK_IPLL MXC_SYS_CLOCK_IPLL
#define ADI_MAX32_CLK_EBO MXC_SYS_CLOCK_EBO
Expand Down
19 changes: 18 additions & 1 deletion Libraries/zephyr/MAX/Include/wrap_max32_uart.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
extern "C" {
#endif

#if defined(CONFIG_SOC_MAX32665) || defined(CONFIG_SOC_MAX32666)
#if defined(CONFIG_SOC_MAX32665) || defined(CONFIG_SOC_MAX32666) || defined(CONFIG_SOC_MAX32660)
// status flags
#define ADI_MAX32_UART_RX_EMPTY MXC_F_UART_STATUS_RX_EMPTY
#define ADI_MAX32_UART_TX_EMPTY MXC_F_UART_STATUS_TX_EMPTY
Expand All @@ -53,6 +53,19 @@ extern "C" {
#define ADI_MAX32_UART_CFG_PARITY_MARK MXC_UART_PARITY_MARK
#define ADI_MAX32_UART_CFG_PARITY_SPACE MXC_UART_PARITY_SPACE

#if defined(CONFIG_SOC_MAX32660)
#define MXC_F_UART_INT_FL_RX_FRAME_ERROR MXC_F_UART_INT_FL_FRAME
#define MXC_F_UART_INT_FL_RX_PARITY_ERROR MXC_F_UART_INT_FL_PARITY
#define MXC_F_UART_INT_FL_RX_OVERRUN MXC_F_UART_INT_FL_RX_OVR
#define MXC_F_UART_INT_EN_TX_FIFO_THRESH MXC_F_UART_INT_EN_TX_FIFO_LVL
#define MXC_F_UART_INT_EN_RX_FIFO_THRESH MXC_F_UART_INT_EN_RX_FIFO_LVL
#define MXC_F_UART_INT_EN_TX_FIFO_ALMOST_EMPTY MXC_F_UART_INT_EN_TX_FIFO_AE
#define MXC_F_UART_STATUS_TX_FULL MXC_F_UART_STAT_TX_FULL
#define MXC_F_UART_STATUS_RX_EMPTY MXC_F_UART_STAT_RX_EMPTY
#define MXC_F_UART_DMA_RXDMA_LEVEL_POS MXC_F_UART_DMA_RXDMA_LVL_POS
#define MXC_F_UART_DMA_TXDMA_LEVEL_POS MXC_F_UART_DMA_TXDMA_LVL_POS
#endif

/* Error interrupts */
#define ADI_MAX32_UART_ERROR_INTERRUPTS \
(ADI_MAX32_UART_INT_OE | ADI_MAX32_UART_INT_PE | ADI_MAX32_UART_INT_FE)
Expand All @@ -72,7 +85,11 @@ static inline int Wrap_MXC_UART_Init(mxc_uart_regs_t *uart)
return ret;
}

#if defined(CONFIG_SOC_MAX32660)
uart->ctrl0 |= MXC_F_UART_CTRL0_ENABLE;
#else
uart->ctrl |= MXC_F_UART_CTRL_ENABLE;
#endif

return ret;
}
Expand Down

0 comments on commit 4f0e4c2

Please sign in to comment.