1############################################################################## 2# 3# Copyright (C) 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}/AES 29 ${MSDK_PERIPH_SRC_DIR}/AFE 30 ${MSDK_PERIPH_SRC_DIR}/CRC 31 ${MSDK_PERIPH_SRC_DIR}/DMA 32 ${MSDK_PERIPH_SRC_DIR}/FLC 33 ${MSDK_PERIPH_SRC_DIR}/GPIO 34 ${MSDK_PERIPH_SRC_DIR}/I2C 35 ${MSDK_PERIPH_SRC_DIR}/I2S 36 ${MSDK_PERIPH_SRC_DIR}/ICC 37 ${MSDK_PERIPH_SRC_DIR}/LP 38 ${MSDK_PERIPH_SRC_DIR}/OWM 39 ${MSDK_PERIPH_SRC_DIR}/PT 40 ${MSDK_PERIPH_SRC_DIR}/RTC 41 ${MSDK_PERIPH_SRC_DIR}/SEMA 42 ${MSDK_PERIPH_SRC_DIR}/SIMO 43 ${MSDK_PERIPH_SRC_DIR}/SPI 44 ${MSDK_PERIPH_SRC_DIR}/TRNG 45 ${MSDK_PERIPH_SRC_DIR}/TMR 46 ${MSDK_PERIPH_SRC_DIR}/UART 47 ${MSDK_PERIPH_SRC_DIR}/WDT 48 ${MSDK_PERIPH_SRC_DIR}/WUT 49) 50 51zephyr_library_sources( 52 ./max32xxx_system.c 53 54 ${MSDK_CMSIS_DIR}/Source/system_max32680.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/mxc_lock.c 59 ${MSDK_PERIPH_SRC_DIR}/SYS/pins_me20.c 60 ${MSDK_PERIPH_SRC_DIR}/SYS/sys_me17.c 61 62 ${MSDK_PERIPH_SRC_DIR}/AFE/afe.c 63 ${MSDK_PERIPH_SRC_DIR}/AFE/afe_gpio.c 64 ${MSDK_PERIPH_SRC_DIR}/AFE/afe_timer.c 65 ${MSDK_PERIPH_SRC_DIR}/AFE/hart_uart.c 66 ${MSDK_PERIPH_SRC_DIR}/AFE/infoblock.c 67 68 ${MSDK_PERIPH_SRC_DIR}/ICC/icc_me17.c 69 ${MSDK_PERIPH_SRC_DIR}/ICC/icc_reva.c 70 71 ${MSDK_PERIPH_SRC_DIR}/LP/lp_me17.c 72 73 ${MSDK_PERIPH_SRC_DIR}/PT/pt_me20.c 74 ${MSDK_PERIPH_SRC_DIR}/PT/pt_reva.c 75 76 ${MSDK_PERIPH_SRC_DIR}/SEMA/sema_me17.c 77 ${MSDK_PERIPH_SRC_DIR}/SEMA/sema_reva.c 78 79 ${MSDK_PERIPH_SRC_DIR}/SIMO/simo_me17.c 80 ${MSDK_PERIPH_SRC_DIR}/SIMO/simo_reva.c 81 82 ${MSDK_PERIPH_SRC_DIR}/WUT/wut_me17.c 83 ${MSDK_PERIPH_SRC_DIR}/WUT/wut_reva.c 84 85 ${MSDK_PERIPH_SRC_DIR}/DMA/dma_me17.c 86 ${MSDK_PERIPH_SRC_DIR}/DMA/dma_reva.c 87) 88 89if (CONFIG_UART_MAX32) 90zephyr_library_sources( 91 ${MSDK_PERIPH_SRC_DIR}/UART/uart_common.c 92 ${MSDK_PERIPH_SRC_DIR}/UART/uart_me17.c 93 ${MSDK_PERIPH_SRC_DIR}/UART/uart_revb.c 94) 95endif() 96 97if (CONFIG_GPIO_MAX32) 98zephyr_library_sources( 99 ${MSDK_PERIPH_SRC_DIR}/GPIO/gpio_common.c 100 ${MSDK_PERIPH_SRC_DIR}/GPIO/gpio_me17.c 101 ${MSDK_PERIPH_SRC_DIR}/GPIO/gpio_reva.c 102) 103endif() 104 105if (CONFIG_SPI_MAX32) 106zephyr_library_sources( 107 ${MSDK_PERIPH_SRC_DIR}/SPI/spi_me17.c 108 ${MSDK_PERIPH_SRC_DIR}/SPI/spi_reva1.c 109) 110endif() 111 112if (CONFIG_I2C_MAX32) 113zephyr_library_sources( 114 ${MSDK_PERIPH_SRC_DIR}/I2C/i2c_me17.c 115 ${MSDK_PERIPH_SRC_DIR}/I2C/i2c_reva.c 116) 117endif() 118 119if (CONFIG_WDT_MAX32) 120zephyr_library_sources( 121 ${MSDK_PERIPH_SRC_DIR}/WDT/wdt_common.c 122 ${MSDK_PERIPH_SRC_DIR}/WDT/wdt_me17.c 123 ${MSDK_PERIPH_SRC_DIR}/WDT/wdt_revb.c 124) 125endif() 126 127if (CONFIG_RTC_MAX32 OR CONFIG_COUNTER_RTC_MAX32) 128zephyr_library_sources( 129 ${MSDK_PERIPH_SRC_DIR}/RTC/rtc_me17.c 130 ${MSDK_PERIPH_SRC_DIR}/RTC/rtc_reva.c 131) 132endif() 133 134if (CONFIG_SOC_FLASH_MAX32 OR CONFIG_HWINFO_MAX32) 135zephyr_library_sources( 136 ${MSDK_PERIPH_SRC_DIR}/FLC/flc_common.c 137 ${MSDK_PERIPH_SRC_DIR}/FLC/flc_me17.c 138 ${MSDK_PERIPH_SRC_DIR}/FLC/flc_reva.c 139) 140endif() 141 142if (CONFIG_ADC_MAX32) 143zephyr_library_sources( 144 ${MSDK_PERIPH_SRC_DIR}/ADC/adc_me17.c 145 ${MSDK_PERIPH_SRC_DIR}/ADC/adc_reva.c 146) 147endif() 148 149if (CONFIG_W1_MAX32) 150zephyr_library_sources( 151 ${MSDK_PERIPH_SRC_DIR}/OWM/owm_me17.c 152 ${MSDK_PERIPH_SRC_DIR}/OWM/owm_reva.c 153) 154endif() 155 156if (CONFIG_PWM_MAX32 OR CONFIG_TIMER_MAX32 OR CONFIG_COUNTER_TIMER_MAX32) 157zephyr_library_sources( 158 ${MSDK_PERIPH_SRC_DIR}/TMR/tmr_common.c 159 ${MSDK_PERIPH_SRC_DIR}/TMR/tmr_me17.c 160 ${MSDK_PERIPH_SRC_DIR}/TMR/tmr_revb.c 161) 162endif() 163 164if (CONFIG_I2S_MAX32) 165zephyr_library_sources( 166 ${MSDK_PERIPH_SRC_DIR}/I2S/i2s_me20.c 167 ${MSDK_PERIPH_SRC_DIR}/I2S/i2s_reva.c 168) 169endif() 170 171if (CONFIG_ENTROPY_MAX32_TRNG) 172zephyr_library_sources( 173 ${MSDK_PERIPH_SRC_DIR}/TRNG/trng_me20.c 174 ${MSDK_PERIPH_SRC_DIR}/TRNG/trng_revb.c 175) 176endif() 177 178if (CONFIG_CRYPTO_MAX32 OR CONFIG_HWINFO_MAX32) 179zephyr_library_sources( 180 ${MSDK_PERIPH_SRC_DIR}/AES/aes_me17.c 181 ${MSDK_PERIPH_SRC_DIR}/AES/aes_revb.c 182) 183endif() 184 185if (CONFIG_CRYPTO_MAX32) 186zephyr_library_sources( 187 ${MSDK_PERIPH_SRC_DIR}/CRC/crc_me17.c 188 ${MSDK_PERIPH_SRC_DIR}/CRC/crc_reva.c 189) 190endif() 191