Browse Source

soc: atmel: sam0: Port to HWMv2

Port all Atmel SAM0 SoCs to HWMv2.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
pull/69687/head
Gerson Fernando Budke 1 year ago committed by Carles Cufi
parent
commit
a87ea5bc0a
  1. 3
      soc/atmel/sam0/CMakeLists.txt
  2. 16
      soc/atmel/sam0/Kconfig
  3. 30
      soc/atmel/sam0/Kconfig.defconfig
  4. 21
      soc/atmel/sam0/Kconfig.soc
  5. 0
      soc/atmel/sam0/common/CMakeLists.txt
  6. 0
      soc/atmel/sam0/common/Kconfig.samd2x
  7. 7
      soc/atmel/sam0/common/Kconfig.samd5x
  8. 4
      soc/atmel/sam0/common/Kconfig.saml2x
  9. 0
      soc/atmel/sam0/common/adc_fixup_sam0.h
  10. 0
      soc/atmel/sam0/common/atmel_sam0_dt.h
  11. 0
      soc/atmel/sam0/common/bossa.c
  12. 0
      soc/atmel/sam0/common/gmac_fixup_samd5x.h
  13. 0
      soc/atmel/sam0/common/pinctrl_soc.h
  14. 0
      soc/atmel/sam0/common/sercom_fixup_samd5x.h
  15. 0
      soc/atmel/sam0/common/soc_port.c
  16. 0
      soc/atmel/sam0/common/soc_port.h
  17. 0
      soc/atmel/sam0/common/soc_samc2x.c
  18. 0
      soc/atmel/sam0/common/soc_samd2x.c
  19. 0
      soc/atmel/sam0/common/soc_samd5x.c
  20. 0
      soc/atmel/sam0/common/soc_saml2x.c
  21. 0
      soc/atmel/sam0/common/soc_samr3x_radio_off.c
  22. 0
      soc/atmel/sam0/common/tc_fixup_samd5x.h
  23. 4
      soc/atmel/sam0/samc20/CMakeLists.txt
  24. 7
      soc/atmel/sam0/samc20/Kconfig
  25. 12
      soc/atmel/sam0/samc20/Kconfig.defconfig
  26. 98
      soc/atmel/sam0/samc20/Kconfig.soc
  27. 42
      soc/atmel/sam0/samc20/soc.h
  28. 4
      soc/atmel/sam0/samc21/CMakeLists.txt
  29. 7
      soc/atmel/sam0/samc21/Kconfig
  30. 12
      soc/atmel/sam0/samc21/Kconfig.defconfig
  31. 98
      soc/atmel/sam0/samc21/Kconfig.soc
  32. 42
      soc/atmel/sam0/samc21/soc.h
  33. 4
      soc/atmel/sam0/samd20/CMakeLists.txt
  34. 7
      soc/atmel/sam0/samd20/Kconfig
  35. 12
      soc/atmel/sam0/samd20/Kconfig.defconfig
  36. 100
      soc/atmel/sam0/samd20/Kconfig.soc
  37. 43
      soc/atmel/sam0/samd20/soc.h
  38. 4
      soc/atmel/sam0/samd21/CMakeLists.txt
  39. 7
      soc/atmel/sam0/samd21/Kconfig
  40. 12
      soc/atmel/sam0/samd21/Kconfig.defconfig
  41. 90
      soc/atmel/sam0/samd21/Kconfig.soc
  42. 37
      soc/atmel/sam0/samd21/soc.h
  43. 4
      soc/atmel/sam0/samd51/CMakeLists.txt
  44. 7
      soc/atmel/sam0/samd51/Kconfig
  45. 16
      soc/atmel/sam0/samd51/Kconfig.defconfig
  46. 62
      soc/atmel/sam0/samd51/Kconfig.soc
  47. 26
      soc/atmel/sam0/samd51/soc.h
  48. 4
      soc/atmel/sam0/same51/CMakeLists.txt
  49. 7
      soc/atmel/sam0/same51/Kconfig
  50. 15
      soc/atmel/sam0/same51/Kconfig.defconfig
  51. 41
      soc/atmel/sam0/same51/Kconfig.soc
  52. 17
      soc/atmel/sam0/same51/soc.h
  53. 4
      soc/atmel/sam0/same53/CMakeLists.txt
  54. 7
      soc/atmel/sam0/same53/Kconfig
  55. 15
      soc/atmel/sam0/same53/Kconfig.defconfig
  56. 41
      soc/atmel/sam0/same53/Kconfig.soc
  57. 18
      soc/atmel/sam0/same53/soc.h
  58. 4
      soc/atmel/sam0/same54/CMakeLists.txt
  59. 7
      soc/atmel/sam0/same54/Kconfig
  60. 15
      soc/atmel/sam0/same54/Kconfig.defconfig
  61. 36
      soc/atmel/sam0/same54/Kconfig.soc
  62. 16
      soc/atmel/sam0/same54/soc.h
  63. 4
      soc/atmel/sam0/saml21/CMakeLists.txt
  64. 7
      soc/atmel/sam0/saml21/Kconfig
  65. 12
      soc/atmel/sam0/saml21/Kconfig.defconfig
  66. 76
      soc/atmel/sam0/saml21/Kconfig.soc
  67. 36
      soc/atmel/sam0/saml21/soc.h
  68. 4
      soc/atmel/sam0/samr21/CMakeLists.txt
  69. 7
      soc/atmel/sam0/samr21/Kconfig
  70. 12
      soc/atmel/sam0/samr21/Kconfig.defconfig
  71. 51
      soc/atmel/sam0/samr21/Kconfig.soc
  72. 21
      soc/atmel/sam0/samr21/soc.h
  73. 4
      soc/atmel/sam0/samr34/CMakeLists.txt
  74. 7
      soc/atmel/sam0/samr34/Kconfig
  75. 12
      soc/atmel/sam0/samr34/Kconfig.defconfig
  76. 31
      soc/atmel/sam0/samr34/Kconfig.soc
  77. 16
      soc/atmel/sam0/samr34/soc.h
  78. 4
      soc/atmel/sam0/samr35/CMakeLists.txt
  79. 7
      soc/atmel/sam0/samr35/Kconfig
  80. 12
      soc/atmel/sam0/samr35/Kconfig.defconfig
  81. 31
      soc/atmel/sam0/samr35/Kconfig.soc
  82. 16
      soc/atmel/sam0/samr35/soc.h
  83. 138
      soc/atmel/sam0/soc.yml
  84. 23
      soc/soc_legacy/arm/atmel_sam0/Kconfig
  85. 13
      soc/soc_legacy/arm/atmel_sam0/Kconfig.defconfig
  86. 6
      soc/soc_legacy/arm/atmel_sam0/Kconfig.soc
  87. 10
      soc/soc_legacy/arm/atmel_sam0/Kconfig.soc.revisions
  88. 18
      soc/soc_legacy/arm/atmel_sam0/common/Kconfig.defconfig.series
  89. 6
      soc/soc_legacy/arm/atmel_sam0/common/Kconfig.samc2x
  90. 35
      soc/soc_legacy/arm/atmel_sam0/samc20/Kconfig.defconfig.series
  91. 60
      soc/soc_legacy/arm/atmel_sam0/samc20/Kconfig.soc
  92. 35
      soc/soc_legacy/arm/atmel_sam0/samc21/Kconfig.defconfig.series
  93. 60
      soc/soc_legacy/arm/atmel_sam0/samc21/Kconfig.soc
  94. 36
      soc/soc_legacy/arm/atmel_sam0/samd20/Kconfig.defconfig.series
  95. 61
      soc/soc_legacy/arm/atmel_sam0/samd20/Kconfig.soc
  96. 33
      soc/soc_legacy/arm/atmel_sam0/samd21/Kconfig.defconfig.series
  97. 52
      soc/soc_legacy/arm/atmel_sam0/samd21/Kconfig.soc
  98. 35
      soc/soc_legacy/arm/atmel_sam0/samd51/Kconfig.defconfig.series
  99. 37
      soc/soc_legacy/arm/atmel_sam0/samd51/Kconfig.soc
  100. 31
      soc/soc_legacy/arm/atmel_sam0/same51/Kconfig.defconfig.series
  101. Some files were not shown because too many files have changed in this diff Show More

3
soc/soc_legacy/arm/atmel_sam0/CMakeLists.txt → soc/atmel/sam0/CMakeLists.txt

@ -1,7 +1,10 @@ @@ -1,7 +1,10 @@
# Makefile - Atmel SAM0 MCU family
#
# Copyright (c) 2017 Google LLC.
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
zephyr_include_directories(${ZEPHYR_BASE}/drivers)
add_subdirectory(common)
add_subdirectory(${SOC_SERIES})

16
soc/atmel/sam0/Kconfig

@ -0,0 +1,16 @@ @@ -0,0 +1,16 @@
# Atmel SAM0 MCU family configuration options
# Copyright (c) 2017 Google LLC.
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_FAMILY_SAM0
select ASF
select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE
if SOC_FAMILY_SAM0
rsource "common/Kconfig.sam*"
rsource "*/Kconfig"
endif # SOC_FAMILY_SAM0

30
soc/atmel/sam0/Kconfig.defconfig

@ -0,0 +1,30 @@ @@ -0,0 +1,30 @@
# Atmel SAM0 MCU family default configuration options
# Copyright (c) 2017 Google LLC.
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
if SOC_FAMILY_SAM0
rsource "*/Kconfig.defconfig"
config GPIO
default y
config HWINFO_SAM0
default HWINFO
config PINCTRL
default y
config SYS_CLOCK_HW_CYCLES_PER_SEC
default $(dt_node_int_prop_int,/cpus/cpu@0,clock-frequency)
if USB_DEVICE_DRIVER
config HEAP_MEM_POOL_ADD_SIZE_SOC
def_int 1024
endif # USB_DEVICE_DRIVER
endif # SOC_FAMILY_SAM0

21
soc/atmel/sam0/Kconfig.soc

@ -0,0 +1,21 @@ @@ -0,0 +1,21 @@
# Copyright (c) 2017 Google LLC.
# Copyright (c) 2022-2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_FAMILY_SAM0
bool
config SOC_FAMILY
default "atmel_sam0" if SOC_FAMILY_SAM0
config SOC_SERIES_REVISION_N
bool
depends on SOC_FAMILY_SAM0
config SOC_SERIES_REVISION
string
default "n" if SOC_SERIES_REVISION_N
default ""
depends on SOC_FAMILY_SAM0
rsource "*/Kconfig.soc"

0
soc/soc_legacy/arm/atmel_sam0/common/CMakeLists.txt → soc/atmel/sam0/common/CMakeLists.txt

0
soc/soc_legacy/arm/atmel_sam0/common/Kconfig.samd2x → soc/atmel/sam0/common/Kconfig.samd2x

7
soc/soc_legacy/arm/atmel_sam0/common/Kconfig.samd5x → soc/atmel/sam0/common/Kconfig.samd5x

@ -12,10 +12,17 @@ config SOC_ATMEL_SAMD5X_XOSC32K @@ -12,10 +12,17 @@ config SOC_ATMEL_SAMD5X_XOSC32K
choice
prompt "Main clock source"
default SOC_ATMEL_SAMD5X_DEFAULT_AS_MAIN
help
Selects the clock that the main clocks, such as the CPU
clock and AHB clock, will be derived from.
config SOC_ATMEL_SAMD5X_DEFAULT_AS_MAIN
bool "DEFAULT"
help
This choice will leave all clocks to their current state.
This can be the default reset state or a state set by a bootloader.
config SOC_ATMEL_SAMD5X_XOSC32K_AS_MAIN
depends on SOC_ATMEL_SAMD5X_XOSC32K
bool "XOSC32K"

4
soc/soc_legacy/arm/atmel_sam0/common/Kconfig.saml2x → soc/atmel/sam0/common/Kconfig.saml2x

@ -71,8 +71,6 @@ config SOC_ATMEL_SAML_OSC16M_AS_MAIN @@ -71,8 +71,6 @@ config SOC_ATMEL_SAML_OSC16M_AS_MAIN
endchoice
endif # SOC_SERIES_SAML21 || SOC_SERIES_SAMR34 || SOC_SERIES_SAMR35
config SOC_ATMEL_SAMR3X_RADIO_OFF_SETUP
bool "Configure LoRa radio pins if not in use"
default y if !LORA
@ -84,3 +82,5 @@ config SOC_ATMEL_SAMR3X_RADIO_OFF_SETUP @@ -84,3 +82,5 @@ config SOC_ATMEL_SAMR3X_RADIO_OFF_SETUP
further reduce power consumption, radio can be kept in reset state by
keeping nRST pin low. When enabling this option, both CS and nRST will
be configured high and low, respectively.
endif # SOC_SERIES_SAML21 || SOC_SERIES_SAMR34 || SOC_SERIES_SAMR35

0
soc/soc_legacy/arm/atmel_sam0/common/adc_fixup_sam0.h → soc/atmel/sam0/common/adc_fixup_sam0.h

