Add initial support for the Atmel SAMD20 Xplained Pro board

This commit is contained in:
Gregory Nutt
2014-02-12 17:50:58 -06:00
parent 126fcbac7d
commit bd15ec2565
8 changed files with 265 additions and 174 deletions
+4
View File
@@ -6576,3 +6576,7 @@
* arch/arm/include/samd and src/samd: Basic framework to support Atmel * arch/arm/include/samd and src/samd: Basic framework to support Atmel
SAMD20 Cortex-M0+ chips. Initial check-in is incomplete; this is a SAMD20 Cortex-M0+ chips. Initial check-in is incomplete; this is a
work in progress (2014-2-12). work in progress (2014-2-12).
* configs/samd20-xplained: Framework to support the Amtel SAMD20
Xplained Pro. Initial check is just an unverified, rough port of
the SAM4L Xplained Pro configuration (2014-2-12).
+2
View File
@@ -163,6 +163,8 @@
| | | `- <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/rgmp/README.txt"><b><i>README.txt</i></b></a> | | | `- <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/rgmp/README.txt"><b><i>README.txt</i></b></a>
| | |- sama5d3x-ek/ | | |- sama5d3x-ek/
| | | `- <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/sama5d3x-ek/README.txt"><b><i>README.txt</i></b></a> | | | `- <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/sama5d3x-ek/README.txt"><b><i>README.txt</i></b></a>
| | |- samd20-xplained/
| | | `- <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/samd20-xplained/README.txt"><b><i>README.txt</i></b></a>
| | |- sam3u-ek/ | | |- sam3u-ek/
| | | `- <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/sam3u-ek/README.txt"><b><i>README.txt</i></b></a> | | | `- <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/sam3u-ek/README.txt"><b><i>README.txt</i></b></a>
| | |- sam4l-xplained/ | | |- sam4l-xplained/
+2
View File
@@ -1109,6 +1109,8 @@ nuttx
| | `- README.txt | | `- README.txt
| |- sama5d3x-ek/ | |- sama5d3x-ek/
| | `- README.txt | | `- README.txt
| |- samd20-xplained/
| | `- README.txt
| |- sam3u-ek/ | |- sam3u-ek/
| | `- README.txt | | `- README.txt
| |- sam4l-xplained/ | |- sam4l-xplained/
+52 -36
View File
@@ -18,28 +18,28 @@ config ARCH_CHIP_SAMD20E14
Flash 16KB SRAM 2KB Flash 16KB SRAM 2KB
config ARCH_CHIP_SAMD20E15 config ARCH_CHIP_SAMD20E15
bool "SAMD20E14" bool "SAMD20E15"
select ARCH_FAMILY_SAMD20 select ARCH_FAMILY_SAMD20
select ARCH_FAMILY_SAMD20E select ARCH_FAMILY_SAMD20E
---help--- ---help---
Flash 32KB SRAM 4KB Flash 32KB SRAM 4KB
config ARCH_CHIP_SAMD20E16 config ARCH_CHIP_SAMD20E16
bool "SAMD20E14" bool "SAMD20E16"
select ARCH_FAMILY_SAMD20 select ARCH_FAMILY_SAMD20
select ARCH_FAMILY_SAMD20E select ARCH_FAMILY_SAMD20E
---help--- ---help---
Flash 64KB SRAM 8KB Flash 64KB SRAM 8KB
config ARCH_CHIP_SAMD20E17 config ARCH_CHIP_SAMD20E17
bool "SAMD20E14" bool "SAMD20E17"
select ARCH_FAMILY_SAMD20 select ARCH_FAMILY_SAMD20
select ARCH_FAMILY_SAMD20E select ARCH_FAMILY_SAMD20E
---help--- ---help---
Flash 128KB SRAM 16KB Flash 128KB SRAM 16KB
config ARCH_CHIP_SAMD20E18 config ARCH_CHIP_SAMD20E18
bool "SAMD20E14" bool "SAMD20E18"
select ARCH_FAMILY_SAMD20 select ARCH_FAMILY_SAMD20
select ARCH_FAMILY_SAMD20E select ARCH_FAMILY_SAMD20E
---help--- ---help---
@@ -53,28 +53,28 @@ config ARCH_CHIP_SAMD20G14
Flash 16KB SRAM 2KB Flash 16KB SRAM 2KB
config ARCH_CHIP_SAMD20G15 config ARCH_CHIP_SAMD20G15
bool "SAMD20G14" bool "SAMD20G15"
select ARCH_FAMILY_SAMD20 select ARCH_FAMILY_SAMD20
select ARCH_FAMILY_SAMD20G select ARCH_FAMILY_SAMD20G
---help--- ---help---
Flash 32KB SRAM 4KB Flash 32KB SRAM 4KB
config ARCH_CHIP_SAMD20G16 config ARCH_CHIP_SAMD20G16
bool "SAMD20G14" bool "SAMD20G16"
select ARCH_FAMILY_SAMD20 select ARCH_FAMILY_SAMD20
select ARCH_FAMILY_SAMD20G select ARCH_FAMILY_SAMD20G
---help--- ---help---
Flash 64KB SRAM 8KB Flash 64KB SRAM 8KB
config ARCH_CHIP_SAMD20G17 config ARCH_CHIP_SAMD20G17
bool "SAMD20G14" bool "SAMD20G17"
select ARCH_FAMILY_SAMD20 select ARCH_FAMILY_SAMD20
select ARCH_FAMILY_SAMD20G select ARCH_FAMILY_SAMD20G
---help--- ---help---
Flash 128KB SRAM 16KB Flash 128KB SRAM 16KB
config ARCH_CHIP_SAMD20G18 config ARCH_CHIP_SAMD20G18
bool "SAMD20G14" bool "SAMD20G18"
select ARCH_FAMILY_SAMD20 select ARCH_FAMILY_SAMD20
select ARCH_FAMILY_SAMD20G select ARCH_FAMILY_SAMD20G
---help--- ---help---
@@ -88,28 +88,28 @@ config ARCH_CHIP_SAMD20J14
Flash 16KB SRAM 2KB Flash 16KB SRAM 2KB
config ARCH_CHIP_SAMD20J15 config ARCH_CHIP_SAMD20J15
bool "SAMD20J14" bool "SAMD20J15"
select ARCH_FAMILY_SAMD20 select ARCH_FAMILY_SAMD20
select ARCH_FAMILY_SAMD20J select ARCH_FAMILY_SAMD20J
---help--- ---help---
Flash 32KB SRAM 4KB Flash 32KB SRAM 4KB
config ARCH_CHIP_SAMD20J16 config ARCH_CHIP_SAMD20J16
bool "SAMD20J14" bool "SAMD20J16"
select ARCH_FAMILY_SAMD20 select ARCH_FAMILY_SAMD20
select ARCH_FAMILY_SAMD20J select ARCH_FAMILY_SAMD20J
---help--- ---help---
Flash 64KB SRAM 8KB Flash 64KB SRAM 8KB
config ARCH_CHIP_SAMD20J17 config ARCH_CHIP_SAMD20J17
bool "SAMD20J14" bool "SAMD20J17"
select ARCH_FAMILY_SAMD20 select ARCH_FAMILY_SAMD20
select ARCH_FAMILY_SAMD20J select ARCH_FAMILY_SAMD20J
---help--- ---help---
Flash 128KB SRAM 16KB Flash 128KB SRAM 16KB
config ARCH_CHIP_SAMD20J18 config ARCH_CHIP_SAMD20J18
bool "SAMD20J14" bool "SAMD20J18"
select ARCH_FAMILY_SAMD20 select ARCH_FAMILY_SAMD20
select ARCH_FAMILY_SAMD20J select ARCH_FAMILY_SAMD20J
---help--- ---help---
@@ -139,6 +139,22 @@ config ARCH_FAMILY_SAMD20J
select SAMD_HAVE_TC6 select SAMD_HAVE_TC6
select SAMD_HAVE_TC7 select SAMD_HAVE_TC7
config SAMD_HAVE_SERCOM4
bool
default n
config SAMD_HAVE_SERCOM5
bool
default n
config SAMD_HAVE_TC6
bool
default n
config SAMD_HAVE_TC7
bool
default n
menu "SAMD Peripheral Support" menu "SAMD Peripheral Support"
config SAMD_WDT config SAMD_WDT
@@ -237,18 +253,18 @@ endmenu
choice choice
prompt "SERCOM0 mode" prompt "SERCOM0 mode"
default SAM_SERCOM0_UART default SAMD_SERCOM0_ISUART
depends on SAMD_SERCOM0 depends on SAMD_SERCOM0
config SAM_SERCOM0_I2C config SAMD_SERCOM0_ISI2C
bool "I2C" bool "I2C"
select I2C select I2C
config SAM_SERCOM0_SPI config SAMD_SERCOM0_ISSPI
bool "SPI" bool "SPI"
select SPI select SPI
config SAM_SERCOM0_UART config SAMD_SERCOM0_ISUART
bool "UART" bool "UART"
select ARCH_HAVE_UART0 select ARCH_HAVE_UART0
@@ -256,18 +272,18 @@ endchoice
choice choice
prompt "SERCOM1 mode" prompt "SERCOM1 mode"
default SAM_SERCOM1_UART default SAMD_SERCOM1_ISUART
depends on SAMD_SERCOM1 depends on SAMD_SERCOM1
config SAM_SERCOM1_I2C config SAMD_SERCOM1_ISI2C
bool "I2C" bool "I2C"
select I2C select I2C
config SAM_SERCOM1_SPI config SAMD_SERCOM1_ISSPI
bool "SPI" bool "SPI"
select SPI select SPI
config SAM_SERCOM1_UART config SAMD_SERCOM1_ISUART
bool "UART" bool "UART"
select ARCH_HAVE_UART1 select ARCH_HAVE_UART1
@@ -275,18 +291,18 @@ endchoice
choice choice
prompt "SERCOM2 mode" prompt "SERCOM2 mode"
default SAM_SERCOM2_UART default SAMD_SERCOM2_ISUART
depends on SAMD_SERCOM2 depends on SAMD_SERCOM2
config SAM_SERCOM2_I2C config SAMD_SERCOM2_ISI2C
bool "I2C" bool "I2C"
select I2C select I2C
config SAM_SERCOM2_SPI config SAMD_SERCOM2_ISSPI
bool "SPI" bool "SPI"
select SPI select SPI
config SAM_SERCOM2_UART config SAMD_SERCOM2_ISUART
bool "UART" bool "UART"
select ARCH_HAVE_UART2 select ARCH_HAVE_UART2
@@ -294,18 +310,18 @@ endchoice
choice choice
prompt "SERCOM3 mode" prompt "SERCOM3 mode"
default SAM_SERCOM3_UART default SAMD_SERCOM3_ISUART
depends on SAMD_SERCOM3 depends on SAMD_SERCOM3
config SAM_SERCOM3_I2C config SAMD_SERCOM3_ISI2C
bool "I2C" bool "I2C"
select I2C select I2C
config SAM_SERCOM3_SPI config SAMD_SERCOM3_ISSPI
bool "SPI" bool "SPI"
select SPI select SPI
config SAM_SERCOM3_UART config SAMD_SERCOM3_ISUART
bool "UART" bool "UART"
select ARCH_HAVE_UART3 select ARCH_HAVE_UART3
@@ -313,18 +329,18 @@ endchoice
choice choice
prompt "SERCOM4 mode" prompt "SERCOM4 mode"
default SAM_SERCOM4_UART default SAMD_SERCOM4_ISUART
depends on SAMD_SERCOM4 depends on SAMD_SERCOM4
config SAM_SERCOM4_I2C config SAMD_SERCOM4_ISI2C
bool "I2C" bool "I2C"
select I2C select I2C
config SAM_SERCOM4_SPI config SAMD_SERCOM4_ISSPI
bool "SPI" bool "SPI"
select SPI select SPI
config SAM_SERCOM4_UART config SAMD_SERCOM4_ISUART
bool "UART" bool "UART"
select ARCH_HAVE_UART4 select ARCH_HAVE_UART4
@@ -332,18 +348,18 @@ endchoice
choice choice
prompt "SERCOM5 mode" prompt "SERCOM5 mode"
default SAM_SERCOM5_UART default SAMD_SERCOM5_ISUART
depends on SAMD_SERCOM5 depends on SAMD_SERCOM5
config SAM_SERCOM5_I2C config SAMD_SERCOM5_ISI2C
bool "I2C" bool "I2C"
select I2C select I2C
config SAM_SERCOM5_SPI config SAMD_SERCOM5_ISSPI
bool "SPI" bool "SPI"
select SPI select SPI
config SAM_SERCOM5_UART config SAMD_SERCOM5_ISUART
bool "UART" bool "UART"
select ARCH_HAVE_UART5 select ARCH_HAVE_UART5
+13
View File
@@ -552,6 +552,15 @@ config ARCH_BOARD_SAMA5D3X_EK
---help--- ---help---
The port of NuttX to the Atmel SAMA5D3x-EK development board (where x=1,3,4, or 5). The port of NuttX to the Atmel SAMA5D3x-EK development board (where x=1,3,4, or 5).
config ARCH_BOARD_SAMD20_XPLAINED
bool "Atmel SAMD20-Xplained Pro development board"
depends on ARCH_CHIP_SAMD20J18
select ARCH_HAVE_LEDS
select ARCH_HAVE_BUTTONS
select ARCH_HAVE_IRQBUTTONS
---help---
The port of NuttX to the Atmel SAMD20-Xplained Pro development board
config ARCH_BOARD_SAM3UEK config ARCH_BOARD_SAM3UEK
bool "Atmel SAM3U-EK development board" bool "Atmel SAM3U-EK development board"
depends on ARCH_CHIP_ATSAM3U4E depends on ARCH_CHIP_ATSAM3U4E
@@ -935,6 +944,7 @@ config ARCH_BOARD
default "qemu-i486" if ARCH_BOARD_QEMU_I486 default "qemu-i486" if ARCH_BOARD_QEMU_I486
default "rgmp" if ARCH_BOARD_RGMP default "rgmp" if ARCH_BOARD_RGMP
default "sama5d3x-ek" if ARCH_BOARD_SAMA5D3X_EK default "sama5d3x-ek" if ARCH_BOARD_SAMA5D3X_EK
default "samd20-xplained" if ARCH_BOARD_SAMD20_XPLAINED
default "sam3u-ek" if ARCH_BOARD_SAM3UEK default "sam3u-ek" if ARCH_BOARD_SAM3UEK
default "sam4l-xplained" if ARCH_BOARD_SAM4L_XPLAINED default "sam4l-xplained" if ARCH_BOARD_SAM4L_XPLAINED
default "sam4s-xplained" if ARCH_BOARD_SAM4S_XPLAINED default "sam4s-xplained" if ARCH_BOARD_SAM4S_XPLAINED
@@ -1185,6 +1195,9 @@ endif
if ARCH_BOARD_SAMA5D3X_EK if ARCH_BOARD_SAMA5D3X_EK
source "configs/sama5d3x-ek/Kconfig" source "configs/sama5d3x-ek/Kconfig"
endif endif
if ARCH_BOARD_SAMD20_XPLAINED
source "configs/samd20-xplained/Kconfig"
endif
if ARCH_BOARD_SAM3UEK if ARCH_BOARD_SAM3UEK
source "configs/sam3u-ek/Kconfig" source "configs/sam3u-ek/Kconfig"
endif endif
+3
View File
@@ -482,6 +482,9 @@ configs/sama5d3x-ek
There is also the SAMA5D3FAE-EK bundle includes everything: The base There is also the SAMA5D3FAE-EK bundle includes everything: The base
board, all four CPU modules, and the LCD. board, all four CPU modules, and the LCD.
configs/samd20-xplained
The port of NuttX to the Atmel SAMD20-Xplained development board.
configs/sam3u-ek configs/sam3u-ek
The port of NuttX to the Atmel SAM3U-EK development board. The port of NuttX to the Atmel SAM3U-EK development board.
+9 -9
View File
@@ -527,12 +527,12 @@ SAMD20 Xplained Pro-specific Configuration Options
Some subsystems can be configured to operate in different ways. The drivers Some subsystems can be configured to operate in different ways. The drivers
need to know how to configure the subsystem. need to know how to configure the subsystem.
CONFIG_SAM_SERCOM0_I2C, CONFIG_SAM_SERCOM0_SPI, or CONFIG_SAM_SERCOM0_UART CONFIG_SAMD_SERCOM0_ISI2C, CONFIG_SAMD_SERCOM0_ISSPI, or CONFIG_SAMD_SERCOM0_ISUART
CONFIG_SAM_SERCOM1_I2C, CONFIG_SAM_SERCOM1_SPI, or CONFIG_SAM_SERCOM1_UART CONFIG_SAMD_SERCOM1_ISI2C, CONFIG_SAMD_SERCOM1_ISSPI, or CONFIG_SAMD_SERCOM1_ISUART
CONFIG_SAM_SERCOM2_I2C, CONFIG_SAM_SERCOM2_SPI, or CONFIG_SAM_SERCOM2_UART CONFIG_SAMD_SERCOM2_ISI2C, CONFIG_SAMD_SERCOM2_ISSPI, or CONFIG_SAMD_SERCOM2_ISUART
CONFIG_SAM_SERCOM3_I2C, CONFIG_SAM_SERCOM3_SPI, or CONFIG_SAM_SERCOM3_UART CONFIG_SAMD_SERCOM3_ISI2C, CONFIG_SAMD_SERCOM3_ISSPI, or CONFIG_SAMD_SERCOM3_ISUART
CONFIG_SAM_SERCOM4_I2C, CONFIG_SAM_SERCOM4_SPI, or CONFIG_SAM_SERCOM4_UART CONFIG_SAMD_SERCOM4_ISI2C, CONFIG_SAMD_SERCOM4_ISSPI, or CONFIG_SAMD_SERCOM4_ISUART
CONFIG_SAM_SERCOM5_I2C, CONFIG_SAM_SERCOM5_SPI, or CONFIG_SAM_SERCOM5_UART CONFIG_SAMD_SERCOM5_ISI2C, CONFIG_SAMD_SERCOM5_ISSPI, or CONFIG_SAMD_SERCOM5_ISUART
SAT91SAMD20 specific device driver settings SAT91SAMD20 specific device driver settings
@@ -597,11 +597,11 @@ Configurations
SERCOM4: SERCOM4:
System Type -> SAMD Peripheral Support System Type -> SAMD Peripheral Support
CONFIG_SAM_SERCOM3=y CONFIG_SAMD_SERCOM3=y
CONFIG_SAM_SERCOM4=n CONFIG_SAMD_SERCOM4=n
Device Drivers -> Serial Driver Support -> Serial Console Device Drivers -> Serial Driver Support -> Serial Console
CONFIG_SERCOM3_SERIAL_CONSOLE=y CONFIG_UART3_SERIAL_CONSOLE=y
Device Drivers -> Serial Driver Support -> SERCOM4 Configuration Device Drivers -> Serial Driver Support -> SERCOM4 Configuration
CONFIG_UART3_2STOP=0 CONFIG_UART3_2STOP=0
File diff suppressed because it is too large Load Diff