summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-03-28 08:33:01 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-03-28 08:33:01 -0600
commit41cbdf227289ad349d03657f922777b18b242995 (patch)
tree5e5b070e2b949046e6a12d68a29c104089035659
parentaa673c8dec5f832bad96a337845f95552a8eba10 (diff)
downloadnuttx-41cbdf227289ad349d03657f922777b18b242995.tar.gz
nuttx-41cbdf227289ad349d03657f922777b18b242995.tar.bz2
nuttx-41cbdf227289ad349d03657f922777b18b242995.zip
Add support for the SAMA5D36
-rw-r--r--nuttx/ChangeLog4
-rw-r--r--nuttx/arch/arm/include/sama5/chip.h118
-rw-r--r--nuttx/arch/arm/src/sama5/Kconfig14
3 files changed, 79 insertions, 57 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog
index abc7efc2c..3c529348d 100644
--- a/nuttx/ChangeLog
+++ b/nuttx/ChangeLog
@@ -7046,7 +7046,7 @@
startup (2014-3-25).
* tools/astyle.sh: A code formatting tool from Lorenz Meier. This
tool should do a better job than the old tools/indent.sh tool
- (2014-3-26).
+ (2014-3-26).
* arch/arm/src/sam_hsmci.c and sam_spi.c: Add support to invalidate
cached memory if the CMCC is enabled (not yet tested, 2014-3-26).
* arch/arm/src/sam_spi.c: Add logic to handle SPI word widths > 8
@@ -7056,4 +7056,6 @@
(2014-3-26).
* drivers/lcd/Kconfig: Add missing configuration for the MIO283QT-9A
LCD. Reported by Toby Duckworth (2014-3-27).
+ * arch/arm/include/sama5/chip.h and arch/arm/src/sama5/Kconfig: Add
+ support for the SAMA5D36 (2014-3-28).
diff --git a/nuttx/arch/arm/include/sama5/chip.h b/nuttx/arch/arm/include/sama5/chip.h
index f4e98cdb9..66d5fbf17 100644
--- a/nuttx/arch/arm/include/sama5/chip.h
+++ b/nuttx/arch/arm/include/sama5/chip.h
@@ -1,7 +1,7 @@
-/************************************************************************************
- * arch/arm/include/samad5/chip.h
+/****************************************************************************************************
+ * arch/arm/include/sama5/chip.h
*
- * Copyright (C) 2013 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2013-2014 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@@ -31,64 +31,64 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
- ************************************************************************************/
+ ****************************************************************************************************/
#ifndef __ARCH_ARM_INCLUDE_SAMA5_CHIP_H
#define __ARCH_ARM_INCLUDE_SAMA5_CHIP_H
-/************************************************************************************
+/****************************************************************************************************
* Included Files
- ************************************************************************************/
+ ****************************************************************************************************/
#include <nuttx/config.h>
-/************************************************************************************
+/****************************************************************************************************
* Pre-processor Definitions
- ************************************************************************************/
+ ****************************************************************************************************/
/* SAMA5D3 Family
*
- * ATSAMA5D31 ATSAMA5D33 ATSAMA5D34 ATSAMA5D35
- * ------------------------- ------------- ------------- ------------- -------------
- * Pin Count 324 324 324 324
- * Max. Operating Frequency 536 536 536 536
- * CPU Cortex-A5 Cortex-A5 Cortex-A5 Cortex-A5
- * Max I/O Pins 160 160 160 160
- * Ext Interrupts 160 160 160 160
- * USB Transceiver 3 3 3 3
- * USB Speed Hi-Speed Hi-Speed Hi-Speed Hi-Speed
- * USB Interface Host, Device Host, Device Host, Device Host, Device
- * SPI 6 6 6 6
- * TWI (I2C) 3 3 3 3
- * UART 7 5 5 7
- * CAN - - 2 2
- * LIN 4 4 4 4
- * SSC 2 2 2 2
- * Ethernet 1 1 1 2
- * SD / eMMC 3 2 3 3
- * Graphic LCD Yes Yes Yes -
- * Camera Interface Yes Yes Yes Yes
- * ADC channels 12 12 12 12
- * ADC Resolution (bits) 12 12 12 12
- * ADC Speed (ksps) 440 440 440 440
- * Resistive Touch Screen Yes Yes Yes Yes
- * Crypto Engine AES/DES/ AES/DES/ AES/DES/ AES/DES/
- * SHA/TRNG SHA/TRNG SHA/TRNG SHA/TRNG
- * SRAM (Kbytes) 128 128 128 128
- * External Bus Interface 1 1 1 1
- * DRAM Memory DDR2/LPDDR, DDR2/LPDDR, DDR2/LPDDR, DDR2/LPDDR,
- * SDRAM/LPSDR SDRAM/LPSDR DDR2/LPDDR, DDR2/LPDDR,
- * NAND Interface Yes Yes Yes Yes
- * Temp. Range (deg C) -40 to 85 -40 to 85 -40 to 85 -40 to 85
- * I/O Supply Class 1.8/3.3 1.8/3.3 1.8/3.3 1.8/3.3
- * Operating Voltage (Vcc) 1.08 to 1.32 1.08 to 1.32 1.08 to 1.32 1.08 to 1.32
- * FPU Yes Yes Yes Yes
- * MPU / MMU No/Yes No/Yes No/Yes No/Yes
- * Timers 5 5 5 6
- * Output Compare channels 6 6 6 6
- * Input Capture Channels 6 6 6 6
- * PWM Channels 4 4 4 4
- * 32kHz RTC Yes Yes Yes Yes
- * Packages LFBGA324_A LFBGA324_A LFBGA324_A LFBGA324_A
+ * ATSAMA5D31 ATSAMA5D33 ATSAMA5D34 ATSAMA5D35 ATSAMA5D35
+ * ------------------------- ------------- ------------- ------------- ------------- -------------
+ * Pin Count 324 324 324 324 324
+ * Max. Operating Frequency 536 MHz 536 MHz 536 MHz 536 MHz 536 MHz
+ * CPU Cortex-A5 Cortex-A5 Cortex-A5 Cortex-A5 Cortex-A5
+ * Max I/O Pins 160 160 160 160 160
+ * Ext Interrupts 160 160 160 160 160
+ * USB Transceiver 3 3 3 3 3
+ * USB Speed Hi-Speed Hi-Speed Hi-Speed Hi-Speed Hi-Speed
+ * USB Interface Host, Device Host, Device Host, Device Host, Device Host, Device
+ * SPI 6 6 6 6 6
+ * TWI (I2C) 3 3 3 3 3
+ * UART 7 5 5 7 7
+ * CAN - - 2 2 2
+ * LIN 4 4 4 4 4
+ * SSC 2 2 2 2 2
+ * Ethernet 1 1 1 2 2
+ * SD / eMMC 3 2 3 2 2
+ * Graphic LCD Yes Yes Yes - Yes
+ * Camera Interface Yes Yes Yes Yes Yes
+ * ADC channels 12 12 12 12 12
+ * ADC Resolution (bits) 12 12 12 12 12
+ * ADC Speed (ksps) 440 440 440 440 1000
+ * Resistive Touch Screen Yes Yes Yes Yes Yes
+ * Crypto Engine AES/DES/ AES/DES/ AES/DES/ AES/DES/ AES/DES/
+ * SHA/TRNG SHA/TRNG SHA/TRNG SHA/TRNG SHA/TRNG
+ * SRAM (Kbytes) 128 128 128 128 128
+ * External Bus Interface 1 1 1 1 1
+ * DRAM Memory DDR2/LPDDR, DDR2/LPDDR, DDR2/LPDDR, DDR2/LPDDR, DDR2/LPDDR,
+ * SDRAM/LPSDR SDRAM/LPSDR DDR2/LPDDR, DDR2/LPDDR, DDR2/LPDDR,
+ * NAND Interface Yes Yes Yes Yes Yes
+ * Temp. Range (deg C) -40 to 85 -40 to 85 -40 to 85 -40 to 85 -40 to 105
+ * I/O Supply Class 1.8/3.3 1.8/3.3 1.8/3.3 1.8/3.3 1.8/3.3
+ * Operating Voltage (Vcc) 1.08 to 1.32 1.08 to 1.32 1.08 to 1.32 1.08 to 1.322 1.08 to 1.32
+ * FPU Yes Yes Yes Yes Yes
+ * MPU / MMU No/Yes No/Yes No/Yes No/Yes No/Yes
+ * Timers 5 5 5 6 6
+ * Output Compare channels 6 6 6 6 6
+ * Input Capture Channels 6 6 6 6 6
+ * PWM Channels 4 4 4 4 4
+ * 32kHz RTC Yes Yes Yes Yes Yes
+ * Packages LFBGA324_A LFBGA324_A LFBGA324_A LFBGA324_A LFBGA324_A
*/
#if defined(CONFIG_ARCH_CHIP_ATSAMA5D31)
@@ -115,20 +115,26 @@
# define SAM_ISRAM1_SIZE (64*1024)
# define SAM_NDMAC 2 /* (2) DMA controllers */
# define SAM_NDMACHAN 8 /* (8) DMA channels per DMA controller */
+#elif defined(CONFIG_ARCH_CHIP_ATSAMA5D36)
+# define ATSAMA5D3 1 /* SAMA5D3 family */
+# define SAM_ISRAM0_SIZE (64*1024) /* 128KB of SRAM in two banks */
+# define SAM_ISRAM1_SIZE (64*1024)
+# define SAM_NDMAC 2 /* (2) DMA controllers */
+# define SAM_NDMACHAN 8 /* (8) DMA channels per DMA controller */
#else
# error Unrecognized SAMAD5 chip
#endif
-/************************************************************************************
+/****************************************************************************************************
* Public Types
- ************************************************************************************/
+ ****************************************************************************************************/
-/************************************************************************************
+/****************************************************************************************************
* Public Data
- ************************************************************************************/
+ ****************************************************************************************************/
-/************************************************************************************
+/****************************************************************************************************
* Public Functions
- ************************************************************************************/
+ ****************************************************************************************************/
#endif /* __ARCH_ARM_INCLUDE_SAMA5_CHIP_H */
diff --git a/nuttx/arch/arm/src/sama5/Kconfig b/nuttx/arch/arm/src/sama5/Kconfig
index c6c1d1640..553090cff 100644
--- a/nuttx/arch/arm/src/sama5/Kconfig
+++ b/nuttx/arch/arm/src/sama5/Kconfig
@@ -89,6 +89,20 @@ config ARCH_CHIP_ATSAMA5D35
select SAMA5_HAVE_TC1
select ARCH_NAND_HWECC
+config ARCH_CHIP_ATSAMA5D36
+ bool "Atmel ATSAMA5D356"
+ select ARCH_CHIP_SAMA5D3
+ select SAMA5_HAVE_EMAC
+ select SAMA5_HAVE_GMAC
+ select SAMA5_HAVE_HSMCI2
+ select SAMA5_HAVE_LCDC
+ select SAMA5_HAVE_UART0
+ select SAMA5_HAVE_UART1
+ select SAMA5_HAVE_CAN0
+ select SAMA5_HAVE_CAN1
+ select SAMA5_HAVE_TC1
+ select ARCH_NAND_HWECC
+
endchoice # Atmel AT91SAMA5 Chip Selection
menu "SAMA5 Peripheral Support"