0
soc/soc_legacy/arm/atmel_sam0/common/atmel_sam0_dt.h → soc/atmel/sam0/common/atmel_sam0_dt.h

0
soc/soc_legacy/arm/atmel_sam0/common/bossa.c → soc/atmel/sam0/common/bossa.c

0
soc/soc_legacy/arm/atmel_sam0/common/gmac_fixup_samd5x.h → soc/atmel/sam0/common/gmac_fixup_samd5x.h

0
soc/soc_legacy/arm/atmel_sam0/common/pinctrl_soc.h → soc/atmel/sam0/common/pinctrl_soc.h

0
soc/soc_legacy/arm/atmel_sam0/common/sercom_fixup_samd5x.h → soc/atmel/sam0/common/sercom_fixup_samd5x.h

0
soc/soc_legacy/arm/atmel_sam0/common/soc_port.c → soc/atmel/sam0/common/soc_port.c

0
soc/soc_legacy/arm/atmel_sam0/common/soc_port.h → soc/atmel/sam0/common/soc_port.h

0
soc/soc_legacy/arm/atmel_sam0/common/soc_samc2x.c → soc/atmel/sam0/common/soc_samc2x.c

0
soc/soc_legacy/arm/atmel_sam0/common/soc_samd2x.c → soc/atmel/sam0/common/soc_samd2x.c

0
soc/soc_legacy/arm/atmel_sam0/common/soc_samd5x.c → soc/atmel/sam0/common/soc_samd5x.c

0
soc/soc_legacy/arm/atmel_sam0/common/soc_saml2x.c → soc/atmel/sam0/common/soc_saml2x.c

0
soc/soc_legacy/arm/atmel_sam0/common/soc_samr3x_radio_off.c → soc/atmel/sam0/common/soc_samr3x_radio_off.c

0
soc/soc_legacy/arm/atmel_sam0/common/tc_fixup_samd5x.h → soc/atmel/sam0/common/tc_fixup_samd5x.h

4
soc/atmel/sam0/samc20/CMakeLists.txt

@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
zephyr_include_directories(.)

7
soc/soc_legacy/arm/atmel_sam0/samc20/Kconfig.series → soc/atmel/sam0/samc20/Kconfig

@ -1,17 +1,12 @@ @@ -1,17 +1,12 @@
# Atmel SAMC20 MCU series
# Copyright (c) 2022 Kamil Serwus
# Copyright (c) 2023 Gerson Fernando Budke <nandojve@gmail.com>
# Copyright (c) 2023-2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_SAMC20
bool "Atmel SAMC20 MCU"
select ARM
select CPU_CORTEX_M0PLUS
select CPU_CORTEX_M_HAS_SYSTICK
select CPU_CORTEX_M_HAS_VTOR
select SOC_FAMILY_SAM0
select PLATFORM_SPECIFIC_INIT
select ASF
help
Enable support for Atmel SAMC20 Cortex-M0+ microcontrollers.

12
soc/atmel/sam0/samc20/Kconfig.defconfig

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
# Atmel SAMC20 MCU series configuration options
# Copyright (c) 2022 Kamil Serwus
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_SAMC20
config NUM_IRQS
default 32
endif # SOC_SERIES_SAMC20

98
soc/atmel/sam0/samc20/Kconfig.soc

@ -0,0 +1,98 @@ @@ -0,0 +1,98 @@
# Atmel SAMC20 MCU series
# Copyright (c) 2022 Kamil Serwus
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_SAMC20
bool
select SOC_FAMILY_SAM0
help
Enable support for Atmel SAMC20 Cortex-M0+ microcontrollers.
config SOC_SERIES
default "samc20" if SOC_SERIES_SAMC20
config SOC_SAMC20E15A
bool
select SOC_SERIES_SAMC20
config SOC_SAMC20E16A
bool
select SOC_SERIES_SAMC20
config SOC_SAMC20E17A
bool
select SOC_SERIES_SAMC20
config SOC_SAMC20E18A
bool
select SOC_SERIES_SAMC20
config SOC_SAMC20G15A
bool
select SOC_SERIES_SAMC20
config SOC_SAMC20G16A
bool
select SOC_SERIES_SAMC20
config SOC_SAMC20G17A
bool
select SOC_SERIES_SAMC20
config SOC_SAMC20G18A
bool
select SOC_SERIES_SAMC20
config SOC_SAMC20J15A
bool
select SOC_SERIES_SAMC20
config SOC_SAMC20J16A
bool
select SOC_SERIES_SAMC20
config SOC_SAMC20J17A
bool
select SOC_SERIES_SAMC20
config SOC_SAMC20J18A
bool
select SOC_SERIES_SAMC20
config SOC_SAMC20J17AU
bool
select SOC_SERIES_SAMC20
config SOC_SAMC20J18AU
bool
select SOC_SERIES_SAMC20
config SOC_SAMC20N17A
bool
select SOC_SERIES_SAMC20
select SOC_SERIES_REVISION_N
config SOC_SAMC20N18A
bool
select SOC_SERIES_SAMC20
select SOC_SERIES_REVISION_N
config SOC
default "samc20e15a" if SOC_SAMC20E15A
default "samc20e16a" if SOC_SAMC20E16A
default "samc20e17a" if SOC_SAMC20E17A
default "samc20e18a" if SOC_SAMC20E18A
default "samc20g15a" if SOC_SAMC20G15A
default "samc20g16a" if SOC_SAMC20G16A
default "samc20g17a" if SOC_SAMC20G17A
default "samc20g18a" if SOC_SAMC20G18A
default "samc20j15a" if SOC_SAMC20J15A
default "samc20j16a" if SOC_SAMC20J16A
default "samc20j17a" if SOC_SAMC20J17A
default "samc20j18a" if SOC_SAMC20J18A
default "samc20j17au" if SOC_SAMC20J17AU
default "samc20j18au" if SOC_SAMC20J18AU
default "samc20n17a" if SOC_SAMC20N17A
default "samc20n18a" if SOC_SAMC20N18A

42
soc/soc_legacy/arm/atmel_sam0/samc20/soc.h → soc/atmel/sam0/samc20/soc.h

@ -1,11 +1,12 @@ @@ -1,11 +1,12 @@
/*
* Copyright (c) 2022 Kamil Serwus
* Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef _ATMEL_SAMC_SOC_H_
#define _ATMEL_SAMC_SOC_H_
#ifndef _SOC_ATMEL_SAM0_SAMC20_SOC_H_
#define _SOC_ATMEL_SAM0_SAMC20_SOC_H_
#ifndef _ASMLANGUAGE
@ -13,38 +14,37 @@ @@ -13,38 +14,37 @@
#include <zephyr/types.h>
#if defined(CONFIG_SOC_PART_NUMBER_SAMC20E15A)
#if defined(CONFIG_SOC_SAMC20E15A)
#include <samc20e15a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC20E16A)
#elif defined(CONFIG_SOC_SAMC20E16A)
#include <samc20e16a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC20E17A)
#elif defined(CONFIG_SOC_SAMC20E17A)
#include <samc20e17a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC20E18A)
#elif defined(CONFIG_SOC_SAMC20E18A)
#include <samc20e18a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC20G15A)
#elif defined(CONFIG_SOC_SAMC20G15A)
#include <samc20g15a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC20G16A)
#elif defined(CONFIG_SOC_SAMC20G16A)
#include <samc20g16a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC20G17A)
#elif defined(CONFIG_SOC_SAMC20G17A)
#include <samc20g17a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC20G18A)
#elif defined(CONFIG_SOC_SAMC20G18A)
#include <samc20g18a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC20J15A)
#elif defined(CONFIG_SOC_SAMC20J15A)
#include <samc20j15a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC20J16A)
#elif defined(CONFIG_SOC_SAMC20J16A)
#include <samc20j16a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC20J17A)
#elif defined(CONFIG_SOC_SAMC20J17A)
#include <samc20j17a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC20J17AU)
#include <samc20j17au.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC20J18A)
#elif defined(CONFIG_SOC_SAMC20J18A)
#include <samc20j18a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC20J18AU)
#elif defined(CONFIG_SOC_SAMC20J17AU)
#include <samc20j17au.h>
#elif defined(CONFIG_SOC_SAMC20J18AU)
#include <samc20j18au.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC20N17A)
#elif defined(CONFIG_SOC_SAMC20N17A)
#include <samc20n17a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC20N18A)
#elif defined(CONFIG_SOC_SAMC20N18A)
#include <samc20n18a.h>
#else
#error Library does not support the specified device.
@ -67,4 +67,4 @@ @@ -67,4 +67,4 @@
#define SOC_ATMEL_SAM0_MCK_FREQ_HZ SOC_ATMEL_SAM0_HCLK_FREQ_HZ
#define SOC_ATMEL_SAM0_GCLK0_FREQ_HZ SOC_ATMEL_SAM0_MCK_FREQ_HZ
#endif /* _ATMEL_SAMD51_SOC_H_ */
#endif /* _SOC_ATMEL_SAM0_SAMC20_SOC_H_ */

4
soc/atmel/sam0/samc21/CMakeLists.txt

@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
zephyr_include_directories(.)

7
soc/soc_legacy/arm/atmel_sam0/samc21/Kconfig.series → soc/atmel/sam0/samc21/Kconfig

@ -1,18 +1,13 @@ @@ -1,18 +1,13 @@
# Atmel SAMC21 MCU series
# Copyright (c) 2022 Kamil Serwus
# Copyright (c) 2023 Gerson Fernando Budke <nandojve@gmail.com>
# Copyright (c) 2023-2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_SAMC21
bool "Atmel SAMC21 MCU"
select ARM
select CPU_CORTEX_M0PLUS
select CPU_CORTEX_M_HAS_SYSTICK
select CPU_CORTEX_M_HAS_VTOR
select CPU_HAS_ARM_MPU
select SOC_FAMILY_SAM0
select PLATFORM_SPECIFIC_INIT
select ASF
help
Enable support for Atmel SAMC21 Cortex-M0+ microcontrollers.

12
soc/atmel/sam0/samc21/Kconfig.defconfig

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
# Atmel SAMC21 MCU series configuration options
# Copyright (c) 2022 Kamil Serwus
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_SAMC21
config NUM_IRQS
default 32
endif # SOC_SERIES_SAMC21

98
soc/atmel/sam0/samc21/Kconfig.soc

@ -0,0 +1,98 @@ @@ -0,0 +1,98 @@
# Atmel SAMC21 MCU series
# Copyright (c) 2022 Kamil Serwus
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_SAMC21
bool
select SOC_FAMILY_SAM0
help
Enable support for Atmel SAMC21 Cortex-M0+ microcontrollers.
config SOC_SERIES
default "samc21" if SOC_SERIES_SAMC21
config SOC_SAMC21E15A
bool
select SOC_SERIES_SAMC21
config SOC_SAMC21E16A
bool
select SOC_SERIES_SAMC21
config SOC_SAMC21E17A
bool
select SOC_SERIES_SAMC21
config SOC_SAMC21E18A
bool
select SOC_SERIES_SAMC21
config SOC_SAMC21G15A
bool
select SOC_SERIES_SAMC21
config SOC_SAMC21G16A
bool
select SOC_SERIES_SAMC21
config SOC_SAMC21G17A
bool
select SOC_SERIES_SAMC21
config SOC_SAMC21G18A
bool
select SOC_SERIES_SAMC21
config SOC_SAMC21J15A
bool
select SOC_SERIES_SAMC21
config SOC_SAMC21J16A
bool
select SOC_SERIES_SAMC21
config SOC_SAMC21J17A
bool
select SOC_SERIES_SAMC21
config SOC_SAMC21J18A
bool
select SOC_SERIES_SAMC21
config SOC_SAMC21J17AU
bool
select SOC_SERIES_SAMC21
config SOC_SAMC21J18AU
bool
select SOC_SERIES_SAMC21
config SOC_SAMC21N17A
bool
select SOC_SERIES_SAMC21
select SOC_SERIES_REVISION_N
config SOC_SAMC21N18A
bool
select SOC_SERIES_SAMC21
select SOC_SERIES_REVISION_N
config SOC
default "samc21e15a" if SOC_SAMC21E15A
default "samc21e16a" if SOC_SAMC21E16A
default "samc21e17a" if SOC_SAMC21E17A
default "samc21e18a" if SOC_SAMC21E18A
default "samc21g15a" if SOC_SAMC21G15A
default "samc21g16a" if SOC_SAMC21G16A
default "samc21g17a" if SOC_SAMC21G17A
default "samc21g18a" if SOC_SAMC21G18A
default "samc21j15a" if SOC_SAMC21J15A
default "samc21j16a" if SOC_SAMC21J16A
default "samc21j17a" if SOC_SAMC21J17A
default "samc21j18a" if SOC_SAMC21J18A
default "samc21j17au" if SOC_SAMC21J17AU
default "samc21j18au" if SOC_SAMC21J18AU
default "samc21n17a" if SOC_SAMC21N17A
default "samc21n18a" if SOC_SAMC21N18A

