summaryrefslogtreecommitdiff
path: root/nuttx/configs/open1788
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2013-03-05 15:37:50 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2013-03-05 15:37:50 +0000
commit19738ce1d99ac677f98d5308fa63729f13eb8559 (patch)
tree1570dc1d13ce0f079dc93de2b5c9a3f8ec7c3b25 /nuttx/configs/open1788
parent2f6ff23170be952702278336d624b1cb88651e84 (diff)
downloadpx4-nuttx-19738ce1d99ac677f98d5308fa63729f13eb8559.tar.gz
px4-nuttx-19738ce1d99ac677f98d5308fa63729f13eb8559.tar.bz2
px4-nuttx-19738ce1d99ac677f98d5308fa63729f13eb8559.zip
Updates to the LPC1788 SDIO support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5709 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/configs/open1788')
-rw-r--r--nuttx/configs/open1788/include/board.h37
-rw-r--r--nuttx/configs/open1788/nsh/defconfig13
2 files changed, 48 insertions, 2 deletions
diff --git a/nuttx/configs/open1788/include/board.h b/nuttx/configs/open1788/include/board.h
index 7a6fd0e07..5ed6b1a45 100644
--- a/nuttx/configs/open1788/include/board.h
+++ b/nuttx/configs/open1788/include/board.h
@@ -142,6 +142,36 @@
#define ETH_MCFG_CLKSEL_DIV ETH_MCFG_CLKSEL_DIV20
+/* SDIO dividers. Note that slower clocking is required when DMA is disabled
+ * in order to avoid RX overrun/TX underrun errors due to delayed responses
+ * to service FIFOs in interrupt driven mode. These values have not been
+ * tuned!!!
+ *
+ * SDIOCLK=48MHz, SDIO_CK=SDIOCLK/(118+2)=400 KHz
+ */
+
+#define SDCARD_INIT_CLKDIV (118 << SDCARD_CLOCK_CLKDIV_SHIFT)
+
+/* DMA ON: SDIOCLK=48MHz, SDIO_CK=SDIOCLK/(1+2)=16 MHz
+ * DMA OFF: SDIOCLK=48MHz, SDIO_CK=SDIOCLK/(2+2)=12 MHz
+ */
+
+#ifdef CONFIG_SDIO_DMA
+# define SDCARD_MMCXFR_CLKDIV (1 << SDCARD_CLOCK_CLKDIV_SHIFT)
+#else
+# define SDCARD_MMCXFR_CLKDIV (2 << SDCARD_CLOCK_CLKDIV_SHIFT)
+#endif
+
+/* DMA ON: SDIOCLK=48MHz, SDIO_CK=SDIOCLK/(1+2)=16 MHz
+ * DMA OFF: SDIOCLK=48MHz, SDIO_CK=SDIOCLK/(2+2)=12 MHz
+ */
+
+#ifdef CONFIG_SDIO_DMA
+# define SDCARD_SDXFR_CLKDIV (1 << SDCARD_CLOCK_CLKDIV_SHIFT)
+#else
+# define SDCARD_SDXFR_CLKDIV (2 << SDCARD_CLOCK_CLKDIV_SHIFT)
+#endif
+
/* Set EMC delay values:
*
* CMDDLY: Programmable delay value for EMC outputs in command delayed
@@ -261,6 +291,13 @@
#define GPIO_UART0_TXD GPIO_UART0_TXD_2
#define GPIO_UART0_RXD GPIO_UART0_RXD_2
+#define GPIO_SD_DAT0 GPIO_SD_DAT0_1 /* REVISIT */
+#define GPIO_SD_DAT1 GPIO_SD_DAT1_1
+#define GPIO_SD_DAT2 GPIO_SD_DAT2_1
+#define GPIO_SD_DAT3 GPIO_SD_DAT3_1
+#define GPIO_SD_CLK GPIO_SD_CLK_1
+#define GPIO_SD_CMD GPIO_SD_CMD_1
+
/************************************************************************************
* Public Types
************************************************************************************/
diff --git a/nuttx/configs/open1788/nsh/defconfig b/nuttx/configs/open1788/nsh/defconfig
index c04baba60..b17b8386e 100644
--- a/nuttx/configs/open1788/nsh/defconfig
+++ b/nuttx/configs/open1788/nsh/defconfig
@@ -118,6 +118,7 @@ CONFIG_ARMV7M_OABI_TOOLCHAIN=y
# CONFIG_ARCH_CHIP_LPC1787 is not set
CONFIG_ARCH_CHIP_LPC1788=y
CONFIG_ARCH_FAMILY_LPC178X=y
+CONFIG_ARCH_HAVE_SDIO=y
#
# LPC17xx Peripheral Support
@@ -129,6 +130,7 @@ CONFIG_LPC17_PLL1=y
# CONFIG_LPC17_ETHERNET is not set
# CONFIG_LPC17_USBHOST is not set
# CONFIG_LPC17_USBDEV is not set
+# CONFIG_LPC17_SDCARD is not set
CONFIG_LPC17_UART0=y
# CONFIG_LPC17_UART1 is not set
# CONFIG_LPC17_UART2 is not set
@@ -154,7 +156,7 @@ CONFIG_LPC17_UART0=y
# CONFIG_LPC17_WDT is not set
# CONFIG_LPC17_ADC is not set
# CONFIG_LPC17_DAC is not set
-# CONFIG_LPC17_GPDMA is not set
+CONFIG_LPC17_GPDMA=y
# CONFIG_LPC17_FLASH is not set
#
@@ -255,6 +257,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
@@ -342,7 +345,13 @@ CONFIG_LOOP=y
CONFIG_BCH=y
# 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=y
+CONFIG_MMCSD_HAVECARDDETECT=y
+# CONFIG_MMCSD_SDIO is not set
# CONFIG_MTD is not set
CONFIG_PIPES=y
# CONFIG_PM is not set