Skip to content

Commit 34bbc75

Browse files
authored
Merge pull request #15109 from MaximIntegrated/add-MAX32660
Add MAX32660EVSYS
2 parents b7c2dd0 + 1960082 commit 34bbc75

File tree

136 files changed

+31532
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

136 files changed

+31532
-0
lines changed

targets/TARGET_Maxim/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
add_subdirectory(TARGET_MAX32620C EXCLUDE_FROM_ALL)
66
add_subdirectory(TARGET_MAX32625 EXCLUDE_FROM_ALL)
77
add_subdirectory(TARGET_MAX32630 EXCLUDE_FROM_ALL)
8+
add_subdirectory(TARGET_MAX32660 EXCLUDE_FROM_ALL)
89

910
add_library(mbed-maxim INTERFACE)
1011

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
# Copyright (c) 2020-2021 ARM Limited. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
add_subdirectory(TARGET_MAX32660EVSYS EXCLUDE_FROM_ALL)
5+
6+
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
7+
set(LINKER_FILE device/TOOLCHAIN_ARM_STD/MAX32660.sct)
8+
set(STARTUP_FILE device/TOOLCHAIN_ARM_STD/startup_max32660.S)
9+
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
10+
set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/max32660.ld)
11+
set(STARTUP_FILE device/TOOLCHAIN_GCC_ARM/startup_max32660.S)
12+
endif()
13+
14+
add_library(mbed-max32660 INTERFACE)
15+
mbed_set_linker_script(mbed-max32660 ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
16+
17+
set(MXM_PARTNUMBER MAX32660)
18+
set(MXM_SOURCE_DIR ./Libraries/PeriphDrivers/Source)
19+
set(MXM_PERIPH_DRIVER_DIR ./Libraries/PeriphDrivers)
20+
set(MXM_CMSIS_DIR ./Libraries/CMSIS/Device/Maxim)
21+
22+
target_include_directories(mbed-max32660
23+
INTERFACE
24+
.
25+
device
26+
27+
${MXM_PERIPH_DRIVER_DIR}/Include/${MXM_PARTNUMBER}
28+
${MXM_CMSIS_DIR}/${MXM_PARTNUMBER}/Include
29+
30+
${MXM_SOURCE_DIR}/DMA
31+
${MXM_SOURCE_DIR}/LP
32+
${MXM_SOURCE_DIR}/FLC
33+
${MXM_SOURCE_DIR}/GPIO
34+
${MXM_SOURCE_DIR}/I2C
35+
${MXM_SOURCE_DIR}/ICC
36+
${MXM_SOURCE_DIR}/RTC
37+
${MXM_SOURCE_DIR}/SPI
38+
${MXM_SOURCE_DIR}/SPIMSS
39+
${MXM_SOURCE_DIR}/TMR
40+
${MXM_SOURCE_DIR}/UART
41+
${MXM_SOURCE_DIR}/WDT
42+
)
43+
44+
target_sources(mbed-max32660
45+
INTERFACE
46+
PeripheralPins.c
47+
gpio_api.c
48+
gpio_irq_api.c
49+
i2c_api.c
50+
pinmap.c
51+
port_api.c
52+
rtc_api.c
53+
serial_api.c
54+
sleep.c
55+
spi_api.c
56+
us_ticker.c
57+
lp_ticker.c
58+
flash_api.c
59+
watchdog_api.c
60+
61+
${MXM_CMSIS_DIR}/${MXM_PARTNUMBER}/Source/system_max32660.c
62+
63+
${MXM_SOURCE_DIR}/SYS/mxc_assert.c
64+
${MXM_SOURCE_DIR}/SYS/mxc_delay.c
65+
${MXM_SOURCE_DIR}/SYS/mxc_lock.c
66+
${MXM_SOURCE_DIR}/SYS/pins_me11.c
67+
${MXM_SOURCE_DIR}/SYS/sys_me11.c
68+
69+
${MXM_SOURCE_DIR}/DMA/dma_me11.c
70+
${MXM_SOURCE_DIR}/DMA/dma_reva.c
71+
72+
${MXM_SOURCE_DIR}/LP/lp_me11.c
73+
74+
${MXM_SOURCE_DIR}/FLC/flc_common.c
75+
${MXM_SOURCE_DIR}/FLC/flc_me11.c
76+
${MXM_SOURCE_DIR}/FLC/flc_reva.c
77+
78+
${MXM_SOURCE_DIR}/GPIO/gpio_common.c
79+
${MXM_SOURCE_DIR}/GPIO/gpio_me11.c
80+
${MXM_SOURCE_DIR}/GPIO/gpio_reva.c
81+
82+
${MXM_SOURCE_DIR}/I2C/i2c_me11.c
83+
${MXM_SOURCE_DIR}/I2C/i2c_reva.c
84+
85+
${MXM_SOURCE_DIR}/SPIMSS/spimss_me11.c
86+
${MXM_SOURCE_DIR}/SPIMSS/spimss_reva.c
87+
${MXM_SOURCE_DIR}/SPIMSS/i2s_me11.c
88+
${MXM_SOURCE_DIR}/SPIMSS/i2s_reva.c
89+
90+
${MXM_SOURCE_DIR}/ICC/icc_common.c
91+
${MXM_SOURCE_DIR}/ICC/icc_me11.c
92+
${MXM_SOURCE_DIR}/ICC/icc_reva.c
93+
94+
${MXM_SOURCE_DIR}/RTC/rtc_me11.c
95+
${MXM_SOURCE_DIR}/RTC/rtc_reva.c
96+
97+
${MXM_SOURCE_DIR}/SPI/spi_me11.c
98+
${MXM_SOURCE_DIR}/SPI/spi_reva.c
99+
100+
${MXM_SOURCE_DIR}/TMR/tmr_common.c
101+
${MXM_SOURCE_DIR}/TMR/tmr_me11.c
102+
${MXM_SOURCE_DIR}/TMR/tmr_reva.c
103+
104+
${MXM_SOURCE_DIR}/UART/uart_common.c
105+
${MXM_SOURCE_DIR}/UART/uart_me11.c
106+
${MXM_SOURCE_DIR}/UART/uart_reva.c
107+
108+
${MXM_SOURCE_DIR}/WDT/wdt_common.c
109+
${MXM_SOURCE_DIR}/WDT/wdt_me11.c
110+
${MXM_SOURCE_DIR}/WDT/wdt_reva.c
111+
112+
${STARTUP_FILE}
113+
)
114+
115+
target_link_libraries(mbed-max32660
116+
INTERFACE
117+
mbed-maxim
118+
)
119+
120+

targets/TARGET_Maxim/TARGET_MAX32660/Libraries/CMSIS/Device/Maxim/MAX32660/Include/dma_regs.h

Lines changed: 390 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
/**
2+
* @file fcr_regs.h
3+
* @brief Registers, Bit Masks and Bit Positions for the FCR Peripheral Module.
4+
*/
5+
6+
/* ****************************************************************************
7+
* Copyright (C) Maxim Integrated Products, Inc., All Rights Reserved.
8+
*
9+
* Permission is hereby granted, free of charge, to any person obtaining a
10+
* copy of this software and associated documentation files (the "Software"),
11+
* to deal in the Software without restriction, including without limitation
12+
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
13+
* and/or sell copies of the Software, and to permit persons to whom the
14+
* Software is furnished to do so, subject to the following conditions:
15+
*
16+
* The above copyright notice and this permission notice shall be included
17+
* in all copies or substantial portions of the Software.
18+
*
19+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
20+
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21+
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
22+
* IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
23+
* OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
24+
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
25+
* OTHER DEALINGS IN THE SOFTWARE.
26+
*
27+
* Except as contained in this notice, the name of Maxim Integrated
28+
* Products, Inc. shall not be used except as stated in the Maxim Integrated
29+
* Products, Inc. Branding Policy.
30+
*
31+
* The mere transfer of this software does not imply any licenses
32+
* of trade secrets, proprietary technology, copyrights, patents,
33+
* trademarks, maskwork rights, or any other form of intellectual
34+
* property whatsoever. Maxim Integrated Products, Inc. retains all
35+
* ownership rights.
36+
*
37+
*
38+
*************************************************************************** */
39+
40+
#ifndef _FCR_REGS_H_
41+
#define _FCR_REGS_H_
42+
43+
/* **** Includes **** */
44+
#include <stdint.h>
45+
46+
#ifdef __cplusplus
47+
extern "C" {
48+
#endif
49+
50+
#if defined (__ICCARM__)
51+
#pragma system_include
52+
#endif
53+
54+
#if defined (__CC_ARM)
55+
#pragma anon_unions
56+
#endif
57+
/// @cond
58+
/*
59+
If types are not defined elsewhere (CMSIS) define them here
60+
*/
61+
#ifndef __IO
62+
#define __IO volatile
63+
#endif
64+
#ifndef __I
65+
#define __I volatile const
66+
#endif
67+
#ifndef __O
68+
#define __O volatile
69+
#endif
70+
71+
/// @endcond
72+
73+
/* **** Definitions **** */
74+
75+
/**
76+
* @ingroup fcr
77+
* @defgroup fcr_registers FCR_Registers
78+
* @brief Registers, Bit Masks and Bit Positions for the FCR Peripheral Module.
79+
* @details Function Control.
80+
*/
81+
82+
/**
83+
* @ingroup fcr_registers
84+
* Structure type to access the FCR Registers.
85+
*/
86+
typedef struct {
87+
__IO uint32_t reg0; /**< <tt>\b 0x00:</tt> FCR REG0 Register */
88+
} mxc_fcr_regs_t;
89+
90+
/* Register offsets for module FCR */
91+
/**
92+
* @ingroup fcr_registers
93+
* @defgroup FCR_Register_Offsets Register Offsets
94+
* @brief FCR Peripheral Register Offsets from the FCR Base Peripheral Address.
95+
* @{
96+
*/
97+
#define MXC_R_FCR_REG0 ((uint32_t)0x00000000UL) /**< Offset from FCR Base Address: <tt> 0x0000</tt> */
98+
/**@} end of group fcr_registers */
99+
100+
/**
101+
* @ingroup fcr_registers
102+
* @defgroup FCR_REG0 FCR_REG0
103+
* @brief Register 0.
104+
* @{
105+
*/
106+
#define MXC_F_FCR_REG0_I2C0_SDA_FILTER_EN_POS 20 /**< REG0_I2C0_SDA_FILTER_EN Position */
107+
#define MXC_F_FCR_REG0_I2C0_SDA_FILTER_EN ((uint32_t)(0x1UL << MXC_F_FCR_REG0_I2C0_SDA_FILTER_EN_POS)) /**< REG0_I2C0_SDA_FILTER_EN Mask */
108+
109+
#define MXC_F_FCR_REG0_I2C0_SCL_FILTER_EN_POS 21 /**< REG0_I2C0_SCL_FILTER_EN Position */
110+
#define MXC_F_FCR_REG0_I2C0_SCL_FILTER_EN ((uint32_t)(0x1UL << MXC_F_FCR_REG0_I2C0_SCL_FILTER_EN_POS)) /**< REG0_I2C0_SCL_FILTER_EN Mask */
111+
112+
#define MXC_F_FCR_REG0_I2C1_SDA_FILTER_EN_POS 22 /**< REG0_I2C1_SDA_FILTER_EN Position */
113+
#define MXC_F_FCR_REG0_I2C1_SDA_FILTER_EN ((uint32_t)(0x1UL << MXC_F_FCR_REG0_I2C1_SDA_FILTER_EN_POS)) /**< REG0_I2C1_SDA_FILTER_EN Mask */
114+
115+
#define MXC_F_FCR_REG0_I2C1_SCL_FILTER_EN_POS 23 /**< REG0_I2C1_SCL_FILTER_EN Position */
116+
#define MXC_F_FCR_REG0_I2C1_SCL_FILTER_EN ((uint32_t)(0x1UL << MXC_F_FCR_REG0_I2C1_SCL_FILTER_EN_POS)) /**< REG0_I2C1_SCL_FILTER_EN Mask */
117+
118+
/**@} end of group FCR_REG0_Register */
119+
120+
#ifdef __cplusplus
121+
}
122+
#endif
123+
124+
#endif /* _FCR_REGS_H_ */

0 commit comments

Comments
 (0)