From 88953d95f7f36648ffd1a2950a79bf478cf5036f Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Sun, 29 Jun 2014 11:26:41 -0600 Subject: [PATCH] SAMA5D4-EK: Fix HSMCI card-detect pin selections --- configs/sama5d4-ek/README.txt | 35 +++++++++++++++-------------- configs/sama5d4-ek/src/sam_hsmci.c | 4 ++-- configs/sama5d4-ek/src/sama5d4-ek.h | 14 ++++++------ 3 files changed, 27 insertions(+), 26 deletions(-) diff --git a/configs/sama5d4-ek/README.txt b/configs/sama5d4-ek/README.txt index 001942e3e9..168fb3d71e 100644 --- a/configs/sama5d4-ek/README.txt +++ b/configs/sama5d4-ek/README.txt @@ -997,7 +997,7 @@ PIO Usage PE11/A11/TCLK2 USBB_EN5V_PE11 EN5V_USBB PE12/A12/TIOA1/PWMH2 USBC_EN5V_PE12 EN5V_USBC PE13/A13/TIOB1/PWML2 PB_USER1_PE13 PB_USER1 - PE14/A14/TCLK1/PWMH3 MCI1_CD_PE14 MCI1_CD + PE14/A14/TCLK1/PWMH3 MCI1_CD_PE14 MCI1_CD ??? PE15/A15/SCK3/TIOA0 MCI1_PWR_PE15 MCI1_PWR PE16/A16/RXD3/TIOB0 DBGU_RXD3_PE16 DBGU_RXD3 (See JP19) PE17/A17/TXD3/TCLK0 DBGU_TXD3_PE17 DBGU_TXD3 (See JP20) @@ -1456,13 +1456,13 @@ HSMCI Card Slots HSMCI1 ------ The microSD connects vi HSMCI1. The card detect discrete is available on - PE14 (pulled high). NOTE that PE15 must be controlled to provide power + PE6 (pulled high). NOTE that PE15 must be controlled to provide power to the HSMCI1 slot (the HSMCI0 slot is always powered). ------------------------------ ------------------- ------------------------- SAMA5D4 PIO SIGNAL USAGE ------------------------------ ------------------- ------------------------- - PE14/A14/TCLK1/PWMH3 MCI1_CD_PE14 MCI1_CD + PE14/A14/TCLK1/PWMH3 MCI1_CD_PE14 MCI1_CD ??? PE15/A15/SCK3/TIOA0 MCI1_PWR_PE15 MCI1_PWR PE18/A18/TIOA5/MCI1_CK PE18 MCI1_CK, EXP PE19/A19/TIOB5/MCI1_CDA PE19 MCI1_CDA, EXP @@ -1485,12 +1485,11 @@ HSMCI Card Slots System Type->ATSAMA5 Peripheral Support CONFIG_SAMA5_HSMCI0=y : Enable HSMCI0 support CONFIG_SAMA5_HSMCI1=y : Enable HSMCI1 support - CONFIG_SAMA5_XDMAC0=y : XDMAC0 is needed by HSMCI0 <- REVISIT - CONFIG_SAMA5_XDMAC1=y : XDMAC1 is needed by HSMCI1 <- REVISIT + CONFIG_SAMA5_XDMAC1=y : XDMAC1 is needed by HSMCI0/1 System Type CONFIG_SAMA5_PIO_IRQ=y : PIO interrupts needed - CONFIG_SAMA5_PIOD_IRQ=y : Card detect pins are on PIOD + CONFIG_SAMA5_PIOE_IRQ=y : Card detect pins are on PE5 and PE6 Device Drivers -> MMC/SD Driver Support CONFIG_MMCSD=y : Enable MMC/SD support @@ -2858,19 +2857,18 @@ SAMA4D4-EK Configuration Options CONFIG_SAMA5_TWI2 - Two-Wire Interface 2 CONFIG_SAMA5_HSMCI0 - High Speed Multimedia Card Interface 0 CONFIG_SAMA5_HSMCI1 - High Speed Multimedia Card Interface 1 - CONFIG_SAMA5_HSMCI2 - High Speed Multimedia Card Interface 2 CONFIG_SAMA5_SPI0 - Serial Peripheral Interface 0 CONFIG_SAMA5_SPI1 - Serial Peripheral Interface 1 CONFIG_SAMA5_TC0 - Timer Counter 0 (ch. 0, 1, 2) CONFIG_SAMA5_TC1 - Timer Counter 1 (ch. 3, 4, 5) CONFIG_SAMA5_PWM - Pulse Width Modulation Controller CONFIG_SAMA5_ADC - Touch Screen ADC Controller - CONFIG_SAMA5_DMAC0 - DMA Controller 0 - CONFIG_SAMA5_DMAC1 - DMA Controller 1 + CONFIG_SAMA5_XDMAC0 - XDMA Controller 0 + CONFIG_SAMA5_XDMAC1 - XDMA Controller 1 CONFIG_SAMA5_UHPHS - USB Host High Speed CONFIG_SAMA5_UDPHS - USB Device High Speed - CONFIG_SAMA5_GMAC - Gigabit Ethernet MAC - CONFIG_SAMA5_EMAC0 - Ethernet MAC 0 + CONFIG_SAMA5_EMAC0 - Ethernet MAC 0 (GMAC0) + CONFIG_SAMA5_EMAC1 - Ethernet MAC 1 (GMAC1) CONFIG_SAMA5_LCDC - LCD Controller CONFIG_SAMA5_ISI - Image Sensor Interface CONFIG_SAMA5_SSC0 - Synchronous Serial Controller 0 @@ -3332,12 +3330,15 @@ Configurations will need to install a battery in the battery holder (J12) and close the jumper, JP13. - 8. Enabling HSMCI support. 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 in the paragraph entitled "HSMCI Card Slots" - above. + 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 + 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. 9. The SAMA5D4-EK includes for an AT25 serial DataFlash. That support is NOT enabled in this configuration. Support for that serial FLASH can diff --git a/configs/sama5d4-ek/src/sam_hsmci.c b/configs/sama5d4-ek/src/sam_hsmci.c index b4501eeddd..2b15c6f2aa 100644 --- a/configs/sama5d4-ek/src/sam_hsmci.c +++ b/configs/sama5d4-ek/src/sam_hsmci.c @@ -59,12 +59,12 @@ * ------------------------------ ------------------- ------------------------- * * The microSD connects vi HSMCI1. The card detect discrete is available on - * PE14 (pulled high): + * PE6 (pulled high): * * ------------------------------ ------------------- ------------------------- * SAMA5D4 PIO SIGNAL USAGE * ------------------------------ ------------------- ------------------------- - * PE14/A14/TCLK1/PWMH3 MCI1_CD_PE14 MCI1_CD + * PE14/A14/TCLK1/PWMH3 MCI1_CD_PE14 MCI1_CD ??? * PE15/A15/SCK3/TIOA0 MCI1_PWR_PE15 MCI1_PWR * PE18/A18/TIOA5/MCI1_CK PE18 MCI1_CK, EXP * PE19/A19/TIOB5/MCI1_CDA PE19 MCI1_CDA, EXP diff --git a/configs/sama5d4-ek/src/sama5d4-ek.h b/configs/sama5d4-ek/src/sama5d4-ek.h index fd1f96ff39..84f47ef421 100644 --- a/configs/sama5d4-ek/src/sama5d4-ek.h +++ b/configs/sama5d4-ek/src/sama5d4-ek.h @@ -77,10 +77,10 @@ # undef HAVE_HSMCI #endif -/* We need PIO interrupts on PIOD to support card detect interrupts */ +/* We need PIO interrupts on PIOE to support card detect interrupts */ -#if defined(HAVE_HSMCI) && !defined(CONFIG_SAMA5_PIOD_IRQ) -# warning PIOD interrupts not enabled. No MMC/SD support. +#if defined(HAVE_HSMCI) && !defined(CONFIG_SAMA5_PIOE_IRQ) +# warning PIOE interrupts not enabled. No MMC/SD support. # undef HAVE_HSMCI #endif @@ -346,13 +346,13 @@ #define IRQ_MCI0_CD SAM_IRQ_PE5 /* The microSD connects vi HSMCI1. The card detect discrete is available on - * PE14 (pulled high) NOTE that PE15 must be controlled to provide power + * PE6 (pulled high) NOTE that PE15 must be controlled to provide power * to the HSMCI1 slot (the HSMCI0 slot is always powered). * * ------------------------------ ------------------- ------------------------- * SAMA5D4 PIO SIGNAL USAGE * ------------------------------ ------------------- ------------------------- - * PE14/A14/TCLK1/PWMH3 MCI1_CD_PE14 MCI1_CD + * PE14/A14/TCLK1/PWMH3 MCI1_CD_PE14 MCI1_CD ??? * PE15/A15/SCK3/TIOA0 MCI1_PWR_PE15 MCI1_PWR * PE18/A18/TIOA5/MCI1_CK PE18 MCI1_CK, EXP * PE19/A19/TIOB5/MCI1_CDA PE19 MCI1_CDA, EXP @@ -365,8 +365,8 @@ */ #define PIO_MCI1_CD (PIO_INPUT | PIO_CFG_DEFAULT | PIO_CFG_DEGLITCH | \ - PIO_INT_BOTHEDGES | PIO_PORT_PIOE | PIO_PIN14) -#define IRQ_MCI1_CD SAM_IRQ_PE14 + PIO_INT_BOTHEDGES | PIO_PORT_PIOE | PIO_PIN6) +#define IRQ_MCI1_CD SAM_IRQ_PE6 #define IRQ_MCI1_PWR (PIO_OUTPUT | PIO_CFG_DEFAULT | PIO_OUTPUT_SET | \ PIO_PORT_PIOE | PIO_PIN15)