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}/DMA 29 ${MSDK_PERIPH_SRC_DIR}/FLC 30 ${MSDK_PERIPH_SRC_DIR}/GPIO 31 ${MSDK_PERIPH_SRC_DIR}/I2C 32 ${MSDK_PERIPH_SRC_DIR}/I2S 33 ${MSDK_PERIPH_SRC_DIR}/ICC 34 ${MSDK_PERIPH_SRC_DIR}/LP 35 ${MSDK_PERIPH_SRC_DIR}/RTC 36 ${MSDK_PERIPH_SRC_DIR}/SPI 37 ${MSDK_PERIPH_SRC_DIR}/SYS 38 ${MSDK_PERIPH_SRC_DIR}/TMR 39 ${MSDK_PERIPH_SRC_DIR}/TRNG 40 ${MSDK_PERIPH_SRC_DIR}/UART 41 ${MSDK_PERIPH_SRC_DIR}/WDT 42 ${MSDK_PERIPH_SRC_DIR}/CAN 43 ${MSDK_PERIPH_SRC_DIR}/PT 44) 45 46zephyr_library_sources( 47 ./max32xxx_system.c 48 49 ${MSDK_CMSIS_DIR}/Source/system_max32662.c 50 51 ${MSDK_PERIPH_SRC_DIR}/ICC/icc_common.c 52 ${MSDK_PERIPH_SRC_DIR}/ICC/icc_me12.c 53 ${MSDK_PERIPH_SRC_DIR}/ICC/icc_reva.c 54 55 ${MSDK_PERIPH_SRC_DIR}/LP/lp_me12.c 56 57 ${MSDK_PERIPH_SRC_DIR}/SYS/mxc_assert.c 58 ${MSDK_PERIPH_SRC_DIR}/SYS/mxc_delay.c 59 ${MSDK_PERIPH_SRC_DIR}/SYS/mxc_lock.c 60 ${MSDK_PERIPH_SRC_DIR}/SYS/pins_me12.c 61 ${MSDK_PERIPH_SRC_DIR}/SYS/sys_me12.c 62 63 ${MSDK_PERIPH_SRC_DIR}/DMA/dma_me12.c 64 ${MSDK_PERIPH_SRC_DIR}/DMA/dma_reva.c 65 66 ${MSDK_PERIPH_SRC_DIR}/CAN/can_me12.c 67 ${MSDK_PERIPH_SRC_DIR}/CAN/can_reva.c 68 69 ${MSDK_PERIPH_SRC_DIR}/PT/pt_me12.c 70 ${MSDK_PERIPH_SRC_DIR}/PT/pt_reva.c 71) 72 73if (CONFIG_ADC_MAX32) 74zephyr_library_sources( 75 ${MSDK_PERIPH_SRC_DIR}/ADC/adc_me12.c 76 ${MSDK_PERIPH_SRC_DIR}/ADC/adc_revb.c 77) 78endif() 79 80if (CONFIG_UART_MAX32) 81zephyr_library_sources( 82 ${MSDK_PERIPH_SRC_DIR}/UART/uart_common.c 83 ${MSDK_PERIPH_SRC_DIR}/UART/uart_me12.c 84 ${MSDK_PERIPH_SRC_DIR}/UART/uart_revb.c 85) 86endif() 87 88if (CONFIG_GPIO_MAX32) 89zephyr_library_sources( 90 ${MSDK_PERIPH_SRC_DIR}/GPIO/gpio_common.c 91 ${MSDK_PERIPH_SRC_DIR}/GPIO/gpio_me12.c 92 ${MSDK_PERIPH_SRC_DIR}/GPIO/gpio_reva.c 93) 94endif() 95 96if (CONFIG_SPI_MAX32) 97zephyr_library_sources( 98 ${MSDK_PERIPH_SRC_DIR}/SPI/spi_me12.c 99 ${MSDK_PERIPH_SRC_DIR}/SPI/spi_reva1.c 100) 101endif() 102 103if (CONFIG_I2C_MAX32) 104zephyr_library_sources( 105 ${MSDK_PERIPH_SRC_DIR}/I2C/i2c_me12.c 106 ${MSDK_PERIPH_SRC_DIR}/I2C/i2c_reva.c 107) 108endif() 109 110if (CONFIG_I2S_MAX32) 111zephyr_library_sources( 112 ${MSDK_PERIPH_SRC_DIR}/I2S/i2s_me12.c 113 ${MSDK_PERIPH_SRC_DIR}/I2S/i2s_reva.c 114) 115endif() 116 117if (CONFIG_WDT_MAX32) 118zephyr_library_sources( 119 ${MSDK_PERIPH_SRC_DIR}/WDT/wdt_common.c 120 ${MSDK_PERIPH_SRC_DIR}/WDT/wdt_me12.c 121 ${MSDK_PERIPH_SRC_DIR}/WDT/wdt_revb.c 122) 123endif() 124 125if (CONFIG_RTC_MAX32 OR CONFIG_COUNTER_RTC_MAX32) 126zephyr_library_sources( 127 ${MSDK_PERIPH_SRC_DIR}/RTC/rtc_me12.c 128 ${MSDK_PERIPH_SRC_DIR}/RTC/rtc_reva.c 129) 130endif() 131 132if (CONFIG_SOC_FLASH_MAX32 OR CONFIG_HWINFO_MAX32) 133zephyr_library_sources( 134 ${MSDK_PERIPH_SRC_DIR}/FLC/flc_common.c 135 ${MSDK_PERIPH_SRC_DIR}/FLC/flc_me12.c 136 ${MSDK_PERIPH_SRC_DIR}/FLC/flc_reva.c 137) 138endif() 139 140if (CONFIG_PWM_MAX32 OR CONFIG_TIMER_MAX32 OR CONFIG_COUNTER_TIMER_MAX32) 141zephyr_library_sources( 142 ${MSDK_PERIPH_SRC_DIR}/TMR/tmr_common.c 143 ${MSDK_PERIPH_SRC_DIR}/TMR/tmr_me12.c 144 ${MSDK_PERIPH_SRC_DIR}/TMR/tmr_revb.c 145) 146endif() 147 148if (CONFIG_ENTROPY_MAX32_TRNG) 149zephyr_library_sources( 150 ${MSDK_PERIPH_SRC_DIR}/TRNG/trng_me12.c 151 ${MSDK_PERIPH_SRC_DIR}/TRNG/trng_revb.c 152) 153endif() 154 155if (CONFIG_CRYPTO_MAX32 OR CONFIG_HWINFO_MAX32) 156zephyr_library_sources( 157 ${MSDK_PERIPH_SRC_DIR}/AES/aes_me12.c 158 ${MSDK_PERIPH_SRC_DIR}/AES/aes_revb.c 159) 160endif() 161