From 41cbdf227289ad349d03657f922777b18b242995 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Fri, 28 Mar 2014 08:33:01 -0600 Subject: Add support for the SAMA5D36 --- nuttx/ChangeLog | 4 +- nuttx/arch/arm/include/sama5/chip.h | 118 +++++++++++++++++++----------------- nuttx/arch/arm/src/sama5/Kconfig | 14 +++++ 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 * * 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 -/************************************************************************************ +/**************************************************************************************************** * 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" -- cgit v1.2.3