42
soc/soc_legacy/arm/atmel_sam0/samc21/soc.h → soc/atmel/sam0/samc21/soc.h

@ -1,11 +1,12 @@ @@ -1,11 +1,12 @@
/*
* Copyright (c) 2022 Kamil Serwus
* Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef _ATMEL_SAMC_SOC_H_
#define _ATMEL_SAMC_SOC_H_
#ifndef _SOC_ATMEL_SAM0_SAMC21_SOC_H_
#define _SOC_ATMEL_SAM0_SAMC21_SOC_H_
#ifndef _ASMLANGUAGE
@ -13,38 +14,37 @@ @@ -13,38 +14,37 @@
#include <zephyr/types.h>
#if defined(CONFIG_SOC_PART_NUMBER_SAMC21E15A)
#if defined(CONFIG_SOC_SAMC21E15A)
#include <samc21e15a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC21E16A)
#elif defined(CONFIG_SOC_SAMC21E16A)
#include <samc21e16a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC21E17A)
#elif defined(CONFIG_SOC_SAMC21E17A)
#include <samc21e17a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC21E18A)
#elif defined(CONFIG_SOC_SAMC21E18A)
#include <samc21e18a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC21G15A)
#elif defined(CONFIG_SOC_SAMC21G15A)
#include <samc21g15a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC21G16A)
#elif defined(CONFIG_SOC_SAMC21G16A)
#include <samc21g16a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC21G17A)
#elif defined(CONFIG_SOC_SAMC21G17A)
#include <samc21g17a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC21G18A)
#elif defined(CONFIG_SOC_SAMC21G18A)
#include <samc21g18a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC21J15A)
#elif defined(CONFIG_SOC_SAMC21J15A)
#include <samc21j15a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC21J16A)
#elif defined(CONFIG_SOC_SAMC21J16A)
#include <samc21j16a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC21J17A)
#elif defined(CONFIG_SOC_SAMC21J17A)
#include <samc21j17a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC21J17AU)
#include <samc21j17au.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC21J18A)
#elif defined(CONFIG_SOC_SAMC21J18A)
#include <samc21j18a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC21J18AU)
#elif defined(CONFIG_SOC_SAMC21J17AU)
#include <samc21j17au.h>
#elif defined(CONFIG_SOC_SAMC21J18AU)
#include <samc21j18au.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC21N17A)
#elif defined(CONFIG_SOC_SAMC21N17A)
#include <samc21n17a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMC21N18A)
#elif defined(CONFIG_SOC_SAMC21N18A)
#include <samc21n18a.h>
#else
#error Library does not support the specified device.
@ -67,4 +67,4 @@ @@ -67,4 +67,4 @@
#define SOC_ATMEL_SAM0_MCK_FREQ_HZ SOC_ATMEL_SAM0_HCLK_FREQ_HZ
#define SOC_ATMEL_SAM0_GCLK0_FREQ_HZ SOC_ATMEL_SAM0_MCK_FREQ_HZ
#endif /* _ATMEL_SAMD51_SOC_H_ */
#endif /* _SOC_ATMEL_SAM0_SAMC21_SOC_H_ */

4
soc/atmel/sam0/samd20/CMakeLists.txt

@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
zephyr_include_directories(.)

7
soc/soc_legacy/arm/atmel_sam0/samd20/Kconfig.series → soc/atmel/sam0/samd20/Kconfig

@ -1,17 +1,12 @@ @@ -1,17 +1,12 @@
# Atmel SAMD20 MCU series
# Copyright (c) 2018 Sean Nyekjaer
# Copyright (c) 2023 Gerson Fernando Budke <nandojve@gmail.com>
# Copyright (c) 2023-2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_SAMD20
bool "Atmel SAMD20 MCU"
select ARM
select CPU_CORTEX_M0PLUS
select CPU_CORTEX_M_HAS_SYSTICK
select CPU_CORTEX_M_HAS_VTOR
select SOC_FAMILY_SAM0
select PLATFORM_SPECIFIC_INIT
select ASF
help
Enable support for Atmel SAMD20 Cortex-M0+ microcontrollers.

12
soc/atmel/sam0/samd20/Kconfig.defconfig

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
# Atmel SAMD20 MCU series configuration options
# Copyright (c) 2018 Sean Nyekjaer
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_SAMD20
config NUM_IRQS
default 25
endif # SOC_SERIES_SAMD20

100
soc/atmel/sam0/samd20/Kconfig.soc

@ -0,0 +1,100 @@ @@ -0,0 +1,100 @@
# Atmel SAMD20 MCU series
# Copyright (c) 2018 Sean Nyekjaer
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_SAMD20
bool
select SOC_FAMILY_SAM0
help
Enable support for Atmel SAMD20 Cortex-M0+ microcontrollers.
config SOC_SERIES
default "samd20" if SOC_SERIES_SAMD20
config SOC_SAMD20E14
bool
select SOC_SERIES_SAMD20
config SOC_SAMD20E15
bool
select SOC_SERIES_SAMD20
config SOC_SAMD20E16
bool
select SOC_SERIES_SAMD20
config SOC_SAMD20E17
bool
select SOC_SERIES_SAMD20
config SOC_SAMD20E18
bool
select SOC_SERIES_SAMD20
config SOC_SAMD20G14
bool
select SOC_SERIES_SAMD20
config SOC_SAMD20G15
bool
select SOC_SERIES_SAMD20
config SOC_SAMD20G16
bool
select SOC_SERIES_SAMD20
config SOC_SAMD20G17
bool
config SOC_SAMD20G18
bool
select SOC_SERIES_SAMD20
config SOC_SAMD20G17U
bool
select SOC_SERIES_SAMD20
config SOC_SAMD20G18U
bool
select SOC_SERIES_SAMD20
config SOC_SAMD20J14
bool
select SOC_SERIES_SAMD20
config SOC_SAMD20J15
bool
select SOC_SERIES_SAMD20
config SOC_SAMD20J16
bool
select SOC_SERIES_SAMD20
config SOC_SAMD20J17
bool
select SOC_SERIES_SAMD20
config SOC_SAMD20J18
bool
select SOC_SERIES_SAMD20
config SOC
default "samd20e14" if SOC_SAMD20E14
default "samd20e15" if SOC_SAMD20E15
default "samd20e16" if SOC_SAMD20E16
default "samd20e17" if SOC_SAMD20E17
default "samd20e18" if SOC_SAMD20E18
default "samd20g14" if SOC_SAMD20G14
default "samd20g15" if SOC_SAMD20G15
default "samd20g16" if SOC_SAMD20G16
default "samd20g17" if SOC_SAMD20G17
default "samd20g18" if SOC_SAMD20G18
default "samd20g17u" if SOC_SAMD20G17U
default "samd20g18u" if SOC_SAMD20G18U
default "samd20j14" if SOC_SAMD20J14
default "samd20j15" if SOC_SAMD20J15
default "samd20j16" if SOC_SAMD20J16
default "samd20j17" if SOC_SAMD20J17
default "samd20j18" if SOC_SAMD20J18

43
soc/soc_legacy/arm/atmel_sam0/samd20/soc.h → soc/atmel/sam0/samd20/soc.h

@ -1,12 +1,13 @@ @@ -1,12 +1,13 @@
/*
* Copyright (c) 2018 Sean Nyekjaer
* Copyright (c) 2023 Ionut Catalin Pavel <iocapa@iocapa.com>
* Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef _ATMEL_SAMD_SOC_H_
#define _ATMEL_SAMD_SOC_H_
#ifndef _SOC_ATMEL_SAM0_SAMD20_SOC_H_
#define _SOC_ATMEL_SAM0_SAMD20_SOC_H_
#ifndef _ASMLANGUAGE
@ -14,39 +15,39 @@ @@ -14,39 +15,39 @@
#include <zephyr/types.h>
#if defined(CONFIG_SOC_PART_NUMBER_SAMD20E14)
#if defined(CONFIG_SOC_SAMD20E14)
#include <samd20e14.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD20E15)
#elif defined(CONFIG_SOC_SAMD20E15)
#include <samd20e15.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD20E16)
#elif defined(CONFIG_SOC_SAMD20E16)
#include <samd20e16.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD20E17)
#elif defined(CONFIG_SOC_SAMD20E17)
#include <samd20e17.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD20E18)
#elif defined(CONFIG_SOC_SAMD20E18)
#include <samd20e18.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD20G14)
#elif defined(CONFIG_SOC_SAMD20G14)
#include <samd20g14.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD20G15)
#elif defined(CONFIG_SOC_SAMD20G15)
#include <samd20g15.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD20G16)
#elif defined(CONFIG_SOC_SAMD20G16)
#include <samd20g16.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD20G17)
#elif defined(CONFIG_SOC_SAMD20G17)
#include <samd20g17.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD20G17U)
#include <samd20g17u.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD20G18)
#elif defined(CONFIG_SOC_SAMD20G18)
#include <samd20g18.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD20G18U)
#elif defined(CONFIG_SOC_SAMD20G17U)
#include <samd20g17u.h>
#elif defined(CONFIG_SOC_SAMD20G18U)
#include <samd20g18u.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD20J14)
#elif defined(CONFIG_SOC_SAMD20J14)
#include <samd20j14.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD20J15)
#elif defined(CONFIG_SOC_SAMD20J15)
#include <samd20j15.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD20J16)
#elif defined(CONFIG_SOC_SAMD20J16)
#include <samd20j16.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD20J17)
#elif defined(CONFIG_SOC_SAMD20J17)
#include <samd20j17.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD20J18)
#elif defined(CONFIG_SOC_SAMD20J18)
#include <samd20j18.h>
#else
#error Library does not support the specified device.
@ -118,4 +119,4 @@ @@ -118,4 +119,4 @@
#define SOC_ATMEL_SAM0_APBB_FREQ_HZ SOC_ATMEL_SAM0_MCK_FREQ_HZ
#define SOC_ATMEL_SAM0_APBC_FREQ_HZ SOC_ATMEL_SAM0_MCK_FREQ_HZ
#endif /* _ATMEL_SAMD_SOC_H_ */
#endif /* _SOC_ATMEL_SAM0_SAMD20_SOC_H_ */

4
soc/atmel/sam0/samd21/CMakeLists.txt

@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
zephyr_include_directories(.)

7
soc/soc_legacy/arm/atmel_sam0/samd21/Kconfig.series → soc/atmel/sam0/samd21/Kconfig

@ -1,17 +1,12 @@ @@ -1,17 +1,12 @@
# Atmel SAMD21 MCU series
# Copyright (c) 2017 Google LLC.
# Copyright (c) 2023 Gerson Fernando Budke <nandojve@gmail.com>
# Copyright (c) 2023-2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_SAMD21
bool "Atmel SAMD21 MCU"
select ARM
select CPU_CORTEX_M0PLUS
select CPU_CORTEX_M_HAS_SYSTICK
select CPU_CORTEX_M_HAS_VTOR
select SOC_FAMILY_SAM0
select PLATFORM_SPECIFIC_INIT
select ASF
help
Enable support for Atmel SAMD21 Cortex-M0+ microcontrollers.

12
soc/atmel/sam0/samd21/Kconfig.defconfig

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
# Atmel SAMD21 MCU series configuration options
# Copyright (c) 2017 Google LLC.
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_SAMD21
config NUM_IRQS
default 28
endif # SOC_SERIES_SAMD21

90
soc/atmel/sam0/samd21/Kconfig.soc

@ -0,0 +1,90 @@ @@ -0,0 +1,90 @@
# Atmel SAMD21 MCU series
# Copyright (c) 2017 Google LLC.
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_SAMD21
bool
select SOC_FAMILY_SAM0
help
Enable support for Atmel SAMD21 Cortex-M0+ microcontrollers.
config SOC_SERIES
default "samd21" if SOC_SERIES_SAMD21
config SOC_SAMD21E15A
bool
select SOC_SERIES_SAMD21
config SOC_SAMD21E16A
bool
select SOC_SERIES_SAMD21
config SOC_SAMD21E17A
bool
select SOC_SERIES_SAMD21
config SOC_SAMD21E18A
bool
select SOC_SERIES_SAMD21
config SOC_SAMD21E19A
bool
select SOC_SERIES_SAMD21
config SOC_SAMD21G15A
bool
select SOC_SERIES_SAMD21
config SOC_SAMD21G16A
bool
select SOC_SERIES_SAMD21
config SOC_SAMD21G17A
bool
select SOC_SERIES_SAMD21
config SOC_SAMD21G18A
bool
select SOC_SERIES_SAMD21
config SOC_SAMD21G17AU
bool
select SOC_SERIES_SAMD21
config SOC_SAMD21G18AU
bool
select SOC_SERIES_SAMD21
config SOC_SAMD21J15A
bool
select SOC_SERIES_SAMD21
config SOC_SAMD21J16A
bool
select SOC_SERIES_SAMD21
config SOC_SAMD21J17A
bool
select SOC_SERIES_SAMD21
config SOC_SAMD21J18A
bool
select SOC_SERIES_SAMD21
config SOC
default "samd21e15a" if SOC_SAMD21E15A
default "samd21e16a" if SOC_SAMD21E16A
default "samd21e17a" if SOC_SAMD21E17A
default "samd21e18a" if SOC_SAMD21E18A
default "samd21g15a" if SOC_SAMD21G15A
default "samd21g16a" if SOC_SAMD21G16A
default "samd21g17a" if SOC_SAMD21G17A
default "samd21g18a" if SOC_SAMD21G18A
default "samd21g17au" if SOC_SAMD21G17AU
default "samd21g18au" if SOC_SAMD21G18AU
default "samd21j15a" if SOC_SAMD21J15A
default "samd21j16a" if SOC_SAMD21J16A
default "samd21j17a" if SOC_SAMD21J17A
default "samd21j18a" if SOC_SAMD21J18A

