1############################################################################## 2# 3# Copyright (C) 2025 Analog Devices, Inc. 4# 5# Licensed under the Apache License, Version 2.0 (the "License"); 6# you may not use this file except in compliance with the License. 7# You may obtain a copy of the License at 8# 9# http://www.apache.org/licenses/LICENSE-2.0 10# 11# Unless required by applicable law or agreed to in writing, software 12# distributed under the License is distributed on an "AS IS" BASIS, 13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14# See the License for the specific language governing permissions and 15# limitations under the License. 16# 17############################################################################## 18 19 20if(NOT TARGET_REV) 21 # Default version A1, not actively use in driver but requires to be defined. 22 zephyr_compile_definitions(-DTARGET_REV=0x4131) 23endif() 24 25zephyr_include_directories( 26 ${MSDK_PERIPH_SRC_DIR}/SYS 27 ${MSDK_PERIPH_SRC_DIR}/ADC 28 ${MSDK_PERIPH_SRC_DIR}/DMA 29 ${MSDK_PERIPH_SRC_DIR}/FLC 30 ${MSDK_PERIPH_SRC_DIR}/GPIO 31 ${MSDK_PERIPH_SRC_DIR}/I2C 32 ${MSDK_PERIPH_SRC_DIR}/SPIMSS 33 ${MSDK_PERIPH_SRC_DIR}/ICC 34 ${MSDK_PERIPH_SRC_DIR}/LP 35 ${MSDK_PERIPH_SRC_DIR}/OWM 36 ${MSDK_PERIPH_SRC_DIR}/PT 37 ${MSDK_PERIPH_SRC_DIR}/RTC 38 ${MSDK_PERIPH_SRC_DIR}/SEMA 39 ${MSDK_PERIPH_SRC_DIR}/SPI 40 ${MSDK_PERIPH_SRC_DIR}/TRNG 41 ${MSDK_PERIPH_SRC_DIR}/TMR 42 ${MSDK_PERIPH_SRC_DIR}/UART 43 ${MSDK_PERIPH_SRC_DIR}/WDT 44) 45 46if(CONFIG_ARM) 47 zephyr_library_sources(${MSDK_CMSIS_DIR}/Source/system_max32650.c) 48 zephyr_library_sources(${MSDK_PERIPH_SRC_DIR}/SYS/mxc_lock.c) 49elseif(CONFIG_RISCV) 50 zephyr_library_sources(${MSDK_CMSIS_DIR}/Source/system_riscv_max32650.c) 51endif() 52 53zephyr_library_sources( 54 ./max32xxx_system.c 55 56 ${MSDK_PERIPH_SRC_DIR}/SYS/mxc_assert.c 57 ${MSDK_PERIPH_SRC_DIR}/SYS/mxc_delay.c 58 ${MSDK_PERIPH_SRC_DIR}/SYS/pins_me10.c 59 ${MSDK_PERIPH_SRC_DIR}/SYS/sys_me10.c 60 61 ${MSDK_PERIPH_SRC_DIR}/ICC/icc_me10.c 62 ${MSDK_PERIPH_SRC_DIR}/ICC/icc_reva.c 63 ${MSDK_PERIPH_SRC_DIR}/ICC/icc_common.c 64 65 ${MSDK_PERIPH_SRC_DIR}/LP/lp_me10.c 66 67 ${MSDK_PERIPH_SRC_DIR}/PT/pt_me10.c 68 ${MSDK_PERIPH_SRC_DIR}/PT/pt_reva.c 69 70 ${MSDK_PERIPH_SRC_DIR}/SEMA/sema_me10.c 71 ${MSDK_PERIPH_SRC_DIR}/SEMA/sema_reva.c 72 73 ${MSDK_PERIPH_SRC_DIR}/DMA/dma_me10.c 74 ${MSDK_PERIPH_SRC_DIR}/DMA/dma_reva.c 75) 76 77if (CONFIG_UART_MAX32) 78zephyr_library_sources( 79 ${MSDK_PERIPH_SRC_DIR}/UART/uart_common.c 80 ${MSDK_PERIPH_SRC_DIR}/UART/uart_me10.c 81 ${MSDK_PERIPH_SRC_DIR}/UART/uart_reva.c 82) 83endif() 84 85if (CONFIG_GPIO_MAX32) 86zephyr_library_sources( 87 ${MSDK_PERIPH_SRC_DIR}/GPIO/gpio_common.c 88 ${MSDK_PERIPH_SRC_DIR}/GPIO/gpio_me10.c 89 ${MSDK_PERIPH_SRC_DIR}/GPIO/gpio_reva.c 90) 91endif() 92 93if (CONFIG_SPI_MAX32) 94zephyr_library_sources( 95 ${MSDK_PERIPH_SRC_DIR}/SPI/spi_me10.c 96 ${MSDK_PERIPH_SRC_DIR}/SPI/spi_reva1.c 97) 98endif() 99 100if (CONFIG_I2C_MAX32) 101zephyr_library_sources( 102 ${MSDK_PERIPH_SRC_DIR}/I2C/i2c_me10.c 103 ${MSDK_PERIPH_SRC_DIR}/I2C/i2c_reva.c 104) 105endif() 106 107if (CONFIG_WDT_MAX32) 108zephyr_library_sources( 109 ${MSDK_PERIPH_SRC_DIR}/WDT/wdt_common.c 110 ${MSDK_PERIPH_SRC_DIR}/WDT/wdt_me10.c 111 ${MSDK_PERIPH_SRC_DIR}/WDT/wdt_reva.c 112) 113endif() 114 115if (CONFIG_RTC_MAX32 OR CONFIG_COUNTER_RTC_MAX32) 116zephyr_library_sources( 117 ${MSDK_PERIPH_SRC_DIR}/RTC/rtc_me10.c 118 ${MSDK_PERIPH_SRC_DIR}/RTC/rtc_reva.c 119) 120endif() 121 122if (CONFIG_SOC_FLASH_MAX32 OR CONFIG_HWINFO_MAX32) 123zephyr_library_sources( 124 ${MSDK_PERIPH_SRC_DIR}/FLC/flc_common.c 125 ${MSDK_PERIPH_SRC_DIR}/FLC/flc_me10.c 126 ${MSDK_PERIPH_SRC_DIR}/FLC/flc_reva.c 127) 128endif() 129 130if (CONFIG_ADC_MAX32) 131zephyr_library_sources( 132 ${MSDK_PERIPH_SRC_DIR}/ADC/adc_me10.c 133 ${MSDK_PERIPH_SRC_DIR}/ADC/adc_reva.c 134) 135endif() 136 137if (CONFIG_W1_MAX32) 138zephyr_library_sources( 139 ${MSDK_PERIPH_SRC_DIR}/OWM/owm_me10.c 140 ${MSDK_PERIPH_SRC_DIR}/OWM/owm_reva.c 141) 142endif() 143 144if (CONFIG_PWM_MAX32 OR CONFIG_TIMER_MAX32 OR CONFIG_COUNTER_TIMER_MAX32) 145zephyr_library_sources( 146 ${MSDK_PERIPH_SRC_DIR}/TMR/tmr_common.c 147 ${MSDK_PERIPH_SRC_DIR}/TMR/tmr_me10.c 148 ${MSDK_PERIPH_SRC_DIR}/TMR/tmr_reva.c 149) 150endif() 151 152if (CONFIG_I2S_MAX32) 153zephyr_library_sources( 154 ${MSDK_PERIPH_SRC_DIR}/SPIMSS/i2s_me10.c 155 ${MSDK_PERIPH_SRC_DIR}/SPIMSS/i2s_reva.c 156) 157endif() 158 159if (CONFIG_ENTROPY_MAX32_TRNG) 160zephyr_library_sources( 161 ${MSDK_PERIPH_SRC_DIR}/TRNG/trng_me10.c 162 ${MSDK_PERIPH_SRC_DIR}/TRNG/trng_reva.c 163) 164endif() 165 166