24 May, 2017
2 commits
-
Abort CPSW driver init when auto-negotiation of link
times out. Currently, the code ignores return status
of phy_startup(), and goes ahead with network operation
(like DHCP) even though the link may be down.Instead, abort init process if link is down or if there
is another error, so phy_startup() can easily be retried
again. This also helps quick fallback to next network interface
(like USB RNDIS) without inordinate delay.Tested on AM571x IDK and AM335x BeagleBone black.
Reviewed-by: Tom Rini
Signed-off-by: Sekhar Nori -
Right now the u-boot,dm-pre-reloc flag will make each marked node
always appear in both spl and tpl. But systems needing an additional
tpl might have special constraints for each, like the spl needing to
be very tiny.So introduce two additional flags to mark nodes for only spl or tpl
environments and introduce a function dm_fdt_pre_reloc to automate
the necessary checks in code instances checking for pre-relocation
flags.The behaviour of the original flag stays untouched and still marks
a node for both spl and tpl.Signed-off-by: Heiko Stuebner
Reviewed-by: Simon Glass
Tested-by: Kever Yang
22 May, 2017
5 commits
-
commit 8dc8d294b "drivers: mmc: downgrade the current mode if error rate
becomes too high" breaks the compilation of mmc core when CONFIG_BLK is
enabled.Signed-off-by: Jean-Jacques Hiblot
-
commit 17c9a1c121e7d78d820fdb4f7ca070f53e23c29a upstream
Signed-off-by: Jean-Jacques Hiblot
Reviewed-by: Tom Rini -
commit 3d673ffce32cc65c7fe046c0c314566385a5d586 upstream
This is a preparation work for the support of CONFIG_BLK.
Signed-off-by: Jean-Jacques Hiblot
Reviewed-by: Tom Rini -
commit dc09127a26f67044c5c6b5062163f95e35d06a3b upstream
Signed-off-by: Jean-Jacques Hiblot
Reviewed-by: Tom Rini -
commit ae000e231e35ef6e1ec4f7a3e477cf4bef2cf189 upstream
For consistency, use an accessor to access the private data. Also for the
same reason, rename all priv_data to priv.Signed-off-by: Jean-Jacques Hiblot
Reviewed-by: Tom Rini
10 May, 2017
2 commits
-
compile out cli_hush.c for spl/dfu and
use cli_simple_run_command for dfu to
reduce the spl-dfu memory foot print.Adding CONFIG_SPL_DFU_MMC to Kconfig and
use CONFIG_IS_ENABLED(DFU_MMC).Signed-off-by: Ravi Babu
-
The SPL-DFU feature enable to load and
execute u-boot from RAM over usb from
PC using dfu-util.
Hence dfu-reset should not be issued
when dfu-util -R switch is issued.Signed-off-by: Ravi Babu
21 Apr, 2017
5 commits
-
The status of the data transfer was not returned to the mmc core layer.
Signed-off-by: Jean-Jacques Hiblot
-
Use a basic heuristic based on the transfers statistics to downgrade the
current mode (HS200->DDR52->HS) when errors occur.
Current heuristic is: if error rate is more than 20% and the number of
transfers is large enough to be significant, then downgrade.Signed-off-by: Jean-Jacques Hiblot
-
statistics are kept for read and write transfers.
it contains:
- amount of data transferred
- time taken by the transfers
- number of errors
- number of transfersSigned-off-by: Jean-Jacques Hiblot
-
If the initialization fails when trying to use HS200 or DDR52, then remove
the failing capability for the capabilities supported by the host and
restart the whole initialization process.Signed-off-by: Jean-Jacques Hiblot
-
commit 6e1eb089be0440477d030846087b03dfbebd4b10 upstream.
Various commands to NAND flash results in the NAND flash becoming busy.
For those commands the SoC should wait until the NAND indicates it is
no longer busy before sending further commands. However, there is a delay
between the time the SoC sends its last command and when the NAND flash
sets its Ready/Busy Pin. This delay (tWB) must be respected or the SoC may
falsely assume the flash is ready when in reality it just hasn't had enough
time to indicate that it is busy.Properly delaying by tWB is already done for nand_command/nand_command_lp
in nand_base.c including the version of it in the Linux kernel. Therefore,
this patch brings the handling of tWB delay inline to nand_base.cAcked-by: Roger Quadros
Signed-off-by: Franklin S Cooper Jr
[trini: Reformat comments slightly]
Signed-off-by: Tom Rini
20 Apr, 2017
4 commits
-
The iodelays and pinmux information is platform specific. Since the SPL
can embed only one dts, getting this information from it would mean to have
one SPL binary for each platform.
In order to keep the ability to run the same SPL binary on several
platforms, the iodelays and pinmux configurations used by the SPL are
provided by the platform code.Signed-off-by: Jean-Jacques Hiblot
-
Signed-off-by: Jean-Jacques Hiblot
-
This saves 15 ms in the SPL when booting a DRA72-evm revC from the eMMC
for which 2 modes have (sdr12 and sdr25) have no pinctrl specification.Signed-off-by: Jean-Jacques Hiblot
-
This fixes 2 indexing errors that occur when the pad configuration and the
iodelays are read from the device-tree.Signed-off-by: Jean-Jacques Hiblot
31 Mar, 2017
1 commit
-
The data manual for DP83867IR/CR, SNLS484E[1], revised march 2017,
advises that strapping RX_DV/RX_CTRL pin in mode 1 and 2 is not
supported (see note below Table 5 (4-Level Strap Pins)).It further advises that if a board has this pin strapped in mode 1 and
mode 2, then bit[7] of Configuration Register 4 (address 0x0031) must
be cleared to 0. This is to ensure proper operation of PHY.Since it is not possible to detect in software if RX_DV/RX_CTRL pin is
incorrectly strapped, add a device-tree property to advertise this and
allow corrective action in software.
[1] http://www.ti.com/lit/ds/snls484e/snls484e.pdfSigned-off-by: Murali Karicheri
16 Feb, 2017
5 commits
-
Add in code to initialize the DWC3 gadget icontroller so that we can do
RNDIS in SPL on these platforms.Signed-off-by: Tom Rini
Signed-off-by: Kishon Vijay Abraham I
Signed-off-by: Mugunthan V N
Reviewed-by: Tom Rini
Signed-off-by: Vignesh R -
Enhance the netcp driver to support phys that can be configured
for internal delay (rgmii-id, rgmii-rxid, rgmii-txid)Signed-off-by: Murali Karicheri
Acked-by: Mugunthan V N
Signed-off-by: Sekhar Nori -
We need to manage the regulators for proper MMC operations even when DM_MMC
and/or DM_REGULATOR are not used.Tested-by: Sekhar Nori
Signed-off-by: Jean-Jacques Hiblot -
Tested-by: Sekhar Nori
Signed-off-by: Jean-Jacques Hiblot -
If we handle the probing the same way in the spl and in u-boot, we can
simplify the code in spl_mmc. And the controller mapping will be
the same in the spl and in u-boot, making it much easier to have the
environment on a MMC device that is not the boot device.Tested-by: Sekhar Nori
Signed-off-by: Jean-Jacques Hiblot
15 Feb, 2017
3 commits
-
We used to get the address of the optionnal ctrl_mod_mmap register as the
third memory range of the "reg" property. the linux driver moved to use a
syscon instead. In order to keep the DTS as close as possible to that of
linux, we move to using a syscon as well.If SYSCON is not supported, the driver reverts to the old way of getting
the address from the 3rd memory rangeSigned-off-by: Jean-Jacques Hiblot
-
In the DTS, the addresses are defined relative to the parent bus. We need
to translate them to get the address as seen by the CPU core.Signed-off-by: Jean-Jacques Hiblot
-
commit 2f11cd9121658 ("dm: core: Handle global_data moving in SPL")
handles relocation of GD in SPL if spl_init() is called before
board_init_r(). So, uclass_root.next need not be initialized always
and accessing uclass_root.next->prev gives an abort. Update the
uclass_root only if it is available.Reviewed-by: Simon Glass
Signed-off-by: Lokesh Vutla
14 Feb, 2017
13 commits
-
With certain SD cards like Kingston 8GB/16GB UHS card, it is seen that
MMC_CMD_ALL_SEND_CID cmd fails on first attempt, but succeeds
subsequently. Therefore, retry MMC_CMD_ALL_SEND_CID cmd at least thrice
as done in Linux kernel.
Similarly, it is seen that MMC_CMD_SET_BLOCKLEN may fail on first
attempt, therefore retry this cmd five times as done in kernel.Signed-off-by: Vignesh R
Signed-off-by: Kishon Vijay Abraham I -
According to SD card Physical Layer Specification, there should be at
least 1ms delay between power off and power up sequence during mmc power
cycle. It is seen that certain SD cards like Kingston 4G card require
little more than 1ms delay else, cards fail to enumerate sometimes.
Therefore, increase the delay to 2ms so that there is some leeway.Reported-by: Ravi Babu
Signed-off-by: Vignesh R
Signed-off-by: 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: Kishon Vijay Abraham I
Signed-off-by: Vignesh R -
mmc_set_vdd() requests controller to send initialization stream to
card. This operation needs to be done with mmc clocks enabled. mmc
clocks are enabled by mmc_set_initial_state(). Therefore, move
mmc_set_vdd() call after mmc_set_initial_state().Signed-off-by: Vignesh R
Signed-off-by: Kishon Vijay Abraham I -
Now that palmas/gpio regulator drivers are converted to DM model
(both being used by MMC to drive IO lines), use regulator APIs
to set the IO voltage. These APIs provides a uniform way for the
omap_hsmmc driver to enable the regulators without actually knowing
if a PMIC regulator or gpio regulator is used underneath.Signed-off-by: Kishon Vijay Abraham I
-
Errata i843 limits maximum frequency of MMC1 to 96MHz. SDR104 and
SDR50 are the UHS modes that requires frequency above 96Mhz.
Instead of limiting the maximum frequency to 96MHz, disable SDR104
and SDR50 mode to avoid implementation complexities.Signed-off-by: Kishon Vijay Abraham I
-
Now that UHS mode support is added in mmc core, allow mmc_of_parse
to decode UHS capabilities from device tree.Signed-off-by: Kishon Vijay Abraham I
-
Add support for UHS modes in omap_hsmmc driver by writing the
timing parameter (based on the UHS mode) to ac12 register and
configuring the iodelay values corresponding to the UHS mode.Signed-off-by: Kishon Vijay Abraham I
-
I/O data lines of UHS SD card operates at 1.8V when in UHS speed
mode. Add support to switch signal voltage to 1.8V in order to support
UHS cards.Signed-off-by: Kishon Vijay Abraham I
-
mmc core has defined a new parameter *clk_disable*
to gate the clock. Disable the clock here if
*clk_disable* is set.Signed-off-by: Kishon Vijay Abraham I
-
set_vdd callback should be used to enable or disable vdd.
Populate omap_hsmmc_set_vdd() function in set_vdd to enable or
disable vdd in omap_hsmmc driver.Signed-off-by: Kishon Vijay Abraham I
-
Modify palmas_mmc1_poweron_ldo() API to set the voltage based on the
voltage parameter passed as argument instead of always setting it to
3.0V. This allows MMC1 to set the LDO1 regulator voltage to 3.3V or 1.8V.
1.8V is required to add support for UHS mode.Signed-off-by: Kishon Vijay Abraham I
-
Add support to switch the voltage to 1.8V required for UHS mode. And
add support to switch the SD card to UHS modes (SDR104/DDR50/SDR50/SDR25/
SDR12). Power cycle support is not added and hence if voltage switching
fails, the card should be replaced and the board should be reset.Signed-off-by: Kishon Vijay Abraham I