37
soc/soc_legacy/arm/atmel_sam0/samd21/soc.h → soc/atmel/sam0/samd21/soc.h

@ -1,12 +1,13 @@ @@ -1,12 +1,13 @@
/*
* Copyright (c) 2017 Google LLC.
* Copyright (c) 2023 Ionut Catalin Pavel <iocapa@iocapa.com>
* Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef _ATMEL_SAMD_SOC_H_
#define _ATMEL_SAMD_SOC_H_
#ifndef _SOC_ATMEL_SAM0_SAMD21_SOC_H_
#define _SOC_ATMEL_SAM0_SAMD21_SOC_H_
#ifndef _ASMLANGUAGE
@ -14,33 +15,33 @@ @@ -14,33 +15,33 @@
#include <zephyr/types.h>
#if defined(CONFIG_SOC_PART_NUMBER_SAMD21E15A)
#if defined(CONFIG_SOC_SAMD21E15A)
#include <samd21e15a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD21E16A)
#elif defined(CONFIG_SOC_SAMD21E16A)
#include <samd21e16a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD21E17A)
#elif defined(CONFIG_SOC_SAMD21E17A)
#include <samd21e17a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD21E18A)
#elif defined(CONFIG_SOC_SAMD21E18A)
#include <samd21e18a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD21G15A)
#elif defined(CONFIG_SOC_SAMD21G15A)
#include <samd21g15a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD21G16A)
#elif defined(CONFIG_SOC_SAMD21G16A)
#include <samd21g16a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD21G17A)
#elif defined(CONFIG_SOC_SAMD21G17A)
#include <samd21g17a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD21G17AU)
#include <samd21g17au.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD21G18A)
#elif defined(CONFIG_SOC_SAMD21G18A)
#include <samd21g18a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD21G18AU)
#elif defined(CONFIG_SOC_SAMD21G17AU)
#include <samd21g17au.h>
#elif defined(CONFIG_SOC_SAMD21G18AU)
#include <samd21g18au.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD21J15A)
#elif defined(CONFIG_SOC_SAMD21J15A)
#include <samd21j15a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD21J16A)
#elif defined(CONFIG_SOC_SAMD21J16A)
#include <samd21j16a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD21J17A)
#elif defined(CONFIG_SOC_SAMD21J17A)
#include <samd21j17a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD21J18A)
#elif defined(CONFIG_SOC_SAMD21J18A)
#include <samd21j18a.h>
#else
#error Library does not support the specified device.
@ -112,4 +113,4 @@ @@ -112,4 +113,4 @@
#define SOC_ATMEL_SAM0_APBB_FREQ_HZ SOC_ATMEL_SAM0_MCK_FREQ_HZ
#define SOC_ATMEL_SAM0_APBC_FREQ_HZ SOC_ATMEL_SAM0_MCK_FREQ_HZ
#endif /* _ATMEL_SAMD_SOC_H_ */
#endif /* _SOC_ATMEL_SAM0_SAMD21_SOC_H_ */

4
soc/atmel/sam0/samd51/CMakeLists.txt

@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
zephyr_include_directories(.)

7
soc/soc_legacy/arm/atmel_sam0/samd51/Kconfig.series → soc/atmel/sam0/samd51/Kconfig

@ -1,18 +1,13 @@ @@ -1,18 +1,13 @@
# Atmel SAMD51 MCU series
# Copyright (c) 2019 ML!PA Consulting GmbH
# Copyright (c) 2023 Gerson Fernando Budke <nandojve@gmail.com>
# Copyright (c) 2023-2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_SAMD51
bool "Atmel SAMD51 MCU"
select ARM
select CPU_CORTEX_M4
select CPU_CORTEX_M_HAS_DWT
select CPU_HAS_ARM_MPU
select CPU_HAS_FPU
select SOC_FAMILY_SAM0
select PLATFORM_SPECIFIC_INIT
select ASF
help
Enable support for Atmel SAMD51 Cortex-M4F microcontrollers.

16
soc/atmel/sam0/samd51/Kconfig.defconfig

@ -0,0 +1,16 @@ @@ -0,0 +1,16 @@
# Atmel SAMD51 MCU series configuration options
# Copyright (c) 2019 ML!PA Consulting GmbH
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_SAMD51
config NUM_IRQS
int
default 137
config ROM_START_OFFSET
default 0x400 if BOOTLOADER_MCUBOOT
endif # SOC_SERIES_SAMD51

62
soc/atmel/sam0/samd51/Kconfig.soc

@ -0,0 +1,62 @@ @@ -0,0 +1,62 @@
# Atmel SAMD51 MCU series
# Copyright (c) 2019 ML!PA Consulting GmbH
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_SAMD51
bool
select SOC_FAMILY_SAM0
help
Enable support for Atmel SAMD51 Cortex-M4F microcontrollers.
config SOC_SERIES
default "samd51" if SOC_SERIES_SAMD51
config SOC_SAMD51G18A
bool
select SOC_SERIES_SAMD51
config SOC_SAMD51G19A
bool
select SOC_SERIES_SAMD51
config SOC_SAMD51J18A
bool
select SOC_SERIES_SAMD51
config SOC_SAMD51J19A
bool
select SOC_SERIES_SAMD51
config SOC_SAMD51J20A
bool
select SOC_SERIES_SAMD51
config SOC_SAMD51N19A
bool
select SOC_SERIES_SAMD51
config SOC_SAMD51N20A
bool
select SOC_SERIES_SAMD51
config SOC_SAMD51P19A
bool
select SOC_SERIES_SAMD51
config SOC_SAMD51P20A
bool
select SOC_SERIES_SAMD51
config SOC
string
default "samd51g18a" if SOC_SAMD51G18A
default "samd51g19a" if SOC_SAMD51G19A
default "samd51j18a" if SOC_SAMD51J18A
default "samd51j19a" if SOC_SAMD51J19A
default "samd51j20a" if SOC_SAMD51J20A
default "samd51n19a" if SOC_SAMD51N19A
default "samd51n20a" if SOC_SAMD51N20A
default "samd51p19a" if SOC_SAMD51P19A
default "samd51p20a" if SOC_SAMD51P20A

26
soc/soc_legacy/arm/atmel_sam0/samd51/soc.h → soc/atmel/sam0/samd51/soc.h

@ -1,11 +1,12 @@ @@ -1,11 +1,12 @@
/*
* Copyright (c) 2019 ML!PA Consulting GmbH
* Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef _ATMEL_SAMD51_SOC_H_
#define _ATMEL_SAMD51_SOC_H_
#ifndef _SOC_ATMEL_SAM0_SAMD51_SOC_H_
#define _SOC_ATMEL_SAM0_SAMD51_SOC_H_
#ifndef _ASMLANGUAGE
@ -13,24 +14,23 @@ @@ -13,24 +14,23 @@
#include <zephyr/types.h>
#if defined(CONFIG_SOC_PART_NUMBER_SAMD51G18A)
#if defined(CONFIG_SOC_SAMD51G18A)
#include <samd51g18a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD51G19A)
#elif defined(CONFIG_SOC_SAMD51G19A)
#include <samd51g19a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD51J18A)
#elif defined(CONFIG_SOC_SAMD51J18A)
#include <samd51j18a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD51J19A)
#elif defined(CONFIG_SOC_SAMD51J19A)
#include <samd51j19a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD51J20A)
#elif defined(CONFIG_SOC_SAMD51J20A)
#include <samd51j20a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD51N19A)
#elif defined(CONFIG_SOC_SAMD51N19A)
#include <samd51n19a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD51N20A)
#elif defined(CONFIG_SOC_SAMD51N20A)
#include <samd51n20a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD51P19A)
#elif defined(CONFIG_SOC_SAMD51P19A)
#include <samd51p19a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMD51P20A)
#elif defined(CONFIG_SOC_SAMD51P20A)
#include <samd51p20a.h>
#else
#error Library does not support the specified device.
@ -53,4 +53,4 @@ @@ -53,4 +53,4 @@
#define SOC_ATMEL_SAM0_GCLK0_FREQ_HZ SOC_ATMEL_SAM0_MCK_FREQ_HZ
#define SOC_ATMEL_SAM0_GCLK2_FREQ_HZ 48000000
#endif /* _ATMEL_SAMD51_SOC_H_ */
#endif /* _SOC_ATMEL_SAM0_SAMD51_SOC_H_ */

4
soc/atmel/sam0/same51/CMakeLists.txt

@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
zephyr_include_directories(.)

7
soc/soc_legacy/arm/atmel_sam0/same51/Kconfig.series → soc/atmel/sam0/same51/Kconfig

@ -1,18 +1,13 @@ @@ -1,18 +1,13 @@
# Atmel SAME51 MCU series
# Copyright (c) 2019 ML!PA Consulting GmbH
# Copyright (c) 2023 Gerson Fernando Budke <nandojve@gmail.com>
# Copyright (c) 2023-2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_SAME51
bool "Atmel SAME51 MCU"
select ARM
select CPU_CORTEX_M4
select CPU_CORTEX_M_HAS_DWT
select CPU_HAS_ARM_MPU
select CPU_HAS_FPU
select SOC_FAMILY_SAM0
select PLATFORM_SPECIFIC_INIT
select ASF
help
Enable support for Atmel SAME51 Cortex-M4F microcontrollers.

15
soc/atmel/sam0/same51/Kconfig.defconfig

@ -0,0 +1,15 @@ @@ -0,0 +1,15 @@
# Atmel SAME51 MCU series configuration options
# Copyright (c) 2019 ML!PA Consulting GmbH
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_SAME51
config NUM_IRQS
default 137
config ROM_START_OFFSET
default 0x400 if BOOTLOADER_MCUBOOT
endif # SOC_SERIES_SAME51

41
soc/atmel/sam0/same51/Kconfig.soc

@ -0,0 +1,41 @@ @@ -0,0 +1,41 @@
# Atmel SAME51 MCU series
# Copyright (c) 2019 ML!PA Consulting GmbH
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_SAME51
bool
select SOC_FAMILY_SAM0
help
Enable support for Atmel SAME51 Cortex-M4F microcontrollers.
config SOC_SERIES
default "same51" if SOC_SERIES_SAME51
config SOC_SAME51J18A
bool
select SOC_SERIES_SAME51
config SOC_SAME51J19A
bool
select SOC_SERIES_SAME51
config SOC_SAME51J20A
bool
select SOC_SERIES_SAME51
config SOC_SAME51N19A
bool
select SOC_SERIES_SAME51
config SOC_SAME51N20A
bool
select SOC_SERIES_SAME51
config SOC
default "same51j18a" if SOC_SAME51J18A
default "same51j19a" if SOC_SAME51J19A
default "same51j20a" if SOC_SAME51J20A
default "same51n19a" if SOC_SAME51N19A
default "same51n20a" if SOC_SAME51N20A

17
soc/soc_legacy/arm/atmel_sam0/same51/soc.h → soc/atmel/sam0/same51/soc.h

@ -1,11 +1,12 @@ @@ -1,11 +1,12 @@
/*
* Copyright (c) 2019 ML!PA Consulting GmbH
* Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef _ATMEL_SAME51_SOC_H_
#define _ATMEL_SAME51_SOC_H_
#ifndef _SOC_ATMEL_SAM0_SAME51_SOC_H_
#define _SOC_ATMEL_SAM0_SAME51_SOC_H_
#ifndef _ASMLANGUAGE
@ -14,15 +15,15 @@ @@ -14,15 +15,15 @@
#include <zephyr/types.h>
#if defined(CONFIG_SOC_PART_NUMBER_SAME51J18A)
#if defined(CONFIG_SOC_SAME51J18A)
#include <same51j18a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAME51J19A)
#elif defined(CONFIG_SOC_SAME51J19A)
#include <same51j19a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAME51J20A)
#elif defined(CONFIG_SOC_SAME51J20A)
#include <same51j20a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAME51N19A)
#elif defined(CONFIG_SOC_SAME51N19A)
#include <same51n19a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAME51N20A)
#elif defined(CONFIG_SOC_SAME51N20A)
#include <same51n20a.h>
#else
#error Library does not support the specified device.
@ -46,4 +47,4 @@ @@ -46,4 +47,4 @@
#define SOC_ATMEL_SAM0_GCLK0_FREQ_HZ SOC_ATMEL_SAM0_MCK_FREQ_HZ
#define SOC_ATMEL_SAM0_GCLK2_FREQ_HZ 48000000
#endif /* _ATMEL_SAME51_SOC_H_ */
#endif /* _SOC_ATMEL_SAM0_SAME51_SOC_H_ */

