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}/ADC 27 ${MSDK_PERIPH_SRC_DIR}/AES 28 ${MSDK_PERIPH_SRC_DIR}/CRC 29 ${MSDK_PERIPH_SRC_DIR}/DMA 30 ${MSDK_PERIPH_SRC_DIR}/FLC 31 ${MSDK_PERIPH_SRC_DIR}/GPIO 32 ${MSDK_PERIPH_SRC_DIR}/I2C 33 ${MSDK_PERIPH_SRC_DIR}/I2S 34 ${MSDK_PERIPH_SRC_DIR}/ICC 35 ${MSDK_PERIPH_SRC_DIR}/LP 36 ${MSDK_PERIPH_SRC_DIR}/LPCMP 37 ${MSDK_PERIPH_SRC_DIR}/OWM 38 ${MSDK_PERIPH_SRC_DIR}/PT 39 ${MSDK_PERIPH_SRC_DIR}/RTC 40 ${MSDK_PERIPH_SRC_DIR}/SPI 41 ${MSDK_PERIPH_SRC_DIR}/SDHC 42 ${MSDK_PERIPH_SRC_DIR}/SYS 43 ${MSDK_PERIPH_SRC_DIR}/TMR 44 ${MSDK_PERIPH_SRC_DIR}/TRNG 45 ${MSDK_PERIPH_SRC_DIR}/UART 46 ${MSDK_PERIPH_SRC_DIR}/WDT 47 ${MSDK_PERIPH_SRC_DIR}/WUT 48) 49 50if(CONFIG_ARM) 51 zephyr_library_sources(${MSDK_CMSIS_DIR}/Source/system_max78002.c) 52 zephyr_library_sources(${MSDK_PERIPH_SRC_DIR}/SYS/mxc_lock.c) 53elseif(CONFIG_RISCV) 54 zephyr_library_sources(${MSDK_CMSIS_DIR}/Source/system_riscv_max78002.c) 55endif() 56 57zephyr_library_sources( 58 ./max78xxx_system.c 59 60 ${MSDK_PERIPH_SRC_DIR}/ICC/icc_ai87.c 61 ${MSDK_PERIPH_SRC_DIR}/ICC/icc_reva.c 62 63 ${MSDK_PERIPH_SRC_DIR}/LP/lp_ai87.c 64 65 ${MSDK_PERIPH_SRC_DIR}/LPCMP/lpcmp_ai87.c 66 ${MSDK_PERIPH_SRC_DIR}/LPCMP/lpcmp_reva.c 67 68 ${MSDK_PERIPH_SRC_DIR}/SYS/mxc_assert.c 69 ${MSDK_PERIPH_SRC_DIR}/SYS/mxc_delay.c 70 ${MSDK_PERIPH_SRC_DIR}/SYS/pins_ai87.c 71 ${MSDK_PERIPH_SRC_DIR}/SYS/sys_ai87.c 72 73 ${MSDK_PERIPH_SRC_DIR}/DMA/dma_ai87.c 74 ${MSDK_PERIPH_SRC_DIR}/DMA/dma_reva.c 75 76 ${MSDK_PERIPH_SRC_DIR}/PT/pt_ai87.c 77 ${MSDK_PERIPH_SRC_DIR}/PT/pt_reva.c 78 79 ${MSDK_PERIPH_SRC_DIR}/SDHC/sdhc_ai87.c 80 ${MSDK_PERIPH_SRC_DIR}/SDHC/sdhc_reva.c 81 82 ${MSDK_PERIPH_SRC_DIR}/WUT/wut_ai87.c 83 ${MSDK_PERIPH_SRC_DIR}/WUT/wut_reva.c 84) 85 86if (CONFIG_ADC_MAX32) 87zephyr_library_sources( 88 ${MSDK_PERIPH_SRC_DIR}/ADC/adc_ai87.c 89 ${MSDK_PERIPH_SRC_DIR}/ADC/adc_revb.c 90) 91endif() 92 93if (CONFIG_UART_MAX32) 94zephyr_library_sources( 95 ${MSDK_PERIPH_SRC_DIR}/UART/uart_common.c 96 ${MSDK_PERIPH_SRC_DIR}/UART/uart_ai87.c 97 ${MSDK_PERIPH_SRC_DIR}/UART/uart_revb.c 98) 99endif() 100 101if (CONFIG_GPIO_MAX32) 102zephyr_library_sources( 103 ${MSDK_PERIPH_SRC_DIR}/GPIO/gpio_common.c 104 ${MSDK_PERIPH_SRC_DIR}/GPIO/gpio_ai87.c 105 ${MSDK_PERIPH_SRC_DIR}/GPIO/gpio_reva.c 106) 107endif() 108 109if (CONFIG_SPI_MAX32) 110zephyr_library_sources( 111 ${MSDK_PERIPH_SRC_DIR}/SPI/spi_ai87.c 112 ${MSDK_PERIPH_SRC_DIR}/SPI/spi_reva1.c 113) 114endif() 115 116if (CONFIG_I2C_MAX32) 117zephyr_library_sources( 118 ${MSDK_PERIPH_SRC_DIR}/I2C/i2c_ai87.c 119 ${MSDK_PERIPH_SRC_DIR}/I2C/i2c_reva.c 120) 121endif() 122 123if (CONFIG_I2S_MAX32) 124zephyr_library_sources( 125 ${MSDK_PERIPH_SRC_DIR}/I2S/i2s_ai87.c 126 ${MSDK_PERIPH_SRC_DIR}/I2S/i2s_reva.c 127) 128endif() 129 130if (CONFIG_WDT_MAX32) 131zephyr_library_sources( 132 ${MSDK_PERIPH_SRC_DIR}/WDT/wdt_common.c 133 ${MSDK_PERIPH_SRC_DIR}/WDT/wdt_ai87.c 134 ${MSDK_PERIPH_SRC_DIR}/WDT/wdt_revb.c 135) 136endif() 137 138if (CONFIG_RTC_MAX32 OR CONFIG_COUNTER_RTC_MAX32) 139zephyr_library_sources( 140 ${MSDK_PERIPH_SRC_DIR}/RTC/rtc_ai87.c 141 ${MSDK_PERIPH_SRC_DIR}/RTC/rtc_reva.c 142) 143endif() 144 145if (CONFIG_SOC_FLASH_MAX32 OR CONFIG_HWINFO_MAX32) 146zephyr_library_sources( 147 ${MSDK_PERIPH_SRC_DIR}/FLC/flc_common.c 148 ${MSDK_PERIPH_SRC_DIR}/FLC/flc_ai87.c 149 ${MSDK_PERIPH_SRC_DIR}/FLC/flc_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_ai87.c 157 ${MSDK_PERIPH_SRC_DIR}/TMR/tmr_revb.c 158) 159endif() 160 161if (CONFIG_ENTROPY_MAX32_TRNG OR CONFIG_HWINFO_MAX32) 162zephyr_library_sources( 163 ${MSDK_PERIPH_SRC_DIR}/TRNG/trng_ai87.c 164 ${MSDK_PERIPH_SRC_DIR}/TRNG/trng_revb.c 165) 166endif() 167 168if (CONFIG_CRYPTO_MAX32 OR CONFIG_HWINFO_MAX32) 169zephyr_library_sources( 170 ${MSDK_PERIPH_SRC_DIR}/AES/aes_ai87.c 171 ${MSDK_PERIPH_SRC_DIR}/AES/aes_revb.c 172) 173endif() 174 175if (CONFIG_CRYPTO_MAX32) 176zephyr_library_sources( 177 ${MSDK_PERIPH_SRC_DIR}/CRC/crc_ai87.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_ai87.c 185 ${MSDK_PERIPH_SRC_DIR}/OWM/owm_reva.c 186) 187endif() 188