1############################################################################## 2# 3# Copyright (C) 2023-2024 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}/CAN 29 ${MSDK_PERIPH_SRC_DIR}/CTB 30 ${MSDK_PERIPH_SRC_DIR}/DMA 31 ${MSDK_PERIPH_SRC_DIR}/EMCC 32 ${MSDK_PERIPH_SRC_DIR}/FLC 33 ${MSDK_PERIPH_SRC_DIR}/GPIO 34 ${MSDK_PERIPH_SRC_DIR}/HPB 35 ${MSDK_PERIPH_SRC_DIR}/I2C 36 ${MSDK_PERIPH_SRC_DIR}/I2S 37 ${MSDK_PERIPH_SRC_DIR}/ICC 38 ${MSDK_PERIPH_SRC_DIR}/LP 39 ${MSDK_PERIPH_SRC_DIR}/LPCMP 40 ${MSDK_PERIPH_SRC_DIR}/OWM 41 ${MSDK_PERIPH_SRC_DIR}/PT 42 ${MSDK_PERIPH_SRC_DIR}/RTC 43 ${MSDK_PERIPH_SRC_DIR}/SEMA 44 ${MSDK_PERIPH_SRC_DIR}/SPI 45 ${MSDK_PERIPH_SRC_DIR}/SPIXF 46 ${MSDK_PERIPH_SRC_DIR}/SPIXR 47 ${MSDK_PERIPH_SRC_DIR}/TRNG 48 ${MSDK_PERIPH_SRC_DIR}/TMR 49 ${MSDK_PERIPH_SRC_DIR}/UART 50 ${MSDK_PERIPH_SRC_DIR}/WDT 51 ${MSDK_PERIPH_SRC_DIR}/WUT 52) 53 54zephyr_library_sources( 55 ./max32xxx_system.c 56 57 ${MSDK_CMSIS_DIR}/Source/system_max32690.c 58 59 ${MSDK_PERIPH_SRC_DIR}/SYS/mxc_assert.c 60 ${MSDK_PERIPH_SRC_DIR}/SYS/mxc_delay.c 61 ${MSDK_PERIPH_SRC_DIR}/SYS/mxc_lock.c 62 ${MSDK_PERIPH_SRC_DIR}/SYS/pins_me18.c 63 ${MSDK_PERIPH_SRC_DIR}/SYS/sys_me18.c 64 65 ${MSDK_PERIPH_SRC_DIR}/EMCC/emcc_me18.c 66 ${MSDK_PERIPH_SRC_DIR}/EMCC/emcc_reva.c 67 68 ${MSDK_PERIPH_SRC_DIR}/HPB/hpb_me18.c 69 ${MSDK_PERIPH_SRC_DIR}/HPB/hpb_reva.c 70 71 ${MSDK_PERIPH_SRC_DIR}/ICC/icc_me18.c 72 ${MSDK_PERIPH_SRC_DIR}/ICC/icc_reva.c 73 74 ${MSDK_PERIPH_SRC_DIR}/LP/lp_me18.c 75 76 ${MSDK_PERIPH_SRC_DIR}/LPCMP/lpcmp_me18.c 77 ${MSDK_PERIPH_SRC_DIR}/LPCMP/lpcmp_reva.c 78 79 ${MSDK_PERIPH_SRC_DIR}/PT/pt_me18.c 80 ${MSDK_PERIPH_SRC_DIR}/PT/pt_reva.c 81 82 ${MSDK_PERIPH_SRC_DIR}/SEMA/sema_me18.c 83 ${MSDK_PERIPH_SRC_DIR}/SEMA/sema_reva.c 84 85 ${MSDK_PERIPH_SRC_DIR}/SPIXF/spixf_me18.c 86 ${MSDK_PERIPH_SRC_DIR}/SPIXF/spixf_reva.c 87 88 ${MSDK_PERIPH_SRC_DIR}/SPIXR/spixr_me18.c 89 ${MSDK_PERIPH_SRC_DIR}/SPIXR/spixr_reva.c 90 91 ${MSDK_PERIPH_SRC_DIR}/WUT/wut_me18.c 92 ${MSDK_PERIPH_SRC_DIR}/WUT/wut_reva.c 93 94 ${MSDK_PERIPH_SRC_DIR}/DMA/dma_me18.c 95 ${MSDK_PERIPH_SRC_DIR}/DMA/dma_reva.c 96) 97 98if (CONFIG_UART_MAX32) 99zephyr_library_sources( 100 ${MSDK_PERIPH_SRC_DIR}/UART/uart_common.c 101 ${MSDK_PERIPH_SRC_DIR}/UART/uart_me18.c 102 ${MSDK_PERIPH_SRC_DIR}/UART/uart_revb.c 103) 104endif() 105 106if (CONFIG_GPIO_MAX32) 107zephyr_library_sources( 108 ${MSDK_PERIPH_SRC_DIR}/GPIO/gpio_common.c 109 ${MSDK_PERIPH_SRC_DIR}/GPIO/gpio_me18.c 110 ${MSDK_PERIPH_SRC_DIR}/GPIO/gpio_reva.c 111) 112endif() 113 114if (CONFIG_SPI_MAX32) 115zephyr_library_sources( 116 ${MSDK_PERIPH_SRC_DIR}/SPI/spi_me18.c 117 ${MSDK_PERIPH_SRC_DIR}/SPI/spi_reva1.c 118) 119endif() 120 121if (CONFIG_I2C_MAX32) 122zephyr_library_sources( 123 ${MSDK_PERIPH_SRC_DIR}/I2C/i2c_me18.c 124 ${MSDK_PERIPH_SRC_DIR}/I2C/i2c_reva.c 125) 126endif() 127 128if (CONFIG_WDT_MAX32) 129zephyr_library_sources( 130 ${MSDK_PERIPH_SRC_DIR}/WDT/wdt_common.c 131 ${MSDK_PERIPH_SRC_DIR}/WDT/wdt_me18.c 132 ${MSDK_PERIPH_SRC_DIR}/WDT/wdt_revb.c 133) 134endif() 135 136if (CONFIG_RTC_MAX32 OR CONFIG_COUNTER_RTC_MAX32) 137zephyr_library_sources( 138 ${MSDK_PERIPH_SRC_DIR}/RTC/rtc_me18.c 139 ${MSDK_PERIPH_SRC_DIR}/RTC/rtc_reva.c 140) 141endif() 142 143if (CONFIG_SOC_FLASH_MAX32 OR CONFIG_HWINFO_MAX32) 144zephyr_library_sources( 145 ${MSDK_PERIPH_SRC_DIR}/FLC/flc_common.c 146 ${MSDK_PERIPH_SRC_DIR}/FLC/flc_me18.c 147 ${MSDK_PERIPH_SRC_DIR}/FLC/flc_reva.c 148) 149endif() 150 151if (CONFIG_ADC_MAX32) 152zephyr_library_sources( 153 ${MSDK_PERIPH_SRC_DIR}/ADC/adc_me18.c 154 ${MSDK_PERIPH_SRC_DIR}/ADC/adc_revb.c 155) 156endif() 157 158if (CONFIG_W1_MAX32) 159zephyr_library_sources( 160 ${MSDK_PERIPH_SRC_DIR}/OWM/owm_me18.c 161 ${MSDK_PERIPH_SRC_DIR}/OWM/owm_reva.c 162) 163endif() 164 165if (CONFIG_PWM_MAX32 OR CONFIG_TIMER_MAX32 OR CONFIG_COUNTER_TIMER_MAX32) 166zephyr_library_sources( 167 ${MSDK_PERIPH_SRC_DIR}/TMR/tmr_common.c 168 ${MSDK_PERIPH_SRC_DIR}/TMR/tmr_me18.c 169 ${MSDK_PERIPH_SRC_DIR}/TMR/tmr_revb.c 170) 171endif() 172 173if (CONFIG_I2S_MAX32) 174zephyr_library_sources( 175 ${MSDK_PERIPH_SRC_DIR}/I2S/i2s_me18.c 176 ${MSDK_PERIPH_SRC_DIR}/I2S/i2s_reva.c 177) 178endif() 179 180if (CONFIG_ENTROPY_MAX32_TRNG) 181zephyr_library_sources( 182 ${MSDK_PERIPH_SRC_DIR}/TRNG/trng_me18.c 183 ${MSDK_PERIPH_SRC_DIR}/TRNG/trng_revb.c 184) 185endif() 186 187if (CONFIG_CRYPTO_MAX32 OR CONFIG_HWINFO_MAX32) 188zephyr_library_sources( 189 ${MSDK_PERIPH_SRC_DIR}/CTB/ctb_me18.c 190 ${MSDK_PERIPH_SRC_DIR}/CTB/ctb_reva.c 191 ${MSDK_PERIPH_SRC_DIR}/CTB/ctb_common.c 192) 193endif() 194 195if (CONFIG_CAN_MAX32) 196zephyr_library_sources( 197 ${MSDK_PERIPH_SRC_DIR}/CAN/can_me18.c 198 ${MSDK_PERIPH_SRC_DIR}/CAN/can_reva.c 199) 200endif() 201