4
soc/atmel/sam0/same53/CMakeLists.txt

@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
zephyr_include_directories(.)

7
soc/soc_legacy/arm/atmel_sam0/same53/Kconfig.series → soc/atmel/sam0/same53/Kconfig

@ -1,18 +1,13 @@ @@ -1,18 +1,13 @@
# Atmel SAME53 MCU series
# Copyright (c) 2019 ML!PA Consulting GmbH
# Copyright (c) 2023 Gerson Fernando Budke <nandojve@gmail.com>
# Copyright (c) 2023-2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_SAME53
bool "Atmel SAME53 MCU"
select ARM
select CPU_CORTEX_M4
select CPU_CORTEX_M_HAS_DWT
select CPU_HAS_ARM_MPU
select CPU_HAS_FPU
select SOC_FAMILY_SAM0
select PLATFORM_SPECIFIC_INIT
select ASF
help
Enable support for Atmel SAME53 Cortex-M4F microcontrollers.

15
soc/atmel/sam0/same53/Kconfig.defconfig

@ -0,0 +1,15 @@ @@ -0,0 +1,15 @@
# Atmel SAME53 MCU series configuration options
# Copyright (c) 2019 ML!PA Consulting GmbH
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_SAME53
config NUM_IRQS
default 137
config ROM_START_OFFSET
default 0x400 if BOOTLOADER_MCUBOOT
endif # SOC_SERIES_SAME53

41
soc/atmel/sam0/same53/Kconfig.soc

@ -0,0 +1,41 @@ @@ -0,0 +1,41 @@
# Atmel SAME53 MCU series
# Copyright (c) 2019 ML!PA Consulting GmbH
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_SAME53
bool
select SOC_FAMILY_SAM0
help
Enable support for Atmel SAME53 Cortex-M4F microcontrollers.
config SOC_SERIES
default "same53" if SOC_SERIES_SAME53
config SOC_SAME53J18A
bool
select SOC_SERIES_SAME53
config SOC_SAME53J19A
bool
select SOC_SERIES_SAME53
config SOC_SAME53J20A
bool
select SOC_SERIES_SAME53
config SOC_SAME53N19A
bool
select SOC_SERIES_SAME53
config SOC_SAME53N20A
bool
select SOC_SERIES_SAME53
config SOC
default "same53j18a" if SOC_SAME53J18A
default "same53j19a" if SOC_SAME53J19A
default "same53j20a" if SOC_SAME53J20A
default "same53n19a" if SOC_SAME53N19A
default "same53n20a" if SOC_SAME53N20A

18
soc/soc_legacy/arm/atmel_sam0/same53/soc.h → soc/atmel/sam0/same53/soc.h

@ -1,11 +1,12 @@ @@ -1,11 +1,12 @@
/*
* Copyright (c) 2019 ML!PA Consulting GmbH
* Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef _ATMEL_SAME53_SOC_H_
#define _ATMEL_SAME53_SOC_H_
#ifndef _SOC_ATMEL_SAM0_SAME53_SOC_H_
#define _SOC_ATMEL_SAM0_SAME53_SOC_H_
#ifndef _ASMLANGUAGE
@ -13,16 +14,15 @@ @@ -13,16 +14,15 @@
#include <zephyr/types.h>
#if defined(CONFIG_SOC_PART_NUMBER_SAME53J18A)
#if defined(CONFIG_SOC_SAME53J18A)
#include <same53j18a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAME53J19A)
#elif defined(CONFIG_SOC_SAME53J19A)
#include <same53j19a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAME53J20A)
#elif defined(CONFIG_SOC_SAME53J20A)
#include <same53j20a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAME53N19A)
#elif defined(CONFIG_SOC_SAME53N19A)
#include <same53n19a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAME53N20A)
#elif defined(CONFIG_SOC_SAME53N20A)
#include <same53n20a.h>
#else
#error Library does not support the specified device.
@ -46,4 +46,4 @@ @@ -46,4 +46,4 @@
#define SOC_ATMEL_SAM0_GCLK0_FREQ_HZ SOC_ATMEL_SAM0_MCK_FREQ_HZ
#define SOC_ATMEL_SAM0_GCLK2_FREQ_HZ 48000000
#endif /* _ATMEL_SAME53_SOC_H_ */
#endif /* _SOC_ATMEL_SAM0_SAME53_SOC_H_ */

4
soc/atmel/sam0/same54/CMakeLists.txt

@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
zephyr_include_directories(.)

7
soc/soc_legacy/arm/atmel_sam0/same54/Kconfig.series → soc/atmel/sam0/same54/Kconfig

@ -1,18 +1,13 @@ @@ -1,18 +1,13 @@
# Atmel SAME54 MCU series
# Copyright (c) 2019 ML!PA Consulting GmbH
# Copyright (c) 2023 Gerson Fernando Budke <nandojve@gmail.com>
# Copyright (c) 2023-2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_SAME54
bool "Atmel SAME54 MCU"
select ARM
select CPU_CORTEX_M4
select CPU_CORTEX_M_HAS_DWT
select CPU_HAS_ARM_MPU
select CPU_HAS_FPU
select SOC_FAMILY_SAM0
select PLATFORM_SPECIFIC_INIT
select ASF
help
Enable support for Atmel SAME54 Cortex-M4F microcontrollers.

15
soc/atmel/sam0/same54/Kconfig.defconfig

@ -0,0 +1,15 @@ @@ -0,0 +1,15 @@
# Atmel SAME54 MCU series configuration options
# Copyright (c) 2019 ML!PA Consulting GmbH
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_SAME54
config NUM_IRQS
default 137
config ROM_START_OFFSET
default 0x400 if BOOTLOADER_MCUBOOT
endif # SOC_SERIES_SAME54

36
soc/atmel/sam0/same54/Kconfig.soc

@ -0,0 +1,36 @@ @@ -0,0 +1,36 @@
# Atmel SAME54 MCU series
# Copyright (c) 2019 ML!PA Consulting GmbH
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_SAME54
bool
select SOC_FAMILY_SAM0
help
Enable support for Atmel SAME54 Cortex-M4F microcontrollers.
config SOC_SERIES
default "same54" if SOC_SERIES_SAME54
config SOC_SAME54N19A
bool
select SOC_SERIES_SAME54
config SOC_SAME54N20A
bool
select SOC_SERIES_SAME54
config SOC_SAME54P19A
bool
select SOC_SERIES_SAME54
config SOC_SAME54P20A
bool
select SOC_SERIES_SAME54
config SOC
default "same54n19a" if SOC_SAME54N19A
default "same54n20a" if SOC_SAME54N20A
default "same54p19a" if SOC_SAME54P19A
default "same54p20a" if SOC_SAME54P20A

16
soc/soc_legacy/arm/atmel_sam0/same54/soc.h → soc/atmel/sam0/same54/soc.h

@ -1,11 +1,12 @@ @@ -1,11 +1,12 @@
/*
* Copyright (c) 2019 ML!PA Consulting GmbH
* Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef _ATMEL_SAME54_SOC_H_
#define _ATMEL_SAME54_SOC_H_
#ifndef _SOC_ATMEL_SAM0_SAME54_SOC_H_
#define _SOC_ATMEL_SAM0_SAME54_SOC_H_
#ifndef _ASMLANGUAGE
@ -13,14 +14,13 @@ @@ -13,14 +14,13 @@
#include <zephyr/types.h>
#if defined(CONFIG_SOC_PART_NUMBER_SAME54N19A)
#if defined(CONFIG_SOC_SAME54N19A)
#include <same54n19a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAME54N20A)
#elif defined(CONFIG_SOC_SAME54N20A)
#include <same54n20a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAME54P19A)
#elif defined(CONFIG_SOC_SAME54P19A)
#include <same54p19a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAME54P20A)
#elif defined(CONFIG_SOC_SAME54P20A)
#include <same54p20a.h>
#else
#error Library does not support the specified device.
@ -45,4 +45,4 @@ @@ -45,4 +45,4 @@
#define SOC_ATMEL_SAM0_GCLK0_FREQ_HZ SOC_ATMEL_SAM0_MCK_FREQ_HZ
#define SOC_ATMEL_SAM0_GCLK2_FREQ_HZ 48000000
#endif /* _ATMEL_SAME54_SOC_H_ */
#endif /* _SOC_ATMEL_SAM0_SAME54_SOC_H_ */

4
soc/atmel/sam0/saml21/CMakeLists.txt

@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
zephyr_include_directories(.)

7
soc/soc_legacy/arm/atmel_sam0/saml21/Kconfig.series → soc/atmel/sam0/saml21/Kconfig

@ -1,17 +1,12 @@ @@ -1,17 +1,12 @@
# Atmel SAML21 MCU series
# Copyright (c) 2021 Argentum Systems Ltd.
# Copyright (c) 2023 Gerson Fernando Budke <nandojve@gmail.com>
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_SAML21
bool "Atmel SAML21 MCU"
select ARM
select CPU_CORTEX_M0PLUS
select CPU_CORTEX_M_HAS_SYSTICK
select CPU_CORTEX_M_HAS_VTOR
select SOC_FAMILY_SAM0
select PLATFORM_SPECIFIC_INIT
select ASF
help
Enable support for Atmel SAML21 Cortex-M0+ microcontrollers.

12
soc/atmel/sam0/saml21/Kconfig.defconfig

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
# Atmel SAML21 MCU series configuration options
# Copyright (c) 2021 Argentum Systems Ltd.
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_SAML21
config NUM_IRQS
default 29
endif # SOC_SERIES_SAML21

76
soc/atmel/sam0/saml21/Kconfig.soc

@ -0,0 +1,76 @@ @@ -0,0 +1,76 @@
# Atmel SAML21 MCU series
# Copyright (c) 2021 Argentum Systems Ltd.
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_SAML21
bool
select SOC_FAMILY_SAM0
help
Enable support for Atmel SAML21 Cortex-M0+ microcontrollers.
config SOC_SERIES
default "saml21" if SOC_SERIES_SAML21
config SOC_SAML21E15B
bool
select SOC_SERIES_SAML21
config SOC_SAML21E16B
bool
select SOC_SERIES_SAML21
config SOC_SAML21E17B
bool
select SOC_SERIES_SAML21
config SOC_SAML21E18B
bool
select SOC_SERIES_SAML21
config SOC_SAML21G16B
bool
select SOC_SERIES_SAML21
config SOC_SAML21G17B
bool
select SOC_SERIES_SAML21
config SOC_SAML21G18B
bool
select SOC_SERIES_SAML21
config SOC_SAML21J16B
bool
select SOC_SERIES_SAML21
config SOC_SAML21J17B
bool
select SOC_SERIES_SAML21
config SOC_SAML21J18B
bool
select SOC_SERIES_SAML21
config SOC_SAML21J17BU
bool
select SOC_SERIES_SAML21
config SOC_SAML21J18BU
bool
select SOC_SERIES_SAML21
config SOC
default "saml21e15b" if SOC_SAML21E15B
default "saml21e16b" if SOC_SAML21E16B
default "saml21e17b" if SOC_SAML21E17B
default "saml21e18b" if SOC_SAML21E18B
default "saml21g16b" if SOC_SAML21G16B
default "saml21g17b" if SOC_SAML21G17B
default "saml21g18b" if SOC_SAML21G18B
default "saml21j16b" if SOC_SAML21J16B
default "saml21j17b" if SOC_SAML21J17B
default "saml21j18b" if SOC_SAML21J18B
default "saml21j17bu" if SOC_SAML21J17BU
default "saml21j18bu" if SOC_SAML21J18BU

36
soc/soc_legacy/arm/atmel_sam0/saml21/soc.h → soc/atmel/sam0/saml21/soc.h

