- Jan 12, 2018
-
-
Jean-Jacques Hiblot authored
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:
Jean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Jean-Jacques Hiblot authored
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:
Jean-Jacques Hiblot <jjhiblot@ti.com>
-
Jean-Jacques Hiblot authored
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:
Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by:
Jean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Kishon Vijay Abraham I authored
Add HS200 to the list of supported modes and introduce tuning in the MMC startup process. Signed-off-by:
Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by:
Jean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Kishon Vijay Abraham I authored
Tuning is a mandatory step in the initialization of SDR104 and HS200 modes. This callback execute the tuning process. Signed-off-by:
Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by:
Jean-Jacques Hiblot <jjhiblot@ti.com>
-
Kishon Vijay Abraham I authored
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:
Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by:
Vignesh R <vigneshr@ti.com> Signed-off-by:
Jean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Kishon Vijay Abraham I authored
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:
Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by:
Jean-Jacques Hiblot <jjhiblot@ti.com>
-
Kishon Vijay Abraham I authored
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:
Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by:
Jean-Jacques Hiblot <jjhiblot@ti.com>
-
Jean-Jacques Hiblot authored
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:
Jean-Jacques Hiblot <jjhiblot@ti.com>
-
Kishon Vijay Abraham I authored
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:
Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by:
Jean-Jacques Hiblot <jjhiblot@ti.com>
-
Kishon Vijay Abraham I authored
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:
Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by:
Jean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Jean-Jacques Hiblot authored
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:
Jean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Jean-Jacques Hiblot authored
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:
Jean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Jean-Jacques Hiblot authored
Display the mode name when the user execute 'mmc info'. Also instead of displaying tran_speed, display the actual bus speed. Signed-off-by:
Jean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Jean-Jacques Hiblot authored
Signed-off-by:
Jean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Jean-Jacques Hiblot authored
This adds a simple helper function to display information (bus width and mode) based on a capability mask. Useful for debug. Signed-off-by:
Jean-Jacques Hiblot <jjhiblot@ti.com>
-
Jean-Jacques Hiblot authored
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:
Jean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Jean-Jacques Hiblot authored
This will be reused later in the selection of high speed and ddr modes. Signed-off-by:
Jean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Jean-Jacques Hiblot authored
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:
Jean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Jean-Jacques Hiblot authored
no functionnal change. This is only to further reduce the size o mmc_startup(). Signed-off-by:
Jean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Jean-Jacques Hiblot authored
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:
Jean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Jean-Jacques Hiblot authored
Get a reference to the regulator devices from the dts and store them in the struct mmc for later use. Signed-off-by:
Jean-Jacques Hiblot <jjhiblot@ti.com>
-
Heinrich Schuchardt authored
data is defined as struct mmc_data *data. So it should not be compared to 0. Problem identified with Coccinelle. Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
Jorge Ramirez-Ortiz authored
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:
Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org>
-
Felix Brack authored
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:
Felix Brack <fb@ltec.ch>
-
Suniel Mahesh authored
priv pointer should be freed before returning with an error value from exynos_dwmci_get_config(). Signed-off-by:
Suniel Mahesh <sunil.m@techveda.org> Signed-off-by:
Raghu Bharadwaj <raghu@techveda.org>
-
Suniel Mahesh authored
__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:
Suniel Mahesh <sunil.m@techveda.org> Signed-off-by:
Karthik Tummala <karthik@techveda.org>
-
- Jan 09, 2018
-
-
Tom Rini authored
Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Jan 08, 2018
-
-
git://git.denx.de/u-boot-imxTom Rini authored
-
Jagan Teki authored
It is not much needed to print nand size in SPL during nand boot, and most of nand spl drivers doesn't print the same. Signed-off-by:
Jagan Teki <jagan@amarulasolutions.com>
-
Jagan Teki authored
board/icorem6_rqs/ is forgot to remove while moving common board files together in (sha1: 52aaddd6) "i..MX6: engicam: Add imx6q/imx6ul boards for existing boards" Signed-off-by:
Jagan Teki <jagan@amarulasolutions.com>
-
Stefan Agner authored
The i.MX 6UL/ULL feature a Cortex-A7 CPU which suppor the ARM generic timer. This change makes use of the ARM generic timer in U-Boot. This is crucial to make the ARM generic timers usable in Linux since timer_init() initalizes the system counter module, which is necessary to use the generic timers CP15 registers. Signed-off-by:
Stefan Agner <stefan.agner@toradex.com> Reviewed-by:
Fabio Estevam <fabio.estevam@nxp.com>
-
Stefan Agner authored
Introduce a new config symbol to select the i.MX General Purpose Timer (GPT). Signed-off-by:
Stefan Agner <stefan.agner@toradex.com> Reviewed-by:
Fabio Estevam <fabio.estevam@nxp.com>
-
Stefan Agner authored
Signed-off-by:
Stefan Agner <stefan.agner@toradex.com> Reviewed-by:
Fabio Estevam <fabio.estevam@nxp.com>
-
git://git.denx.de/u-boot-x86Tom Rini authored
-
Clemens Gruber authored
The blob_encap and blob_decap functions were not flushing the dcache before passing data to CAAM/DMA and not invalidating the dcache when getting data back. Therefore, blob encapsulation and decapsulation failed with errors like the following due to data cache incoherency: "40000006: DECO: desc idx 0: Invalid KEY command" To ensure coherency, we require the key_mod, src and dst buffers to be aligned to the cache line size and flush/invalidate the memory regions. The same requirements apply to the job descriptor. Tested on an i.MX6Q board. Reviewed-by:
Sumit Garg <sumit.garg@nxp.com> Signed-off-by:
Clemens Gruber <clemens.gruber@pqgruber.com>
-
Andy Shevchenko authored
As defined on reference board followed by Intel Edison a Bluetooth device is attached to HSU0, i.e. PCI 0000:04.1. Describe it in ACPI accordingly. Note, we use BCM2E95 ID here as one most suitable for such device based on the description in commit message of commit 89ab37b489d1 ("Bluetooth: hci_bcm: Add support for BCM2E95 and BCM2E96") in the Linux kernel source tree. Signed-off-by:
Andy Shevchenko <andriy.shevchenko@linux.intel.com> Acked-by:
Bin Meng <bmeng.cn@gmail.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Andy Shevchenko authored
The recent commit 03c4749dd6c7 ("gpio / ACPI: Drop unnecessary ACPI GPIO to Linux GPIO translation") in the Linux kernel reveals the issue we have in ACPI tables here, i.e. we must use hardware numbers for GPIO resources and, taking into consideration that GPIO and pin control are *different* IPs on Intel Tangier, we need to supply numbers properly. Besides that, it improves user experience since the official documentation for Intel Edison board is referring to GPIO hardware numbering scheme. Signed-off-by:
Andy Shevchenko <andriy.shevchenko@linux.intel.com> Acked-by:
Bin Meng <bmeng.cn@gmail.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Tom Rini authored
We only need to compile and link these files when building for full U-Boot. Move them to under cmd/x86/ to make sure they aren't linked in and undiscarded due to u_boot_list_2_cmd_* being included). Cc: Bin Meng <bmeng.cn@gmail.com> Signed-off-by:
Tom Rini <trini@konsulko.com> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
- Jan 04, 2018
-
-
Fabio Estevam authored
Since commit 051ba9e0 ("Kconfig: mx6ull: Deselect MX6UL from CONFIG_MX6ULL") CONFIG_MX6ULL does not select CONFIG_MX6UL anymore, so take this into consideration in all the checks for CONFIG_MX6UL. This fixes a boot regression. Reported-by:
Stefan Agner <stefan@agner.ch> Signed-off-by:
Fabio Estevam <fabio.estevam@nxp.com> Reviewed-by:
Stefan Agner <stefan@agner.ch> Tested-by:
Breno Lima <breno.lima@nxp.com> Tested-by:
Peng Fan <peng.fan@nxp.com> Reviewed-by:
Stefano Babic <sbabic@denx.de> Tested-by:
Jörg Krause <joerg.krause@embedded.rocks>
-