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}/ADC
27    ${MSDK_PERIPH_SRC_DIR}/CORE1
28    ${MSDK_PERIPH_SRC_DIR}/DMA
29    ${MSDK_PERIPH_SRC_DIR}/FLC
30    ${MSDK_PERIPH_SRC_DIR}/GPIO
31    ${MSDK_PERIPH_SRC_DIR}/HTMR
32    ${MSDK_PERIPH_SRC_DIR}/I2C
33    ${MSDK_PERIPH_SRC_DIR}/ICC
34    ${MSDK_PERIPH_SRC_DIR}/LP
35    ${MSDK_PERIPH_SRC_DIR}/OWM
36    ${MSDK_PERIPH_SRC_DIR}/PT
37    ${MSDK_PERIPH_SRC_DIR}/RPU
38    ${MSDK_PERIPH_SRC_DIR}/RTC
39    ${MSDK_PERIPH_SRC_DIR}/SDHC
40    ${MSDK_PERIPH_SRC_DIR}/SEMA
41    ${MSDK_PERIPH_SRC_DIR}/SIMO
42    ${MSDK_PERIPH_SRC_DIR}/SPI
43    ${MSDK_PERIPH_SRC_DIR}/SPIXF
44    ${MSDK_PERIPH_SRC_DIR}/SPIXR
45    ${MSDK_PERIPH_SRC_DIR}/SRCC
46    ${MSDK_PERIPH_SRC_DIR}/SYS
47    ${MSDK_PERIPH_SRC_DIR}/TMR
48    ${MSDK_PERIPH_SRC_DIR}/TPU
49    ${MSDK_PERIPH_SRC_DIR}/TRNG
50    ${MSDK_PERIPH_SRC_DIR}/UART
51    ${MSDK_PERIPH_SRC_DIR}/WDT
52    ${MSDK_PERIPH_SRC_DIR}/WUT
53)
54
55zephyr_library_sources(
56    ./max32xxx_system.c
57
58    ${MSDK_CMSIS_DIR}/Source/system_max32665.c
59
60    ${MSDK_PERIPH_SRC_DIR}/HTMR/htmr_me14.c
61    ${MSDK_PERIPH_SRC_DIR}/HTMR/htmr_reva.c
62
63    ${MSDK_PERIPH_SRC_DIR}/ICC/icc_common.c
64    ${MSDK_PERIPH_SRC_DIR}/ICC/icc_me14.c
65    ${MSDK_PERIPH_SRC_DIR}/ICC/icc_reva.c
66
67    ${MSDK_PERIPH_SRC_DIR}/LP/lp_me14.c
68
69    ${MSDK_PERIPH_SRC_DIR}/PT/pt_me14.c
70    ${MSDK_PERIPH_SRC_DIR}/PT/pt_reva.c
71
72    ${MSDK_PERIPH_SRC_DIR}/RPU/rpu_me14.c
73    ${MSDK_PERIPH_SRC_DIR}/RPU/rpu_reva.c
74
75
76    ${MSDK_PERIPH_SRC_DIR}/SDHC/sdhc_me14.c
77    ${MSDK_PERIPH_SRC_DIR}/SDHC/sdhc_reva.c
78
79    ${MSDK_PERIPH_SRC_DIR}/SEMA/sema_me14.c
80    ${MSDK_PERIPH_SRC_DIR}/SEMA/sema_reva.c
81
82    ${MSDK_PERIPH_SRC_DIR}/SIMO/simo_me14.c
83    ${MSDK_PERIPH_SRC_DIR}/SIMO/simo_reva.c
84
85
86    ${MSDK_PERIPH_SRC_DIR}/SPIXF/spixf_me14.c
87    ${MSDK_PERIPH_SRC_DIR}/SPIXF/spixf_reva.c
88
89    ${MSDK_PERIPH_SRC_DIR}/SPIXR/spixr_me14.c
90    ${MSDK_PERIPH_SRC_DIR}/SPIXR/spixr_reva.c
91
92    ${MSDK_PERIPH_SRC_DIR}/SRCC/srcc_me14.c
93    ${MSDK_PERIPH_SRC_DIR}/SRCC/srcc_reva.c
94
95    ${MSDK_PERIPH_SRC_DIR}/SYS/mxc_assert.c
96    ${MSDK_PERIPH_SRC_DIR}/SYS/mxc_delay.c
97    ${MSDK_PERIPH_SRC_DIR}/SYS/mxc_lock.c
98    ${MSDK_PERIPH_SRC_DIR}/SYS/pins_me14.c
99    ${MSDK_PERIPH_SRC_DIR}/SYS/sys_me14.c
100
101    ${MSDK_PERIPH_SRC_DIR}/TPU/tpu_me14.c
102    ${MSDK_PERIPH_SRC_DIR}/TPU/tpu_reva.c
103
104    ${MSDK_PERIPH_SRC_DIR}/WUT/wut_me14.c
105    ${MSDK_PERIPH_SRC_DIR}/WUT/wut_reva.c
106
107    ${MSDK_PERIPH_SRC_DIR}/DMA/dma_me14.c
108    ${MSDK_PERIPH_SRC_DIR}/DMA/dma_reva.c
109)
110
111if (CONFIG_UART_MAX32)
112zephyr_library_sources(
113    ${MSDK_PERIPH_SRC_DIR}/UART/uart_common.c
114    ${MSDK_PERIPH_SRC_DIR}/UART/uart_me14.c
115    ${MSDK_PERIPH_SRC_DIR}/UART/uart_reva.c
116)
117endif()
118
119if (CONFIG_GPIO_MAX32)
120zephyr_library_sources(
121    ${MSDK_PERIPH_SRC_DIR}/GPIO/gpio_common.c
122    ${MSDK_PERIPH_SRC_DIR}/GPIO/gpio_me14.c
123    ${MSDK_PERIPH_SRC_DIR}/GPIO/gpio_reva.c
124)
125endif()
126
127if (CONFIG_SPI_MAX32)
128zephyr_library_sources(
129    ${MSDK_PERIPH_SRC_DIR}/SPI/spi_me14.c
130    ${MSDK_PERIPH_SRC_DIR}/SPI/spi_reva1.c
131)
132endif()
133
134if (CONFIG_I2C_MAX32)
135zephyr_library_sources(
136    ${MSDK_PERIPH_SRC_DIR}/I2C/i2c_me14.c
137    ${MSDK_PERIPH_SRC_DIR}/I2C/i2c_reva.c
138)
139endif()
140
141if (CONFIG_WDT_MAX32)
142zephyr_library_sources(
143    ${MSDK_PERIPH_SRC_DIR}/WDT/wdt_common.c
144    ${MSDK_PERIPH_SRC_DIR}/WDT/wdt_me14.c
145    ${MSDK_PERIPH_SRC_DIR}/WDT/wdt_reva.c
146)
147endif()
148
149if (CONFIG_RTC_MAX32 OR CONFIG_COUNTER_RTC_MAX32)
150zephyr_library_sources(
151    ${MSDK_PERIPH_SRC_DIR}/RTC/rtc_me14.c
152    ${MSDK_PERIPH_SRC_DIR}/RTC/rtc_reva.c
153)
154endif()
155
156if (CONFIG_SOC_FLASH_MAX32 OR CONFIG_HWINFO_MAX32)
157zephyr_library_sources(
158    ${MSDK_PERIPH_SRC_DIR}/FLC/flc_common.c
159    ${MSDK_PERIPH_SRC_DIR}/FLC/flc_me14.c
160    ${MSDK_PERIPH_SRC_DIR}/FLC/flc_reva.c
161)
162endif()
163
164if (CONFIG_ADC_MAX32)
165zephyr_library_sources(
166    ${MSDK_PERIPH_SRC_DIR}/ADC/adc_me14.c
167    ${MSDK_PERIPH_SRC_DIR}/ADC/adc_reva.c
168)
169endif()
170
171if (CONFIG_W1_MAX32)
172zephyr_library_sources(
173    ${MSDK_PERIPH_SRC_DIR}/OWM/owm_me14.c
174    ${MSDK_PERIPH_SRC_DIR}/OWM/owm_reva.c
175)
176endif()
177
178if (CONFIG_PWM_MAX32 OR CONFIG_TIMER_MAX32 OR CONFIG_COUNTER_TIMER_MAX32)
179zephyr_library_sources(
180    ${MSDK_PERIPH_SRC_DIR}/TMR/tmr_common.c
181    ${MSDK_PERIPH_SRC_DIR}/TMR/tmr_me14.c
182    ${MSDK_PERIPH_SRC_DIR}/TMR/tmr_reva.c
183)
184endif()
185
186if (CONFIG_ENTROPY_MAX32_TRNG)
187zephyr_library_sources(
188    ${MSDK_PERIPH_SRC_DIR}/TRNG/trng_me14.c
189    ${MSDK_PERIPH_SRC_DIR}/TRNG/trng_revb.c
190)
191endif()
192