SAM3/4: Important bugfix. Values read from PIO input pins do not change unless clocking to the PIO block is enabled

This commit is contained in:
Gregory Nutt 2014-06-30 14:26:09 -06:00
parent 4999546ede
commit 4af35bdc95
2 changed files with 55 additions and 14 deletions

View File

@ -3330,15 +3330,21 @@ Configurations
will need to install a battery in the battery holder (J12) and close
the jumper, JP13.
8. Support for HSMCI0 and HSMCI1 is built-in by default. The SAMA4D4-EK
provides a two SD memory card slots: (1) a full size SD card slot
(J10), and (2) a microSD memory card slot (J11). The full size SD
card slot connects via HSMCI0; the microSD connects vi HSMCI1.
Support for both SD slots can be enabled with the settings provided
8. Support for HSMCI0 is built-in by default. The SAMA4D4-EK provides
two SD memory card slots: (1) a full size SD card slot (J10), and
(2) a microSD memory card slot (J11). The full size SD card slot
connects via HSMCI0; the microSD connects vi HSMCI1. Support for
the microSD slot could also be enabled with the settings provided
in the paragraph entitled "HSMCI Card Slots" above.
NOTE: For now I am boot off the microSD slot so, unless are booting
in a different manner, this HSMCI1 slot may not be useful to you.
in a different manner, this HSMCI1 slot may not be useful to you
anyway.
STATUS: There is an unresolved issue with HSMCI0 as of this writing.
No errors are reported so most the handshaking signals and command
transfers are working, but all data transfers return the value zero
(with or without DMA). This seems like some pin configuration issue.
9. The SAMA5D4-EK includes for an AT25 serial DataFlash. That support is
NOT enabled in this configuration. Support for that serial FLASH can
@ -3437,7 +3443,11 @@ To-Do List
2) HSCMI TX DMA support is currently commented out.
3) Some drivers may require some adjustments if you intend to run from SDRAM.
3) Currently HSMCI1 does not work correctly. No errors are reported so all of
the card handshakes must be working, but only zero values are read from the
card (with or without DMA). Sounds like a pin configuration issue.
4) Some drivers may require some adjustments if you intend to run from SDRAM.
That is because in this case macros like BOARD_MCK_FREQUENCY are not constants
but are instead function calls: The MCK clock frequency is not known in
advance but instead has to be calculated from the bootloader PLL configuration.

View File

@ -119,6 +119,8 @@ CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
# CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW is not set
# CONFIG_ARMV7A_TOOLCHAIN_GNU_OABI is not set
# CONFIG_ARMV7A_DECODEFIQ is not set
CONFIG_SDIO_DMA=y
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
#
# SAMA5 Configuration Options
@ -187,7 +189,7 @@ CONFIG_SAMA5_USART4=y
# CONFIG_SAMA5_TWI1 is not set
# CONFIG_SAMA5_TWI2 is not set
# CONFIG_SAMA5_TWI3 is not set
# CONFIG_SAMA5_HSMCI0 is not set
CONFIG_SAMA5_HSMCI0=y
# CONFIG_SAMA5_HSMCI1 is not set
# CONFIG_SAMA5_SBM is not set
# CONFIG_SAMA5_SFC is not set
@ -200,7 +202,7 @@ CONFIG_SAMA5_USART4=y
# CONFIG_SAMA5_PWM is not set
# CONFIG_SAMA5_ADC is not set
# CONFIG_SAMA5_XDMAC0 is not set
# CONFIG_SAMA5_XDMAC1 is not set
CONFIG_SAMA5_XDMAC1=y
# CONFIG_SAMA5_UHPHS is not set
# CONFIG_SAMA5_UDPHS is not set
# CONFIG_SAMA5_EMACB is not set
@ -214,7 +216,19 @@ CONFIG_SAMA5_TRNG=y
# CONFIG_SAMA5_FUSE is not set
# CONFIG_SAMA5_MPDDRC is not set
# CONFIG_SAMA5_VDEC is not set
# CONFIG_SAMA5_PIO_IRQ is not set
CONFIG_SAMA5_PIO_IRQ=y
# CONFIG_SAMA5_PIOA_IRQ is not set
# CONFIG_SAMA5_PIOB_IRQ is not set
# CONFIG_SAMA5_PIOC_IRQ is not set
# CONFIG_SAMA5_PIOD_IRQ is not set
CONFIG_SAMA5_PIOE_IRQ=y
#
# HSMCI device driver options
#
CONFIG_SAMA5_HSMCI0_XDMAC1=y
# CONFIG_SAMA5_HSMCI_RDPROOF is not set
# CONFIG_SAMA5_HSMCI_WRPROOF is not set
#
# External Memory Configuration
@ -238,7 +252,7 @@ CONFIG_SAMA5_ISRAM_HEAP=y
#
# 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_CUSTOM_STACK is not set
# CONFIG_ADDRENV is not set
@ -300,6 +314,7 @@ CONFIG_ARCH_HAVE_BUTTONS=y
# CONFIG_ARCH_BUTTONS is not set
CONFIG_ARCH_HAVE_IRQBUTTONS=y
CONFIG_NSH_MMCSDMINOR=0
CONFIG_NSH_MMCSDSLOTNO=0
#
# Board-Specific Options
@ -381,6 +396,7 @@ CONFIG_SIG_SIGUSR1=1
CONFIG_SIG_SIGUSR2=2
CONFIG_SIG_SIGALARM=3
CONFIG_SIG_SIGCONDTIMEDOUT=16
CONFIG_SIG_SIGWORK=17
#
# POSIX Message Queue Options
@ -424,7 +440,17 @@ CONFIG_RTC_DATETIME=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 is not set
# CONFIG_MMCSD_MMCSUPPORT is not set
CONFIG_MMCSD_HAVECARDDETECT=y
CONFIG_ARCH_HAVE_SDIO=y
CONFIG_MMCSD_SDIO=y
# CONFIG_SDIO_PREFLIGHT is not set
# CONFIG_SDIO_MUXBUS is not set
CONFIG_SDIO_BLOCKSETUP=y
# CONFIG_MTD is not set
# CONFIG_PIPES is not set
# CONFIG_PM is not set
@ -602,7 +628,12 @@ CONFIG_LIB_SENDFILE_BUFSIZE=512
#
# Non-standard Library Support
#
# CONFIG_SCHED_WORKQUEUE is not set
CONFIG_SCHED_WORKQUEUE=y
CONFIG_SCHED_HPWORK=y
CONFIG_SCHED_WORKPRIORITY=192
CONFIG_SCHED_WORKPERIOD=50000
CONFIG_SCHED_WORKSTACKSIZE=2048
# CONFIG_SCHED_LPWORK is not set
# CONFIG_LIB_KBDCODEC is not set
# CONFIG_LIB_SLCDCODEC is not set
@ -807,7 +838,7 @@ CONFIG_NSH_CONSOLE=y
# USB Trace Support
#
# CONFIG_NSH_ALTCONDEV is not set
# CONFIG_NSH_ARCHINIT is not set
CONFIG_NSH_ARCHINIT=y
#
# NxWidgets/NxWM