arch/arm/src/lpc54xx: SDMMC pin configurations should have SLEW on and FILTER off.

This commit is contained in:
Gregory Nutt
2017-12-20 11:47:30 -06:00
parent c867d42018
commit 31db67cad7
3 changed files with 87 additions and 51 deletions
+38 -38
View File
@@ -761,44 +761,44 @@
#define GPIO_SD_CARD_DET_N_2 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT2 | GPIO_PIN10)
#define GPIO_SD_CARD_DET_N_3 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT4 | GPIO_PIN22)
#define GPIO_SD_CARD_INT_N_1 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT3 | GPIO_PIN20)
#define GPIO_SD_CARD_INT_N_2 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT4 | GPIO_PIN24)
#define GPIO_SD_CLK_1 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT0 | GPIO_PIN7)
#define GPIO_SD_CLK_2 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT1 | GPIO_PIN8)
#define GPIO_SD_CLK_3 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT2 | GPIO_PIN3)
#define GPIO_SD_CLK_4 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT4 | GPIO_PIN19)
#define GPIO_SD_CMD_1 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT0 | GPIO_PIN8)
#define GPIO_SD_CMD_2 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT1 | GPIO_PIN22)
#define GPIO_SD_CMD_3 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT2 | GPIO_PIN4)
#define GPIO_SD_CMD_4 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT4 | GPIO_PIN20)
#define GPIO_SD_CMD_5 (GPIO_ALT4 | GPIO_MODE_DIGITAL | GPIO_PORT1 | GPIO_PIN16)
#define GPIO_SD_D0_1 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT0 | GPIO_PIN24)
#define GPIO_SD_D0_2 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT1 | GPIO_PIN4)
#define GPIO_SD_D0_3 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT2 | GPIO_PIN6)
#define GPIO_SD_D0_4 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT4 | GPIO_PIN25)
#define GPIO_SD_D1_1 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT0 | GPIO_PIN25)
#define GPIO_SD_D1_2 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT1 | GPIO_PIN7)
#define GPIO_SD_D1_3 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT2 | GPIO_PIN7)
#define GPIO_SD_D1_4 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT4 | GPIO_PIN26)
#define GPIO_SD_D2_1 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT0 | GPIO_PIN31) /* Type A */
#define GPIO_SD_D2_2 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT1 | GPIO_PIN5)
#define GPIO_SD_D2_3 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT2 | GPIO_PIN8)
#define GPIO_SD_D2_4 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT4 | GPIO_PIN27)
#define GPIO_SD_D3_1 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT1 | GPIO_PIN0) /* Type A */
#define GPIO_SD_D3_2 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT1 | GPIO_PIN6)
#define GPIO_SD_D3_3 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT2 | GPIO_PIN9)
#define GPIO_SD_D3_4 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT4 | GPIO_PIN28)
#define GPIO_SD_D4_1 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT1 | GPIO_PIN27)
#define GPIO_SD_D4_2 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT3 | GPIO_PIN16)
#define GPIO_SD_D4_3 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT4 | GPIO_PIN29)
#define GPIO_SD_D5_1 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT1 | GPIO_PIN28)
#define GPIO_SD_D5_2 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT3 | GPIO_PIN17)
#define GPIO_SD_D5_3 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT4 | GPIO_PIN30)
#define GPIO_SD_D6_1 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT1 | GPIO_PIN29)
#define GPIO_SD_D6_2 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT3 | GPIO_PIN18)
#define GPIO_SD_D6_3 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT4 | GPIO_PIN31)
#define GPIO_SD_D7_1 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT1 | GPIO_PIN30)
#define GPIO_SD_D7_2 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT3 | GPIO_PIN19)
#define GPIO_SD_D7_3 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT5 | GPIO_PIN0)
#define GPIO_SD_CARD_INT_N_2 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PORT4 | GPIO_PIN24)
#define GPIO_SD_CLK_1 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT0 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN7)
#define GPIO_SD_CLK_2 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT1 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN8)
#define GPIO_SD_CLK_3 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT2 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN3)
#define GPIO_SD_CLK_4 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT4 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN19)
#define GPIO_SD_CMD_1 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT0 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN8)
#define GPIO_SD_CMD_2 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT1 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN22)
#define GPIO_SD_CMD_3 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT2 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN4)
#define GPIO_SD_CMD_4 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT4 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN20)
#define GPIO_SD_CMD_5 (GPIO_ALT4 | GPIO_MODE_DIGITAL | GPIO_PORT1 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN16)
#define GPIO_SD_D0_1 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT0 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN24)
#define GPIO_SD_D0_2 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT1 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN4)
#define GPIO_SD_D0_3 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT2 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN6)
#define GPIO_SD_D0_4 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT4 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN25)
#define GPIO_SD_D1_1 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT0 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN25)
#define GPIO_SD_D1_2 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT1 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN7)
#define GPIO_SD_D1_3 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT2 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN7)
#define GPIO_SD_D1_4 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT4 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN26)
#define GPIO_SD_D2_1 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT0 | GPIO_FILTER_OFF | GPIO_PIN31) /* Type A */
#define GPIO_SD_D2_2 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT1 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN5)
#define GPIO_SD_D2_3 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT2 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN8)
#define GPIO_SD_D2_4 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT4 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN27)
#define GPIO_SD_D3_1 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT1 | GPIO_FILTER_OFF | GPIO_PIN0) /* Type A */
#define GPIO_SD_D3_2 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT1 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN6)
#define GPIO_SD_D3_3 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT2 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN9)
#define GPIO_SD_D3_4 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT4 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN28)
#define GPIO_SD_D4_1 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT1 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN27)
#define GPIO_SD_D4_2 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT3 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN16)
#define GPIO_SD_D4_3 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT4 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN29)
#define GPIO_SD_D5_1 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT1 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN28)
#define GPIO_SD_D5_2 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT3 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN17)
#define GPIO_SD_D5_3 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT4 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN30)
#define GPIO_SD_D6_1 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT1 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN29)
#define GPIO_SD_D6_2 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT3 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN18)
#define GPIO_SD_D6_3 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT4 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN31)
#define GPIO_SD_D7_1 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT1 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN30)
#define GPIO_SD_D7_2 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT3 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN19)
#define GPIO_SD_D7_3 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT5 | GPIO_SLEW_FAST | GPIO_FILTER_OFF | GPIO_PIN0)
#define GPIO_SD_POW_EN_1 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT0 | GPIO_PIN9)
#define GPIO_SD_POW_EN_2 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT2 | GPIO_PIN5)
#define GPIO_SD_POW_EN_3 (GPIO_ALT2 | GPIO_MODE_DIGITAL | GPIO_PORT4 | GPIO_PIN21)
+1 -1
View File
@@ -131,7 +131,7 @@
/* Control register CTRL */
#define SDMMC_CTRL_CNTLRRESET (1 << 0) /* Bit 0: Reset Module controller */
#define SDMMC_CTRL_FIFORESET (1 << 1) /* Bit 1: Reset to data FIFO To reset FIFO pointers */
#define SDMMC_CTRL_FIFORESET (1 << 1) /* Bit 1: Reset to data FIFO to reset FIFO pointers */
#define SDMMC_CTRL_DMARESET (1 << 2) /* Bit 2: Reset internal DMA interface control logic */
/* Bit 3: Reserved */
#define SDMMC_CTRL_INTENABLE (1 << 4) /* Bit 4: Enable interrupts */
@@ -55,31 +55,67 @@
/* Do we need to register I2C drivers on behalf of the I2C tool? */
#if !defined(CONFIG_SYSTEM_I2CTOOL) || !defined(CONFIG_I2C_DRIVER) || \
!defined(HAVE_I2C_MASTER_DEVICE)
#ifdef CONFIG_SYSTEM_I2CTOOL
# ifndef CONFIG_I2C_DRIVER
# warning CONFIG_SYSTEM_I2CTOOL requires CONFIG_I2C_DRIVER
# undef HAVE_I2CTOOL
# endif
# ifndef HAVE_I2C_MASTER_DEVICE
# warning CONFIG_SYSTEM_I2CTOOL requires HAVE_I2C_MASTER_DEVICE
# undef HAVE_I2CTOOL
# endif
#else
# undef HAVE_I2CTOOL
#endif
/* Do we need to register FT5x06 touch panel driver? */
#if !defined(CONFIG_INPUT_FT5X06) || !defined(CONFIG_LPC54_I2C2_MASTER) || \
!defined(CONFIG_LPC54_GPIOIRQ)
#ifdef CONFIG_INPUT_FT5X06
# ifndef CONFIG_LPC54_I2C2_MASTER
# warning CONFIG_INPUT_FT5X06 requires CONFIG_LPC54_I2C2_MASTER
# undef HAVE_FT5x06
# endif
# ifdef CONFIG_FT5X06_POLLMODE
# warning CONFIG_INPUT_FT5X06 requires CONFIG_FT5X06_POLLMODE
# undef HAVE_FT5x06
# endif
#else
# undef HAVE_FT5x06
#endif
/* MMC/SD support */
#if !defined(CONFIG_LPC54_SDMMC) || !defined(CONFIG_MMCSD) || \
!defined(CONFIG_MMCSD_SDIO) || defined(CONFIG_DISABLE_MOUNTPOINT)
# undef HAVE_MMCSD
#endif
#ifdef CONFIG_LPC54_SDMMC
/* Select the MMCSD minor number */
# ifndef CONFIG_MMCSD
# warning MMC/SD support requires CONFIG_MMCSD
# undef HAVE_MMCSD
# endif
# ifndef CONFIG_MMCSD_SDIO
# warning MMC/SD support requires CONFIG_MMCSD_SDIO
# undef HAVE_MMCSD
# endif
# ifdef CONFIG_DISABLE_MOUNTPOINT
# warning MMC/SD cannot be supported with CONFIG_DISABLE_MOUNTPOINT
# undef HAVE_MMCSD
# endif
# ifdef CONFIG_NSH_MMCSDMINOR
# define MMCSD_MINOR CONFIG_NSH_MMCSDMINOR
# else
# define MMCSD_MINOR 0
# endif
#ifdef CONFIG_NSH_MMCSDMINOR
# define MMCSD_MINOR CONFIG_NSH_MMCSDMINOR
#else
# define MMCSD_MINOR 0
# undef HAVE_MMCSD
#endif
/* Indices into a sparse I2C array. Used with lpc54_i2c_handle() */