diff --git a/configs/sam3u-ek/README.txt b/configs/sam3u-ek/README.txt index f4eff1f49ce..b178f06821f 100644 --- a/configs/sam3u-ek/README.txt +++ b/configs/sam3u-ek/README.txt @@ -640,14 +640,44 @@ Configurations CONFIG_DEBUG_VERBOSE=y : Enable verbose debug output CONFIG_DEBUG_INPUT=y : Enable debug output from input devices - STATUS: - 2013-6-28: The touchscreen is functional. - 2013-6-29: Hmmm... but there appear to be conditions when the - touchscreen driver locks up. Looks like some issue with - managing the interrupts. - 2013-6-30: Those lock-ups appear to be due to poorly placed - debug output statements. If you do not enable debug output, - the touchscreen is rock-solid. + 3. Enabling HSMCI support. The SAM3U-KE provides a an SD memory card + slot. Support for the SD slot can be enabled with the following + settings: + + System Type->ATSAM3/4 Peripheral Support + CONFIG_SAM34_HSMCI=y : Enable HSMCI support + CONFIG_SAM34_DMA=y : DMAC support is needed by HSMCI + + System Type + CONFIG_SAM34_GPIO_IRQ=y : PIO interrupts needed + CONFIG_SAM34_GPIOA_IRQ=y : Card detect pin is on PIOA + + Device Drivers -> MMC/SD Driver Support + CONFIG_MMCSD=y : Enable MMC/SD support + CONFIG_MMSCD_NSLOTS=1 : One slot per driver instance + CONFIG_MMCSD_HAVECARDDETECT=y : Supports card-detect PIOs + CONFIG_MMCSD_SDIO=y : SDIO-based MMC/SD support + CONFIG_SDIO_DMA=y : Use SDIO DMA + CONFIG_SDIO_BLOCKSETUP=y : Needs to know block sizes + + Library Routines + CONFIG_SCHED_WORKQUEUE=y : Driver needs work queue support + + Application Configuration -> NSH Library + CONFIG_NSH_ARCHINIT=y : NSH board-initialization + + STATUS: + 2013-6-28: The touchscreen is functional. + 2013-6-29: Hmmm... but there appear to be conditions when the + touchscreen driver locks up. Looks like some issue with + managing the interrupts. + 2013-6-30: Those lock-ups appear to be due to poorly placed + debug output statements. If you do not enable debug output, + the touchscreen is rock-solid. + 2013-8-10: Added the comments above above enabling HSMCI memory + card support and verified that the configuration builds without + error. However, that configuration has not yet been tested (and + is may even be incomplete). nx: Configures to use examples/nx using the HX834x LCD hardware on diff --git a/configs/sam3u-ek/nsh/defconfig b/configs/sam3u-ek/nsh/defconfig index 289c3417b88..43b8295d9d5 100644 --- a/configs/sam3u-ek/nsh/defconfig +++ b/configs/sam3u-ek/nsh/defconfig @@ -73,10 +73,17 @@ CONFIG_ARCH="arm" # CONFIG_ARCH_CHIP_LPC31XX is not set # CONFIG_ARCH_CHIP_LPC43XX is not set # CONFIG_ARCH_CHIP_NUC1XX is not set +# CONFIG_ARCH_CHIP_SAMA5 is not set CONFIG_ARCH_CHIP_SAM34=y # CONFIG_ARCH_CHIP_STM32 is not set # CONFIG_ARCH_CHIP_STR71X is not set +# CONFIG_ARCH_ARM7TDMI is not set +# CONFIG_ARCH_ARM926EJS is not set +# CONFIG_ARCH_ARM920T is not set +# CONFIG_ARCH_CORTEXM0 is not set CONFIG_ARCH_CORTEXM3=y +# CONFIG_ARCH_CORTEXM4 is not set +# CONFIG_ARCH_CORTEXA5 is not set CONFIG_ARCH_FAMILY="armv7-m" CONFIG_ARCH_CHIP="sam34" # CONFIG_ARMV7M_USEBASEPRI is not set @@ -93,6 +100,10 @@ CONFIG_ARMV7M_TOOLCHAIN_BUILDROOT=y # CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL is not set CONFIG_ARMV7M_OABI_TOOLCHAIN=y # CONFIG_GPIO_IRQ is not set +CONFIG_ARCH_HAVE_EXTNAND=y +CONFIG_ARCH_HAVE_EXTNOR=y +CONFIG_ARCH_HAVE_EXTSRAM0=y +CONFIG_ARCH_HAVE_EXTSRAM1=y # # AT91SAM3/4 Configuration Options @@ -162,26 +173,18 @@ CONFIG_SAM34_UART0=y # CONFIG_SAM34_WDT is not set # CONFIG_SAM34_HSMCI is not set -# -# AT91SAM3/4 USART Configuration -# - -# -# AT91SAM3/4 GPIO Interrupt Configuration -# - # # External Memory Configuration # -CONFIG_ARCH_HAVE_EXTNAND=y -CONFIG_ARCH_HAVE_EXTNOR=y -CONFIG_ARCH_HAVE_EXTSRAM0=y -CONFIG_ARCH_HAVE_EXTSRAM1=y # CONFIG_SAM34_EXTNAND is not set # CONFIG_SAM34_EXTNOR is not set # CONFIG_SAM34_EXTSRAM0 is not set # CONFIG_SAM34_EXTSRAM1 is not set +# +# AT91SAM3/4 GPIO Interrupt Configuration +# + # # Architecture Options # @@ -204,8 +207,6 @@ CONFIG_ARCH_HAVE_RAMVECTORS=y # CONFIG_BOARD_LOOPSPERMSEC=8720 # CONFIG_ARCH_CALIBRATION is not set -CONFIG_RAM_START=0x20000000 -CONFIG_RAM_SIZE=32768 CONFIG_ARCH_HAVE_INTERRUPTSTACK=y CONFIG_ARCH_INTERRUPTSTACK=0 @@ -218,6 +219,12 @@ CONFIG_BOOT_RUNFROMFLASH=y # CONFIG_BOOT_RUNFROMSDRAM is not set # CONFIG_BOOT_COPYTORAM is not set +# +# Boot Memory Configuration +# +CONFIG_RAM_START=0x20000000 +CONFIG_RAM_SIZE=32768 + # # Board Selection # @@ -332,6 +339,10 @@ CONFIG_SERIAL=y # CONFIG_DEV_LOWCONSOLE is not set # CONFIG_16550_UART is not set CONFIG_ARCH_HAVE_UART0=y + +# +# USART Configuration +# CONFIG_MCU_SERIAL=y CONFIG_STANDARD_SERIAL=y CONFIG_UART0_SERIAL_CONSOLE=y @@ -577,6 +588,7 @@ CONFIG_NSH_BUILTIN_APPS=y # CONFIG_NSH_DISABLE_CAT is not set # CONFIG_NSH_DISABLE_CD is not set # CONFIG_NSH_DISABLE_CP is not set +# CONFIG_NSH_DISABLE_CMP is not set # CONFIG_NSH_DISABLE_DD is not set # CONFIG_NSH_DISABLE_ECHO is not set # CONFIG_NSH_DISABLE_EXEC is not set @@ -693,3 +705,8 @@ CONFIG_READLINE_ECHO=y # # USB Monitor # + +# +# Zmodem Commands +# +# CONFIG_SYSTEM_ZMODEM is not set diff --git a/configs/sam3u-ek/src/up_mmcsd.c b/configs/sam3u-ek/src/up_mmcsd.c index 0c1c5a9ad53..c0362152292 100644 --- a/configs/sam3u-ek/src/up_mmcsd.c +++ b/configs/sam3u-ek/src/up_mmcsd.c @@ -55,12 +55,21 @@ * when the interrupt indicating that a card has been inserted or removed is received, * this function must call sio_mediachange() to handle that event. See * arch/arm/src/sam34/sam_hsmci.h for more information. + * + * Also see the SAMA5D3x-EK implementation of this same logic. The card detect + * interrupt handling should be a drop-in. */ #ifdef GPIO_MCI_CD # warning "Card detect interrupt handling needed" #endif +/* Usually defined in NuttX header files */ + +#ifndef OK +# define OK 0 +#endif + /************************************************************************************ * Private Functions ************************************************************************************/ diff --git a/configs/sama5d3x-ek/README.txt b/configs/sama5d3x-ek/README.txt index 2d90c2c4845..0bb288ccae3 100644 --- a/configs/sama5d3x-ek/README.txt +++ b/configs/sama5d3x-ek/README.txt @@ -1027,10 +1027,11 @@ Configurations CONFIG_SAMA5_DMAC0=y : DMAC0 is needed by HSMCI0 CONFIG_SAMA5_DMAC1=y : DMAC1 is needed by HSMCI1 + System Type CONFIG_SAMA5_PIO_IRQ=y : PIO interrupts needed CONFIG_SAMA5_PIOD_IRQ=y : Card detect pins are on PIOD - Device Drivers -> + Device Drivers -> MMC/SD Driver Support CONFIG_MMCSD=y : Enable MMC/SD support CONFIG_MMSCD_NSLOTS=1 : One slot per driver instance CONFIG_MMCSD_HAVECARDDETECT=y : Supports card-detect PIOs @@ -1074,9 +1075,12 @@ Configurations where the memory test fails! No idea why. 2013-8-5: The AT25 configuration has been verified to be functional. - 2013-9-9: The AT25 configuration has been verified with DMA + 2013-8-9: The AT25 configuration has been verified with DMA enabled. + 2013-8-10: Basic HSCMI1 functionality (with DMA) has been verified. + Most testing is needed to assure that this is a stable solution. + ostest: This configuration directory, performs a simple OS test using examples/ostest. @@ -1133,7 +1137,7 @@ Configurations configuration to start the program in NOR FLASH (see just above). See "Creating and Using NORBOOT" above. - 2013-7-31: The OS test configuration is basically functional, but + 2013-7-31: The OS test configuration is basically functional, but takes a very long time in the round-robin scheduler test computing prime numbers. This test is supposed to be slow -- like several seconds -- but not many minutes. No idea why yet. The best guess