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