@ -1,38 +1,40 @@ @@ -1,38 +1,40 @@
/* Copyright (c) 2021 Argentum Systems Ltd.
/*
* Copyright (c) 2021 Argentum Systems Ltd.
* Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef _ATMEL_SAML_SOC_H_
#define _ATMEL_SAML_SOC_H_
#ifndef _SOC_ATMEL_SAM0_SAML21_SOC_H_
#define _SOC_ATMEL_SAM0_SAML21_SOC_H_
#ifndef _ASMLANGUAGE
#define DONT_USE_CMSIS_INIT
#if defined(CONFIG_SOC_PART_NUMBER_SAML21E15B)
#if defined(CONFIG_SOC_SAML21E15B)
#include <saml21e15b.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAML21E16B)
#elif defined(CONFIG_SOC_SAML21E16B)
#include <saml21e16b.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAML21E17B)
#elif defined(CONFIG_SOC_SAML21E17B)
#include <saml21e17b.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAML21E18B)
#elif defined(CONFIG_SOC_SAML21E18B)
#include <saml21e18b.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAML21G16B)
#elif defined(CONFIG_SOC_SAML21G16B)
#include <saml21g16b.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAML21G17B)
#elif defined(CONFIG_SOC_SAML21G17B)
#include <saml21g17b.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAML21G18B)
#elif defined(CONFIG_SOC_SAML21G18B)
#include <saml21g18b.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAML21J16B)
#elif defined(CONFIG_SOC_SAML21J16B)
#include <saml21j16b.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAML21J17B)
#elif defined(CONFIG_SOC_SAML21J17B)
#include <saml21j17b.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAML21J17BU)
#include <saml21j17bu.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAML21J18B)
#elif defined(CONFIG_SOC_SAML21J18B)
#include <saml21j18b.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAML21J18BU)
#elif defined(CONFIG_SOC_SAML21J17BU)
#include <saml21j17bu.h>
#elif defined(CONFIG_SOC_SAML21J18BU)
#include <saml21j18bu.h>
#else
#error Library does not support the specified device.
@ -73,4 +75,4 @@ @@ -73,4 +75,4 @@
#define SOC_ATMEL_SAM0_APBB_FREQ_HZ SOC_ATMEL_SAM0_MCK_FREQ_HZ
#define SOC_ATMEL_SAM0_APBC_FREQ_HZ SOC_ATMEL_SAM0_MCK_FREQ_HZ
#endif /* _ATMEL_SAML_SOC_H_ */
#endif /* _SOC_ATMEL_SAM0_SAML21_SOC_H_ */

4
soc/atmel/sam0/samr21/CMakeLists.txt

@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
zephyr_include_directories(.)

7
soc/soc_legacy/arm/atmel_sam0/samr21/Kconfig.series → soc/atmel/sam0/samr21/Kconfig

@ -1,17 +1,12 @@ @@ -1,17 +1,12 @@
# Atmel SAMR21 MCU series
# Copyright (c) 2017 Google LLC.
# Copyright (c) 2023 Gerson Fernando Budke <nandojve@gmail.com>
# Copyright (c) 2023-2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_SAMR21
bool "Atmel SAMR21 MCU"
select ARM
select CPU_CORTEX_M0PLUS
select CPU_CORTEX_M_HAS_SYSTICK
select CPU_CORTEX_M_HAS_VTOR
select SOC_FAMILY_SAM0
select PLATFORM_SPECIFIC_INIT
select ASF
help
Enable support for Atmel SAMR21 Cortex-M0+ microcontrollers.

12
soc/atmel/sam0/samr21/Kconfig.defconfig

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
# Atmel SAMR21 MCU series configuration options
# Copyright (c) 2017 Google LLC.
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_SAMR21
config NUM_IRQS
default 28
endif # SOC_SERIES_SAMR21

51
soc/atmel/sam0/samr21/Kconfig.soc

@ -0,0 +1,51 @@ @@ -0,0 +1,51 @@
# Atmel SAMR21 MCU series
# Copyright (c) 2017 Google LLC.
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_SAMR21
bool
select SOC_FAMILY_SAM0
help
Enable support for Atmel SAMR21 Cortex-M0+ microcontrollers.
config SOC_SERIES
default "samr21" if SOC_SERIES_SAMR21
config SOC_SAMR21E16A
bool
select SOC_SERIES_SAMR21
config SOC_SAMR21E17A
bool
select SOC_SERIES_SAMR21
config SOC_SAMR21E18A
bool
select SOC_SERIES_SAMR21
config SOC_SAMR21E19A
bool
select SOC_SERIES_SAMR21
config SOC_SAMR21G16A
bool
select SOC_SERIES_SAMR21
config SOC_SAMR21G17A
bool
select SOC_SERIES_SAMR21
config SOC_SAMR21G18A
bool
select SOC_SERIES_SAMR21
config SOC
default "samr21e16a" if SOC_SAMR21E16A
default "samr21e17a" if SOC_SAMR21E17A
default "samr21e18a" if SOC_SAMR21E18A
default "samr21e19a" if SOC_SAMR21E19A
default "samr21g16a" if SOC_SAMR21G16A
default "samr21g17a" if SOC_SAMR21G17A
default "samr21g18a" if SOC_SAMR21G18A

21
soc/soc_legacy/arm/atmel_sam0/samr21/soc.h → soc/atmel/sam0/samr21/soc.h

@ -1,12 +1,13 @@ @@ -1,12 +1,13 @@
/*
* Copyright (c) 2017 Google LLC.
* Copyright (c) 2023 Ionut Catalin Pavel <iocapa@iocapa.com>
* Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef ZEPHYR_ATMEL_SAMR21_SOC_H_
#define ZEPHYR_ATMEL_SAMR21_SOC_H_
#ifndef _SOC_ATMEL_SAM0_SAMR21_SOC_H_
#define _SOC_ATMEL_SAM0_SAMR21_SOC_H_
#ifndef _ASMLANGUAGE
@ -14,19 +15,19 @@ @@ -14,19 +15,19 @@
#include <zephyr/types.h>
#if defined(CONFIG_SOC_PART_NUMBER_SAMR21E16A)
#if defined(CONFIG_SOC_SAMR21E16A)
#include <samr21e16a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMR21E17A)
#elif defined(CONFIG_SOC_SAMR21E17A)
#include <samr21e17a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMR21E18A)
#elif defined(CONFIG_SOC_SAMR21E18A)
#include <samr21e18a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMR21E19A)
#elif defined(CONFIG_SOC_SAMR21E19A)
#include <samr21e19a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMR21G16A)
#elif defined(CONFIG_SOC_SAMR21G16A)
#include <samr21g16a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMR21G17A)
#elif defined(CONFIG_SOC_SAMR21G17A)
#include <samr21g17a.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMR21G18A)
#elif defined(CONFIG_SOC_SAMR21G18A)
#include <samr21g18a.h>
#else
#error Library does not support the specified device.
@ -98,4 +99,4 @@ @@ -98,4 +99,4 @@
#define SOC_ATMEL_SAM0_APBB_FREQ_HZ SOC_ATMEL_SAM0_MCK_FREQ_HZ
#define SOC_ATMEL_SAM0_APBC_FREQ_HZ SOC_ATMEL_SAM0_MCK_FREQ_HZ
#endif /* ZEPHYR_ATMEL_SAMR21_SOC_H_ */
#endif /* _SOC_ATMEL_SAM0_SAMR21_SOC_H_ */

4
soc/atmel/sam0/samr34/CMakeLists.txt

@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
zephyr_include_directories(.)

7
soc/soc_legacy/arm/atmel_sam0/samr34/Kconfig.series → soc/atmel/sam0/samr34/Kconfig

@ -1,17 +1,12 @@ @@ -1,17 +1,12 @@
# Atmel SAMR34 MCU series
# Copyright (c) 2021 Argentum Systems Ltd.
# Copyright (c) 2023 Gerson Fernando Budke <nandojve@gmail.com>
# Copyright (c) 2023-2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_SAMR34
bool "Atmel SAMR34 MCU"
select ARM
select CPU_CORTEX_M0PLUS
select CPU_CORTEX_M_HAS_SYSTICK
select CPU_CORTEX_M_HAS_VTOR
select SOC_FAMILY_SAM0
select PLATFORM_SPECIFIC_INIT
select ASF
help
Enable support for Atmel SAMR34 Cortex-M0+ microcontrollers.

12
soc/atmel/sam0/samr34/Kconfig.defconfig

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
# Atmel SAML MCU series configuration options
# Copyright (c) 2021 Argentum Systems Ltd.
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_SAMR34
config NUM_IRQS
default 23
endif # SOC_SERIES_SAMR34

31
soc/atmel/sam0/samr34/Kconfig.soc

@ -0,0 +1,31 @@ @@ -0,0 +1,31 @@
# Atmel SAMR34 MCU series
# Copyright (c) 2021 Argentum Systems Ltd.
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_SAMR34
bool
select SOC_FAMILY_SAM0
help
Enable support for Atmel SAMR34 Cortex-M0+ microcontrollers.
config SOC_SERIES
default "samr34" if SOC_SERIES_SAMR34
config SOC_SAMR34J16B
bool
select SOC_SERIES_SAMR34
config SOC_SAMR34J17B
bool
select SOC_SERIES_SAMR34
config SOC_SAMR34J18B
bool
select SOC_SERIES_SAMR34
config SOC
default "samr34j16b" if SOC_SAMR34J16B
default "samr34j17b" if SOC_SAMR34J17B
default "samr34j18b" if SOC_SAMR34J18B

16
soc/soc_legacy/arm/atmel_sam0/samr34/soc.h → soc/atmel/sam0/samr34/soc.h

@ -1,10 +1,12 @@ @@ -1,10 +1,12 @@
/* Copyright (c) 2021 Argentum Systems Ltd.
/*
* Copyright (c) 2021 Argentum Systems Ltd.
* Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef _ATMEL_SAMR_SOC_H_
#define _ATMEL_SAMR_SOC_H_
#ifndef _SOC_ATMEL_SAM0_SAMR34_SOC_H_
#define _SOC_ATMEL_SAM0_SAMR34_SOC_H_
#ifndef _ASMLANGUAGE
@ -12,11 +14,11 @@ @@ -12,11 +14,11 @@
#include <zephyr/types.h>
#if defined(CONFIG_SOC_PART_NUMBER_SAMR34J16B)
#if defined(CONFIG_SOC_SAMR34J16B)
#include <samr34j16b.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMR34J17B)
#elif defined(CONFIG_SOC_SAMR34J17B)
#include <samr34j17b.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMR34J18B)
#elif defined(CONFIG_SOC_SAMR34J18B)
#include <samr34j18b.h>
#else
#error Library does not support the specified device.
@ -57,4 +59,4 @@ @@ -57,4 +59,4 @@
#define SOC_ATMEL_SAM0_APBB_FREQ_HZ SOC_ATMEL_SAM0_MCK_FREQ_HZ
#define SOC_ATMEL_SAM0_APBC_FREQ_HZ SOC_ATMEL_SAM0_MCK_FREQ_HZ
#endif /* _ATMEL_SAMR_SOC_H_ */
#endif /* _SOC_ATMEL_SAM0_SAMR34_SOC_H_ */

4
soc/atmel/sam0/samr35/CMakeLists.txt

@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
zephyr_include_directories(.)

7
soc/soc_legacy/arm/atmel_sam0/samr35/Kconfig.series → soc/atmel/sam0/samr35/Kconfig

@ -1,17 +1,12 @@ @@ -1,17 +1,12 @@
# Atmel SAMR35 MCU series
# Copyright (c) 2021 Argentum Systems Ltd.
# Copyright (c) 2023 Gerson Fernando Budke <nandojve@gmail.com>
# Copyright (c) 2023-2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_SAMR35
bool "Atmel SAMR35 MCU"
select ARM
select CPU_CORTEX_M0PLUS
select CPU_CORTEX_M_HAS_SYSTICK
select CPU_CORTEX_M_HAS_VTOR
select SOC_FAMILY_SAM0
select PLATFORM_SPECIFIC_INIT
select ASF
help
Enable support for Atmel SAMR35 Cortex-M0+ microcontrollers.

12
soc/atmel/sam0/samr35/Kconfig.defconfig

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
# Atmel SAMR35 MCU series configuration options
# Copyright (c) 2021 Argentum Systems Ltd.
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_SAMR35
config NUM_IRQS
default 23
endif # SOC_SERIES_SAMR35

31
soc/atmel/sam0/samr35/Kconfig.soc

@ -0,0 +1,31 @@ @@ -0,0 +1,31 @@
# Atmel SAMR35 MCU series
# Copyright (c) 2021 Argentum Systems Ltd.
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_SAMR35
bool
select SOC_FAMILY_SAM0
help
Enable support for Atmel SAMR35 Cortex-M0+ microcontrollers.
config SOC_SERIES
default "samr35" if SOC_SERIES_SAMR35
config SOC_SAMR35J16B
bool
select SOC_SERIES_SAMR35
config SOC_SAMR35J17B
bool
select SOC_SERIES_SAMR35
config SOC_SAMR35J18B
bool
select SOC_SERIES_SAMR35
config SOC
default "samr35j16b" if SOC_SAMR35J16B
default "samr35j17b" if SOC_SAMR35J17B
default "samr35j18b" if SOC_SAMR35J18B

16
soc/soc_legacy/arm/atmel_sam0/samr35/soc.h → soc/atmel/sam0/samr35/soc.h

