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
SAMD20 Cortex-M0+ chips. Initial check-in is incomplete; this is a
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>
| | |- 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>
| | |- 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/
| | | `- <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/
+2
View File
@@ -1109,6 +1109,8 @@ nuttx
| | `- README.txt
| |- sama5d3x-ek/
| | `- README.txt
| |- samd20-xplained/
| | `- README.txt
| |- sam3u-ek/
| | `- README.txt
| |- sam4l-xplained/
+52 -36
View File
@@ -18,28 +18,28 @@ config ARCH_CHIP_SAMD20E14
Flash 16KB SRAM 2KB
config ARCH_CHIP_SAMD20E15
bool "SAMD20E14"
bool "SAMD20E15"
select ARCH_FAMILY_SAMD20
select ARCH_FAMILY_SAMD20E
---help---
Flash 32KB SRAM 4KB
config ARCH_CHIP_SAMD20E16
bool "SAMD20E14"
bool "SAMD20E16"
select ARCH_FAMILY_SAMD20
select ARCH_FAMILY_SAMD20E
---help---
Flash 64KB SRAM 8KB
config ARCH_CHIP_SAMD20E17
bool "SAMD20E14"
bool "SAMD20E17"
select ARCH_FAMILY_SAMD20
select ARCH_FAMILY_SAMD20E
---help---
Flash 128KB SRAM 16KB
config ARCH_CHIP_SAMD20E18
bool "SAMD20E14"
bool "SAMD20E18"
select ARCH_FAMILY_SAMD20
select ARCH_FAMILY_SAMD20E
---help---
@@ -53,28 +53,28 @@ config ARCH_CHIP_SAMD20G14
Flash 16KB SRAM 2KB
config ARCH_CHIP_SAMD20G15
bool "SAMD20G14"
bool "SAMD20G15"
select ARCH_FAMILY_SAMD20
select ARCH_FAMILY_SAMD20G
---help---
Flash 32KB SRAM 4KB
config ARCH_CHIP_SAMD20G16
bool "SAMD20G14"
bool "SAMD20G16"
select ARCH_FAMILY_SAMD20
select ARCH_FAMILY_SAMD20G
---help---
Flash 64KB SRAM 8KB
config ARCH_CHIP_SAMD20G17
bool "SAMD20G14"
bool "SAMD20G17"
select ARCH_FAMILY_SAMD20
select ARCH_FAMILY_SAMD20G
---help---
Flash 128KB SRAM 16KB
config ARCH_CHIP_SAMD20G18
bool "SAMD20G14"
bool "SAMD20G18"
select ARCH_FAMILY_SAMD20
select ARCH_FAMILY_SAMD20G
---help---
@@ -88,28 +88,28 @@ config ARCH_CHIP_SAMD20J14
Flash 16KB SRAM 2KB
config ARCH_CHIP_SAMD20J15
bool "SAMD20J14"
bool "SAMD20J15"
select ARCH_FAMILY_SAMD20
select ARCH_FAMILY_SAMD20J
---help---
Flash 32KB SRAM 4KB
config ARCH_CHIP_SAMD20J16
bool "SAMD20J14"
bool "SAMD20J16"
select ARCH_FAMILY_SAMD20
select ARCH_FAMILY_SAMD20J
---help---
Flash 64KB SRAM 8KB
config ARCH_CHIP_SAMD20J17
bool "SAMD20J14"
bool "SAMD20J17"
select ARCH_FAMILY_SAMD20
select ARCH_FAMILY_SAMD20J
---help---
Flash 128KB SRAM 16KB
config ARCH_CHIP_SAMD20J18
bool "SAMD20J14"
bool "SAMD20J18"
select ARCH_FAMILY_SAMD20
select ARCH_FAMILY_SAMD20J
---help---
@@ -139,6 +139,22 @@ config ARCH_FAMILY_SAMD20J
select SAMD_HAVE_TC6
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"
config SAMD_WDT
@@ -237,18 +253,18 @@ endmenu
choice
prompt "SERCOM0 mode"
default SAM_SERCOM0_UART
default SAMD_SERCOM0_ISUART
depends on SAMD_SERCOM0
config SAM_SERCOM0_I2C
config SAMD_SERCOM0_ISI2C
bool "I2C"
select I2C
config SAM_SERCOM0_SPI
config SAMD_SERCOM0_ISSPI
bool "SPI"
select SPI
config SAM_SERCOM0_UART
config SAMD_SERCOM0_ISUART
bool "UART"
select ARCH_HAVE_UART0
@@ -256,18 +272,18 @@ endchoice
choice
prompt "SERCOM1 mode"
default SAM_SERCOM1_UART
default SAMD_SERCOM1_ISUART
depends on SAMD_SERCOM1
config SAM_SERCOM1_I2C
config SAMD_SERCOM1_ISI2C
bool "I2C"
select I2C
config SAM_SERCOM1_SPI
config SAMD_SERCOM1_ISSPI
bool "SPI"
select SPI
config SAM_SERCOM1_UART
config SAMD_SERCOM1_ISUART
bool "UART"
select ARCH_HAVE_UART1
@@ -275,18 +291,18 @@ endchoice
choice
prompt "SERCOM2 mode"
default SAM_SERCOM2_UART
default SAMD_SERCOM2_ISUART
depends on SAMD_SERCOM2
config SAM_SERCOM2_I2C
config SAMD_SERCOM2_ISI2C
bool "I2C"
select I2C
config SAM_SERCOM2_SPI
config SAMD_SERCOM2_ISSPI
bool "SPI"
select SPI
config SAM_SERCOM2_UART
config SAMD_SERCOM2_ISUART
bool "UART"
select ARCH_HAVE_UART2
@@ -294,18 +310,18 @@ endchoice
choice
prompt "SERCOM3 mode"
default SAM_SERCOM3_UART
default SAMD_SERCOM3_ISUART
depends on SAMD_SERCOM3
config SAM_SERCOM3_I2C
config SAMD_SERCOM3_ISI2C
bool "I2C"
select I2C
config SAM_SERCOM3_SPI
config SAMD_SERCOM3_ISSPI
bool "SPI"
select SPI
config SAM_SERCOM3_UART
config SAMD_SERCOM3_ISUART
bool "UART"
select ARCH_HAVE_UART3
@@ -313,18 +329,18 @@ endchoice
choice
prompt "SERCOM4 mode"
default SAM_SERCOM4_UART
default SAMD_SERCOM4_ISUART
depends on SAMD_SERCOM4
config SAM_SERCOM4_I2C
config SAMD_SERCOM4_ISI2C
bool "I2C"
select I2C
config SAM_SERCOM4_SPI
config SAMD_SERCOM4_ISSPI
bool "SPI"
select SPI
config SAM_SERCOM4_UART
config SAMD_SERCOM4_ISUART
bool "UART"
select ARCH_HAVE_UART4
@@ -332,18 +348,18 @@ endchoice
choice
prompt "SERCOM5 mode"
default SAM_SERCOM5_UART
default SAMD_SERCOM5_ISUART
depends on SAMD_SERCOM5
config SAM_SERCOM5_I2C
config SAMD_SERCOM5_ISI2C
bool "I2C"
select I2C
config SAM_SERCOM5_SPI
config SAMD_SERCOM5_ISSPI
bool "SPI"
select SPI
config SAM_SERCOM5_UART
config SAMD_SERCOM5_ISUART
bool "UART"
select ARCH_HAVE_UART5
+13
View File
@@ -552,6 +552,15 @@ config ARCH_BOARD_SAMA5D3X_EK
---help---
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
bool "Atmel SAM3U-EK development board"
depends on ARCH_CHIP_ATSAM3U4E
@@ -935,6 +944,7 @@ config ARCH_BOARD
default "qemu-i486" if ARCH_BOARD_QEMU_I486
default "rgmp" if ARCH_BOARD_RGMP
default "sama5d3x-ek" if ARCH_BOARD_SAMA5D3X_EK
default "samd20-xplained" if ARCH_BOARD_SAMD20_XPLAINED
default "sam3u-ek" if ARCH_BOARD_SAM3UEK
default "sam4l-xplained" if ARCH_BOARD_SAM4L_XPLAINED
default "sam4s-xplained" if ARCH_BOARD_SAM4S_XPLAINED
@@ -1185,6 +1195,9 @@ endif
if ARCH_BOARD_SAMA5D3X_EK
source "configs/sama5d3x-ek/Kconfig"
endif
if ARCH_BOARD_SAMD20_XPLAINED
source "configs/samd20-xplained/Kconfig"
endif
if ARCH_BOARD_SAM3UEK
source "configs/sam3u-ek/Kconfig"
endif
+3
View File
@@ -482,6 +482,9 @@ configs/sama5d3x-ek
There is also the SAMA5D3FAE-EK bundle includes everything: The base
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
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
need to know how to configure the subsystem.
CONFIG_SAM_SERCOM0_I2C, CONFIG_SAM_SERCOM0_SPI, or CONFIG_SAM_SERCOM0_UART
CONFIG_SAM_SERCOM1_I2C, CONFIG_SAM_SERCOM1_SPI, or CONFIG_SAM_SERCOM1_UART
CONFIG_SAM_SERCOM2_I2C, CONFIG_SAM_SERCOM2_SPI, or CONFIG_SAM_SERCOM2_UART
CONFIG_SAM_SERCOM3_I2C, CONFIG_SAM_SERCOM3_SPI, or CONFIG_SAM_SERCOM3_UART
CONFIG_SAM_SERCOM4_I2C, CONFIG_SAM_SERCOM4_SPI, or CONFIG_SAM_SERCOM4_UART
CONFIG_SAM_SERCOM5_I2C, CONFIG_SAM_SERCOM5_SPI, or CONFIG_SAM_SERCOM5_UART
CONFIG_SAMD_SERCOM0_ISI2C, CONFIG_SAMD_SERCOM0_ISSPI, or CONFIG_SAMD_SERCOM0_ISUART
CONFIG_SAMD_SERCOM1_ISI2C, CONFIG_SAMD_SERCOM1_ISSPI, or CONFIG_SAMD_SERCOM1_ISUART
CONFIG_SAMD_SERCOM2_ISI2C, CONFIG_SAMD_SERCOM2_ISSPI, or CONFIG_SAMD_SERCOM2_ISUART
CONFIG_SAMD_SERCOM3_ISI2C, CONFIG_SAMD_SERCOM3_ISSPI, or CONFIG_SAMD_SERCOM3_ISUART
CONFIG_SAMD_SERCOM4_ISI2C, CONFIG_SAMD_SERCOM4_ISSPI, or CONFIG_SAMD_SERCOM4_ISUART
CONFIG_SAMD_SERCOM5_ISI2C, CONFIG_SAMD_SERCOM5_ISSPI, or CONFIG_SAMD_SERCOM5_ISUART
SAT91SAMD20 specific device driver settings
@@ -597,11 +597,11 @@ Configurations
SERCOM4:
System Type -> SAMD Peripheral Support
CONFIG_SAM_SERCOM3=y
CONFIG_SAM_SERCOM4=n
CONFIG_SAMD_SERCOM3=y
CONFIG_SAMD_SERCOM4=n
Device Drivers -> Serial Driver Support -> Serial Console
CONFIG_SERCOM3_SERIAL_CONSOLE=y
CONFIG_UART3_SERIAL_CONSOLE=y
Device Drivers -> Serial Driver Support -> SERCOM4 Configuration
CONFIG_UART3_2STOP=0
File diff suppressed because it is too large Load Diff