- 12 1月, 2018 26 次提交
-
-
由 Jean-Jacques Hiblot 提交于
Boot partitions do not support HS200. Changing to a lower performance mode is required to access them. mmc_select_mode_and_width() and sd_select_mode_and_width() are modified to make it easier to call them outside of the initialization context. Signed-off-by: NJean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Jean-Jacques Hiblot 提交于
If a power cycle cannot be done on Vcc, it is safer not to try the UHS modes because we wouldn't be able to recover from an error occurring during the UHS initialization. Signed-off-by: NJean-Jacques Hiblot <jjhiblot@ti.com>
-
由 Jean-Jacques Hiblot 提交于
Add UHS modes to the list of supported modes, get the UHS capabilites of the SDcard and implement the procedure to switch the voltage (UHS modes use 1v8 IO lines) During the voltage switch procedure, DAT0 is used by the card to signal when it's ready. The optional card_busy() callback can be used to get this information from the host driver. Signed-off-by: NKishon Vijay Abraham I <kishon@ti.com> Signed-off-by: NJean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Kishon Vijay Abraham I 提交于
Add HS200 to the list of supported modes and introduce tuning in the MMC startup process. Signed-off-by: NKishon Vijay Abraham I <kishon@ti.com> Signed-off-by: NJean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Kishon Vijay Abraham I 提交于
Tuning is a mandatory step in the initialization of SDR104 and HS200 modes. This callback execute the tuning process. Signed-off-by: NKishon Vijay Abraham I <kishon@ti.com> Signed-off-by: NJean-Jacques Hiblot <jjhiblot@ti.com>
-
由 Kishon Vijay Abraham I 提交于
There is no point in having the mmc clock enabled during power off. Disable the mmc clock. This is similar to how it's programmed in Linux Kernel. Signed-off-by: NKishon Vijay Abraham I <kishon@ti.com> Signed-off-by: NVignesh R <vigneshr@ti.com> Signed-off-by: NJean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Kishon Vijay Abraham I 提交于
mmc clock has to be disabled in certain cases like during the voltage switch sequence. Modify mmc_set_clock function to take disable as an argument that signifies if the clock has to be enabled or disabled. Signed-off-by: NKishon Vijay Abraham I <kishon@ti.com> Signed-off-by: NJean-Jacques Hiblot <jjhiblot@ti.com>
-
由 Kishon Vijay Abraham I 提交于
mmc/sd specification requires vdd to be disabled for 1 ms and then enabled again during power cycle. Add a function in mmc core to perform power cycle and set the io signal to it's initial state. Signed-off-by: NKishon Vijay Abraham I <kishon@ti.com> Signed-off-by: NJean-Jacques Hiblot <jjhiblot@ti.com>
-
由 Jean-Jacques Hiblot 提交于
Add a new callback function *send_init_stream* which start a sequence of at least 74 clock cycles. The mmc core uses *mmc_send_init_stream* in order to invoke the callback function. This will be used during power cycle where the specification requires such a sequence after power up. Signed-off-by: NJean-Jacques Hiblot <jjhiblot@ti.com>
-
由 Kishon Vijay Abraham I 提交于
Add a new function *mmc_set_signal_voltage* in mmc core which can be used during mmc initialization to select the signal voltage. Platform driver should use the set_ios callback function to select the signal voltage. Signed-off-by: NKishon Vijay Abraham I <kishon@ti.com> Signed-off-by: NJean-Jacques Hiblot <jjhiblot@ti.com>
-
由 Kishon Vijay Abraham I 提交于
set_ios callback has a return value of 'int' but the mmc_set_ios() function ignore this. Modify mmc_set_ios() and the callers of mmc_set_ios() to to return the error status. Signed-off-by: NKishon Vijay Abraham I <kishon@ti.com> Signed-off-by: NJean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Jean-Jacques Hiblot 提交于
The MMC startup process currently handles 4 modes. To make it easier to add support for more modes, let's make the process more generic and use a list of the modes to try. The major functional change is that when a mode fails we try the next one. Not all modes are tried, only those supported by the card and the host. Signed-off-by: NJean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Jean-Jacques Hiblot 提交于
The SDcard startup process currently handles only 2 modes. To make it easier to add support for more modes, let's make the process more generic and use a list of the modes to try. The major functional change is that when a mode fails we try the next one. Not all modes are tried, only those supported by the card and the host. Signed-off-by: NJean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Jean-Jacques Hiblot 提交于
Signed-off-by: NJean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Jean-Jacques Hiblot 提交于
This adds a simple helper function to display information (bus width and mode) based on a capability mask. Useful for debug. Signed-off-by: NJean-Jacques Hiblot <jjhiblot@ti.com>
-
由 Jean-Jacques Hiblot 提交于
no functionnal changes. In order to add the support for the high speed SD and MMC modes, it is useful to track this information. Signed-off-by: NJean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Jean-Jacques Hiblot 提交于
This will be reused later in the selection of high speed and ddr modes. Signed-off-by: NJean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Jean-Jacques Hiblot 提交于
The ext csd is used for comparison many times. Keep a reference content of the ext csd in the struct mmc to avoid reading multiple times Signed-off-by: NJean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Jean-Jacques Hiblot 提交于
no functionnal change. This is only to further reduce the size o mmc_startup(). Signed-off-by: NJean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Jean-Jacques Hiblot 提交于
No functionnal change here. The function is really big and can be split. The part related to bus configuration are put in 2 separate functions: one for MMC and one for SD. Signed-off-by: NJean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Jean-Jacques Hiblot 提交于
Get a reference to the regulator devices from the dts and store them in the struct mmc for later use. Signed-off-by: NJean-Jacques Hiblot <jjhiblot@ti.com>
-
由 Heinrich Schuchardt 提交于
data is defined as struct mmc_data *data. So it should not be compared to 0. Problem identified with Coccinelle. Signed-off-by: NHeinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: NBin Meng <bmeng.cn@gmail.com>
-
由 Jorge Ramirez-Ortiz 提交于
Fixes emmc initialization regression on the db410c platform. Clearing this register while SDHCI_PRESENT_STATE reports SDHCI_CMD_INHIBIT leads to undefined behaviour on the db410c. When commit 7dde50 was merged (mmc: sdhci: Wait for SDHCI_INT_DATA_END when transferring), SDHCI transfers transitioned to wait for bit SDHCI_INT_DATA_END before flagging transfers done. Without this patch, the db410 platform fails to initialize its eMMC due to all of its transfers timing out (SDHCI_INT_DATA_END is never raised after all the blocks have been transferred). Signed-off-by: NJorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org>
-
由 Felix Brack 提交于
This patch fixes some warnings when building boards that do not define DM_I2C_COMPAT i.e. boards that entirely rely on the new i2c layer. Signed-off-by: NFelix Brack <fb@ltec.ch>
-
由 Suniel Mahesh 提交于
priv pointer should be freed before returning with an error value from exynos_dwmci_get_config(). Signed-off-by: NSuniel Mahesh <sunil.m@techveda.org> Signed-off-by: NRaghu Bharadwaj <raghu@techveda.org>
-
由 Suniel Mahesh 提交于
__be32_to_cpu() accepts argument of type __be32. This patch changes type of the buffer in ALLOC_CACHE_ALIGN_BUFFER macro to __be32, which is then passed to __be32_to_cpu(). This prevents sparse build warnings. drivers/mmc/mmc.c: warning: cast to restricted __be32 Signed-off-by: NSuniel Mahesh <sunil.m@techveda.org> Signed-off-by: NKarthik Tummala <karthik@techveda.org>
-
- 09 12月, 2017 2 次提交
-
-
由 Marek Vasut 提交于
Add new compatible to the Uniphier SD driver for R8A77995 D3 SoC. Signed-off-by: NMarek Vasut <marek.vasut+renesas@gmail.com> Cc: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
-
由 Marek Vasut 提交于
Add new compatible to the Uniphier SD driver for R8A77970 V3M SoC. Signed-off-by: NMarek Vasut <marek.vasut+renesas@gmail.com> Cc: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
-
- 30 11月, 2017 5 次提交
-
-
由 Ludovic Desroches 提交于
The capabilities have default values which doesn't reflect the reality when it concerns the base clock and the mul value. Use a fixe rate for the gck. 240 MHz is an arbitrary choice, it is a multiple of the maximum SD clock frequency handle by the controller and it allows to get a 400 kHz clock for the card initialisation. Signed-off-by: NLudovic Desroches <ludovic.desroches@microchip.com> Signed-off-by: NWenyou Yang <wenyou.yang@microchip.com>
-
由 Rick Chen 提交于
AE3XX can not support SD high-speed mode. SW can work-around by removing HS capibility. Signed-off-by: NRick Chen <rick@andestech.com>
-
由 Rick Chen 提交于
Bit of DATA_END and DATA_CRC_OK shall be checked for returning pass or fail of a request. Signed-off-by: NRick Chen <rick@andestech.com>
-
由 Rick Chen 提交于
ftsdc010 support device tree flow. Signed-off-by: NRick Chen <rick@andestech.com>
-
由 Rick Chen 提交于
Add nds32_mmc to support ftsdc010 dm flow. Signed-off-by: NRick Chen <rick@andestech.com>
-
- 17 11月, 2017 5 次提交
-
-
由 Patrice Chotard 提交于
Add .getcd callback to check is MMC card is present Signed-off-by: NPatrice Chotard <patrice.chotard@st.com>
-
由 Patrice Chotard 提交于
Allow to get and enable MMC related clock Signed-off-by: NPatrice Chotard <patrice.chotard@st.com>
-
由 Patrice Chotard 提交于
Allow to get "bus-width" property from device tree Signed-off-by: NPatrice Chotard <patrice.chotard@st.com>
-
由 Patrice Chotard 提交于
Convert this driver to driver model. This driver is also used by VEXPRESS platforms which doesn't use driver model. Tested on STM32F746 and STM32F769 platforms. Signed-off-by: NChristophe Priouzeau <christophe.priouzeau@st.com> Signed-off-by: NPatrice Chotard <patrice.chotard@st.com>
-
由 Patrice Chotard 提交于
Update arm_pl180_mmci_init() prototype by adding struct mmc** param. This is needed before converting this driver to driver model in order to use arm_pl180_mmci_init() in driver model and in none driver model implementation Signed-off-by: NPatrice Chotard <patrice.chotard@st.com>
-
- 07 11月, 2017 1 次提交
-
-
由 Benoît Thébaudeau 提交于
The following error has been observed on i.MX25 with a high-speed SDSC card: Data Write Failed in PIO Mode. It was caused by the timeout set on PRSSTAT.BWEN, which was triggered because this bit takes 15 ms to be set after writing the first block to DATPORT with this card. Without this timeout, all the blocks are properly written. This timeout was implemented by decrementing a variable, so it was depending on the CPU frequency. Fix this issue by setting this timeout to a long enough absolute duration (500 ms). Signed-off-by: NBenoît Thébaudeau <benoit.thebaudeau.dev@gmail.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Fabio Estevam <fabio.estevam@nxp.com> Cc: Jaehoon Chung <jh80.chung@samsung.com> Reviewed-by: NFabio Estevam <fabio.estevam@nxp.com> Reviewed-by: NJagan Teki <jagan@openedev.com>
-
- 06 11月, 2017 1 次提交
-
-
由 Patrice Chotard 提交于
Uniformize STMicroelectronics copyrights headers for STM32 related code. Signed-off-by: NPatrice Chotard <patrice.chotard@st.com>
-