mirror of
https://github.com/apache/nuttx.git
synced 2026-06-06 00:14:22 +08:00
Add capabilities() method to SDIO interface. Remove CONFIG_SDIO_WIDTH_D1_ONLY. That should not be a global propertie, but rather a capability/limitation of single slot when there may be multiple slots.
This commit is contained in:
@@ -5376,7 +5376,8 @@ int kbd_decode(FAR struct lib_instream_s *stream, FAR struct kbd_getstate_s *sta
|
|||||||
</p>
|
</p>
|
||||||
<ul>
|
<ul>
|
||||||
<p><code>void (*reset)(FAR struct sdio_dev_s *dev);</code><br>
|
<p><code>void (*reset)(FAR struct sdio_dev_s *dev);</code><br>
|
||||||
<code>uint8_t (*status)(FAR struct sdio_dev_s *dev);</code><br>
|
<code>sdio_capset_t (*capabilities)(FAR struct sdio_dev_s *dev);</code><br>
|
||||||
|
<code>sdio_statset_t (*status)(FAR struct sdio_dev_s *dev);</code><br>
|
||||||
<code>void (*widebus)(FAR struct sdio_dev_s *dev, bool enable);</code><br>
|
<code>void (*widebus)(FAR struct sdio_dev_s *dev, bool enable);</code><br>
|
||||||
<code>void (*clock)(FAR struct sdio_dev_s *dev, enum sdio_clock_e rate);</code><br>
|
<code>void (*clock)(FAR struct sdio_dev_s *dev, enum sdio_clock_e rate);</code><br>
|
||||||
<code>int (*attach)(FAR struct sdio_dev_s *dev);</code><br>
|
<code>int (*attach)(FAR struct sdio_dev_s *dev);</code><br>
|
||||||
|
|||||||
@@ -658,6 +658,12 @@ endmenu # Kinetis Ethernet Configuration
|
|||||||
menu "Kinetis SDHC Configuration"
|
menu "Kinetis SDHC Configuration"
|
||||||
depends on KINETIS_SDHC
|
depends on KINETIS_SDHC
|
||||||
|
|
||||||
|
config KINETIS_SDHC_WIDTH_D1_ONLY
|
||||||
|
bool "Use D1 only"
|
||||||
|
default n
|
||||||
|
---help---
|
||||||
|
Select 1-bit transfer mode. Default: 4-bit transfer mode.
|
||||||
|
|
||||||
config KINETIS_SDHC_ABSFREQ
|
config KINETIS_SDHC_ABSFREQ
|
||||||
bool "Custom transfer frequencies"
|
bool "Custom transfer frequencies"
|
||||||
default n
|
default n
|
||||||
@@ -687,14 +693,14 @@ config KINETIS_MMCXFR_FREQ
|
|||||||
config KINETIS_SD1BIT_FREQ
|
config KINETIS_SD1BIT_FREQ
|
||||||
int "SD 1-bit transfer frequency"
|
int "SD 1-bit transfer frequency"
|
||||||
default 20000000
|
default 20000000
|
||||||
depends on SDIO_WIDTH_D1_ONLY
|
depends on KINETIS_SDHC_WIDTH_D1_ONLY
|
||||||
---help---
|
---help---
|
||||||
Frequency to use for transferring data to/from an SD card using on a single data liune.
|
Frequency to use for transferring data to/from an SD card using on a single data liune.
|
||||||
|
|
||||||
config KINETIS_SD4BIT_FREQ
|
config KINETIS_SD4BIT_FREQ
|
||||||
int "SD 4-bit transfer frequency"
|
int "SD 4-bit transfer frequency"
|
||||||
default 20000000
|
default 20000000
|
||||||
depends on !SDIO_WIDTH_D1_ONLY
|
depends on !KINETIS_SDHC_WIDTH_D1_ONLY
|
||||||
---help---
|
---help---
|
||||||
Frequency to use for transferring data to/from an SD card using all four data lines.
|
Frequency to use for transferring data to/from an SD card using all four data lines.
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* arch/arm/src/kinetis/kinetis_sdhc.c
|
* arch/arm/src/kinetis/kinetis_sdhc.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2011-2012, 2014, 2016 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2011-2012, 2014, 2016-2017 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@@ -173,7 +173,7 @@ struct kinetis_dev_s
|
|||||||
|
|
||||||
/* Callback support */
|
/* Callback support */
|
||||||
|
|
||||||
uint8_t cdstatus; /* Card status */
|
sdio_statset_t cdstatus; /* Card status */
|
||||||
sdio_eventset_t cbevents; /* Set of events to be cause callbacks */
|
sdio_eventset_t cbevents; /* Set of events to be cause callbacks */
|
||||||
worker_t callback; /* Registered callback function */
|
worker_t callback; /* Registered callback function */
|
||||||
void *cbarg; /* Registered callback argument */
|
void *cbarg; /* Registered callback argument */
|
||||||
@@ -282,7 +282,8 @@ static int kinetis_lock(FAR struct sdio_dev_s *dev, bool lock);
|
|||||||
/* Initialization/setup */
|
/* Initialization/setup */
|
||||||
|
|
||||||
static void kinetis_reset(FAR struct sdio_dev_s *dev);
|
static void kinetis_reset(FAR struct sdio_dev_s *dev);
|
||||||
static uint8_t kinetis_status(FAR struct sdio_dev_s *dev);
|
static sdio_capset_t kinetis_capabilities(FAR struct sdio_dev_s *dev);
|
||||||
|
static sdio_statset_t kinetis_status(FAR struct sdio_dev_s *dev);
|
||||||
static void kinetis_widebus(FAR struct sdio_dev_s *dev, bool enable);
|
static void kinetis_widebus(FAR struct sdio_dev_s *dev, bool enable);
|
||||||
#ifdef CONFIG_KINETIS_SDHC_ABSFREQ
|
#ifdef CONFIG_KINETIS_SDHC_ABSFREQ
|
||||||
static void kinetis_frequency(FAR struct sdio_dev_s *dev, uint32_t frequency);
|
static void kinetis_frequency(FAR struct sdio_dev_s *dev, uint32_t frequency);
|
||||||
@@ -350,6 +351,7 @@ struct kinetis_dev_s g_sdhcdev =
|
|||||||
.lock = kinetis_lock,
|
.lock = kinetis_lock,
|
||||||
#endif
|
#endif
|
||||||
.reset = kinetis_reset,
|
.reset = kinetis_reset,
|
||||||
|
.capabilities = kinetis_capabilities,
|
||||||
.status = kinetis_status,
|
.status = kinetis_status,
|
||||||
.widebus = kinetis_widebus,
|
.widebus = kinetis_widebus,
|
||||||
.clock = kinetis_clock,
|
.clock = kinetis_clock,
|
||||||
@@ -1311,6 +1313,28 @@ static void kinetis_reset(FAR struct sdio_dev_s *dev)
|
|||||||
priv->xfrints = 0; /* Interrupt enables for data transfer */
|
priv->xfrints = 0; /* Interrupt enables for data transfer */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Name: kinetis_capabilities
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Get capabilities (and limitations) of the SDIO driver (optional)
|
||||||
|
*
|
||||||
|
* Input Parameters:
|
||||||
|
* dev - Device-specific state data
|
||||||
|
*
|
||||||
|
* Returned Value:
|
||||||
|
* Returns a bitset of status values (see SDIO_CAPS_* defines)
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
static sdio_capset_t kinetis_capabilities(FAR struct sdio_dev_s *dev)
|
||||||
|
{
|
||||||
|
#ifdef CONFIG_KINETIS_SDHC_WIDTH_D1_ONLY
|
||||||
|
return SDIO_CAPS_1BIT_ONLY;
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: kinetis_status
|
* Name: kinetis_status
|
||||||
*
|
*
|
||||||
@@ -1325,7 +1349,7 @@ static void kinetis_reset(FAR struct sdio_dev_s *dev)
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
static uint8_t kinetis_status(FAR struct sdio_dev_s *dev)
|
static sdio_statset_t kinetis_status(FAR struct sdio_dev_s *dev)
|
||||||
{
|
{
|
||||||
struct kinetis_dev_s *priv = (struct kinetis_dev_s *)dev;
|
struct kinetis_dev_s *priv = (struct kinetis_dev_s *)dev;
|
||||||
return priv->cdstatus;
|
return priv->cdstatus;
|
||||||
@@ -1560,7 +1584,7 @@ static void kinetis_clock(FAR struct sdio_dev_s *dev, enum sdio_clock_e rate)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case CLOCK_SD_TRANSFER_1BIT : /* SD normal operation clocking (narrow 1-bit mode) */
|
case CLOCK_SD_TRANSFER_1BIT : /* SD normal operation clocking (narrow 1-bit mode) */
|
||||||
#ifndef CONFIG_SDIO_WIDTH_D1_ONLY
|
#ifndef CONFIG_KINETIS_SDHC_WIDTH_D1_ONLY
|
||||||
frequency = CONFIG_KINETIS_SD1BIT_FREQ;
|
frequency = CONFIG_KINETIS_SD1BIT_FREQ;
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
@@ -1632,7 +1656,7 @@ static void kinetis_clock(FAR struct sdio_dev_s *dev, enum sdio_clock_e rate)
|
|||||||
|
|
||||||
case CLOCK_SD_TRANSFER_1BIT : /* SD normal operation clocking (narrow
|
case CLOCK_SD_TRANSFER_1BIT : /* SD normal operation clocking (narrow
|
||||||
* 1-bit mode) */
|
* 1-bit mode) */
|
||||||
#ifndef CONFIG_SDIO_WIDTH_D1_ONLY
|
#ifndef CONFIG_KINETIS_SDHC_WIDTH_D1_ONLY
|
||||||
regval |= (BOARD_SDHC_SD1MODE_PRESCALER | BOARD_SDHC_IDMODE_DIVISOR |
|
regval |= (BOARD_SDHC_SD1MODE_PRESCALER | BOARD_SDHC_IDMODE_DIVISOR |
|
||||||
SDHC_SYSCTL_SDCLKEN | SDHC_SYSCTL_PEREN | SDHC_SYSCTL_HCKEN |
|
SDHC_SYSCTL_SDCLKEN | SDHC_SYSCTL_PEREN | SDHC_SYSCTL_HCKEN |
|
||||||
SDHC_SYSCTL_IPGEN);
|
SDHC_SYSCTL_IPGEN);
|
||||||
@@ -2829,7 +2853,7 @@ FAR struct sdio_dev_s *sdhc_initialize(int slotno)
|
|||||||
|
|
||||||
/* Data width 4 or 8 */
|
/* Data width 4 or 8 */
|
||||||
|
|
||||||
#ifndef CONFIG_SDIO_WIDTH_D1_ONLY
|
#ifndef CONFIG_KINETIS_SDHC_WIDTH_D1_ONLY
|
||||||
kinetis_pinconfig(PIN_SDHC0_D1);
|
kinetis_pinconfig(PIN_SDHC0_D1);
|
||||||
kinetis_pinconfig(PIN_SDHC0_D2);
|
kinetis_pinconfig(PIN_SDHC0_D2);
|
||||||
kinetis_pinconfig(PIN_SDHC0_D3);
|
kinetis_pinconfig(PIN_SDHC0_D3);
|
||||||
@@ -2881,7 +2905,7 @@ FAR struct sdio_dev_s *sdhc_initialize(int slotno)
|
|||||||
void sdhc_mediachange(FAR struct sdio_dev_s *dev, bool cardinslot)
|
void sdhc_mediachange(FAR struct sdio_dev_s *dev, bool cardinslot)
|
||||||
{
|
{
|
||||||
struct kinetis_dev_s *priv = (struct kinetis_dev_s *)dev;
|
struct kinetis_dev_s *priv = (struct kinetis_dev_s *)dev;
|
||||||
uint8_t cdstatus;
|
sdio_statset_t cdstatus;
|
||||||
irqstate_t flags;
|
irqstate_t flags;
|
||||||
|
|
||||||
/* Update card status */
|
/* Update card status */
|
||||||
|
|||||||
@@ -630,7 +630,7 @@ config LPC17_I2C2_FREQUENCY
|
|||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
menu "SDIO Configuration"
|
menu "SDCARD Configuration"
|
||||||
depends on LPC17_SDCARD
|
depends on LPC17_SDCARD
|
||||||
|
|
||||||
config SDIO_DMA
|
config SDIO_DMA
|
||||||
@@ -643,7 +643,7 @@ config SDIO_DMA
|
|||||||
For most usages, SD accesses will cause data overruns if used without
|
For most usages, SD accesses will cause data overruns if used without
|
||||||
DMA. Requires LPC17_SDCARD and config LPC17_GPDMA.
|
DMA. Requires LPC17_SDCARD and config LPC17_GPDMA.
|
||||||
|
|
||||||
config SDIO_WIDTH_D1_ONLY
|
config LPC17_SDCARD_WIDTH_D1_ONLY
|
||||||
bool "Use D1 only"
|
bool "Use D1 only"
|
||||||
default n
|
default n
|
||||||
---help---
|
---help---
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* arch/arm/src/lpc17xx/lpc17_sdcard.c
|
* arch/arm/src/lpc17xx/lpc17_sdcard.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2013-2014, 2016 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2013-2014, 2016-2017 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@@ -91,9 +91,9 @@
|
|||||||
* CONFIG_SDIO_DMA - Enable SD card DMA. This is a marginally optional.
|
* CONFIG_SDIO_DMA - Enable SD card DMA. This is a marginally optional.
|
||||||
* For most usages, SD accesses will cause data overruns if used without DMA.
|
* For most usages, SD accesses will cause data overruns if used without DMA.
|
||||||
* NOTE the above system DMA configuration options.
|
* NOTE the above system DMA configuration options.
|
||||||
* CONFIG_SDIO_WIDTH_D1_ONLY - This may be selected to force the driver
|
* CONFIG_LPC17_SDCARD_WIDTH_D1_ONLY - This may be selected to force the
|
||||||
* operate with only a single data line (the default is to use all
|
* driver operate with only a single data line (the default is to use
|
||||||
* 4 SD data lines).
|
* all 4 SD data lines).
|
||||||
* CONFIG_DEBUG_MEMCARD_* - Enables some very low-level debug output
|
* CONFIG_DEBUG_MEMCARD_* - Enables some very low-level debug output
|
||||||
* This also requires CONFIG_DEBUG_FS and CONFIG_DEBUG_INFO
|
* This also requires CONFIG_DEBUG_FS and CONFIG_DEBUG_INFO
|
||||||
*/
|
*/
|
||||||
@@ -247,7 +247,7 @@ struct lpc17_dev_s
|
|||||||
|
|
||||||
/* Callback support */
|
/* Callback support */
|
||||||
|
|
||||||
uint8_t cdstatus; /* Card status */
|
sdio_statset_t cdstatus; /* Card status */
|
||||||
sdio_eventset_t cbevents; /* Set of events to be cause callbacks */
|
sdio_eventset_t cbevents; /* Set of events to be cause callbacks */
|
||||||
worker_t callback; /* Registered callback function */
|
worker_t callback; /* Registered callback function */
|
||||||
void *cbarg; /* Registered callback argument */
|
void *cbarg; /* Registered callback argument */
|
||||||
@@ -355,6 +355,7 @@ static int lpc17_lock(FAR struct sdio_dev_s *dev, bool lock);
|
|||||||
/* Initialization/setup */
|
/* Initialization/setup */
|
||||||
|
|
||||||
static void lpc17_reset(FAR struct sdio_dev_s *dev);
|
static void lpc17_reset(FAR struct sdio_dev_s *dev);
|
||||||
|
static sdio_capset_t lpc17_capabilities(FAR struct sdio_dev_s *dev);
|
||||||
static uint8_t lpc17_status(FAR struct sdio_dev_s *dev);
|
static uint8_t lpc17_status(FAR struct sdio_dev_s *dev);
|
||||||
static void lpc17_widebus(FAR struct sdio_dev_s *dev, bool enable);
|
static void lpc17_widebus(FAR struct sdio_dev_s *dev, bool enable);
|
||||||
static void lpc17_clock(FAR struct sdio_dev_s *dev,
|
static void lpc17_clock(FAR struct sdio_dev_s *dev,
|
||||||
@@ -419,6 +420,7 @@ struct lpc17_dev_s g_scard_dev =
|
|||||||
.lock = lpc17_lock,
|
.lock = lpc17_lock,
|
||||||
#endif
|
#endif
|
||||||
.reset = lpc17_reset,
|
.reset = lpc17_reset,
|
||||||
|
.capabilities = lpc17_capabilities,
|
||||||
.status = lpc17_status,
|
.status = lpc17_status,
|
||||||
.widebus = lpc17_widebus,
|
.widebus = lpc17_widebus,
|
||||||
.clock = lpc17_clock,
|
.clock = lpc17_clock,
|
||||||
@@ -1482,6 +1484,28 @@ static void lpc17_reset(FAR struct sdio_dev_s *dev)
|
|||||||
getreg32(LPC17_SDCARD_CLOCK), getreg32(LPC17_SDCARD_PWR));
|
getreg32(LPC17_SDCARD_CLOCK), getreg32(LPC17_SDCARD_PWR));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Name: lpc17_capabilities
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Get capabilities (and limitations) of the SDIO driver (optional)
|
||||||
|
*
|
||||||
|
* Input Parameters:
|
||||||
|
* dev - Device-specific state data
|
||||||
|
*
|
||||||
|
* Returned Value:
|
||||||
|
* Returns a bitset of status values (see SDIO_CAPS_* defines)
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
static sdio_capset_t lpc17_capabilities(FAR struct sdio_dev_s *dev)
|
||||||
|
{
|
||||||
|
#ifdef CONFIG_LPC17_SDCARD_WIDTH_D1_ONLY
|
||||||
|
return SDIO_CAPS_1BIT_ONLY;
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: lpc17_status
|
* Name: lpc17_status
|
||||||
*
|
*
|
||||||
@@ -1496,7 +1520,7 @@ static void lpc17_reset(FAR struct sdio_dev_s *dev)
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
static uint8_t lpc17_status(FAR struct sdio_dev_s *dev)
|
static sdio_statset_t lpc17_status(FAR struct sdio_dev_s *dev)
|
||||||
{
|
{
|
||||||
struct lpc17_dev_s *priv = (struct lpc17_dev_s *)dev;
|
struct lpc17_dev_s *priv = (struct lpc17_dev_s *)dev;
|
||||||
return priv->cdstatus;
|
return priv->cdstatus;
|
||||||
@@ -1569,7 +1593,7 @@ static void lpc17_clock(FAR struct sdio_dev_s *dev, enum sdio_clock_e rate)
|
|||||||
/* SD normal operation clocking (wide 4-bit mode) */
|
/* SD normal operation clocking (wide 4-bit mode) */
|
||||||
|
|
||||||
case CLOCK_SD_TRANSFER_4BIT:
|
case CLOCK_SD_TRANSFER_4BIT:
|
||||||
#ifndef CONFIG_SDIO_WIDTH_D1_ONLY
|
#ifndef CONFIG_LPC17_SDCARD_WIDTH_D1_ONLY
|
||||||
clkcr = (SDCARD_CLOCK_SDWIDEXFR | SDCARD_CLOCK_CLKEN);
|
clkcr = (SDCARD_CLOCK_SDWIDEXFR | SDCARD_CLOCK_CLKEN);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
@@ -2735,7 +2759,7 @@ FAR struct sdio_dev_s *sdio_initialize(int slotno)
|
|||||||
|
|
||||||
#ifndef CONFIG_SDIO_MUXBUS
|
#ifndef CONFIG_SDIO_MUXBUS
|
||||||
lpc17_configgpio(GPIO_SD_DAT0);
|
lpc17_configgpio(GPIO_SD_DAT0);
|
||||||
#ifndef CONFIG_SDIO_WIDTH_D1_ONLY
|
#ifndef CONFIG_LPC17_SDCARD_WIDTH_D1_ONLY
|
||||||
lpc17_configgpio(GPIO_SD_DAT1);
|
lpc17_configgpio(GPIO_SD_DAT1);
|
||||||
lpc17_configgpio(GPIO_SD_DAT2);
|
lpc17_configgpio(GPIO_SD_DAT2);
|
||||||
lpc17_configgpio(GPIO_SD_DAT3);
|
lpc17_configgpio(GPIO_SD_DAT3);
|
||||||
@@ -2775,7 +2799,7 @@ FAR struct sdio_dev_s *sdio_initialize(int slotno)
|
|||||||
void sdio_mediachange(FAR struct sdio_dev_s *dev, bool cardinslot)
|
void sdio_mediachange(FAR struct sdio_dev_s *dev, bool cardinslot)
|
||||||
{
|
{
|
||||||
struct lpc17_dev_s *priv = (struct lpc17_dev_s *)dev;
|
struct lpc17_dev_s *priv = (struct lpc17_dev_s *)dev;
|
||||||
uint8_t cdstatus;
|
sdio_statset_t cdstatus;
|
||||||
irqstate_t flags;
|
irqstate_t flags;
|
||||||
|
|
||||||
/* Update card status */
|
/* Update card status */
|
||||||
@@ -2798,6 +2822,7 @@ void sdio_mediachange(FAR struct sdio_dev_s *dev, bool cardinslot)
|
|||||||
{
|
{
|
||||||
lpc17_callback(priv);
|
lpc17_callback(priv);
|
||||||
}
|
}
|
||||||
|
|
||||||
leave_critical_section(flags);
|
leave_critical_section(flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* arch/arm/src/sam34/sam_hsmci.c
|
* arch/arm/src/sam34/sam_hsmci.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2010, 2012-2014, 2016 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2010, 2012-2014, 2016-2017 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@@ -325,7 +325,7 @@ struct sam_dev_s
|
|||||||
|
|
||||||
/* Callback support */
|
/* Callback support */
|
||||||
|
|
||||||
uint8_t cdstatus; /* Card status */
|
sdio_statset_t cdstatus; /* Card status */
|
||||||
sdio_eventset_t cbevents; /* Set of events to be cause callbacks */
|
sdio_eventset_t cbevents; /* Set of events to be cause callbacks */
|
||||||
worker_t callback; /* Registered callback function */
|
worker_t callback; /* Registered callback function */
|
||||||
void *cbarg; /* Registered callback argument */
|
void *cbarg; /* Registered callback argument */
|
||||||
@@ -464,7 +464,7 @@ static int sam_interrupt(int irq, void *context);
|
|||||||
/* Initialization/setup */
|
/* Initialization/setup */
|
||||||
|
|
||||||
static void sam_reset(FAR struct sdio_dev_s *dev);
|
static void sam_reset(FAR struct sdio_dev_s *dev);
|
||||||
static uint8_t sam_status(FAR struct sdio_dev_s *dev);
|
static sdio_statset_t sam_status(FAR struct sdio_dev_s *dev);
|
||||||
static void sam_widebus(FAR struct sdio_dev_s *dev, bool enable);
|
static void sam_widebus(FAR struct sdio_dev_s *dev, bool enable);
|
||||||
static void sam_clock(FAR struct sdio_dev_s *dev,
|
static void sam_clock(FAR struct sdio_dev_s *dev,
|
||||||
enum sdio_clock_e rate);
|
enum sdio_clock_e rate);
|
||||||
@@ -519,6 +519,7 @@ struct sam_dev_s g_sdiodev =
|
|||||||
.dev =
|
.dev =
|
||||||
{
|
{
|
||||||
.reset = sam_reset,
|
.reset = sam_reset,
|
||||||
|
.capabilities = NULL,
|
||||||
.status = sam_status,
|
.status = sam_status,
|
||||||
.widebus = sam_widebus,
|
.widebus = sam_widebus,
|
||||||
.clock = sam_clock,
|
.clock = sam_clock,
|
||||||
@@ -1470,7 +1471,7 @@ static void sam_reset(FAR struct sdio_dev_s *dev)
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
static uint8_t sam_status(FAR struct sdio_dev_s *dev)
|
static sdio_statset_t sam_status(FAR struct sdio_dev_s *dev)
|
||||||
{
|
{
|
||||||
struct sam_dev_s *priv = (struct sam_dev_s *)dev;
|
struct sam_dev_s *priv = (struct sam_dev_s *)dev;
|
||||||
return priv->cdstatus;
|
return priv->cdstatus;
|
||||||
@@ -2738,7 +2739,7 @@ FAR struct sdio_dev_s *sdio_initialize(int slotno)
|
|||||||
void sdio_mediachange(FAR struct sdio_dev_s *dev, bool cardinslot)
|
void sdio_mediachange(FAR struct sdio_dev_s *dev, bool cardinslot)
|
||||||
{
|
{
|
||||||
struct sam_dev_s *priv = (struct sam_dev_s *)dev;
|
struct sam_dev_s *priv = (struct sam_dev_s *)dev;
|
||||||
uint8_t cdstatus;
|
sdio_statset_t cdstatus;
|
||||||
irqstate_t flags;
|
irqstate_t flags;
|
||||||
|
|
||||||
/* Update card status */
|
/* Update card status */
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* arch/arm/src/sama5/sam_hsmci.c
|
* arch/arm/src/sama5/sam_hsmci.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2013-2014, 2016 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2013-2014, 2016-2017 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@@ -407,7 +407,7 @@ struct sam_dev_s
|
|||||||
|
|
||||||
/* Callback support */
|
/* Callback support */
|
||||||
|
|
||||||
uint8_t cdstatus; /* Card status */
|
sdio_statset_t cdstatus; /* Card status */
|
||||||
sdio_eventset_t cbevents; /* Set of events to be cause callbacks */
|
sdio_eventset_t cbevents; /* Set of events to be cause callbacks */
|
||||||
worker_t callback; /* Registered callback function */
|
worker_t callback; /* Registered callback function */
|
||||||
void *cbarg; /* Registered callback argument */
|
void *cbarg; /* Registered callback argument */
|
||||||
@@ -547,7 +547,7 @@ static int sam_hsmci2_interrupt(int irq, void *context);
|
|||||||
/* Initialization/setup */
|
/* Initialization/setup */
|
||||||
|
|
||||||
static void sam_reset(FAR struct sdio_dev_s *dev);
|
static void sam_reset(FAR struct sdio_dev_s *dev);
|
||||||
static uint8_t sam_status(FAR struct sdio_dev_s *dev);
|
static sdio_statset_t sam_status(FAR struct sdio_dev_s *dev);
|
||||||
static void sam_widebus(FAR struct sdio_dev_s *dev, bool enable);
|
static void sam_widebus(FAR struct sdio_dev_s *dev, bool enable);
|
||||||
static void sam_clock(FAR struct sdio_dev_s *dev,
|
static void sam_clock(FAR struct sdio_dev_s *dev,
|
||||||
enum sdio_clock_e rate);
|
enum sdio_clock_e rate);
|
||||||
@@ -609,6 +609,7 @@ static void sam_callback(void *arg);
|
|||||||
static const struct sdio_dev_s g_callbacks =
|
static const struct sdio_dev_s g_callbacks =
|
||||||
{
|
{
|
||||||
.reset = sam_reset,
|
.reset = sam_reset,
|
||||||
|
.capabilities = NULL,
|
||||||
.status = sam_status,
|
.status = sam_status,
|
||||||
.widebus = sam_widebus,
|
.widebus = sam_widebus,
|
||||||
.clock = sam_clock,
|
.clock = sam_clock,
|
||||||
@@ -1788,7 +1789,7 @@ static void sam_reset(FAR struct sdio_dev_s *dev)
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
static uint8_t sam_status(FAR struct sdio_dev_s *dev)
|
static sdio_statset_t sam_status(FAR struct sdio_dev_s *dev)
|
||||||
{
|
{
|
||||||
struct sam_dev_s *priv = (struct sam_dev_s *)dev;
|
struct sam_dev_s *priv = (struct sam_dev_s *)dev;
|
||||||
return priv->cdstatus;
|
return priv->cdstatus;
|
||||||
@@ -3389,7 +3390,7 @@ FAR struct sdio_dev_s *sdio_initialize(int slotno)
|
|||||||
void sdio_mediachange(FAR struct sdio_dev_s *dev, bool cardinslot)
|
void sdio_mediachange(FAR struct sdio_dev_s *dev, bool cardinslot)
|
||||||
{
|
{
|
||||||
struct sam_dev_s *priv = (struct sam_dev_s *)dev;
|
struct sam_dev_s *priv = (struct sam_dev_s *)dev;
|
||||||
uint8_t cdstatus;
|
sdio_statset_t cdstatus;
|
||||||
irqstate_t flags;
|
irqstate_t flags;
|
||||||
|
|
||||||
/* Update card status. Interrupts are disabled here because if we are
|
/* Update card status. Interrupts are disabled here because if we are
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* arch/arm/src/samv7/sam_hsmci.c
|
* arch/arm/src/samv7/sam_hsmci.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2015-2016 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2015-2017 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@@ -341,7 +341,7 @@ struct sam_dev_s
|
|||||||
|
|
||||||
/* Callback support */
|
/* Callback support */
|
||||||
|
|
||||||
uint8_t cdstatus; /* Card status */
|
sdio_statset_t cdstatus; /* Card status */
|
||||||
sdio_eventset_t cbevents; /* Set of events to be cause callbacks */
|
sdio_eventset_t cbevents; /* Set of events to be cause callbacks */
|
||||||
worker_t callback; /* Registered callback function */
|
worker_t callback; /* Registered callback function */
|
||||||
void *cbarg; /* Registered callback argument */
|
void *cbarg; /* Registered callback argument */
|
||||||
@@ -478,7 +478,7 @@ static int sam_hsmci1_interrupt(int irq, void *context);
|
|||||||
/* Initialization/setup */
|
/* Initialization/setup */
|
||||||
|
|
||||||
static void sam_reset(FAR struct sdio_dev_s *dev);
|
static void sam_reset(FAR struct sdio_dev_s *dev);
|
||||||
static uint8_t sam_status(FAR struct sdio_dev_s *dev);
|
static sdio_statset_t sam_status(FAR struct sdio_dev_s *dev);
|
||||||
static void sam_widebus(FAR struct sdio_dev_s *dev, bool enable);
|
static void sam_widebus(FAR struct sdio_dev_s *dev, bool enable);
|
||||||
static void sam_clock(FAR struct sdio_dev_s *dev,
|
static void sam_clock(FAR struct sdio_dev_s *dev,
|
||||||
enum sdio_clock_e rate);
|
enum sdio_clock_e rate);
|
||||||
@@ -540,6 +540,7 @@ static void sam_callback(void *arg);
|
|||||||
static const struct sdio_dev_s g_callbacks =
|
static const struct sdio_dev_s g_callbacks =
|
||||||
{
|
{
|
||||||
.reset = sam_reset,
|
.reset = sam_reset,
|
||||||
|
.capabilities = NULL,
|
||||||
.status = sam_status,
|
.status = sam_status,
|
||||||
.widebus = sam_widebus,
|
.widebus = sam_widebus,
|
||||||
.clock = sam_clock,
|
.clock = sam_clock,
|
||||||
@@ -1762,7 +1763,7 @@ static void sam_reset(FAR struct sdio_dev_s *dev)
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
static uint8_t sam_status(FAR struct sdio_dev_s *dev)
|
static sdio_statset_t sam_status(FAR struct sdio_dev_s *dev)
|
||||||
{
|
{
|
||||||
struct sam_dev_s *priv = (struct sam_dev_s *)dev;
|
struct sam_dev_s *priv = (struct sam_dev_s *)dev;
|
||||||
return priv->cdstatus;
|
return priv->cdstatus;
|
||||||
@@ -3410,7 +3411,7 @@ FAR struct sdio_dev_s *sdio_initialize(int slotno)
|
|||||||
void sdio_mediachange(FAR struct sdio_dev_s *dev, bool cardinslot)
|
void sdio_mediachange(FAR struct sdio_dev_s *dev, bool cardinslot)
|
||||||
{
|
{
|
||||||
struct sam_dev_s *priv = (struct sam_dev_s *)dev;
|
struct sam_dev_s *priv = (struct sam_dev_s *)dev;
|
||||||
uint8_t cdstatus;
|
sdio_statset_t cdstatus;
|
||||||
irqstate_t flags;
|
irqstate_t flags;
|
||||||
|
|
||||||
/* Update card status. Interrupts are disabled here because if we are
|
/* Update card status. Interrupts are disabled here because if we are
|
||||||
|
|||||||
@@ -6103,7 +6103,7 @@ config SDIO_DMAPRIO
|
|||||||
For other STM32's, options are: 0x00000000 low, 0x00010000 medium,
|
For other STM32's, options are: 0x00000000 low, 0x00010000 medium,
|
||||||
0x00020000 high, 0x00030000 very high. Default: medium.
|
0x00020000 high, 0x00030000 very high. Default: medium.
|
||||||
|
|
||||||
config SDIO_WIDTH_D1_ONLY
|
config STM32_SDIO_WIDTH_D1_ONLY
|
||||||
bool "Use D1 only"
|
bool "Use D1 only"
|
||||||
default n
|
default n
|
||||||
---help---
|
---help---
|
||||||
|
|||||||
@@ -342,7 +342,7 @@
|
|||||||
|
|
||||||
#define GPIO_SDIO_D0 (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTC|GPIO_PIN8)
|
#define GPIO_SDIO_D0 (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTC|GPIO_PIN8)
|
||||||
|
|
||||||
#ifndef CONFIG_SDIO_WIDTH_D1_ONLY
|
#ifndef CONFIG_STM32_SDIO_WIDTH_D1_ONLY
|
||||||
# define GPIO_SDIO_D1 (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTC|GPIO_PIN9)
|
# define GPIO_SDIO_D1 (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTC|GPIO_PIN9)
|
||||||
# define GPIO_SDIO_D2 (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTC|GPIO_PIN10)
|
# define GPIO_SDIO_D2 (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTC|GPIO_PIN10)
|
||||||
# define GPIO_SDIO_D3 (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTC|GPIO_PIN11)
|
# define GPIO_SDIO_D3 (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTC|GPIO_PIN11)
|
||||||
|
|||||||
@@ -83,7 +83,7 @@
|
|||||||
|
|
||||||
#define GPIO_SDIO_D0 (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTC|GPIO_PIN8)
|
#define GPIO_SDIO_D0 (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTC|GPIO_PIN8)
|
||||||
|
|
||||||
#ifndef CONFIG_SDIO_WIDTH_D1_ONLY
|
#ifndef CONFIG_STM32_SDIO_WIDTH_D1_ONLY
|
||||||
# define GPIO_SDIO_D1 (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTC|GPIO_PIN9)
|
# define GPIO_SDIO_D1 (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTC|GPIO_PIN9)
|
||||||
# define GPIO_SDIO_D2 (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTC|GPIO_PIN10)
|
# define GPIO_SDIO_D2 (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTC|GPIO_PIN10)
|
||||||
# define GPIO_SDIO_D3 (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTC|GPIO_PIN11)
|
# define GPIO_SDIO_D3 (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTC|GPIO_PIN11)
|
||||||
|
|||||||
@@ -451,7 +451,7 @@
|
|||||||
|
|
||||||
#define GPIO_SDIO_D0 (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTC|GPIO_PIN8)
|
#define GPIO_SDIO_D0 (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTC|GPIO_PIN8)
|
||||||
|
|
||||||
#ifndef CONFIG_SDIO_WIDTH_D1_ONLY
|
#ifndef CONFIG_STM32_SDIO_WIDTH_D1_ONLY
|
||||||
# define GPIO_SDIO_D1 (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTC|GPIO_PIN9)
|
# define GPIO_SDIO_D1 (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTC|GPIO_PIN9)
|
||||||
# define GPIO_SDIO_D2 (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTC|GPIO_PIN10)
|
# define GPIO_SDIO_D2 (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTC|GPIO_PIN10)
|
||||||
# define GPIO_SDIO_D3 (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTC|GPIO_PIN11)
|
# define GPIO_SDIO_D3 (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTC|GPIO_PIN11)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* arch/arm/src/stm32/stm32_sdio.c
|
* arch/arm/src/stm32/stm32_sdio.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2009, 2011-2014, 2016 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2009, 2011-2014, 2016-2017 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@@ -88,9 +88,9 @@
|
|||||||
* CONFIG_SDIO_DMA - Enable SDIO. This is a marginally optional. For
|
* CONFIG_SDIO_DMA - Enable SDIO. This is a marginally optional. For
|
||||||
* most usages, SDIO will cause data overruns if used without DMA.
|
* most usages, SDIO will cause data overruns if used without DMA.
|
||||||
* NOTE the above system DMA configuration options.
|
* NOTE the above system DMA configuration options.
|
||||||
* CONFIG_SDIO_WIDTH_D1_ONLY - This may be selected to force the driver
|
* CONFIG_STM32_SDIO_WIDTH_D1_ONLY - This may be selected to force the
|
||||||
* operate with only a single data line (the default is to use all
|
* driver operate with only a single data line (the default is to use
|
||||||
* 4 SD data lines).
|
* all 4 SD data lines).
|
||||||
* CONFIG_SDIO_PRI - SDIO interrupt priority. This setting is not very
|
* CONFIG_SDIO_PRI - SDIO interrupt priority. This setting is not very
|
||||||
* important since interrupt nesting is not currently supported.
|
* important since interrupt nesting is not currently supported.
|
||||||
* CONFIG_SDM_DMAPRIO - SDIO DMA priority. This can be selecte if
|
* CONFIG_SDM_DMAPRIO - SDIO DMA priority. This can be selecte if
|
||||||
@@ -314,7 +314,7 @@ struct stm32_dev_s
|
|||||||
|
|
||||||
/* Callback support */
|
/* Callback support */
|
||||||
|
|
||||||
uint8_t cdstatus; /* Card status */
|
sdio_statset_t cdstatus; /* Card status */
|
||||||
sdio_eventset_t cbevents; /* Set of events to be cause callbacks */
|
sdio_eventset_t cbevents; /* Set of events to be cause callbacks */
|
||||||
worker_t callback; /* Registered callback function */
|
worker_t callback; /* Registered callback function */
|
||||||
void *cbarg; /* Registered callback argument */
|
void *cbarg; /* Registered callback argument */
|
||||||
@@ -425,7 +425,8 @@ static int stm32_lock(FAR struct sdio_dev_s *dev, bool lock);
|
|||||||
/* Initialization/setup */
|
/* Initialization/setup */
|
||||||
|
|
||||||
static void stm32_reset(FAR struct sdio_dev_s *dev);
|
static void stm32_reset(FAR struct sdio_dev_s *dev);
|
||||||
static uint8_t stm32_status(FAR struct sdio_dev_s *dev);
|
static sdio_capset_t stm32_capabilities(FAR struct sdio_dev_s *dev);
|
||||||
|
static sdio_statset_t stm32_status(FAR struct sdio_dev_s *dev);
|
||||||
static void stm32_widebus(FAR struct sdio_dev_s *dev, bool enable);
|
static void stm32_widebus(FAR struct sdio_dev_s *dev, bool enable);
|
||||||
static void stm32_clock(FAR struct sdio_dev_s *dev,
|
static void stm32_clock(FAR struct sdio_dev_s *dev,
|
||||||
enum sdio_clock_e rate);
|
enum sdio_clock_e rate);
|
||||||
@@ -493,6 +494,7 @@ struct stm32_dev_s g_sdiodev =
|
|||||||
.lock = stm32_lock,
|
.lock = stm32_lock,
|
||||||
#endif
|
#endif
|
||||||
.reset = stm32_reset,
|
.reset = stm32_reset,
|
||||||
|
.capabilities = stm32_capabilities,
|
||||||
.status = stm32_status,
|
.status = stm32_status,
|
||||||
.widebus = stm32_widebus,
|
.widebus = stm32_widebus,
|
||||||
.clock = stm32_clock,
|
.clock = stm32_clock,
|
||||||
@@ -1602,6 +1604,28 @@ static void stm32_reset(FAR struct sdio_dev_s *dev)
|
|||||||
getreg32(STM32_SDIO_CLKCR), getreg32(STM32_SDIO_POWER));
|
getreg32(STM32_SDIO_CLKCR), getreg32(STM32_SDIO_POWER));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Name: stm32_capabilities
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Get capabilities (and limitations) of the SDIO driver (optional)
|
||||||
|
*
|
||||||
|
* Input Parameters:
|
||||||
|
* dev - Device-specific state data
|
||||||
|
*
|
||||||
|
* Returned Value:
|
||||||
|
* Returns a bitset of status values (see SDIO_CAPS_* defines)
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
static sdio_capset_t stm32_capabilities(FAR struct sdio_dev_s *dev)
|
||||||
|
{
|
||||||
|
#ifdef CONFIG_STM32_SDIO_WIDTH_D1_ONLY
|
||||||
|
return SDIO_CAPS_1BIT_ONLY;
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: stm32_status
|
* Name: stm32_status
|
||||||
*
|
*
|
||||||
@@ -1616,7 +1640,7 @@ static void stm32_reset(FAR struct sdio_dev_s *dev)
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
static uint8_t stm32_status(FAR struct sdio_dev_s *dev)
|
static sdio_statset_t stm32_status(FAR struct sdio_dev_s *dev)
|
||||||
{
|
{
|
||||||
struct stm32_dev_s *priv = (struct stm32_dev_s *)dev;
|
struct stm32_dev_s *priv = (struct stm32_dev_s *)dev;
|
||||||
return priv->cdstatus;
|
return priv->cdstatus;
|
||||||
@@ -1688,7 +1712,7 @@ static void stm32_clock(FAR struct sdio_dev_s *dev, enum sdio_clock_e rate)
|
|||||||
/* SD normal operation clocking (wide 4-bit mode) */
|
/* SD normal operation clocking (wide 4-bit mode) */
|
||||||
|
|
||||||
case CLOCK_SD_TRANSFER_4BIT:
|
case CLOCK_SD_TRANSFER_4BIT:
|
||||||
#ifndef CONFIG_SDIO_WIDTH_D1_ONLY
|
#ifndef CONFIG_STM32_SDIO_WIDTH_D1_ONLY
|
||||||
clckr = (SDIO_CLCKR_SDWIDEXFR | SDIO_CLKCR_CLKEN);
|
clckr = (SDIO_CLCKR_SDWIDEXFR | SDIO_CLKCR_CLKEN);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
@@ -2897,7 +2921,7 @@ FAR struct sdio_dev_s *sdio_initialize(int slotno)
|
|||||||
|
|
||||||
#ifndef CONFIG_SDIO_MUXBUS
|
#ifndef CONFIG_SDIO_MUXBUS
|
||||||
stm32_configgpio(GPIO_SDIO_D0);
|
stm32_configgpio(GPIO_SDIO_D0);
|
||||||
#ifndef CONFIG_SDIO_WIDTH_D1_ONLY
|
#ifndef CONFIG_STM32_SDIO_WIDTH_D1_ONLY
|
||||||
stm32_configgpio(GPIO_SDIO_D1);
|
stm32_configgpio(GPIO_SDIO_D1);
|
||||||
stm32_configgpio(GPIO_SDIO_D2);
|
stm32_configgpio(GPIO_SDIO_D2);
|
||||||
stm32_configgpio(GPIO_SDIO_D3);
|
stm32_configgpio(GPIO_SDIO_D3);
|
||||||
@@ -2936,7 +2960,7 @@ FAR struct sdio_dev_s *sdio_initialize(int slotno)
|
|||||||
void sdio_mediachange(FAR struct sdio_dev_s *dev, bool cardinslot)
|
void sdio_mediachange(FAR struct sdio_dev_s *dev, bool cardinslot)
|
||||||
{
|
{
|
||||||
struct stm32_dev_s *priv = (struct stm32_dev_s *)dev;
|
struct stm32_dev_s *priv = (struct stm32_dev_s *)dev;
|
||||||
uint8_t cdstatus;
|
sdio_statset_t cdstatus;
|
||||||
irqstate_t flags;
|
irqstate_t flags;
|
||||||
|
|
||||||
/* Update card status */
|
/* Update card status */
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* arch/arm/src/stm32f7/stm32_sdmmc.c
|
* arch/arm/src/stm32f7/stm32_sdmmc.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2009, 2011-2016 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2009, 2011-2017 Gregory Nutt. All rights reserved.
|
||||||
* Authors: Gregory Nutt <gnutt@nuttx.org>
|
* Authors: Gregory Nutt <gnutt@nuttx.org>
|
||||||
* David Sidrane <david_s5@nscdg.com>
|
* David Sidrane <david_s5@nscdg.com>
|
||||||
*
|
*
|
||||||
@@ -366,7 +366,7 @@ struct stm32_dev_s
|
|||||||
|
|
||||||
/* Callback support */
|
/* Callback support */
|
||||||
|
|
||||||
uint8_t cdstatus; /* Card status */
|
sdio_statset_t cdstatus; /* Card status */
|
||||||
sdio_eventset_t cbevents; /* Set of events to be cause callbacks */
|
sdio_eventset_t cbevents; /* Set of events to be cause callbacks */
|
||||||
worker_t callback; /* Registered callback function */
|
worker_t callback; /* Registered callback function */
|
||||||
void *cbarg; /* Registered callback argument */
|
void *cbarg; /* Registered callback argument */
|
||||||
@@ -495,7 +495,7 @@ static int stm32_lock(FAR struct sdio_dev_s *dev, bool lock);
|
|||||||
/* Initialization/setup */
|
/* Initialization/setup */
|
||||||
|
|
||||||
static void stm32_reset(FAR struct sdio_dev_s *dev);
|
static void stm32_reset(FAR struct sdio_dev_s *dev);
|
||||||
static uint8_t stm32_status(FAR struct sdio_dev_s *dev);
|
static sdio_statset_t stm32_status(FAR struct sdio_dev_s *dev);
|
||||||
static void stm32_widebus(FAR struct sdio_dev_s *dev, bool enable);
|
static void stm32_widebus(FAR struct sdio_dev_s *dev, bool enable);
|
||||||
static void stm32_clock(FAR struct sdio_dev_s *dev,
|
static void stm32_clock(FAR struct sdio_dev_s *dev,
|
||||||
enum sdio_clock_e rate);
|
enum sdio_clock_e rate);
|
||||||
@@ -563,6 +563,7 @@ struct stm32_dev_s g_sdmmcdev1 =
|
|||||||
.lock = stm32_lock,
|
.lock = stm32_lock,
|
||||||
#endif
|
#endif
|
||||||
.reset = stm32_reset,
|
.reset = stm32_reset,
|
||||||
|
.capabilities = NULL,
|
||||||
.status = stm32_status,
|
.status = stm32_status,
|
||||||
.widebus = stm32_widebus,
|
.widebus = stm32_widebus,
|
||||||
.clock = stm32_clock,
|
.clock = stm32_clock,
|
||||||
@@ -619,6 +620,7 @@ struct stm32_dev_s g_sdmmcdev2 =
|
|||||||
.lock = stm32_lock,
|
.lock = stm32_lock,
|
||||||
#endif
|
#endif
|
||||||
.reset = stm32_reset,
|
.reset = stm32_reset,
|
||||||
|
.capabilities = NULL,
|
||||||
.status = stm32_status,
|
.status = stm32_status,
|
||||||
.widebus = stm32_widebus,
|
.widebus = stm32_widebus,
|
||||||
.clock = stm32_clock,
|
.clock = stm32_clock,
|
||||||
@@ -1866,7 +1868,7 @@ static void stm32_reset(FAR struct sdio_dev_s *dev)
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
static uint8_t stm32_status(FAR struct sdio_dev_s *dev)
|
static sdio_statset_t stm32_status(FAR struct sdio_dev_s *dev)
|
||||||
{
|
{
|
||||||
struct stm32_dev_s *priv = (struct stm32_dev_s *)dev;
|
struct stm32_dev_s *priv = (struct stm32_dev_s *)dev;
|
||||||
return priv->cdstatus;
|
return priv->cdstatus;
|
||||||
@@ -3276,7 +3278,7 @@ FAR struct sdio_dev_s *sdio_initialize(int slotno)
|
|||||||
void sdio_mediachange(FAR struct sdio_dev_s *dev, bool cardinslot)
|
void sdio_mediachange(FAR struct sdio_dev_s *dev, bool cardinslot)
|
||||||
{
|
{
|
||||||
struct stm32_dev_s *priv = (struct stm32_dev_s *)dev;
|
struct stm32_dev_s *priv = (struct stm32_dev_s *)dev;
|
||||||
uint8_t cdstatus;
|
sdio_statset_t cdstatus;
|
||||||
irqstate_t flags;
|
irqstate_t flags;
|
||||||
|
|
||||||
/* Update card status */
|
/* Update card status */
|
||||||
|
|||||||
@@ -739,7 +739,7 @@ M3 Wildfire-specific Configuration Options
|
|||||||
CONFIG_SDIO_PRI - Select SDIO interrupt prority. Default: 128
|
CONFIG_SDIO_PRI - Select SDIO interrupt prority. Default: 128
|
||||||
CONFIG_SDIO_DMAPRIO - Select SDIO DMA interrupt priority.
|
CONFIG_SDIO_DMAPRIO - Select SDIO DMA interrupt priority.
|
||||||
Default: Medium
|
Default: Medium
|
||||||
CONFIG_SDIO_WIDTH_D1_ONLY - Select 1-bit transfer mode. Default:
|
CONFIG_STM32_SDIO_WIDTH_D1_ONLY - Select 1-bit transfer mode. Default:
|
||||||
4-bit transfer mode.
|
4-bit transfer mode.
|
||||||
|
|
||||||
M3 Wildfire CAN Configuration
|
M3 Wildfire CAN Configuration
|
||||||
|
|||||||
@@ -157,7 +157,6 @@ CONFIG_ARMV7M_HAVE_STACKCHECK=y
|
|||||||
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
||||||
# CONFIG_SERIAL_TERMIOS is not set
|
# CONFIG_SERIAL_TERMIOS is not set
|
||||||
CONFIG_SDIO_DMA=y
|
CONFIG_SDIO_DMA=y
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# STM32 Configuration Options
|
# STM32 Configuration Options
|
||||||
|
|||||||
@@ -249,7 +249,6 @@ CONFIG_KINETIS_PORTEINTS=y
|
|||||||
#
|
#
|
||||||
# CONFIG_KINETIS_UARTFIFOS is not set
|
# CONFIG_KINETIS_UARTFIFOS is not set
|
||||||
CONFIG_SDIO_DMA=y
|
CONFIG_SDIO_DMA=y
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Architecture Options
|
# Architecture Options
|
||||||
|
|||||||
@@ -481,7 +481,7 @@ HY-Mini specific Configuration Options
|
|||||||
CONFIG_SDIO_PRI - Select SDIO interrupt prority. Default: 128
|
CONFIG_SDIO_PRI - Select SDIO interrupt prority. Default: 128
|
||||||
CONFIG_SDIO_DMAPRIO - Select SDIO DMA interrupt priority.
|
CONFIG_SDIO_DMAPRIO - Select SDIO DMA interrupt priority.
|
||||||
Default: Medium
|
Default: Medium
|
||||||
CONFIG_SDIO_WIDTH_D1_ONLY - Select 1-bit transfer mode. Default:
|
CONFIG_STM32_SDIO_WIDTH_D1_ONLY - Select 1-bit transfer mode. Default:
|
||||||
4-bit transfer mode.
|
4-bit transfer mode.
|
||||||
CONFIG_MMCSD_HAVECARDDETECT - Select if SDIO driver card detection
|
CONFIG_MMCSD_HAVECARDDETECT - Select if SDIO driver card detection
|
||||||
is 100% accurate (it is on the HY-MiniSTM32V)
|
is 100% accurate (it is on the HY-MiniSTM32V)
|
||||||
|
|||||||
@@ -146,7 +146,6 @@ CONFIG_ARMV7M_HAVE_STACKCHECK=y
|
|||||||
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
||||||
# CONFIG_SERIAL_TERMIOS is not set
|
# CONFIG_SERIAL_TERMIOS is not set
|
||||||
CONFIG_SDIO_DMA=y
|
CONFIG_SDIO_DMA=y
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# STM32 Configuration Options
|
# STM32 Configuration Options
|
||||||
|
|||||||
@@ -149,7 +149,6 @@ CONFIG_ARMV7M_HAVE_STACKCHECK=y
|
|||||||
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
||||||
# CONFIG_SERIAL_TERMIOS is not set
|
# CONFIG_SERIAL_TERMIOS is not set
|
||||||
CONFIG_SDIO_DMA=y
|
CONFIG_SDIO_DMA=y
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# STM32 Configuration Options
|
# STM32 Configuration Options
|
||||||
|
|||||||
@@ -146,7 +146,6 @@ CONFIG_ARMV7M_HAVE_STACKCHECK=y
|
|||||||
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
||||||
# CONFIG_SERIAL_TERMIOS is not set
|
# CONFIG_SERIAL_TERMIOS is not set
|
||||||
CONFIG_SDIO_DMA=y
|
CONFIG_SDIO_DMA=y
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# STM32 Configuration Options
|
# STM32 Configuration Options
|
||||||
|
|||||||
@@ -678,7 +678,7 @@ Mikroe-STM32F4-specific Configuration Options
|
|||||||
CONFIG_SDIO_PRI - Select SDIO interrupt prority. Default: 128
|
CONFIG_SDIO_PRI - Select SDIO interrupt prority. Default: 128
|
||||||
CONFIG_SDIO_DMAPRIO - Select SDIO DMA interrupt priority.
|
CONFIG_SDIO_DMAPRIO - Select SDIO DMA interrupt priority.
|
||||||
Default: Medium
|
Default: Medium
|
||||||
CONFIG_SDIO_WIDTH_D1_ONLY - Select 1-bit transfer mode. Default:
|
CONFIG_STM32_SDIO_WIDTH_D1_ONLY - Select 1-bit transfer mode. Default:
|
||||||
4-bit transfer mode.
|
4-bit transfer mode.
|
||||||
|
|
||||||
STM32 USB OTG FS Host Driver Support
|
STM32 USB OTG FS Host Driver Support
|
||||||
|
|||||||
@@ -233,7 +233,6 @@ CONFIG_LPC17_GPDMA=y
|
|||||||
# SDIO Configuration
|
# SDIO Configuration
|
||||||
#
|
#
|
||||||
CONFIG_SDIO_DMA=y
|
CONFIG_SDIO_DMA=y
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Architecture Options
|
# Architecture Options
|
||||||
|
|||||||
@@ -227,7 +227,6 @@ CONFIG_LPC17_GPDMA=y
|
|||||||
# SDIO Configuration
|
# SDIO Configuration
|
||||||
#
|
#
|
||||||
CONFIG_SDIO_DMA=y
|
CONFIG_SDIO_DMA=y
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Architecture Options
|
# Architecture Options
|
||||||
|
|||||||
@@ -240,7 +240,6 @@ CONFIG_LPC17_EXTDRAMHEAP=y
|
|||||||
# SDIO Configuration
|
# SDIO Configuration
|
||||||
#
|
#
|
||||||
# CONFIG_SDIO_DMA is not set
|
# CONFIG_SDIO_DMA is not set
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# LCD device driver options
|
# LCD device driver options
|
||||||
|
|||||||
@@ -154,7 +154,6 @@ CONFIG_ARCH_HAVE_EXTNAND=y
|
|||||||
CONFIG_ARCH_HAVE_EXTNOR=y
|
CONFIG_ARCH_HAVE_EXTNOR=y
|
||||||
CONFIG_ARCH_HAVE_EXTSRAM0=y
|
CONFIG_ARCH_HAVE_EXTSRAM0=y
|
||||||
CONFIG_SDIO_DMA=y
|
CONFIG_SDIO_DMA=y
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
CONFIG_ARCH_HAVE_EXTSRAM1=y
|
CONFIG_ARCH_HAVE_EXTSRAM1=y
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -148,7 +148,6 @@ CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
|
|||||||
# CONFIG_ARMV7A_DECODEFIQ is not set
|
# CONFIG_ARMV7A_DECODEFIQ is not set
|
||||||
# CONFIG_SERIAL_TERMIOS is not set
|
# CONFIG_SERIAL_TERMIOS is not set
|
||||||
CONFIG_SDIO_DMA=y
|
CONFIG_SDIO_DMA=y
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
# CONFIG_USBHOST_BULK_DISABLE is not set
|
# CONFIG_USBHOST_BULK_DISABLE is not set
|
||||||
# CONFIG_USBHOST_INT_DISABLE is not set
|
# CONFIG_USBHOST_INT_DISABLE is not set
|
||||||
CONFIG_USBHOST_ISOC_DISABLE=y
|
CONFIG_USBHOST_ISOC_DISABLE=y
|
||||||
|
|||||||
@@ -148,7 +148,6 @@ CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
|
|||||||
# CONFIG_ARMV7A_DECODEFIQ is not set
|
# CONFIG_ARMV7A_DECODEFIQ is not set
|
||||||
# CONFIG_SERIAL_TERMIOS is not set
|
# CONFIG_SERIAL_TERMIOS is not set
|
||||||
CONFIG_SDIO_DMA=y
|
CONFIG_SDIO_DMA=y
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# SAMA5 Configuration Options
|
# SAMA5 Configuration Options
|
||||||
|
|||||||
@@ -156,7 +156,6 @@ CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
|
|||||||
# CONFIG_ARMV7A_DECODEFIQ is not set
|
# CONFIG_ARMV7A_DECODEFIQ is not set
|
||||||
# CONFIG_SERIAL_TERMIOS is not set
|
# CONFIG_SERIAL_TERMIOS is not set
|
||||||
CONFIG_SDIO_DMA=y
|
CONFIG_SDIO_DMA=y
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
# CONFIG_USBHOST_BULK_DISABLE is not set
|
# CONFIG_USBHOST_BULK_DISABLE is not set
|
||||||
# CONFIG_USBHOST_INT_DISABLE is not set
|
# CONFIG_USBHOST_INT_DISABLE is not set
|
||||||
CONFIG_USBHOST_ISOC_DISABLE=y
|
CONFIG_USBHOST_ISOC_DISABLE=y
|
||||||
|
|||||||
@@ -163,7 +163,6 @@ CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
|
|||||||
# CONFIG_ARMV7A_DECODEFIQ is not set
|
# CONFIG_ARMV7A_DECODEFIQ is not set
|
||||||
# CONFIG_SERIAL_TERMIOS is not set
|
# CONFIG_SERIAL_TERMIOS is not set
|
||||||
CONFIG_SDIO_DMA=y
|
CONFIG_SDIO_DMA=y
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# SAMA5 Configuration Options
|
# SAMA5 Configuration Options
|
||||||
|
|||||||
@@ -156,7 +156,6 @@ CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
|
|||||||
# CONFIG_ARMV7A_DECODEFIQ is not set
|
# CONFIG_ARMV7A_DECODEFIQ is not set
|
||||||
# CONFIG_SERIAL_TERMIOS is not set
|
# CONFIG_SERIAL_TERMIOS is not set
|
||||||
CONFIG_SDIO_DMA=y
|
CONFIG_SDIO_DMA=y
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
# CONFIG_USBHOST_BULK_DISABLE is not set
|
# CONFIG_USBHOST_BULK_DISABLE is not set
|
||||||
# CONFIG_USBHOST_INT_DISABLE is not set
|
# CONFIG_USBHOST_INT_DISABLE is not set
|
||||||
CONFIG_USBHOST_ISOC_DISABLE=y
|
CONFIG_USBHOST_ISOC_DISABLE=y
|
||||||
|
|||||||
@@ -158,7 +158,6 @@ CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
|
|||||||
# CONFIG_ARMV7A_DECODEFIQ is not set
|
# CONFIG_ARMV7A_DECODEFIQ is not set
|
||||||
# CONFIG_SERIAL_TERMIOS is not set
|
# CONFIG_SERIAL_TERMIOS is not set
|
||||||
CONFIG_SDIO_DMA=y
|
CONFIG_SDIO_DMA=y
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
# CONFIG_USBHOST_BULK_DISABLE is not set
|
# CONFIG_USBHOST_BULK_DISABLE is not set
|
||||||
# CONFIG_USBHOST_INT_DISABLE is not set
|
# CONFIG_USBHOST_INT_DISABLE is not set
|
||||||
CONFIG_USBHOST_ISOC_DISABLE=y
|
CONFIG_USBHOST_ISOC_DISABLE=y
|
||||||
|
|||||||
@@ -167,7 +167,6 @@ CONFIG_ARMV7M_HAVE_STACKCHECK=y
|
|||||||
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
||||||
# CONFIG_SERIAL_TERMIOS is not set
|
# CONFIG_SERIAL_TERMIOS is not set
|
||||||
CONFIG_SDIO_DMA=y
|
CONFIG_SDIO_DMA=y
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# SAMV7 Configuration Options
|
# SAMV7 Configuration Options
|
||||||
|
|||||||
@@ -167,7 +167,6 @@ CONFIG_ARMV7M_HAVE_STACKCHECK=y
|
|||||||
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
||||||
# CONFIG_SERIAL_TERMIOS is not set
|
# CONFIG_SERIAL_TERMIOS is not set
|
||||||
CONFIG_SDIO_DMA=y
|
CONFIG_SDIO_DMA=y
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# SAMV7 Configuration Options
|
# SAMV7 Configuration Options
|
||||||
|
|||||||
@@ -173,7 +173,6 @@ CONFIG_ARMV7M_HAVE_STACKCHECK=y
|
|||||||
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
||||||
# CONFIG_SERIAL_TERMIOS is not set
|
# CONFIG_SERIAL_TERMIOS is not set
|
||||||
CONFIG_SDIO_DMA=y
|
CONFIG_SDIO_DMA=y
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# SAMV7 Configuration Options
|
# SAMV7 Configuration Options
|
||||||
|
|||||||
@@ -167,7 +167,6 @@ CONFIG_ARMV7M_HAVE_STACKCHECK=y
|
|||||||
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
||||||
# CONFIG_SERIAL_TERMIOS is not set
|
# CONFIG_SERIAL_TERMIOS is not set
|
||||||
CONFIG_SDIO_DMA=y
|
CONFIG_SDIO_DMA=y
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# SAMV7 Configuration Options
|
# SAMV7 Configuration Options
|
||||||
|
|||||||
@@ -168,7 +168,6 @@ CONFIG_ARMV7M_HAVE_STACKCHECK=y
|
|||||||
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
||||||
# CONFIG_SERIAL_TERMIOS is not set
|
# CONFIG_SERIAL_TERMIOS is not set
|
||||||
CONFIG_SDIO_DMA=y
|
CONFIG_SDIO_DMA=y
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# SAMV7 Configuration Options
|
# SAMV7 Configuration Options
|
||||||
|
|||||||
@@ -167,7 +167,6 @@ CONFIG_ARMV7M_HAVE_STACKCHECK=y
|
|||||||
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
||||||
# CONFIG_SERIAL_TERMIOS is not set
|
# CONFIG_SERIAL_TERMIOS is not set
|
||||||
CONFIG_SDIO_DMA=y
|
CONFIG_SDIO_DMA=y
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# SAMV7 Configuration Options
|
# SAMV7 Configuration Options
|
||||||
|
|||||||
@@ -167,7 +167,6 @@ CONFIG_ARMV7M_HAVE_STACKCHECK=y
|
|||||||
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
||||||
# CONFIG_SERIAL_TERMIOS is not set
|
# CONFIG_SERIAL_TERMIOS is not set
|
||||||
CONFIG_SDIO_DMA=y
|
CONFIG_SDIO_DMA=y
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# SAMV7 Configuration Options
|
# SAMV7 Configuration Options
|
||||||
|
|||||||
@@ -167,7 +167,6 @@ CONFIG_ARMV7M_HAVE_STACKCHECK=y
|
|||||||
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
||||||
# CONFIG_SERIAL_TERMIOS is not set
|
# CONFIG_SERIAL_TERMIOS is not set
|
||||||
CONFIG_SDIO_DMA=y
|
CONFIG_SDIO_DMA=y
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# SAMV7 Configuration Options
|
# SAMV7 Configuration Options
|
||||||
|
|||||||
@@ -167,7 +167,6 @@ CONFIG_ARMV7M_HAVE_STACKCHECK=y
|
|||||||
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
||||||
# CONFIG_SERIAL_TERMIOS is not set
|
# CONFIG_SERIAL_TERMIOS is not set
|
||||||
CONFIG_SDIO_DMA=y
|
CONFIG_SDIO_DMA=y
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# SAMV7 Configuration Options
|
# SAMV7 Configuration Options
|
||||||
|
|||||||
@@ -638,7 +638,7 @@ STM3210E-EVAL-specific Configuration Options
|
|||||||
CONFIG_SDIO_PRI - Select SDIO interrupt prority. Default: 128
|
CONFIG_SDIO_PRI - Select SDIO interrupt prority. Default: 128
|
||||||
CONFIG_SDIO_DMAPRIO - Select SDIO DMA interrupt priority.
|
CONFIG_SDIO_DMAPRIO - Select SDIO DMA interrupt priority.
|
||||||
Default: Medium
|
Default: Medium
|
||||||
CONFIG_SDIO_WIDTH_D1_ONLY - Select 1-bit transfer mode. Default:
|
CONFIG_STM32_SDIO_WIDTH_D1_ONLY - Select 1-bit transfer mode. Default:
|
||||||
4-bit transfer mode.
|
4-bit transfer mode.
|
||||||
|
|
||||||
STM3210E-EVAL CAN Configuration
|
STM3210E-EVAL CAN Configuration
|
||||||
|
|||||||
@@ -159,7 +159,6 @@ CONFIG_ARMV7M_HAVE_STACKCHECK=y
|
|||||||
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
||||||
# CONFIG_SERIAL_TERMIOS is not set
|
# CONFIG_SERIAL_TERMIOS is not set
|
||||||
CONFIG_SDIO_DMA=y
|
CONFIG_SDIO_DMA=y
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# STM32 Configuration Options
|
# STM32 Configuration Options
|
||||||
|
|||||||
@@ -160,7 +160,6 @@ CONFIG_ARMV7M_HAVE_STACKCHECK=y
|
|||||||
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
||||||
# CONFIG_SERIAL_TERMIOS is not set
|
# CONFIG_SERIAL_TERMIOS is not set
|
||||||
CONFIG_SDIO_DMA=y
|
CONFIG_SDIO_DMA=y
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# STM32 Configuration Options
|
# STM32 Configuration Options
|
||||||
|
|||||||
@@ -159,7 +159,6 @@ CONFIG_ARMV7M_HAVE_STACKCHECK=y
|
|||||||
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
||||||
# CONFIG_SERIAL_TERMIOS is not set
|
# CONFIG_SERIAL_TERMIOS is not set
|
||||||
CONFIG_SDIO_DMA=y
|
CONFIG_SDIO_DMA=y
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# STM32 Configuration Options
|
# STM32 Configuration Options
|
||||||
|
|||||||
@@ -150,7 +150,6 @@ CONFIG_ARMV7M_HAVE_STACKCHECK=y
|
|||||||
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
||||||
# CONFIG_SERIAL_TERMIOS is not set
|
# CONFIG_SERIAL_TERMIOS is not set
|
||||||
CONFIG_SDIO_DMA=y
|
CONFIG_SDIO_DMA=y
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# STM32 Configuration Options
|
# STM32 Configuration Options
|
||||||
|
|||||||
@@ -776,7 +776,7 @@ STM3220G-EVAL-specific Configuration Options
|
|||||||
CONFIG_SDIO_PRI - Select SDIO interrupt prority. Default: 128
|
CONFIG_SDIO_PRI - Select SDIO interrupt prority. Default: 128
|
||||||
CONFIG_SDIO_DMAPRIO - Select SDIO DMA interrupt priority.
|
CONFIG_SDIO_DMAPRIO - Select SDIO DMA interrupt priority.
|
||||||
Default: Medium
|
Default: Medium
|
||||||
CONFIG_SDIO_WIDTH_D1_ONLY - Select 1-bit transfer mode. Default:
|
CONFIG_STM32_SDIO_WIDTH_D1_ONLY - Select 1-bit transfer mode. Default:
|
||||||
4-bit transfer mode.
|
4-bit transfer mode.
|
||||||
|
|
||||||
CONFIG_STM32_PHYADDR - The 5-bit address of the PHY on the board
|
CONFIG_STM32_PHYADDR - The 5-bit address of the PHY on the board
|
||||||
|
|||||||
@@ -156,7 +156,6 @@ CONFIG_ARMV7M_HAVE_STACKCHECK=y
|
|||||||
# CONFIG_ARMV7M_STACKCHECK is not set
|
# CONFIG_ARMV7M_STACKCHECK is not set
|
||||||
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
||||||
CONFIG_SDIO_DMA=y
|
CONFIG_SDIO_DMA=y
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# STM32 Configuration Options
|
# STM32 Configuration Options
|
||||||
|
|||||||
@@ -769,7 +769,7 @@ STM3240G-EVAL-specific Configuration Options
|
|||||||
CONFIG_SDIO_PRI - Select SDIO interrupt prority. Default: 128
|
CONFIG_SDIO_PRI - Select SDIO interrupt prority. Default: 128
|
||||||
CONFIG_SDIO_DMAPRIO - Select SDIO DMA interrupt priority.
|
CONFIG_SDIO_DMAPRIO - Select SDIO DMA interrupt priority.
|
||||||
Default: Medium
|
Default: Medium
|
||||||
CONFIG_SDIO_WIDTH_D1_ONLY - Select 1-bit transfer mode. Default:
|
CONFIG_STM32_SDIO_WIDTH_D1_ONLY - Select 1-bit transfer mode. Default:
|
||||||
4-bit transfer mode.
|
4-bit transfer mode.
|
||||||
|
|
||||||
CONFIG_STM32_PHYADDR - The 5-bit address of the PHY on the board
|
CONFIG_STM32_PHYADDR - The 5-bit address of the PHY on the board
|
||||||
|
|||||||
@@ -157,7 +157,6 @@ CONFIG_ARMV7M_HAVE_STACKCHECK=y
|
|||||||
# CONFIG_ARMV7M_STACKCHECK is not set
|
# CONFIG_ARMV7M_STACKCHECK is not set
|
||||||
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
# CONFIG_ARMV7M_ITMSYSLOG is not set
|
||||||
CONFIG_SDIO_DMA=y
|
CONFIG_SDIO_DMA=y
|
||||||
# CONFIG_SDIO_WIDTH_D1_ONLY is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# STM32 Configuration Options
|
# STM32 Configuration Options
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user