From ecbdf920278009a76460502fb01fe4249c75fd69 Mon Sep 17 00:00:00 2001 From: Yasin Ustuner Date: Mon, 23 Dec 2024 15:25:45 +0300 Subject: [PATCH 1/2] Add MAX78000 to Zephyr folder This commit adds MAX78000 SoC into the zephyr build system Signed-off-by: Yasin Ustuner --- Libraries/zephyr/MAX/Include/wrap_max32_adc.h | 5 +- Libraries/zephyr/MAX/Include/wrap_max32_i2c.h | 4 +- Libraries/zephyr/MAX/Include/wrap_max32_lp.h | 3 +- Libraries/zephyr/MAX/Include/wrap_max32_owm.h | 2 +- Libraries/zephyr/MAX/Include/wrap_max32_spi.h | 4 +- Libraries/zephyr/MAX/Include/wrap_max32_sys.h | 3 +- Libraries/zephyr/MAX/Include/wrap_max32_tmr.h | 7 +- .../zephyr/MAX/Include/wrap_max32_trng.h | 3 +- .../zephyr/MAX/Include/wrap_max32_uart.h | 7 +- Libraries/zephyr/MAX/Include/wrap_max32_wdt.h | 3 +- .../zephyr/MAX/Source/MAX78000/CMakeLists.txt | 187 ++++++++++++++++++ .../MAX/Source/MAX78000/max78xxx_system.c | 24 +++ 12 files changed, 238 insertions(+), 14 deletions(-) create mode 100644 Libraries/zephyr/MAX/Source/MAX78000/CMakeLists.txt create mode 100644 Libraries/zephyr/MAX/Source/MAX78000/max78xxx_system.c diff --git a/Libraries/zephyr/MAX/Include/wrap_max32_adc.h b/Libraries/zephyr/MAX/Include/wrap_max32_adc.h index e8765d26ed..8168abc65c 100644 --- a/Libraries/zephyr/MAX/Include/wrap_max32_adc.h +++ b/Libraries/zephyr/MAX/Include/wrap_max32_adc.h @@ -51,10 +51,11 @@ typedef enum { #define ADI_MAX32_ADC_REF_VDD_1_2 2 /* - * MAX32655, MAX32665, MAX32666 related mapping + * MAX32655, MAX32665, MAX32666, MAX32680, MAX78000 related mapping */ #if defined(CONFIG_SOC_MAX32655) || defined(CONFIG_SOC_MAX32665) || \ - defined(CONFIG_SOC_MAX32666) || defined(CONFIG_SOC_MAX32680) + defined(CONFIG_SOC_MAX32666) || defined(CONFIG_SOC_MAX32680) || \ + defined(CONFIG_SOC_MAX78000) #define WRAP_MXC_F_ADC_CONV_DONE_IE MXC_F_ADC_INTR_DONE_IE #define WRAP_MXC_F_ADC_CONV_DONE_IF MXC_F_ADC_INTR_DONE_IF diff --git a/Libraries/zephyr/MAX/Include/wrap_max32_i2c.h b/Libraries/zephyr/MAX/Include/wrap_max32_i2c.h index f6d56d4c39..8db5634a6c 100644 --- a/Libraries/zephyr/MAX/Include/wrap_max32_i2c.h +++ b/Libraries/zephyr/MAX/Include/wrap_max32_i2c.h @@ -131,7 +131,9 @@ static inline void Wrap_MXC_I2C_Stop(mxc_i2c_regs_t *i2c) #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_MAX32680) || defined(CONFIG_SOC_MAX32657) || \ + defined(CONFIG_SOC_MAX78002) || defined(CONFIG_SOC_MAX78000) + /* * Control register bits */ diff --git a/Libraries/zephyr/MAX/Include/wrap_max32_lp.h b/Libraries/zephyr/MAX/Include/wrap_max32_lp.h index 98b73d8e2d..c88b5a3b33 100644 --- a/Libraries/zephyr/MAX/Include/wrap_max32_lp.h +++ b/Libraries/zephyr/MAX/Include/wrap_max32_lp.h @@ -57,7 +57,8 @@ static inline void Wrap_MXC_LP_EnterPowerDownMode(void) * MAX32690, MAX32655 related mapping */ #elif defined(CONFIG_SOC_MAX32690) || defined(CONFIG_SOC_MAX32655) || \ - defined(CONFIG_SOC_MAX32680) || defined(CONFIG_SOC_MAX32657) || defined(CONFIG_SOC_MAX78002) + defined(CONFIG_SOC_MAX32680) || defined(CONFIG_SOC_MAX32657) || \ + defined(CONFIG_SOC_MAX78002) || defined(CONFIG_SOC_MAX78000) static inline void Wrap_MXC_LP_EnterLowPowerMode(void) { diff --git a/Libraries/zephyr/MAX/Include/wrap_max32_owm.h b/Libraries/zephyr/MAX/Include/wrap_max32_owm.h index fdcae50d04..8f92ce6441 100644 --- a/Libraries/zephyr/MAX/Include/wrap_max32_owm.h +++ b/Libraries/zephyr/MAX/Include/wrap_max32_owm.h @@ -41,7 +41,7 @@ static inline int Wrap_MXC_OWM_Init(const mxc_owm_cfg_t *cfg) * MAX32690, MAX32655 related mapping */ #elif defined(CONFIG_SOC_MAX32690) || defined(CONFIG_SOC_MAX32655) || \ - defined(CONFIG_SOC_MAX32680) || defined(CONFIG_SOC_MAX78002) + defined(CONFIG_SOC_MAX32680) || defined(CONFIG_SOC_MAX78002) || defined(CONFIG_SOC_MAX78000) static inline int Wrap_MXC_OWM_Init(const mxc_owm_cfg_t *cfg) { diff --git a/Libraries/zephyr/MAX/Include/wrap_max32_spi.h b/Libraries/zephyr/MAX/Include/wrap_max32_spi.h index ed3c81f064..7f38a99e0a 100644 --- a/Libraries/zephyr/MAX/Include/wrap_max32_spi.h +++ b/Libraries/zephyr/MAX/Include/wrap_max32_spi.h @@ -76,7 +76,9 @@ static inline int Wrap_MXC_SPI_Init(mxc_spi_regs_t *spi, int masterMode, int qua #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_MAX32680) || defined(CONFIG_SOC_MAX32657) || \ + defined(CONFIG_SOC_MAX78002) || defined(CONFIG_SOC_MAX78000) + #if defined(CONFIG_SOC_MAX32657) #define ADI_MAX32_SPI_CTRL_MASTER_MODE MXC_F_SPI_CTRL0_CONT_MODE #else diff --git a/Libraries/zephyr/MAX/Include/wrap_max32_sys.h b/Libraries/zephyr/MAX/Include/wrap_max32_sys.h index 79efddebc7..5397b99c51 100644 --- a/Libraries/zephyr/MAX/Include/wrap_max32_sys.h +++ b/Libraries/zephyr/MAX/Include/wrap_max32_sys.h @@ -57,7 +57,8 @@ static inline void Wrap_MXC_SYS_SetClockDiv(int div) #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_MAX32680) || defined(CONFIG_SOC_MAX32657) || \ + defined(CONFIG_SOC_MAX78002) || defined(CONFIG_SOC_MAX78000) #define ADI_MAX32_CLK_IPO MXC_SYS_CLOCK_IPO #if defined(CONFIG_SOC_MAX78002) diff --git a/Libraries/zephyr/MAX/Include/wrap_max32_tmr.h b/Libraries/zephyr/MAX/Include/wrap_max32_tmr.h index 884aa2bf90..6b602d40dd 100644 --- a/Libraries/zephyr/MAX/Include/wrap_max32_tmr.h +++ b/Libraries/zephyr/MAX/Include/wrap_max32_tmr.h @@ -104,7 +104,8 @@ int Wrap_MXC_TMR_GetPendingInt(mxc_tmr_regs_t *tmr) #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_MAX32680) || defined(CONFIG_SOC_MAX32657) || \ + defined(CONFIG_SOC_MAX78002) || defined(CONFIG_SOC_MAX78000) #if defined(CONFIG_SOC_MAX32672) || defined(CONFIG_SOC_MAX32675) || \ defined(CONFIG_SOC_MAX32657) || defined(CONFIG_SOC_MAX32670) @@ -144,7 +145,7 @@ static inline int Wrap_MXC_TMR_GetClockIndex(int z_clock) return MXC_TMR_EXT_CLK; case 2: // ADI_MAX32_PRPH_CLK_SRC_IBRO return MXC_TMR_8M_CLK; -#if !defined(CONFIG_SOC_MAX78002) +#if !defined(CONFIG_SOC_MAX78002) && !defined(CONFIG_SOC_MAX778000) case 3: //ADI_MAX32_PRPH_CLK_SRC_ERFO return MXC_TMR_32M_CLK; #endif @@ -153,7 +154,7 @@ static inline int Wrap_MXC_TMR_GetClockIndex(int z_clock) case 5: //ADI_MAX32_PRPH_CLK_SRC_INRO return MXC_TMR_INRO_CLK; #if defined(CONFIG_SOC_MAX32655) || defined(CONFIG_SOC_MAX32680) || \ - defined(CONFIG_SOC_MAX32690) || defined(CONFIG_SOC_MAX78002) + defined(CONFIG_SOC_MAX32690) || defined(CONFIG_SOC_MAX78002) || defined(CONFIG_SOC_MAX78000) case 6: //ADI_MAX32_PRPH_CLK_SRC_ISO return MXC_TMR_ISO_CLK; #endif diff --git a/Libraries/zephyr/MAX/Include/wrap_max32_trng.h b/Libraries/zephyr/MAX/Include/wrap_max32_trng.h index 794c6faaee..7b5eb0cb3e 100644 --- a/Libraries/zephyr/MAX/Include/wrap_max32_trng.h +++ b/Libraries/zephyr/MAX/Include/wrap_max32_trng.h @@ -47,7 +47,8 @@ static inline int Wrap_MXC_TRNG_RandomInt_NonBlocking(uint32_t *data) #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_MAX32680) || defined(CONFIG_SOC_MAX32657) || \ + defined(CONFIG_SOC_MAX78002) || defined(CONFIG_SOC_MAX78000) static inline int Wrap_MXC_TRNG_RandomInt_NonBlocking(uint32_t *data) { diff --git a/Libraries/zephyr/MAX/Include/wrap_max32_uart.h b/Libraries/zephyr/MAX/Include/wrap_max32_uart.h index a0035b3976..552c7c576d 100644 --- a/Libraries/zephyr/MAX/Include/wrap_max32_uart.h +++ b/Libraries/zephyr/MAX/Include/wrap_max32_uart.h @@ -130,7 +130,9 @@ static inline void Wrap_MXC_UART_DisableRxDMA(mxc_uart_regs_t *uart) #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_MAX32680) || defined(CONFIG_SOC_MAX32657) || \ + defined(CONFIG_SOC_MAX78002) || defined(CONFIG_SOC_MAX78000) + // status flags #define ADI_MAX32_UART_RX_EMPTY MXC_F_UART_STATUS_RX_EM #define ADI_MAX32_UART_TX_EMPTY MXC_F_UART_STATUS_TX_EM @@ -214,7 +216,8 @@ static inline mxc_uart_clock_t wrap_get_clock_source_instance(int clock_source) break; #endif #if defined(CONFIG_SOC_MAX32655) || defined(CONFIG_SOC_MAX32670) || \ - defined(CONFIG_SOC_MAX32672) || defined(CONFIG_SOC_MAX32690) || defined(CONFIG_SOC_MAX78002) + defined(CONFIG_SOC_MAX32672) || defined(CONFIG_SOC_MAX32690) || \ + defined(CONFIG_SOC_MAX78002) || defined(CONFIG_SOC_MAX78000) case 4: // ADI_MAX32_PRPH_CLK_SRC_ERTCO clk_src = MXC_UART_ERTCO_CLK; break; diff --git a/Libraries/zephyr/MAX/Include/wrap_max32_wdt.h b/Libraries/zephyr/MAX/Include/wrap_max32_wdt.h index 7c0f8f863e..281a2ac0fd 100644 --- a/Libraries/zephyr/MAX/Include/wrap_max32_wdt.h +++ b/Libraries/zephyr/MAX/Include/wrap_max32_wdt.h @@ -86,7 +86,8 @@ static inline int Wrap_MXC_WDT_SelectClockSource(mxc_wdt_regs_t *wdt, uint32_t c #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_MAX32680) || defined(CONFIG_SOC_MAX32657) || \ + defined(CONFIG_SOC_MAX78002) || defined(CONFIG_SOC_MAX78000) #define WRAP_MXC_F_WDT_CTRL_EN MXC_F_WDT_CTRL_EN diff --git a/Libraries/zephyr/MAX/Source/MAX78000/CMakeLists.txt b/Libraries/zephyr/MAX/Source/MAX78000/CMakeLists.txt new file mode 100644 index 0000000000..a2f23f7944 --- /dev/null +++ b/Libraries/zephyr/MAX/Source/MAX78000/CMakeLists.txt @@ -0,0 +1,187 @@ +############################################################################## +# +# Copyright (C) 2024 Analog Devices, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +############################################################################## + + +if(NOT TARGET_REV) + # Default version A1, not actively use in driver but requires to be defined. + zephyr_compile_definitions(-DTARGET_REV=0x4131) +endif() + +zephyr_include_directories( + ${MSDK_PERIPH_SRC_DIR}/ADC + ${MSDK_PERIPH_SRC_DIR}/AES + ${MSDK_PERIPH_SRC_DIR}/CAMERAIF + ${MSDK_PERIPH_SRC_DIR}/CRC + ${MSDK_PERIPH_SRC_DIR}/DMA + ${MSDK_PERIPH_SRC_DIR}/FLC + ${MSDK_PERIPH_SRC_DIR}/GPIO + ${MSDK_PERIPH_SRC_DIR}/I2C + ${MSDK_PERIPH_SRC_DIR}/I2S + ${MSDK_PERIPH_SRC_DIR}/ICC + ${MSDK_PERIPH_SRC_DIR}/LP + ${MSDK_PERIPH_SRC_DIR}/LPCMP + ${MSDK_PERIPH_SRC_DIR}/OWM + ${MSDK_PERIPH_SRC_DIR}/PT + ${MSDK_PERIPH_SRC_DIR}/RTC + ${MSDK_PERIPH_SRC_DIR}/SEMA + ${MSDK_PERIPH_SRC_DIR}/SPI + ${MSDK_PERIPH_SRC_DIR}/SYS + ${MSDK_PERIPH_SRC_DIR}/TMR + ${MSDK_PERIPH_SRC_DIR}/TRNG + ${MSDK_PERIPH_SRC_DIR}/UART + ${MSDK_PERIPH_SRC_DIR}/WDT + ${MSDK_PERIPH_SRC_DIR}/WUT +) + +if(CONFIG_ARM) + zephyr_library_sources(${MSDK_CMSIS_DIR}/Source/system_max78000.c) + zephyr_library_sources(${MSDK_PERIPH_SRC_DIR}/SYS/mxc_lock.c) +elseif(CONFIG_RISCV) + zephyr_library_sources(${MSDK_CMSIS_DIR}/Source/system_riscv_max78000.c) +endif() + +zephyr_library_sources( + ./max78xxx_system.c + + ${MSDK_PERIPH_SRC_DIR}/CAMERAIF/cameraif_ai85.c + ${MSDK_PERIPH_SRC_DIR}/CAMERAIF/cameraif_reva.c + + ${MSDK_PERIPH_SRC_DIR}/ICC/icc_me17.c + ${MSDK_PERIPH_SRC_DIR}/ICC/icc_reva.c + + ${MSDK_PERIPH_SRC_DIR}/LP/lp_ai85.c + + ${MSDK_PERIPH_SRC_DIR}/LPCMP/lpcmp_ai85.c + ${MSDK_PERIPH_SRC_DIR}/LPCMP/lpcmp_reva.c + + ${MSDK_PERIPH_SRC_DIR}/SYS/mxc_assert.c + ${MSDK_PERIPH_SRC_DIR}/SYS/mxc_delay.c + ${MSDK_PERIPH_SRC_DIR}/SYS/pins_ai85.c + ${MSDK_PERIPH_SRC_DIR}/SYS/sys_ai85.c + + ${MSDK_PERIPH_SRC_DIR}/DMA/dma_me17.c + ${MSDK_PERIPH_SRC_DIR}/DMA/dma_reva.c + + ${MSDK_PERIPH_SRC_DIR}/SEMA/sema_me17.c + ${MSDK_PERIPH_SRC_DIR}/SEMA/sema_reva.c + + ${MSDK_PERIPH_SRC_DIR}/PT/pt_ai85.c + ${MSDK_PERIPH_SRC_DIR}/PT/pt_reva.c + + ${MSDK_PERIPH_SRC_DIR}/WUT/wut_ai85.c + ${MSDK_PERIPH_SRC_DIR}/WUT/wut_reva.c +) + +if (CONFIG_ADC_MAX32) +zephyr_library_sources( + ${MSDK_PERIPH_SRC_DIR}/ADC/adc_me17.c + ${MSDK_PERIPH_SRC_DIR}/ADC/adc_reva.c +) +endif() + +if (CONFIG_UART_MAX32) +zephyr_library_sources( + ${MSDK_PERIPH_SRC_DIR}/UART/uart_common.c + ${MSDK_PERIPH_SRC_DIR}/UART/uart_ai85.c + ${MSDK_PERIPH_SRC_DIR}/UART/uart_revb.c +) +endif() + +if (CONFIG_GPIO_MAX32) +zephyr_library_sources( + ${MSDK_PERIPH_SRC_DIR}/GPIO/gpio_common.c + ${MSDK_PERIPH_SRC_DIR}/GPIO/gpio_ai85.c + ${MSDK_PERIPH_SRC_DIR}/GPIO/gpio_reva.c +) +endif() + +if (CONFIG_SPI_MAX32) +zephyr_library_sources( + ${MSDK_PERIPH_SRC_DIR}/SPI/spi_me17.c + ${MSDK_PERIPH_SRC_DIR}/SPI/spi_reva1.c +) +endif() + +if (CONFIG_I2C_MAX32) +zephyr_library_sources( + ${MSDK_PERIPH_SRC_DIR}/I2C/i2c_me17.c + ${MSDK_PERIPH_SRC_DIR}/I2C/i2c_reva.c +) +endif() + +if (CONFIG_I2S_MAX32) +zephyr_library_sources( + ${MSDK_PERIPH_SRC_DIR}/I2S/i2s_ai85.c + ${MSDK_PERIPH_SRC_DIR}/I2S/i2s_reva.c +) +endif() + +if (CONFIG_WDT_MAX32) +zephyr_library_sources( + ${MSDK_PERIPH_SRC_DIR}/WDT/wdt_common.c + ${MSDK_PERIPH_SRC_DIR}/WDT/wdt_me17.c + ${MSDK_PERIPH_SRC_DIR}/WDT/wdt_revb.c +) +endif() + +if (CONFIG_RTC_MAX32 OR CONFIG_COUNTER_RTC_MAX32) +zephyr_library_sources( + ${MSDK_PERIPH_SRC_DIR}/RTC/rtc_me17.c + ${MSDK_PERIPH_SRC_DIR}/RTC/rtc_reva.c +) +endif() + +if (CONFIG_SOC_FLASH_MAX32) +zephyr_library_sources( + ${MSDK_PERIPH_SRC_DIR}/FLC/flc_common.c + ${MSDK_PERIPH_SRC_DIR}/FLC/flc_me17.c + ${MSDK_PERIPH_SRC_DIR}/FLC/flc_reva.c +) +endif() + +if (CONFIG_PWM_MAX32 OR CONFIG_TIMER_MAX32 OR CONFIG_COUNTER_TIMER_MAX32) +zephyr_library_sources( + ${MSDK_PERIPH_SRC_DIR}/TMR/tmr_common.c + ${MSDK_PERIPH_SRC_DIR}/TMR/tmr_ai85.c + ${MSDK_PERIPH_SRC_DIR}/TMR/tmr_revb.c +) +endif() + +if (CONFIG_ENTROPY_MAX32_TRNG) +zephyr_library_sources( + ${MSDK_PERIPH_SRC_DIR}/TRNG/trng_ai85.c + ${MSDK_PERIPH_SRC_DIR}/TRNG/trng_revb.c +) +endif() + +if (CONFIG_CRYPTO_MAX32) +zephyr_library_sources( + ${MSDK_PERIPH_SRC_DIR}/AES/aes_me17.c + ${MSDK_PERIPH_SRC_DIR}/AES/aes_revb.c + + ${MSDK_PERIPH_SRC_DIR}/CRC/crc_me17.c + ${MSDK_PERIPH_SRC_DIR}/CRC/crc_reva.c +) +endif() + +if (CONFIG_W1_MAX32) +zephyr_library_sources( + ${MSDK_PERIPH_SRC_DIR}/OWM/owm_me17.c + ${MSDK_PERIPH_SRC_DIR}/OWM/owm_reva.c +) +endif() diff --git a/Libraries/zephyr/MAX/Source/MAX78000/max78xxx_system.c b/Libraries/zephyr/MAX/Source/MAX78000/max78xxx_system.c new file mode 100644 index 0000000000..2914c62362 --- /dev/null +++ b/Libraries/zephyr/MAX/Source/MAX78000/max78xxx_system.c @@ -0,0 +1,24 @@ +/****************************************************************************** + * + * Copyright (C) 2024 Analog Devices, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ******************************************************************************/ + +#include "max78000.h" + +/* + * This function is called during boot up. + */ +void max32xx_system_init(void) {} From 531392b9308fad9bde728b96fcdee04e82c5e1d5 Mon Sep 17 00:00:00 2001 From: Yasin Ustuner Date: Mon, 23 Dec 2024 15:28:14 +0300 Subject: [PATCH 2/2] Add clock definitions for MAX78000 SoC This commit adds i2c related clock definitions for MAX78000 SoC Signed-off-by: Yasin Ustuner --- Libraries/PeriphDrivers/Include/MAX78000/i2c.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Libraries/PeriphDrivers/Include/MAX78000/i2c.h b/Libraries/PeriphDrivers/Include/MAX78000/i2c.h index 7ccb00b22f..5f878f9e7d 100644 --- a/Libraries/PeriphDrivers/Include/MAX78000/i2c.h +++ b/Libraries/PeriphDrivers/Include/MAX78000/i2c.h @@ -43,6 +43,12 @@ extern "C" { * @{ */ +/***** Definitions *****/ +#define MXC_I2C_STD_MODE 100000 +#define MXC_I2C_FAST_SPEED 400000 +#define MXC_I2C_FASTPLUS_SPEED 1000000 +#define MXC_I2C_HIGH_SPEED 3400000 + typedef struct _i2c_req_t mxc_i2c_req_t; /** * @brief The callback used by the MXC_I2C_ReadByteInteractive() function.