Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(Boards,CMSIS,Examples,PeriphDrivers): Initial commit for MAX32657 #1012

Merged
merged 102 commits into from
May 14, 2024
Merged
Show file tree
Hide file tree
Changes from 101 commits
Commits
Show all changes
102 commits
Select commit Hold shift + click to select a range
c691d2b
Allow configuration of -mcpu for different archs
Jake-Carter Apr 18, 2024
5061c3b
Add starter/placeholder ME30 files
Jake-Carter Apr 18, 2024
98bc66d
Initial commit for updated ME30 register files
sihyung-maxim Apr 18, 2024
3befb13
Update copyrights
sihyung-maxim Apr 18, 2024
319d6dc
Update LPCMP names
sihyung-maxim Apr 18, 2024
b2d3100
Initial passthrough for max32657.h
sihyung-maxim Apr 24, 2024
2cd2bb9
Update IVT for max32657.h
sihyung-maxim Apr 25, 2024
4b81357
Fix TMR registers
sihyung-maxim Apr 26, 2024
64f15d3
Fix copyright names and add SPC
sihyung-maxim Apr 29, 2024
9417f4e
Remove unsuppored peripherals from CMSIS
sihyung-maxim Apr 29, 2024
7ac0d96
Merge remote-tracking branch 'remotes/upstream/main' into feat/ME30
Jake-Carter Apr 29, 2024
609b7b7
Add MAX32657 in zephyr build system
ozersa Apr 18, 2024
5d26d28
Update wrappers to cover MAX32657
ozersa Apr 18, 2024
b87895f
feat(PeriphDrivers): Add PinMux tool supporting functions (#997)
lorne-maxim Apr 19, 2024
47408bb
fix(Tools): Update Keil support for ECC enabled versions of the MAX32…
lorne-maxim Apr 25, 2024
3678f41
Add MAX32657 peripheral interface files
Jake-Carter Apr 29, 2024
12429e5
Add MAX32657 peripheral source files
ozersa Apr 19, 2024
81d42d9
Merge pull request #996 from analogdevicesinc/feat/add-MAX32657-Build
Jake-Carter Apr 29, 2024
c3a5362
Set FPU 'fpv5-sp-d16' for ME30
Jake-Carter Apr 29, 2024
03a5c6a
Update register files to match appropriate IP
sihyung-maxim Apr 29, 2024
189acd0
Merge branch 'feat/ME30' of github.com:analogdevicesinc/msdk into fea…
sihyung-maxim Apr 29, 2024
326905c
Re-add files that were accidentally removed
sihyung-maxim Apr 30, 2024
471a09c
Remove ISO clock and set IPO to 50MHz
sihyung-maxim Apr 30, 2024
03b7c75
Fix for linter
sihyung-maxim Apr 30, 2024
77ce4ed
Fix copyright
sihyung-maxim Apr 30, 2024
3927d4f
Update ICC, SPI, and remove unsupported register files
sihyung-maxim Apr 30, 2024
6b34f93
Remove unneeded SVD files
sihyung-maxim Apr 30, 2024
3b029ab
Fix INRO clock freq and move SPC into SYS
sihyung-maxim Apr 30, 2024
aa238cc
Add NSPC register
sihyung-maxim Apr 30, 2024
01cda58
Remove inclusion of lpgcr regs
Jake-Carter Apr 30, 2024
b085ffc
Add core_cm33.h to top-level device header
Jake-Carter May 1, 2024
aa7e9ea
Add MXC_GPIO macros to top-level device header
Jake-Carter May 1, 2024
c76e74c
Update mxc_sys.h with reset/pclkdis/clksel definitions
Jake-Carter May 1, 2024
bd8b0fd
Add basic system implementation
Jake-Carter May 1, 2024
e84319a
Add MAX32657 Hello World
Jake-Carter May 1, 2024
05b71fc
Fix comment typo
Jake-Carter May 1, 2024
1ddd3e7
Update readme
Jake-Carter May 1, 2024
1978725
Update ME30 linker script
Jake-Carter May 1, 2024
68338cc
Update .arch value for startup assembly file
Jake-Carter May 1, 2024
6f19ec6
Add basic selector for secure/non-secure builds
Jake-Carter May 1, 2024
e36207e
Add MAX32657 periph driver files to build
Jake-Carter May 1, 2024
9f7bbfe
Implement top-level UART macros for secure/non-secure
Jake-Carter May 1, 2024
df0e566
Update DMA drivers to handle multiple instances
Jake-Carter May 1, 2024
e61dab1
Revert "Update DMA drivers to handle multiple instances"
Jake-Carter May 2, 2024
9644b4e
Use built-in -mcmse GCC flag for indicating secure builds
Jake-Carter May 2, 2024
bc0648d
Update ME30 DMA drivers and macros
Jake-Carter May 2, 2024
80b7343
Update ME30 FLC drivers and macros
Jake-Carter May 2, 2024
3910ebe
Update ME30 GPIO drivers and macros
Jake-Carter May 2, 2024
c8fab73
Update mem base/size macros
Jake-Carter May 2, 2024
36cf426
Update GCR macros
Jake-Carter May 2, 2024
d7a8087
Update secure vs non-secure macros for:
Jake-Carter May 2, 2024
e6cc041
Update ME30 SYS drivers
Jake-Carter May 2, 2024
1318192
Add ME30 pins file to build
Jake-Carter May 2, 2024
541738c
Skip LP drivers
Jake-Carter May 2, 2024
732872d
Update ME30 LP drivers
Jake-Carter May 2, 2024
8d0a662
Update ME30 SPI drivers
Jake-Carter May 2, 2024
d441ff7
Update ME30 TMR drivers
Jake-Carter May 2, 2024
58af5bc
Remove revision check from TRNG health test
Jake-Carter May 2, 2024
1c753dc
Update ME30 UART drivers
Jake-Carter May 2, 2024
ed64a6d
Update ME30 WDT drivers
Jake-Carter May 3, 2024
4c9522a
Misc final fixes
Jake-Carter May 3, 2024
bdd0ff3
Fix some build errors for non-secure builds
Jake-Carter May 3, 2024
4e9156e
Dynamically switch memory address ranges for secure/non-secure linkage
Jake-Carter May 3, 2024
7e7138e
Add TrustZone support to CMSIS files (secure mode only)
sihyung-maxim May 3, 2024
553d1a2
Push unsavbed changes in system_max32657.h
sihyung-maxim May 3, 2024
89ea2be
Sync SYS, PWRSEQ, and CRC registers to register doc (initial)
sihyung-maxim May 3, 2024
c877fe8
Fix extclk settings
sihyung-maxim May 6, 2024
d896d07
Merge branch 'feat/ME30-PeriphDrivers' into feat/ME30-TZ
sihyung-maxim May 6, 2024
470eda0
Remove syntax error
sihyung-maxim May 6, 2024
68206e2
Add DMA instance number separation with secure vs non-secure builds
sihyung-maxim May 6, 2024
b50f1ae
Reorganize DMA handling
sihyung-maxim May 6, 2024
fd6d3aa
Add comment to enable ICC after testing
sihyung-maxim May 6, 2024
6397c85
Merge pull request #1008 from analogdevicesinc/feat/ME30-TZ
Jake-Carter May 6, 2024
26ac88e
Merge pull request #1005 from analogdevicesinc/feat/ME30-PeriphDrivers
Jake-Carter May 6, 2024
af0a35e
Removed CRYPTO_FREQ legacy definition warning and limit default Stack…
sihyung-maxim May 7, 2024
d1247dd
Fix TMR4/5 mappings
sihyung-maxim May 7, 2024
217e1fe
Add Secure Fault Handler
sihyung-maxim May 7, 2024
bee600f
Initial update for ME30 pins
sihyung-maxim May 8, 2024
6ba97ce
Switch to UART RevB, update MCR_CTRL register, fix build errors
sihyung-maxim May 8, 2024
cb2a43c
Update SYS registers to latest doc
sihyung-maxim May 8, 2024
71c10a5
Add nvic_table.c to build
sihyung-maxim May 9, 2024
2221b7a
Fix build issue on zephyr side
ozersa May 10, 2024
ef9bfcd
Fix DMA multiple instance handling build errors
sihyung-maxim May 10, 2024
08936be
Merge branch 'feat/ME30' of github.com:analogdevicesinc/msdk into fea…
sihyung-maxim May 10, 2024
089f77c
Update copyrights
sihyung-maxim May 10, 2024
c25f62c
Revert to original
sihyung-maxim May 10, 2024
b2fc705
Revert to original
sihyung-maxim May 10, 2024
908fdfd
clang-format
sihyung-maxim May 11, 2024
471b784
Fix clang format comment
sihyung-maxim May 11, 2024
ef44e4d
Fix linter errors
sihyung-maxim May 11, 2024
7ec3cd2
Fix linter errors and exclude partition CMSIS files
sihyung-maxim May 11, 2024
6899503
Fix regex in linter and linter fix for pins_me30.c
sihyung-maxim May 11, 2024
fd63b4a
Fix regex
sihyung-maxim May 11, 2024
4e5e071
Revise regex
sihyung-maxim May 11, 2024
42af8da
Fix regex file path typo
sihyung-maxim May 11, 2024
208ec4c
Replace UART Half Empty flag to Threshold
sihyung-maxim May 13, 2024
f040b6d
Fix -Wexpansion-to-defined error for MAX32657
Jake-Carter May 13, 2024
662b061
Merge remote-tracking branch 'remotes/upstream/main' into feat/ME30
Jake-Carter May 13, 2024
3c58bb4
Add DMA1 to GCR_PCLKDIS1 register
sihyung-maxim May 13, 2024
a59f777
Merge branch 'feat/ME30' of github.com:analogdevicesinc/msdk into fea…
sihyung-maxim May 13, 2024
c8d3552
Revert MXC_DMA_INSTANCES to TARGET_NUM checks
sihyung-maxim May 13, 2024
cc07af1
Fixed IS_SECURE_ENVIRONMENT typo
sihyung-maxim May 14, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/linter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ jobs:
# Checkout the code base #
##########################
- name: Checkout Code
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
# Full git history is needed to get a proper list of changed files within `super-linter`
fetch-depth: 0
Expand All @@ -78,7 +78,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

# Skip autogenerated register files and internal use board files
FILTER_REGEX_EXCLUDE: (.*\/Libraries\/((CMSIS\/Device\/Maxim\/[^\/]*\/Include)|(PeriphDrivers\/Source\/[^\/]*))\/[^\/]*_regs\.h)|(.*\/Libraries\/Boards\/[^\/]*\/(BCB|Emulator|Simulation|ROM)[^\/]*\/.*)|(.*\/Examples\/[^\/]*\/Display\/lvgl-8\.0\.2\/.*)|(.*\/Examples\/[^\/]*\/Demo\/lv_conf.h)|(.*\/Libraries\/CMSIS\/5.9.0\/.*)|(.*\/Libraries\/CMSIS\/Include\/.*)|(.*\/Libraries\/Cordio\/.*)|(.*\/Libraries\/SDHC\/.*)|(.*\/Libraries\/lwIP\/.*)|(.*\/Examples\/[^\/]*\/CNN\/.*)
FILTER_REGEX_EXCLUDE: (.*\/Libraries\/CMSIS\/Device\/Maxim\/.*\/Include\/partition_.*\.h)|(.*\/Libraries\/((CMSIS\/Device\/Maxim\/[^\/]*\/Include)|(PeriphDrivers\/Source\/[^\/]*))\/[^\/]*_regs\.h)|(.*\/Libraries\/Boards\/[^\/]*\/(BCB|Emulator|Simulation|ROM)[^\/]*\/.*)|(.*\/Examples\/[^\/]*\/Display\/lvgl-8\.0\.2\/.*)|(.*\/Examples\/[^\/]*\/Demo\/lv_conf.h)|(.*\/Libraries\/CMSIS\/5.9.0\/.*)|(.*\/Libraries\/CMSIS\/Include\/.*)|(.*\/Libraries\/Cordio\/.*)|(.*\/Libraries\/SDHC\/.*)|(.*\/Libraries\/lwIP\/.*)|(.*\/Examples\/[^\/]*\/CNN\/.*)

# Explicity turn off all linters except CPP
# SuperLinter Documentation says all we need to do is turn on the ones we want
Expand Down
81 changes: 81 additions & 0 deletions Examples/MAX32657/Hello_World/.cproject
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="cdt.managedbuild.toolchain.gnu.cross.base.1028364529">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.cross.base.1028364529" moduleId="org.eclipse.cdt.core.settings" name="Default">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactName="${ProjName}" buildProperties="" description="" id="cdt.managedbuild.toolchain.gnu.cross.base.1028364529" name="Default" optionalBuildProperties="org.eclipse.cdt.docker.launcher.containerbuild.property.selectedvolumes=,org.eclipse.cdt.docker.launcher.containerbuild.property.volumes=" parent="org.eclipse.cdt.build.core.emptycfg">
<folderInfo id="cdt.managedbuild.toolchain.gnu.cross.base.1028364529.1135114284" name="/" resourcePath="">
<toolChain id="cdt.managedbuild.toolchain.gnu.cross.base.312149002" name="Cross GCC" superClass="cdt.managedbuild.toolchain.gnu.cross.base">
<option id="cdt.managedbuild.option.gnu.cross.prefix.1979514558" name="Prefix" superClass="cdt.managedbuild.option.gnu.cross.prefix"/>
<option id="cdt.managedbuild.option.gnu.cross.path.1205189276" name="Path" superClass="cdt.managedbuild.option.gnu.cross.path"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.targetPlatform.gnu.cross.1826884923" isAbstract="false" osList="all" superClass="cdt.managedbuild.targetPlatform.gnu.cross"/>
<builder id="cdt.managedbuild.builder.gnu.cross.1004080608" incrementalBuildTarget="-r -j 8 --output-sync=target --no-print-directory" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="cdt.managedbuild.builder.gnu.cross">
<outputEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="outputPath" name=""/>
</outputEntries>
</builder>
<tool id="cdt.managedbuild.tool.gnu.cross.c.compiler.65797671" name="Cross GCC Compiler" superClass="cdt.managedbuild.tool.gnu.cross.c.compiler">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.c.compiler.option.include.paths.1897731433" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Libraries/CMSIS/Include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Libraries/CMSIS/Device/Maxim/${TARGET}/Include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Libraries/PeriphDrivers/Include/${TARGET}/&quot;"/>
<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Libraries/Boards/${TARGET}/Include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Libraries/Boards/${TARGET}/${BOARD}/Include&quot;"/>

</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="gnu.c.compiler.option.preprocessor.def.symbols.1784350960" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols"/>
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.154347489" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
</tool>
<tool id="cdt.managedbuild.tool.gnu.cross.cpp.compiler.2041852460" name="Cross G++ Compiler" superClass="cdt.managedbuild.tool.gnu.cross.cpp.compiler"/>
<tool id="cdt.managedbuild.tool.gnu.cross.c.linker.1753899980" name="Cross GCC Linker" superClass="cdt.managedbuild.tool.gnu.cross.c.linker">
<inputType id="cdt.managedbuild.tool.gnu.c.linker.input.832209989" superClass="cdt.managedbuild.tool.gnu.c.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
</tool>
<tool id="cdt.managedbuild.tool.gnu.cross.cpp.linker.90214721" name="Cross G++ Linker" superClass="cdt.managedbuild.tool.gnu.cross.cpp.linker"/>
<tool id="cdt.managedbuild.tool.gnu.cross.archiver.615963853" name="Cross GCC Archiver" superClass="cdt.managedbuild.tool.gnu.cross.archiver"/>
<tool id="cdt.managedbuild.tool.gnu.cross.assembler.1258173083" name="Cross GCC Assembler" superClass="cdt.managedbuild.tool.gnu.cross.assembler">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="gnu.both.asm.option.include.paths.1648846468" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath"/>
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.372767062" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
</tool>
</toolChain>
</folderInfo>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
<storageModule moduleId="ilg.gnumcueclipse.managedbuild.packs"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="Hello_World.null.923778415" name="Hello_World"/>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="refreshScope" versionNumber="2">
<configuration configurationName="Default">
<resource resourceType="PROJECT" workspacePath="/Hello_World"/>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.cross.base.1028364529;cdt.managedbuild.toolchain.gnu.cross.base.1028364529.1135114284;cdt.managedbuild.tool.gnu.cross.c.compiler.65797671;cdt.managedbuild.tool.gnu.c.compiler.input.154347489">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
</cproject>
26 changes: 26 additions & 0 deletions Examples/MAX32657/Hello_World/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Hello_World</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
</projectDescription>
15 changes: 15 additions & 0 deletions Examples/MAX32657/Hello_World/.settings/language.settings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project>
<configuration id="cdt.managedbuild.toolchain.gnu.cross.base.1028364529" name="Default">
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuildCommandParser" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser" keep-relative-paths="false" name="CDT GCC Build Output Parser" parameter="${PREFIX}(g?cc)|([gc]\+\+)|(clang)" prefer-non-shared="true"/>
<provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="true" env-hash="-99955491804503126" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${GCC_PREFIX}gcc ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot; -DMXC_ASSERT_ENABLE -DARM_MATH_CM4 " prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
</extension>
</configuration>
</project>
Loading
Loading