@ -1,10 +1,12 @@ @@ -1,10 +1,12 @@
/* Copyright (c) 2021 Argentum Systems Ltd.
/*
* Copyright (c) 2021 Argentum Systems Ltd.
* Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef _ATMEL_SAMR_SOC_H_
#define _ATMEL_SAMR_SOC_H_
#ifndef _SOC_ATMEL_SAM0_SAMR35_SOC_H_
#define _SOC_ATMEL_SAM0_SAMR35_SOC_H_
#ifndef _ASMLANGUAGE
@ -12,11 +14,11 @@ @@ -12,11 +14,11 @@
#include <zephyr/types.h>
#if defined(CONFIG_SOC_PART_NUMBER_SAMR35J16B)
#if defined(CONFIG_SOC_SAMR35J16B)
#include <samr35j16b.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMR35J17B)
#elif defined(CONFIG_SOC_SAMR35J17B)
#include <samr35j17b.h>
#elif defined(CONFIG_SOC_PART_NUMBER_SAMR35J18B)
#elif defined(CONFIG_SOC_SAMR35J18B)
#include <samr35j18b.h>
#else
#error Library does not support the specified device.
@ -57,4 +59,4 @@ @@ -57,4 +59,4 @@
#define SOC_ATMEL_SAM0_APBB_FREQ_HZ SOC_ATMEL_SAM0_MCK_FREQ_HZ
#define SOC_ATMEL_SAM0_APBC_FREQ_HZ SOC_ATMEL_SAM0_MCK_FREQ_HZ
#endif /* _ATMEL_SAMR_SOC_H_ */
#endif /* _SOC_ATMEL_SAM0_SAMR35_SOC_H_ */

138
soc/atmel/sam0/soc.yml

@ -0,0 +1,138 @@ @@ -0,0 +1,138 @@
family:
- name: atmel_sam0
series:
- name: samc20
socs:
- name: samc20e15a
- name: samc20e16a
- name: samc20e17a
- name: samc20e18a
- name: samc20g15a
- name: samc20g16a
- name: samc20g17a
- name: samc20g18a
- name: samc20j15a
- name: samc20j16a
- name: samc20j17a
- name: samc20j18a
- name: samc20j17au
- name: samc20j18au
- name: samc20n17a
- name: samc20n18a
- name: samc21
socs:
- name: samc21e15a
- name: samc21e16a
- name: samc21e17a
- name: samc21e18a
- name: samc21g15a
- name: samc21g16a
- name: samc21g17a
- name: samc21g18a
- name: samc21j15a
- name: samc21j16a
- name: samc21j17a
- name: samc21j18a
- name: samc21j17au
- name: samc21j18au
- name: samc21n17a
- name: samc21n18a
- name: samd20
socs:
- name: samd20e14
- name: samd20e15
- name: samd20e16
- name: samd20e17
- name: samd20e18
- name: samd20g14
- name: samd20g15
- name: samd20g16
- name: samd20g17
- name: samd20g18
- name: samd20g17u
- name: samd20g18u
- name: samd20j14
- name: samd20j15
- name: samd20j16
- name: samd20j17
- name: samd20j18
- name: samd21
socs:
- name: samd21e15a
- name: samd21e16a
- name: samd21e17a
- name: samd21e18a
- name: samd21g15a
- name: samd21g16a
- name: samd21g17a
- name: samd21g18a
- name: samd21g17au
- name: samd21g18au
- name: samd21j15a
- name: samd21j16a
- name: samd21j17a
- name: samd21j18a
- name: samd51
socs:
- name: samd51g18a
- name: samd51g19a
- name: samd51j18a
- name: samd51j19a
- name: samd51j20a
- name: samd51n19a
- name: samd51n20a
- name: samd51p19a
- name: samd51p20a
- name: same51
socs:
- name: same51j18a
- name: same51j19a
- name: same51j20a
- name: same51n19a
- name: same51n20a
- name: same53
socs:
- name: same53j18a
- name: same53j19a
- name: same53j20a
- name: same53n19a
- name: same53n20a
- name: same54
socs:
- name: same54n19a
- name: same54n20a
- name: same54p19a
- name: same54p20a
- name: saml21
socs:
- name: saml21e15b
- name: saml21e16b
- name: saml21e17b
- name: saml21e18b
- name: saml21g16b
- name: saml21g17b
- name: saml21g18b
- name: saml21j16b
- name: saml21j17b
- name: saml21j18b
- name: saml21j17bu
- name: saml21j18bu
- name: samr21
socs:
- name: samr21e16a
- name: samr21e17a
- name: samr21e18a
- name: samr21e19a
- name: samr21g16a
- name: samr21g17a
- name: samr21g18a
- name: samr34
socs:
- name: samr34j16b
- name: samr34j17b
- name: samr34j18b
- name: samr35
socs:
- name: samr35j16b
- name: samr35j17b
- name: samr35j18b

23
soc/soc_legacy/arm/atmel_sam0/Kconfig

@ -1,23 +0,0 @@ @@ -1,23 +0,0 @@
# Atmel SAM0 MCU family configuration options
# Copyright (c) 2017 Google LLC.
# SPDX-License-Identifier: Apache-2.0
config SOC_FAMILY_SAM0
bool
select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE
if SOC_FAMILY_SAM0
config SOC_FAMILY
string
default "atmel_sam0"
source "soc/soc_legacy/arm/atmel_sam0/common/Kconfig.samc2x"
source "soc/soc_legacy/arm/atmel_sam0/common/Kconfig.saml2x"
source "soc/soc_legacy/arm/atmel_sam0/common/Kconfig.samd2x"
source "soc/soc_legacy/arm/atmel_sam0/common/Kconfig.samd5x"
source "soc/soc_legacy/arm/atmel_sam0/*/Kconfig.soc"
source "soc/soc_legacy/arm/atmel_sam0/Kconfig.soc.revisions"
endif

13
soc/soc_legacy/arm/atmel_sam0/Kconfig.defconfig

@ -1,13 +0,0 @@ @@ -1,13 +0,0 @@
# Atmel SAM0 MCU family default configuration options
# Copyright (c) 2017 Google LLC.
# SPDX-License-Identifier: Apache-2.0
source "soc/soc_legacy/arm/atmel_sam0/*/Kconfig.defconfig.series"
if SOC_FAMILY_SAM0
config PINCTRL
default y
endif # SOC_FAMILY_SAM0

6
soc/soc_legacy/arm/atmel_sam0/Kconfig.soc

@ -1,6 +0,0 @@ @@ -1,6 +0,0 @@
# Atmel SAM0 MCU series selection
# Copyright (c) 2017 Google LLC.
# SPDX-License-Identifier: Apache-2.0
source "soc/soc_legacy/arm/atmel_sam0/*/Kconfig.series"

10
soc/soc_legacy/arm/atmel_sam0/Kconfig.soc.revisions

@ -1,10 +0,0 @@ @@ -1,10 +0,0 @@
# Copyright (c) 2022 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_REVISION_N
bool
config SOC_SERIES_REVISION
string
default "n" if SOC_SERIES_REVISION_N
default ""

18
soc/soc_legacy/arm/atmel_sam0/common/Kconfig.defconfig.series

@ -1,18 +0,0 @@ @@ -1,18 +0,0 @@
# Atmel SAM0 MCU family configuration options
# Copyright (c) 2020 Google LLC.
# SPDX-License-Identifier: Apache-2.0
if SOC_FAMILY_SAM0
config HWINFO_SAM0
default HWINFO
if USB_DEVICE_DRIVER
config HEAP_MEM_POOL_ADD_SIZE_SOC
def_int 1024
endif # USB_DEVICE_DRIVER
endif # SOC_FAMILY_SAM0

6
soc/soc_legacy/arm/atmel_sam0/common/Kconfig.samc2x

@ -1,6 +0,0 @@ @@ -1,6 +0,0 @@
# Copyright (c) 2022 Kamil Serwus
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_SAMC20 || SOC_SERIES_SAMC21
endif

35
soc/soc_legacy/arm/atmel_sam0/samc20/Kconfig.defconfig.series

@ -1,35 +0,0 @@ @@ -1,35 +0,0 @@
# Atmel SAMC MCU series configuration options
# Copyright (c) 2022 Kamil Serwus
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_SAMC20
config SOC_SERIES
default "samc20"
config SOC_PART_NUMBER
default "samc20e15a" if SOC_PART_NUMBER_SAMC20E15A
default "samc20e16a" if SOC_PART_NUMBER_SAMC20E16A
default "samc20e17a" if SOC_PART_NUMBER_SAMC20E17A
default "samc20e18a" if SOC_PART_NUMBER_SAMC20E18A
default "samc20g15a" if SOC_PART_NUMBER_SAMC20G15A
default "samc20g16a" if SOC_PART_NUMBER_SAMC20G16A
default "samc20g17a" if SOC_PART_NUMBER_SAMC20G17A
default "samc20g18a" if SOC_PART_NUMBER_SAMC20G18A
default "samc20j15a" if SOC_PART_NUMBER_SAMC20J15A
default "samc20j16a" if SOC_PART_NUMBER_SAMC20J16A
default "samc20j17a" if SOC_PART_NUMBER_SAMC20J17A
default "samc20j17au" if SOC_PART_NUMBER_SAMC20J17AU
default "samc20j18a" if SOC_PART_NUMBER_SAMC20J18A
default "samc20j18au" if SOC_PART_NUMBER_SAMC20J18AU
default "samc20n17a" if SOC_PART_NUMBER_SAMC20N17A
default "samc20n18a" if SOC_PART_NUMBER_SAMC20N18A
config NUM_IRQS
default 32
config SYS_CLOCK_HW_CYCLES_PER_SEC
default $(dt_node_int_prop_int,/cpus/cpu@0,clock-frequency)
endif # SOC_SERIES_SAMC20

60
soc/soc_legacy/arm/atmel_sam0/samc20/Kconfig.soc

@ -1,60 +0,0 @@ @@ -1,60 +0,0 @@
# Atmel SAMC MCU series
# Copyright (c) 2022 Kamil Serwus
# SPDX-License-Identifier: Apache-2.0
choice
prompt "Atmel SAMC20 MCU Selection"
depends on SOC_SERIES_SAMC20
config SOC_PART_NUMBER_SAMC20E15A
bool "SAMC20E15A"
config SOC_PART_NUMBER_SAMC20E16A
bool "SAMC20E16A"
config SOC_PART_NUMBER_SAMC20E17A
bool "SAMC20E17A"
config SOC_PART_NUMBER_SAMC20E18A
bool "SAMC20E18A"
config SOC_PART_NUMBER_SAMC20G15A
bool "SAMC20G15A"
config SOC_PART_NUMBER_SAMC20G16A
bool "SAMC20G16A"
config SOC_PART_NUMBER_SAMC20G17A
bool "SAMC20G17A"
config SOC_PART_NUMBER_SAMC20G18A
bool "SAMC20G18A"
config SOC_PART_NUMBER_SAMC20J15A
bool "SAMC20J15A"
config SOC_PART_NUMBER_SAMC20J16A
bool "SAMC20J16A"
config SOC_PART_NUMBER_SAMC20J17A
bool "SAMC20J17A"
config SOC_PART_NUMBER_SAMC20J17AU
bool "SAMC20J17AU"
config SOC_PART_NUMBER_SAMC20J18A
bool "SAMC20J18A"
config SOC_PART_NUMBER_SAMC20J18AU
bool "SAMC20J18AU"
config SOC_PART_NUMBER_SAMC20N17A
bool "SAMC20N17A"
select SOC_SERIES_REVISION_N
config SOC_PART_NUMBER_SAMC20N18A
bool "SAMC20N18A"
select SOC_SERIES_REVISION_N
endchoice

35
soc/soc_legacy/arm/atmel_sam0/samc21/Kconfig.defconfig.series

@ -1,35 +0,0 @@ @@ -1,35 +0,0 @@
# Atmel SAMC MCU series configuration options
# Copyright (c) 2022 Kamil Serwus
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_SAMC21
config SOC_SERIES
default "samc21"
config SOC_PART_NUMBER
default "samc21e15a" if SOC_PART_NUMBER_SAMC21E15A
default "samc21e16a" if SOC_PART_NUMBER_SAMC21E16A
default "samc21e17a" if SOC_PART_NUMBER_SAMC21E17A
default "samc21e18a" if SOC_PART_NUMBER_SAMC21E18A
default "samc21g15a" if SOC_PART_NUMBER_SAMC21G15A
default "samc21g16a" if SOC_PART_NUMBER_SAMC21G16A
default "samc21g17a" if SOC_PART_NUMBER_SAMC21G17A
default "samc21g18a" if SOC_PART_NUMBER_SAMC21G18A
default "samc21j15a" if SOC_PART_NUMBER_SAMC21J15A
default "samc21j16a" if SOC_PART_NUMBER_SAMC21J16A
default "samc21j17a" if SOC_PART_NUMBER_SAMC21J17A
default "samc21j17au" if SOC_PART_NUMBER_SAMC21J17AU
default "samc21j18a" if SOC_PART_NUMBER_SAMC21J18A
default "samc21j18au" if SOC_PART_NUMBER_SAMC21J18AU
default "samc21n17a" if SOC_PART_NUMBER_SAMC21N17A
default "samc21n18a" if SOC_PART_NUMBER_SAMC21N18A
config NUM_IRQS
default 32
config SYS_CLOCK_HW_CYCLES_PER_SEC
default $(dt_node_int_prop_int,/cpus/cpu@0,clock-frequency)
endif # SOC_SERIES_SAMC21

