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}/ADC 27 ${MSDK_PERIPH_SRC_DIR}/AES 28 ${MSDK_PERIPH_SRC_DIR}/CAMERAIF 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}/SPI 43 ${MSDK_PERIPH_SRC_DIR}/SYS 44 ${MSDK_PERIPH_SRC_DIR}/TMR 45 ${MSDK_PERIPH_SRC_DIR}/TRNG 46 ${MSDK_PERIPH_SRC_DIR}/UART 47 ${MSDK_PERIPH_SRC_DIR}/WDT 48 ${MSDK_PERIPH_SRC_DIR}/WUT 49) 50 51if(CONFIG_ARM) 52 zephyr_library_sources(${MSDK_CMSIS_DIR}/Source/system_max78000.c) 53 zephyr_library_sources(${MSDK_PERIPH_SRC_DIR}/SYS/mxc_lock.c) 54elseif(CONFIG_RISCV) 55 zephyr_library_sources(${MSDK_CMSIS_DIR}/Source/system_riscv_max78000.c) 56endif() 57 58zephyr_library_sources( 59 ./max78xxx_system.c 60 61 ${MSDK_PERIPH_SRC_DIR}/CAMERAIF/cameraif_ai85.c 62 ${MSDK_PERIPH_SRC_DIR}/CAMERAIF/cameraif_reva.c 63 64 ${MSDK_PERIPH_SRC_DIR}/ICC/icc_me17.c 65 ${MSDK_PERIPH_SRC_DIR}/ICC/icc_reva.c 66 67 ${MSDK_PERIPH_SRC_DIR}/LP/lp_ai85.c 68 69 ${MSDK_PERIPH_SRC_DIR}/LPCMP/lpcmp_ai85.c 70 ${MSDK_PERIPH_SRC_DIR}/LPCMP/lpcmp_reva.c 71 72 ${MSDK_PERIPH_SRC_DIR}/SYS/mxc_assert.c 73 ${MSDK_PERIPH_SRC_DIR}/SYS/mxc_delay.c 74 ${MSDK_PERIPH_SRC_DIR}/SYS/pins_ai85.c 75 ${MSDK_PERIPH_SRC_DIR}/SYS/sys_ai85.c 76 77 ${MSDK_PERIPH_SRC_DIR}/DMA/dma_me17.c 78 ${MSDK_PERIPH_SRC_DIR}/DMA/dma_reva.c 79 80 ${MSDK_PERIPH_SRC_DIR}/SEMA/sema_me17.c 81 ${MSDK_PERIPH_SRC_DIR}/SEMA/sema_reva.c 82 83 ${MSDK_PERIPH_SRC_DIR}/PT/pt_ai85.c 84 ${MSDK_PERIPH_SRC_DIR}/PT/pt_reva.c 85 86 ${MSDK_PERIPH_SRC_DIR}/WUT/wut_ai85.c 87 ${MSDK_PERIPH_SRC_DIR}/WUT/wut_reva.c 88) 89 90if (CONFIG_ADC_MAX32) 91zephyr_library_sources( 92 ${MSDK_PERIPH_SRC_DIR}/ADC/adc_me17.c 93 ${MSDK_PERIPH_SRC_DIR}/ADC/adc_reva.c 94) 95endif() 96 97if (CONFIG_UART_MAX32) 98zephyr_library_sources( 99 ${MSDK_PERIPH_SRC_DIR}/UART/uart_common.c 100 ${MSDK_PERIPH_SRC_DIR}/UART/uart_ai85.c 101 ${MSDK_PERIPH_SRC_DIR}/UART/uart_revb.c 102) 103endif() 104 105if (CONFIG_GPIO_MAX32) 106zephyr_library_sources( 107 ${MSDK_PERIPH_SRC_DIR}/GPIO/gpio_common.c 108 ${MSDK_PERIPH_SRC_DIR}/GPIO/gpio_ai85.c 109 ${MSDK_PERIPH_SRC_DIR}/GPIO/gpio_reva.c 110) 111endif() 112 113if (CONFIG_SPI_MAX32) 114zephyr_library_sources( 115 ${MSDK_PERIPH_SRC_DIR}/SPI/spi_me17.c 116 ${MSDK_PERIPH_SRC_DIR}/SPI/spi_reva1.c 117) 118endif() 119 120if (CONFIG_I2C_MAX32) 121zephyr_library_sources( 122 ${MSDK_PERIPH_SRC_DIR}/I2C/i2c_me17.c 123 ${MSDK_PERIPH_SRC_DIR}/I2C/i2c_reva.c 124) 125endif() 126 127if (CONFIG_I2S_MAX32) 128zephyr_library_sources( 129 ${MSDK_PERIPH_SRC_DIR}/I2S/i2s_ai85.c 130 ${MSDK_PERIPH_SRC_DIR}/I2S/i2s_reva.c 131) 132endif() 133 134if (CONFIG_WDT_MAX32) 135zephyr_library_sources( 136 ${MSDK_PERIPH_SRC_DIR}/WDT/wdt_common.c 137 ${MSDK_PERIPH_SRC_DIR}/WDT/wdt_me17.c 138 ${MSDK_PERIPH_SRC_DIR}/WDT/wdt_revb.c 139) 140endif() 141 142if (CONFIG_RTC_MAX32 OR CONFIG_COUNTER_RTC_MAX32) 143zephyr_library_sources( 144 ${MSDK_PERIPH_SRC_DIR}/RTC/rtc_me17.c 145 ${MSDK_PERIPH_SRC_DIR}/RTC/rtc_reva.c 146) 147endif() 148 149if (CONFIG_SOC_FLASH_MAX32 OR CONFIG_HWINFO_MAX32) 150zephyr_library_sources( 151 ${MSDK_PERIPH_SRC_DIR}/FLC/flc_common.c 152 ${MSDK_PERIPH_SRC_DIR}/FLC/flc_me17.c 153 ${MSDK_PERIPH_SRC_DIR}/FLC/flc_reva.c 154) 155endif() 156 157if (CONFIG_PWM_MAX32 OR CONFIG_TIMER_MAX32 OR CONFIG_COUNTER_TIMER_MAX32) 158zephyr_library_sources( 159 ${MSDK_PERIPH_SRC_DIR}/TMR/tmr_common.c 160 ${MSDK_PERIPH_SRC_DIR}/TMR/tmr_ai85.c 161 ${MSDK_PERIPH_SRC_DIR}/TMR/tmr_revb.c 162) 163endif() 164 165if (CONFIG_ENTROPY_MAX32_TRNG OR CONFIG_HWINFO_MAX32) 166zephyr_library_sources( 167 ${MSDK_PERIPH_SRC_DIR}/TRNG/trng_ai85.c 168 ${MSDK_PERIPH_SRC_DIR}/TRNG/trng_revb.c 169) 170endif() 171 172if (CONFIG_CRYPTO_MAX32 OR CONFIG_HWINFO_MAX32) 173zephyr_library_sources( 174 ${MSDK_PERIPH_SRC_DIR}/AES/aes_me17.c 175 ${MSDK_PERIPH_SRC_DIR}/AES/aes_revb.c 176 177 ${MSDK_PERIPH_SRC_DIR}/CRC/crc_me17.c 178 ${MSDK_PERIPH_SRC_DIR}/CRC/crc_reva.c 179) 180endif() 181 182if (CONFIG_W1_MAX32) 183zephyr_library_sources( 184 ${MSDK_PERIPH_SRC_DIR}/OWM/owm_me17.c 185 ${MSDK_PERIPH_SRC_DIR}/OWM/owm_reva.c 186) 187endif() 188