This commit enables HSMCI functionality in the SAMV71-XULT. TX DMA is, unfortunately, currently disabled.

This commit is contained in:
Gregory Nutt 2015-03-15 12:17:39 -06:00
parent 0b4133c064
commit 81b8736779
2 changed files with 51 additions and 11 deletions

View File

@ -68,10 +68,20 @@ The BASIC nsh configuration is fully function (as desribed below under
is very low priority to me but might be important to you if you are need
very high performance SD card accesses.
3. HSMCI TX DMA is currently does not work.
3. HSMCI TX DMA is currently disabled for the SAMV7. There is some
issue with the TX DMA setup (HSMCI TX DMA the same driver works with
the SAMA5D4 which has a different DMA subsystem). This is a bug that
needs to be resolved.
4. There not yet any support for the following: QSPI, USB, EMAC, AT24, or
WM8904. So there is still plenty to be done.
DMA is enabled by these settings in the file arch/arm/src/samvy/sam_hsmci.c:
#undef HSCMI_NORXDMA /* Define to disable RX DMA */
#define HSCMI_NOTXDMA 1 /* Define to disable TX DMA */
4. There not yet any support for the following board features: QSPI, USB,
EMAC, AT24, or WM8904 nor for any non-board features). Most of these
drivers will port easily from either the SAM3/4 or from the SAMA5Dx.
So there is still plenty to be done.
Serial Console
==============
@ -599,7 +609,16 @@ Configuration sub-directories
CAREFUL!!! You can trash your MAC address using the I2C tool!
7. Performance-related Configuration settings:
7. Support for HSMCI is built-in by default. The SAMV71-XULT provides
one full-size SD memory card slot. Refer to the section entitled
"SD card" for configuration-related information.
See "Open Issues" above for issues related to HSMCI.
The auto-mounter is not enabled. See the section above entitled
"Auto-Mounter".
8. Performance-related Configuration settings:
CONFIG_ARMV7M_ICACHE=y : Instruction cache is enabled
CONFIG_ARMV7M_DCACHE=y : Data cache is enabled

View File

@ -136,6 +136,8 @@ CONFIG_ARMV7M_HAVE_DTCM=y
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y
# CONFIG_ARMV7M_TOOLCHAIN_RAISONANCE is not set
# CONFIG_ARMV7M_ITMSYSLOG is not set
CONFIG_SDIO_DMA=y
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
#
# SAMV7 Configuration Options
@ -156,7 +158,7 @@ CONFIG_ARCH_CHIP_SAMV71Q=y
CONFIG_SAMV7_HAVE_CAN1=y
CONFIG_SAMV7_HAVE_DAC1=y
CONFIG_SAMV7_HAVE_EBI=y
# CONFIG_SAMV7_HSMCI is not set
CONFIG_SAMV7_HSMCI=y
CONFIG_SAMV7_HAVE_HSMCI0=y
# CONFIG_SAMV7_HAVE_ISI8 is not set
CONFIG_SAMV7_HAVE_SDRAMC=y
@ -185,8 +187,8 @@ CONFIG_SAMV7_HAVE_USART2=y
# CONFIG_SAMV7_DAC1 is not set
# CONFIG_SAMV7_EBI is not set
# CONFIG_SAMV7_EMAC is not set
# CONFIG_SAMV7_XDMAC is not set
# CONFIG_SAMV7_HSMCI0 is not set
CONFIG_SAMV7_XDMAC=y
CONFIG_SAMV7_HSMCI0=y
# CONFIG_SAMV7_ISI is not set
# CONFIG_SAMV7_MLB is not set
# CONFIG_SAMV7_PWM0 is not set
@ -231,7 +233,7 @@ CONFIG_SAMV7_GPIO_IRQ=y
CONFIG_SAMV7_GPIOA_IRQ=y
CONFIG_SAMV7_GPIOB_IRQ=y
# CONFIG_SAMV7_GPIOC_IRQ is not set
# CONFIG_SAMV7_GPIOD_IRQ is not set
CONFIG_SAMV7_GPIOD_IRQ=y
# CONFIG_SAMV7_GPIOE_IRQ is not set
#
@ -239,12 +241,18 @@ CONFIG_SAMV7_GPIOB_IRQ=y
#
CONFIG_SAMV7_TWIHS0_FREQUENCY=100000
#
# HSMCI device driver options
#
# CONFIG_SAMV7_HSMCI_RDPROOF is not set
# CONFIG_SAMV7_HSMCI_WRPROOF is not set
#
# Architecture Options
#
# CONFIG_ARCH_NOINTC is not set
# CONFIG_ARCH_VECNOTIRQ is not set
# CONFIG_ARCH_DMA is not set
CONFIG_ARCH_DMA=y
CONFIG_ARCH_HAVE_IRQPRIO=y
# CONFIG_ARCH_L2CACHE is not set
# CONFIG_ARCH_HAVE_COHERENT_DCACHE is not set
@ -312,6 +320,7 @@ CONFIG_ARCH_BUTTONS=y
CONFIG_ARCH_HAVE_IRQBUTTONS=y
CONFIG_ARCH_IRQBUTTONS=y
CONFIG_NSH_MMCSDMINOR=0
CONFIG_NSH_MMCSDSLOTNO=0
#
# Board-Specific Options
@ -461,7 +470,19 @@ CONFIG_SPI_EXCHANGE=y
# CONFIG_BCH is not set
# CONFIG_INPUT is not set
# CONFIG_LCD is not set
# CONFIG_MMCSD is not set
CONFIG_MMCSD=y
CONFIG_MMCSD_NSLOTS=1
# CONFIG_MMCSD_READONLY is not set
CONFIG_MMCSD_MULTIBLOCK_DISABLE=y
# CONFIG_MMCSD_MMCSUPPORT is not set
CONFIG_MMCSD_HAVECARDDETECT=y
# CONFIG_MMCSD_SPI is not set
CONFIG_ARCH_HAVE_SDIO=y
# CONFIG_ARCH_HAVE_SDIOWAIT_WRCOMPLETE is not set
CONFIG_MMCSD_SDIO=y
# CONFIG_SDIO_PREFLIGHT is not set
# CONFIG_SDIO_MUXBUS is not set
CONFIG_SDIO_BLOCKSETUP=y
CONFIG_MTD=y
#
@ -876,7 +897,7 @@ CONFIG_NSH_FILEIOSIZE=512
#
CONFIG_NSH_CONSOLE=y
# CONFIG_NSH_ALTCONDEV is not set
# CONFIG_NSH_ARCHINIT is not set
CONFIG_NSH_ARCHINIT=y
#
# NxWidgets/NxWM