60
soc/soc_legacy/arm/atmel_sam0/samc21/Kconfig.soc

@ -1,60 +0,0 @@ @@ -1,60 +0,0 @@
# Atmel SAMC MCU series
# Copyright (c) 2022 Kamil Serwus
# SPDX-License-Identifier: Apache-2.0
choice
prompt "Atmel SAMC21 MCU Selection"
depends on SOC_SERIES_SAMC21
config SOC_PART_NUMBER_SAMC21E15A
bool "SAMC21E15A"
config SOC_PART_NUMBER_SAMC21E16A
bool "SAMC21E16A"
config SOC_PART_NUMBER_SAMC21E17A
bool "SAMC21E17A"
config SOC_PART_NUMBER_SAMC21E18A
bool "SAMC21E18A"
config SOC_PART_NUMBER_SAMC21G15A
bool "SAMC21G15A"
config SOC_PART_NUMBER_SAMC21G16A
bool "SAMC21G16A"
config SOC_PART_NUMBER_SAMC21G17A
bool "SAMC21G17A"
config SOC_PART_NUMBER_SAMC21G18A
bool "SAMC21G18A"
config SOC_PART_NUMBER_SAMC21J15A
bool "SAMC21J15A"
config SOC_PART_NUMBER_SAMC21J16A
bool "SAMC21J16A"
config SOC_PART_NUMBER_SAMC21J17A
bool "SAMC21J17A"
config SOC_PART_NUMBER_SAMC21J17AU
bool "SAMC21J17AU"
config SOC_PART_NUMBER_SAMC21J18A
bool "SAMC21J18A"
config SOC_PART_NUMBER_SAMC21J18AU
bool "SAMC21J18AU"
config SOC_PART_NUMBER_SAMC21N17A
bool "SAMC21N17A"
select SOC_SERIES_REVISION_N
config SOC_PART_NUMBER_SAMC21N18A
bool "SAMC21N18A"
select SOC_SERIES_REVISION_N
endchoice

36
soc/soc_legacy/arm/atmel_sam0/samd20/Kconfig.defconfig.series

@ -1,36 +0,0 @@ @@ -1,36 +0,0 @@
# Atmel SAMD MCU series configuration options
# Copyright (c) 2018 Sean Nyekjaer
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_SAMD20
config SOC_SERIES
default "samd20"
config SOC_PART_NUMBER
default "samd20e14" if SOC_PART_NUMBER_SAMD20E14
default "samd20e15" if SOC_PART_NUMBER_SAMD20E15
default "samd20e16" if SOC_PART_NUMBER_SAMD20E16
default "samd20e17" if SOC_PART_NUMBER_SAMD20E17
default "samd20e18" if SOC_PART_NUMBER_SAMD20E18
default "samd20g14" if SOC_PART_NUMBER_SAMD20G14
default "samd20g15" if SOC_PART_NUMBER_SAMD20G15
default "samd20g16" if SOC_PART_NUMBER_SAMD20G16
default "samd20g17" if SOC_PART_NUMBER_SAMD20G17
default "samd20g17u" if SOC_PART_NUMBER_SAMD20G17U
default "samd20g18" if SOC_PART_NUMBER_SAMD20G18
default "samd20g18u" if SOC_PART_NUMBER_SAMD20G18U
default "samd20j14" if SOC_PART_NUMBER_SAMD20J14
default "samd20j15" if SOC_PART_NUMBER_SAMD20J15
default "samd20j16" if SOC_PART_NUMBER_SAMD20J16
default "samd20j17" if SOC_PART_NUMBER_SAMD20J17
default "samd20j18" if SOC_PART_NUMBER_SAMD20J18
config NUM_IRQS
default 25
config SYS_CLOCK_HW_CYCLES_PER_SEC
default 48000000
endif # SOC_SERIES_SAMD20

61
soc/soc_legacy/arm/atmel_sam0/samd20/Kconfig.soc

@ -1,61 +0,0 @@ @@ -1,61 +0,0 @@
# Atmel SAMD MCU series
# Copyright (c) 2018 Sean Nyekjaer
# SPDX-License-Identifier: Apache-2.0
choice
prompt "Atmel SAMD20 MCU Selection"
depends on SOC_SERIES_SAMD20
config SOC_PART_NUMBER_SAMD20E14
bool "SAMD20E14"
config SOC_PART_NUMBER_SAMD20E15
bool "SAMD20E15"
config SOC_PART_NUMBER_SAMD20E16
bool "SAMD20E16"
config SOC_PART_NUMBER_SAMD20E17
bool "SAMD20E17"
config SOC_PART_NUMBER_SAMD20E18
bool "SAMD20E18"
config SOC_PART_NUMBER_SAMD20G14
bool "SAMD20G14"
config SOC_PART_NUMBER_SAMD20G15
bool "SAMD20G15"
config SOC_PART_NUMBER_SAMD20G16
bool "SAMD20G16"
config SOC_PART_NUMBER_SAMD20G17
bool "SAMD20G17"
config SOC_PART_NUMBER_SAMD20G17U
bool "SAMD20G17U"
config SOC_PART_NUMBER_SAMD20G18
bool "SAMD20G18"
config SOC_PART_NUMBER_SAMD20G18U
bool "SAMD20G18U"
config SOC_PART_NUMBER_SAMD20J14
bool "SAMD20J14"
config SOC_PART_NUMBER_SAMD20J15
bool "SAMD20J15"
config SOC_PART_NUMBER_SAMD20J16
bool "SAMD20J16"
config SOC_PART_NUMBER_SAMD20J17
bool "SAMD20J17"
config SOC_PART_NUMBER_SAMD20J18
bool "SAMD20J18"
endchoice

33
soc/soc_legacy/arm/atmel_sam0/samd21/Kconfig.defconfig.series

@ -1,33 +0,0 @@ @@ -1,33 +0,0 @@
# Atmel SAMD MCU series configuration options
# Copyright (c) 2017 Google LLC.
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_SAMD21
config SOC_SERIES
default "samd21"
config SOC_PART_NUMBER
default "samd21e15a" if SOC_PART_NUMBER_SAMD21E15A
default "samd21e16a" if SOC_PART_NUMBER_SAMD21E16A
default "samd21e17a" if SOC_PART_NUMBER_SAMD21E17A
default "samd21e18a" if SOC_PART_NUMBER_SAMD21E18A
default "samd21g15a" if SOC_PART_NUMBER_SAMD21G15A
default "samd21g16a" if SOC_PART_NUMBER_SAMD21G16A
default "samd21g17a" if SOC_PART_NUMBER_SAMD21G17A
default "samd21g17au" if SOC_PART_NUMBER_SAMD21G17AU
default "samd21g18a" if SOC_PART_NUMBER_SAMD21G18A
default "samd21g18au" if SOC_PART_NUMBER_SAMD21G18AU
default "samd21j15a" if SOC_PART_NUMBER_SAMD21J15A
default "samd21j16a" if SOC_PART_NUMBER_SAMD21J16A
default "samd21j17a" if SOC_PART_NUMBER_SAMD21J17A
default "samd21j18a" if SOC_PART_NUMBER_SAMD21J18A
config NUM_IRQS
default 28
config SYS_CLOCK_HW_CYCLES_PER_SEC
default 48000000
endif # SOC_SERIES_SAMD21

52
soc/soc_legacy/arm/atmel_sam0/samd21/Kconfig.soc

@ -1,52 +0,0 @@ @@ -1,52 +0,0 @@
# Atmel SAMD MCU series
# Copyright (c) 2017 Google LLC.
# SPDX-License-Identifier: Apache-2.0
choice
prompt "Atmel SAMD21 MCU Selection"
depends on SOC_SERIES_SAMD21
config SOC_PART_NUMBER_SAMD21E15A
bool "SAMD21E15A"
config SOC_PART_NUMBER_SAMD21E16A
bool "SAMD21E16A"
config SOC_PART_NUMBER_SAMD21E17A
bool "SAMD21E17A"
config SOC_PART_NUMBER_SAMD21E18A
bool "SAMD21E18A"
config SOC_PART_NUMBER_SAMD21G15A
bool "SAMD21G15A"
config SOC_PART_NUMBER_SAMD21G16A
bool "SAMD21G16A"
config SOC_PART_NUMBER_SAMD21G17A
bool "SAMD21G17A"
config SOC_PART_NUMBER_SAMD21G17AU
bool "SAMD21G17AU"
config SOC_PART_NUMBER_SAMD21G18A
bool "SAMD21G18A"
config SOC_PART_NUMBER_SAMD21G18AU
bool "SAMD21G18AU"
config SOC_PART_NUMBER_SAMD21J15A
bool "SAMD21J15A"
config SOC_PART_NUMBER_SAMD21J16A
bool "SAMD21J16A"
config SOC_PART_NUMBER_SAMD21J17A
bool "SAMD21J17A"
config SOC_PART_NUMBER_SAMD21J18A
bool "SAMD21J18A"
endchoice

35
soc/soc_legacy/arm/atmel_sam0/samd51/Kconfig.defconfig.series

@ -1,35 +0,0 @@ @@ -1,35 +0,0 @@
# Atmel SAMD51 MCU series configuration options
# Copyright (c) 2019 ML!PA Consulting GmbH
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_SAMD51
config SOC_SERIES
string
default "samd51"
config SOC_PART_NUMBER
string
default "samd51g18a" if SOC_PART_NUMBER_SAMD51G18A
default "samd51g19a" if SOC_PART_NUMBER_SAMD51G19A
default "samd51j18a" if SOC_PART_NUMBER_SAMD51J18A
default "samd51j19a" if SOC_PART_NUMBER_SAMD51J19A
default "samd51j20a" if SOC_PART_NUMBER_SAMD51J20A
default "samd51n19a" if SOC_PART_NUMBER_SAMD51N19A
default "samd51n20a" if SOC_PART_NUMBER_SAMD51N20A
default "samd51p19a" if SOC_PART_NUMBER_SAMD51P19A
default "samd51p20a" if SOC_PART_NUMBER_SAMD51P20A
config NUM_IRQS
int
default 137
config ROM_START_OFFSET
default 0x400 if BOOTLOADER_MCUBOOT
config SYS_CLOCK_HW_CYCLES_PER_SEC
int
default 120000000
endif # SOC_SERIES_SAMD51

37
soc/soc_legacy/arm/atmel_sam0/samd51/Kconfig.soc

@ -1,37 +0,0 @@ @@ -1,37 +0,0 @@
# Atmel SAMD51 MCU series
# Copyright (c) 2019 ML!PA Consulting GmbH
# SPDX-License-Identifier: Apache-2.0
choice
prompt "Atmel SAMD51 MCU Selection"
depends on SOC_SERIES_SAMD51
config SOC_PART_NUMBER_SAMD51G18A
bool "SAMD51G18A"
config SOC_PART_NUMBER_SAMD51G19A
bool "SAMD51G19A"
config SOC_PART_NUMBER_SAMD51J18A
bool "SAMD51J18A"
config SOC_PART_NUMBER_SAMD51J19A
bool "SAMD51J19A"
config SOC_PART_NUMBER_SAMD51J20A
bool "SAMD51J20A"
config SOC_PART_NUMBER_SAMD51N19A
bool "SAMD51N19A"
config SOC_PART_NUMBER_SAMD51N20A
bool "SAMD51N20A"
config SOC_PART_NUMBER_SAMD51P19A
bool "SAMD51P19A"
config SOC_PART_NUMBER_SAMD51P20A
bool "SAMD51P20A"
endchoice

31
soc/soc_legacy/arm/atmel_sam0/same51/Kconfig.defconfig.series

@ -1,31 +0,0 @@ @@ -1,31 +0,0 @@
# Atmel SAME51 MCU series configuration options
# Copyright (c) 2019 ML!PA Consulting GmbH
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_SAME51
config SOC_SERIES
string
default "same51"
config SOC_PART_NUMBER
string
default "same51j18a" if SOC_PART_NUMBER_SAME51J18A
default "same51j19a" if SOC_PART_NUMBER_SAME51J19A
default "same51j20a" if SOC_PART_NUMBER_SAME51J20A
default "same51n19a" if SOC_PART_NUMBER_SAME51N19A
default "same51n20a" if SOC_PART_NUMBER_SAME51N20A
config NUM_IRQS
int
default 137
config ROM_START_OFFSET
default 0x400 if BOOTLOADER_MCUBOOT
config SYS_CLOCK_HW_CYCLES_PER_SEC
int
default 120000000
endif # SOC_SERIES_SAME51

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save