Am Freitag, 22. September 2017, 08:50:49 CEST schrieb Andy Yan:
> Hi Heiko:
>
>
> On 2017年09月22日 08:24, Andy Yan wrote:
> > Hi Heiko:
> >
> >
> > On 2017年09月21日 22:55, Heiko Stübner wrote:
> >> Hi Andy,
> >>
> >> Am Donnerstag, 21. September 2017, 22:03:32 CEST schrieb Andy Yan:
> >>> Hi Heiko:
On 21.09.2017 19:03, Heinrich Schuchardt wrote:
memset(newpart, '\0', sizeof(newpart));
only initializes the firest 4 or 8 bytes of *newpart and not the whole
structure disk_part.
We should use sizeof(struct disk_part).
Instead of malloc and memset we can use calloc.
Identified by cppcheck.
On 18.09.2017 15:40, Bin Meng wrote:
Update the codes to conform with xHCI spec chapter 6.2.3.
Signed-off-by: Bin Meng
---
drivers/usb/host/xhci-mem.c | 6 ++
drivers/usb/host/xhci.c | 6 ++
2 files changed, 12 insertions(+)
diff --git
On 18.09.2017 15:40, Bin Meng wrote:
Per xHCI spec, 'Error Count' should be set to 0 for isoch endpoints.
Signed-off-by: Bin Meng
---
drivers/usb/host/xhci.c | 6 +-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/host/xhci.c
On 18.09.2017 15:40, Bin Meng wrote:
The 'Max Burst Size' indicates to the xHC the maximum number of
consecutive USB transactions that should be executed per scheduling
opportunity. This is a “zero-based” value, where 0 to 15 represents
burst sizes of 1 to 16, but at present this is always set
On 18.09.2017 15:40, Bin Meng wrote:
USB endpoint reports the period between consecutive requests to send
or receive data as bInverval in its endpoint descriptor. So far this
is ignored by xHCI driver and the 'Interval' field in xHC's endpoint
context is always programmed to zero which means 1ms
On 18.09.2017 15:40, Bin Meng wrote:
USB 3.0 hubs report bit[5] in the port status change response as BH
reset. The hub shall set the C_BH_PORT_RESET field for this port.
Signed-off-by: Bin Meng
---
common/usb_hub.c | 6 ++
1 file changed, 6 insertions(+)
diff
On 18.09.2017 15:40, Bin Meng wrote:
During usb_hub_port_connect_change(), a port reset set feature
request is issued to the port, and later a port reset clear feature
is done to the same port before the function returns. However at
the end of usb_scan_port(), we attempt to clear port reset
On 18.09.2017 15:40, Bin Meng wrote:
In xhci_check_maxpacket(), the control endpoint 0 max packet size
is wrongly taken from the interface's endpoint descriptor. However
the default endpoint 0 does not come with an endpoint descriptor
hence is not included in the interface structure. Change to
On 18.09.2017 15:40, Bin Meng wrote:
For xHCI it is not possible to read a device descriptor before it
has been assigned an address. That's why usb_setup_descriptor()
was called with 'do_read' being false. But we really need try to
read the device descriptor before starting any real
On 18.09.2017 15:40, Bin Meng wrote:
Full speed device endpoint 0 can have 8/16/32/64 bMaxPacketSize0.
Other speed devices report fixed value per USB spec. So it only
makes sense if we send a get device descriptor with 64 bytes to
full speed devices.
While we are here, update the comment block
On 18.09.2017 15:40, Bin Meng wrote:
xHCI uses normal TRBs for both bulk and interrupt. This adds the
missing interrupt transfer support to xHCI so that devices like
USB keyboard that uses interrupt transfer can work.
Signed-off-by: Bin Meng
---
drivers/usb/host/xhci.c |
On 18.09.2017 15:40, Bin Meng wrote:
Normal endpoint descriptor size is 7, but for audio extension it is
9. Handle that correctly when parsing endpoint descriptor.
Signed-off-by: Bin Meng
---
common/usb.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff
On 18.09.2017 15:40, Bin Meng wrote:
At present xHCI driver assumes LS/FS devices are attached directly
to a HS hub. If they are connected to a LS/FS hub, the driver will
fail to perform the USB enumeration process on such devices.
This is fixed by looking from the device itself all the way up
On 18.09.2017 15:40, Bin Meng wrote:
With the root hub unbinding in usb_stop(), there is no need to do
a blk uclass specific unbind operation.
Signed-off-by: Bin Meng
---
drivers/usb/host/usb-uclass.c | 6 +-
1 file changed, 1 insertion(+), 5 deletions(-)
diff
On 18.09.2017 15:40, Bin Meng wrote:
At present we only do device_remove() during usb stop. The DM API
device_remove() only marks the device state as inactivated, but
still keeps its USB topology (eg: parent, children, etc) in the DM
device structure. There is no issue if we only start USB
On Wed, Sep 13, 2017 at 3:01 AM, Maxime Ripard
wrote:
> A good number of our boards have USB_GADGET enabled. Imply it so that all
> the boards can benefit from it, and remove some boilerplate from our
> defconfigs.
>
> Reviewed-by: Simon Glass
Hi Heiko:
On 2017年09月22日 08:24, Andy Yan wrote:
Hi Heiko:
On 2017年09月21日 22:55, Heiko Stübner wrote:
Hi Andy,
Am Donnerstag, 21. September 2017, 22:03:32 CEST schrieb Andy Yan:
Hi Heiko:
I try to boot the upstream u-boot-rockchip branch on my rk3188 board
with(rock_defconfig)
But I got
Mods to:
cmd/net.cnet/Makefilenet/net.cinclude/net.hnet/wget.cnet/wget.hnet/ping.c
I do not know how to do patches, I'm a noobat this:
cmd/net.c
Additions
static int do_wget(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]){
return netboot_common(WGET, cmdtp, argc, argv);}
When using regular $partitions variable (for Linux boot), we can see
some unwanted messages:
> ERROR: cannot find partition: 'userdata'
> at arch/arm/mach-omap2/utils.c:96/omap_mmc_get_part_size()
> Warning: fastboot.userdata_size: unable to calc
Let's remove those, as missing 'userdata'
Extract commands for booting Linux from eMMC to separate command. It
seems more logical that way, and allows us to run the whole command set
from U-Boot shell with only one command.
Signed-off-by: Sam Protsenko
---
include/environment/ti/boot.h | 10 ++
1
Add tracing printings to Linux/Android boot commands, so that we can see
what's going on. Helps to trace possible bugs on early stages and
improves the output for user (which is especially useful, because we
have a bunch of boot commands executing one by one).
Signed-off-by: Sam Protsenko
Right now on OMAP5-based boards we have only one partition defined for
Linux boot, which is rootfs. That doesn't work with bootpart=1:2 (that
is defined in include/environment/ti/boot.h). To fix Linux boot we may
either:
1. Change bootpart to be 1:1
2. Or add preceding partition, so that rootfs
Right now on OMAP5-based boards we have only one partition defined for
Linux boot, which is rootfs. That doesn't work with bootpart=1:2 (that
is defined in include/environment/ti/boot.h). To fix Linux boot we may
either:
1. Change bootpart to be 1:1
2. Or add preceding partition, so that rootfs
This patch series makes it possible to actually run Linux from eMMC.
While at it, some small style improvements were done as well.
Sam Protsenko (4):
arm: am57xx: Fix Linux boot from eMMC
arm: dra7xx: Fix Linux boot from eMMC
env: ti: boot: Extract command for eMMC Linux boot
env: ti:
On 21 September 2017 at 11:38, wrote:
>
> This event has been changed.
>
> more details »
>
> Unibuild discussion
>
> Changed: https://plus.google.com/hangouts/_/google.com/shapiroc
> Calendar
> u-boot@lists.denx.de
> Who
> •
> Simon Glass- organiser
> •
> u-boot@lists.denx.de
>
On Tue, Sep 12, 2017 at 08:02:21PM +, Maxime Ripard wrote:
> Hi,
>
> Here is an attempt at removing the hack in the sunxi code to switch
> the MMC indices depending on the boot device.
>
> It's based on Siarhei's suggestion to go through an environment
> variable set by the code, and then
On Thu, Sep 21, 2017 at 01:00:16PM +, Stefan Mavrodiev wrote:
> From rev.J A20-OLinuXino-MICRO has eMMC option. For now this is
> only 4GB, but in the future size may increase.
>
> The dts file is the same from mainline kernel.
>
> Signed-off-by: Stefan Mavrodiev
On Thu, Sep 21, 2017 at 07:48:20AM +, Icenowy Zheng wrote:
>
>
> 于 2017年9月21日 GMT+08:00 下午3:40:23, Maxime Ripard
> 写到:
> >Hi,
> >
> >On Wed, Sep 20, 2017 at 04:18:19PM +, Icenowy Zheng wrote:
> >> The sunxi DE1 video option used to be CONFIG_VIDEO,
On Thu, Sep 21, 2017 at 12:37:19PM -0600, Stephen Warren wrote:
> On 09/21/2017 10:38 AM, Paul Burton wrote:
> >Hi Tom,
> >
> >On Thursday, 21 September 2017 09:27:02 PDT Tom Rini wrote:
> >>On Thu, Sep 14, 2017 at 02:34:46PM -0700, Paul Burton wrote:
> >>>In python 3.x the StringIO module is
BEGIN:VCALENDAR
PRODID:-//Google Inc//Google Calendar 70.9054//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
DTSTART:20170921T18Z
DTEND:20170921T193000Z
DTSTAMP:20170921T183824Z
ORGANIZER;CN=Simon Glass:mailto:s...@google.com
UID:0h19tmpd9e4dve5d7va71nk...@google.com
On 09/21/2017 10:38 AM, Paul Burton wrote:
Hi Tom,
On Thursday, 21 September 2017 09:27:02 PDT Tom Rini wrote:
On Thu, Sep 14, 2017 at 02:34:46PM -0700, Paul Burton wrote:
In python 3.x the StringIO module is gone, and instead StringIO can be
imported from the io module. Do this in order to
When compiling with W=1 the following warning is observed:
board/freescale/mx6sabresd/mx6sabresd.c:266:5: warning:
no previous prototype for ‘board_mmc_get_env_dev’
[-Wmissing-prototypes] int board_mmc_get_env_dev(int devno)
Remove this warning by adding the function prototype into sys_proto.h
BEGIN:VCALENDAR
PRODID:-//Google Inc//Google Calendar 70.9054//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
DTSTART:20170921T18Z
DTEND:20170921T19Z
DTSTAMP:20170921T181034Z
ORGANIZER;CN=Simon Glass:mailto:s...@google.com
UID:0h19tmpd9e4dve5d7va71nk...@google.com
memset(newpart, '\0', sizeof(newpart));
only initializes the firest 4 or 8 bytes of *newpart and not the whole
structure disk_part.
We should use sizeof(struct disk_part).
Instead of malloc and memset we can use calloc.
Identified by cppcheck.
Fixes: 09a49930e41 GPT: read partition table from
The functionality is not needed in the SPL. It allows to remove
code conditionally in the spl case in some drivers.
Signed-off-by: Max Krummenacher
---
include/configs/colibri_imx6.h | 2 ++
1 file changed, 2 insertions(+)
diff --git
The functionality is not needed in the SPL. It allows to remove
code conditionally in the spl case in some drivers.
Signed-off-by: Max Krummenacher
---
include/configs/apalis_imx6.h | 2 ++
1 file changed, 2 insertions(+)
diff --git
This series remove unneeded SPL config options. This is needed
to successfully compile with the following patch applied:
https://lists.denx.de/pipermail/u-boot/2017-August/304010.html
This series is available at
http://git.toradex.com/cgit/u-boot-toradex.git/log/?h=for-next
Max Krummenacher
Hi Diego,
On Thu, Sep 21, 2017 at 11:47 AM, Diego Dorta wrote:
> When compiling with W=1 the following warning is observed:
>
> board/freescale/mx6sabresd/mx6sabresd.c:266:5: warning:
> no previous prototype for ‘board_mmc_get_env_dev’
> [-Wmissing-prototypes] int
EFI_ENTRY and EFI_EXIT calls must match.
Signed-off-by: Heinrich Schuchardt
---
lib/efi_loader/efi_boottime.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
index cbc4007f7b..2c2620a46d 100644
---
Hi Tom,
On Thursday, 21 September 2017 09:27:02 PDT Tom Rini wrote:
> On Thu, Sep 14, 2017 at 02:34:46PM -0700, Paul Burton wrote:
> > In python 3.x the StringIO module is gone, and instead StringIO can be
> > imported from the io module. Do this in order to run on python 3.x, and
> > fall back
Hello Alex,
from my patch queue these are the next patches that I would like to see
merged to efi-next.
efi_selftest: enable CONFIG_CMD_BOOTEFI_SELFTEST
https://patchwork.ozlabs.org/patch/816412/
efi_loader: provide function comments for boot services
https://patchwork.ozlabs.org/patch/817010/
Provide comments describing the boot service functions.
Signed-off-by: Heinrich Schuchardt
---
lib/efi_loader/efi_boottime.c | 640 +-
1 file changed, 638 insertions(+), 2 deletions(-)
diff --git a/lib/efi_loader/efi_boottime.c
On Thu, Sep 14, 2017 at 02:34:46PM -0700, Paul Burton wrote:
> In python 3.x the StringIO module is gone, and instead StringIO can be
> imported from the io module. Do this in order to run on python 3.x, and
> fall back to importing StringIO as a module in order to continue working
> with python
Add initial DT for NanoPi NEO Plus2 by FriendlyARM
- Allwinner quad core H5 Cortex A53 with an ARM Mali-450MP GPU
- 1 GB DDR3 RAM
- 8GB eMMC flash (Samsung KLM8G1WEPD-B031)
- micro SD card slot
- Gigabit Ethernet (external RTL8211E-VB-CG chip)
- 802.11 b/g/n WiFi, Bluetooth 4.0 (Ampak AP6212A
On 09/21/2017 06:24 AM, Michal Simek wrote:
Hi Stephen,
On 20.9.2017 19:05, Stephen Warren wrote:
On 09/20/2017 01:55 AM, Michal Simek wrote:
From: Vipul Kumar
This patch tests the gpio commands using the
gpio data from boardenv file.
Also one test will show the
From: Kishon Vijay Abraham I
No functional change. Move bus width configuration setting to a
separate function and invoke it only if there is a change in the
bus width.
Signed-off-by: Kishon Vijay Abraham I
Signed-off-by: Jean-Jacques Hiblot
---
From: Kishon Vijay Abraham I
Now that omap_hsmmc has support for hs200 mode, change the clock
frequency to 192MHz. Also change the REFERENCE CLOCK frequency to
192MHz based on which the internal mmc clock divider is calculated.
Signed-off-by: Kishon Vijay Abraham I
On DRA7 family SoCs, MMC1 controller supports SDR104,
SDR50, DDR50, SDR25 and SDR12 UHS modes.
MMC2 controller supports HS200 and DDR modes.
MMC3 controller supports SDR12, SDR25 and SDR50 modes.
MMC4 controller supports SDR12 and SDR25 modes.
Add these supported modes in device-tree file.
From: Kishon Vijay Abraham I
"ti,dual-volt" is used in linux kernel to set the voltage capabilities.
For host controller dt nodes that doesn't have "ti,dual-volt",
it's assumed 1.8v is the io voltage. This is not always true (like in
the case of beagle-x15 where the io lines are
From: Kishon Vijay Abraham I
According to errata i802, DCRC error interrupts
(MMCHS_STAT[21] DCRC=0x1) can occur during the tuning procedure.
The DCRC interrupt, occurs when the last tuning block fails
(the last ratio tested). The delay from CRC check until the
interrupt is
From: Kishon Vijay Abraham I
HS200/SDR104 requires tuning command to be sent to the card. Use
the mmc_send_tuning library function to send the tuning
command and configure the internal DLL.
Signed-off-by: Kishon Vijay Abraham I
Signed-off-by: Jean-Jacques Hiblot
From: Kishon Vijay Abraham I
Use the timing parameter set in the MMC core to set the
mode in UHSMS bit field. This is in preparation for
adding HS200 support in omap hsmmc driver.
Signed-off-by: Kishon Vijay Abraham I
Signed-off-by: Jean-Jacques Hiblot
From: Kishon Vijay Abraham I
Use the mmc_of_parse library function to populate mmc_config instead of
repeating the same code in host controller driver.
Signed-off-by: Kishon Vijay Abraham I
Signed-off-by: Jean-Jacques Hiblot
---
From: Kishon Vijay Abraham I
Use the new compatible string "ti,dra7-hsmmc" that was specifically
added for dra7 and dra72. This is required since for dra7 and dra72
processors iodelay values has to be set unlike other processors.
Signed-off-by: Kishon Vijay Abraham I
The UHS modes are not supported in beagle-x15 because it's not possible to
switch the IO lines supply voltage to 1.8v.
Also HS200 cannot be supported on mmc2, because the IO lines of mmc2 are
connected to 3.3v.
Signed-off-by: Jean-Jacques Hiblot
---
This callback is used to send the 74 clock cycles after power up.
Signed-off-by: Jean-Jacques Hiblot
---
drivers/mmc/omap_hsmmc.c | 13 +
1 file changed, 13 insertions(+)
diff --git a/drivers/mmc/omap_hsmmc.c b/drivers/mmc/omap_hsmmc.c
index 82ec69e..0a4f8a7 100644
From: Kishon Vijay Abraham I
AM572x SR1.1 requires different IODelay values to be used than that used
in AM572x SR2.0. These values are populated in device tree. Add
capability in omap_hsmmc driver to extract IOdelay values for different
silicon revision. The maximum frequency is
When the clock is applied, compute the actual value of the clock. It may be
slightly different from the requested value (max freq, divisor threshold)
Signed-off-by: Jean-Jacques Hiblot
---
drivers/mmc/omap_hsmmc.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff
From: Kishon Vijay Abraham I
Since DRA7xx/AM57xx SR1.1 and SR1.0 has errata to limit the frequency of
MMC1 to 96MHz and frequency of MMC2 to 48MHz for AM572x SR1.1, limit the
frequency and disable higher speed modes for those revision.
Also use the recommended IO delays (those
From: Kishon Vijay Abraham I
Add a new API to perform iodelay recalibration without isolate
io to be used in uboot.
The data manual of J6/J6 Eco recommends to set different IODELAY values
depending on the mode in which the MMC/SD is enumerated in order to
ensure IO timings are
HS200 cannot be supported on mmc2, because the IO lines of mmc2 are
connected to 3.3v.
Signed-off-by: Jean-Jacques Hiblot
---
arch/arm/dts/am57xx-idk-common.dtsi | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm/dts/am57xx-idk-common.dtsi
I/O data lines of UHS SD card operates at 1.8V when in UHS speed
mode (same is true for eMMC in DDR and HS200 modes). Add support
to switch signal voltage to 1.8V in order to support
UHS cards and eMMC HS200 and DDR modes.
Signed-off-by: Kishon Vijay Abraham I
Signed-off-by:
From: Kishon Vijay Abraham I
In order to enable DDR mode, Dual Data Rate mode bit has to be set in
MMCHS_CON register. Set it here.
Signed-off-by: Kishon Vijay Abraham I
Signed-off-by: Jean-Jacques Hiblot
---
arch/arm/include/asm/omap_mmc.h | 1
From: Kishon Vijay Abraham I
The data manual of J6/J6 Eco recommends to set different IODELAY values
depending on the mode in which the MMC/SD is enumerated in order to
ensure IO timings are met.
Add support to parse mux values and iodelay values from device tree
and set these
From: 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
Signed-off-by: Jean-Jacques Hiblot
---
From: Kishon Vijay Abraham I
Add a separate function for starting the clock, stopping the clock and
setting the clock. Starting the clock and stopping the clock can
be used irrespective of setting the clock (For example during iodelay
recalibration).
Also set the clock only if
This series adds the missing bit to enable the UHS, HS200 and DDR52 modes
on the omap5 platforms (DRA7 and AM57).
It relies on the following series:
* [PATCH v2 00/26] mmc: Add support for HS200 and UHS modes
* [PATCH v2 0/5] mmc: omap_hsmmc: Add support for ADMA
* [PATCH v3 0/2] power: Add a
In the TI SOCs a PBIAS cell exists to provide a bias voltage to the MMC1
IO cells. Without this bias voltage these I/O cells can not function
properly. This bias voltage is either 1.8v or 3.0v.
The first patch adds 2 functions to the DM core: to count strings in a
stringlist and get a string from
In the TI SOCs a PBIAS cell exists to provide a bias voltage to the MMC1
IO cells. Without this bias voltage these I/O cells can not function
properly. The PBIAS cell is controlled by software.
Signed-off-by: Jean-Jacques Hiblot
Reviewed-by: Tom Rini
dev_read_string_count() is used to get the number of strings in a
stringlist.
dev_read_string_index() is used to get a string in the stringlist based on
its position in the list.
Signed-off-by: Jean-Jacques Hiblot
---
drivers/core/read.c | 11 +++
include/dm/read.h |
Hi Andy,
Am Donnerstag, 21. September 2017, 22:03:32 CEST schrieb Andy Yan:
> Hi Heiko:
> I try to boot the upstream u-boot-rockchip branch on my rk3188 board
> with(rock_defconfig)
>
> But I got this error:
> early_init()
> nit_and_scan() returned error -22
> early_init() failed: -22
> ERROR
From: Kishon Vijay Abraham I
omap_hsmmc driver uses "|" in a couple of places for disabling a bit.
While it's okay to use it in "mmc_reg_out" (since mmc_reg_out has a
_mask_ argument to take care of resetting a bit), it's incorrectly used
for resetting flags in
This reverts commit 46831c1a4cda75d92f7ad18d4e2b1eb196c62b2f.
This reserved area at the beginning of struct hsmm, will be used later to
support ADMA
Signed-off-by: Jean-Jacques Hiblot
---
arch/arm/include/asm/omap_mmc.h | 3 +++
drivers/mmc/omap_hsmmc.c| 35
Align the base address defined in header files with the base address used
in the DTS. This will facilitate the introduction of the DMA support.
Of all HSMMC users, only omap3 doesn't have the 0x100 reserved region at
the top. This region will be used to determine if the controller supports
DMA
From: Kishon Vijay Abraham I
Instead of sending STOP TRANSMISSION command from MMC core, enable
the auto command feature so that the Host Controller issues CMD12
automatically when last block transfer is completed.
Signed-off-by: Kishon Vijay Abraham I
From: Kishon Vijay Abraham I
The omap hsmmc host controller can have the ADMA2 feature. It brings better
read and write throughput.
On most SOC, the capability is read from the hl_hwinfo register. On OMAP3,
DMA support is compiled out.
Signed-off-by: Kishon Vijay Abraham I
This series enables the ADMA present in some OMAP SOCs.
On a DRA7 the performances when reading from the eMMC go from 18MB/s
to 43MB/s.
Also while were at it, fix some incorrect bit operations
This series applies on top of the series that enables HS200 and UHS mode
"mmc: Add support for HS200
When compiling with W=1 the following warning is observed:
board/freescale/mx6sabresd/mx6sabresd.c:266:5: warning:
no previous prototype for ‘board_mmc_get_env_dev’
[-Wmissing-prototypes] int board_mmc_get_env_dev(int devno)
Remove this warning by adding the function prototype into mmc.h file.
From: 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: Kishon Vijay Abraham I
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
From: 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: Kishon Vijay
From: Kishon Vijay Abraham I
Add HS200 to the list of supported modes and introduce tuning in the MMC
startup process.
Signed-off-by: Kishon Vijay Abraham I
Signed-off-by: Jean-Jacques Hiblot
Reviewed-by: Simon Glass
---
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
---
drivers/mmc/mmc.c | 24 ++--
include/mmc.h | 4
2 files changed, 18 insertions(+), 10 deletions(-)
diff
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
Reviewed-by: Simon Glass
---
drivers/mmc/mmc.c | 22 +-
From: 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
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
HS200 only supports 1.2v and 1.8v signal voltages. DDR52 supports 3.3v/1.8v
or 1.2v signal voltages.
Select the lowest voltage available when using those modes.
Signed-off-by: Jean-Jacques Hiblot
---
drivers/mmc/mmc.c | 68 ++-
From: 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: Kishon Vijay Abraham I
From: Kishon Vijay Abraham I
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 a few time
as done in Linux kernel.
Similarly, it is seen that
From: Kishon Vijay Abraham I
Add a new function to parse host controller dt node and
set mmc_config. This function can be used by mmc controller
drivers to set the generic mmc_config.
This function can be extended to set other UHS mode caps
once UHS mode support is added.
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.
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
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
---
drivers/mmc/mmc.c | 24
include/mmc.h | 1 +
2 files changed, 25 insertions(+)
diff
From: 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: Kishon Vijay Abraham I
Signed-off-by:
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
---
drivers/mmc/mmc.c | 19 ---
include/mmc.h | 1 +
From: 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: Kishon Vijay Abraham I
Signed-off-by: Jean-Jacques Hiblot
---
Signed-off-by: Jean-Jacques Hiblot
Reviewed-by: Simon Glass
---
drivers/mmc/mmc.c | 39 ---
1 file changed, 28 insertions(+), 11 deletions(-)
diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
index 0b74e78..382a9cf 100644
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
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
Reviewed-by: Simon Glass
---
drivers/mmc/Kconfig | 14 ++
drivers/mmc/mmc.c | 56
1 - 100 of 184 matches
Mail list logo