07 Oct, 2014
2 commits
-
Without NULL termination, various commands will read past the
end of input. In particular, this was noticed with error()
calls in cb_getvar and simple_strtoul() in cb_download.Since the download callback happens elsewhere, the 4k buffer
should always be sufficient to handle command arguments.Signed-off-by: Eric Nelson
-
This bit allows the MUSB controller to negotiate for high-speed mode when
the device is reset by the hub. If unset, Babble errors occur with
high-speed mass storage devices right after the first packet. This condition
is not caught by the interrupt handles in U-Boot, so no recovery is done,
and the USB communication is stuck.To fix this, set the bit unconditionally, not only for
CONFIG_USB_GADGET_DUALSPEED but also for host-only modes.Signed-off-by: Daniel Mack
06 Oct, 2014
19 commits
-
Trying to enumerate USB devices connected via ULPI to T20 failed as
follows:USB2: ULPI integrity check failed
Git bisecting revealed the following commit being at odds:
commit 2d34151f7501ddaa599897f0d89ad576126b03eb
usb: tegra: refactor PHY type selectionLooking at above commit one quickly identifies a copy paste error which
this patch fixes. Happy ULPIing again (;-p).Signed-off-by: Marcel Ziswiler
-
The processing of the max-download-size variable requires a
radix specifier, or the fastboot host tool will interpret
it as an octal number.See function get_target_sparse_limit() in file fastboot/fastboot.c
in the AOSP:
https://android.googlesource.com/platform/system/core/+/masterSigned-off-by: Eric Nelson
-
Current Android Fastboot seems to use 'max-download-size' instead
of 'downloadsize' variable to indicate the maximum size of sparse
segments.See function get_target_sparse_limit() in file fastboot/fastboot.c
in the AOSP:
https://android.googlesource.com/platform/system/core/+/masterSigned-off-by: Eric Nelson
-
Force full-speed (12 Mbit/s) operation if CONFIG_USB_GADGET_DUALSPEED
is not defined.The controller is capable of high-speed (480 Mbit/s) operation,
but some designs may require the use of lower-speed operation.Signed-off-by: Eric Nelson
-
When download is ongoing, if the actual size of one transfer
is not the same as BYTES_PER_DOT, which will cause the dot
won't print anymore. Then it will let the user thinking it
is stuck, actually it is transfering without dot printed.So, improve the method to show the progress bar (print dot).
Signed-off-by: Bo Shen
Acked-by: Marek Vasut -
Without this flag, tools like Alex Page's USB Image Tool
won't see drives exposed over USB Gadget as removable,
and won't allow access to them.
http://www.alexpage.de/usb-image-tool/The code was pulled from the main-line kernel:
drivers/usb/gadget/function/f_mass_storage.cSigned-off-by: Eric Nelson
-
Siemens boards are now using DFU in fullspeed only. For
this CONFIG_USB_GADGET_DUALSPEED is undefined.Signed-off-by: Heiko Schocher
Cc: Tom Rini
Cc: Lukasz Majewski
Cc: Marek Vasut
Cc: Liu Bin
Cc: Lukas Stockmann -
DFU now can use also fullspeed.
Signed-off-by: Heiko Schocher
Cc: Tom Rini
Cc: Lukasz Majewski
Cc: Marek Vasut
Cc: Liu Bin
Cc: Lukas Stockmann -
This code is not used anymore in the current DFU implementation and
can be safely removed.Signed-off-by: Lukasz Majewski
-
Use the new force parameter to make the stdio_deregister succeed, replacing
stdin with a nulldev, and assume that the usb keyboard will come back after
the reset.Signed-off-by: Hans de Goede
-
In some cases we really want to move forward with a deregister, add a force
parameter to allow this, and replace the dev with a nulldev in this case.Signed-off-by: Hans de Goede
-
We now always properly deregister the keyboard before calling
drv_usb_kbd_init(), so we can drop the check for already being registered.Signed-off-by: Hans de Goede
-
We need to call usb_kbd_deregister() before calling usb_stop().
usbkbd's stdio_dev->priv points to the usb_device, and usb_kbd_testc
dereferences usb_device->privptr.usb_stop zeros usb_device, leaving usb_device->privptr NULL, causing
bad things (tm) to happen once control returns to the main loop and
usb_kbd_testc gets called.Calling usb_kbd_deregister() avoids this. Note that we do not allow
the "usb reset" to continue when the deregister fails. This will be fixed
in a later patch.For the same reasons always fail "usb stop" if the usb_kbd_deregister() fails,
even in the force path. This can happen when CONFIG_SYS_STDIO_DEREGISTER is
not set.Signed-off-by: Hans de Goede
-
ENODEV menas no usb keyboard was registered, threat this as a successful
usb_kbd_deregister.Signed-off-by: Hans de Goede
-
Signed-off-by: Hans de Goede
-
Periodic schedules tracks how many int_queue-s are active, and decides whether
or not to en/disable the periodic schedule based on this. This is clearly
a per controller thing.Signed-off-by: Hans de Goede
-
When we first start an int queue, the qh's overlay area is all zeros. This
gets filled by the hc with the actual qtd values as soon as it advances
the queue, but we may call poll_int_queue before then, in which case we
would think the transfer has completed as the hc has not yet copied the
qt_token to the overlay, so the active flag is not set.This fixes this by checking the actual qtd token, rather then the overlay.
This also fixes a (theoretical) race where we see the completion in the
overlay and free and re-use the qtd before the hc has completed writing back
the overlay to the actual qtd.Signed-off-by: Hans de Goede
-
Signed-off-by: Hans de Goede
-
For full / low speed devices we need to get the devnum and portnr of the tt,
so of the first upstream usb-2 hub, not of the parent device (which may be a
usb-1 hub).Signed-off-by: Hans de Goede
03 Oct, 2014
8 commits
-
dw_mmc driver was responding to errors with debug(). Change that to
prinf so that any errors are immediately obvious. Also adjust english
in comments.Signed-off-by: Pavel Machek
Acked-by: Pantelis Antoniou -
sub-command 'bootpart-resize' check for argc == 4,
it will retrun CMD_RET_FAILURE when argc value not matched.but bootpart-resize's maxarg is 3, which means you never execute
this sub-command successfully.fix it by change bootpart-resize maxarg to 4.
Signed-off-by: wally.yeh
Cc: Wolfgang Denk
Cc: Pierre Aubert
Acked-by: Pantelis Antoniou -
After setting the bus width, the extended CSD register is read. Some selected
fields are compared with previously read extended CSD register fields. In this
comparison the EXT_CSD_ERASE_GROUP_DEF field is compared. But this field is
previously written under certain circumstances. And then the comparison fails.Only compare read-only fields. Therefore compare field EXT_CSD_HC_WP_GRP_SIZE
instead of field EXT_CSD_ERASE_GROUP_DEF.Signed-off-by: Mario Schuknecht
Acked-by: Pantelis Antoniou -
In function mvebu_mmc_write notice command timeout. It is possible that a
command is done, but a timeout occurred.Enable timeout in set bus function.
Set window registers. Without that I could not use the driver on a Kirkwood
88F6282 SoC.Set high capacity and 52MHz driver feature.
Signed-off-by: Mario Schuknecht
Reviewed-by: Stefan Roese
Acked-by: Pantelis Antoniou -
The code to set the MMC partition uses an weak function to obtain the
correct partition number. Use that instead of the compile-time default
when deciding whether it needs to switch back.Fixes: 6e7b7df4df43574 ("env_mmc: support env partition setup in runtime")
Signed-off-by: Peter A. Bigot
Acked-by: Dmitry Lifshitz
Acked-by: Pantelis Antoniou -
The capacity and lba for an MMC device with part_num 0 reflects the
whole device. When mmc_switch_part() successfully switches to a
partition, the capacity is changed to that partition. As partition 0
does not physically exist, attempts to switch back to the whole device
will indicate an error, but the capacity setting for the whole device
must still be restored to match the partition.Signed-off-by: Peter A. Bigot
Tested-by: Tom Rini
Acked-by: Pantelis Antoniou -
if we set manually this bit on the eMMC card using mmc_switch(...),
we also have to set it within our (before read) internal structure
'ext_csd'.Otherwise following checks on this will fail.
Acked-by: Pantelis Antoniou
Signed-off-by: Hannes Petermaier -
Wait data transfer till the data end bit other than the data block end
bit is set.Acked-by: Pantelis Antoniou
Signed-off-by: Sonic Zhang
27 Sep, 2014
5 commits
-
Some of the #defines in spi.h are not bracketed. To avoid future mistakes
add brackets. Also add an explanatory comment for SPI_CONN_DUAL_...Signed-off-by: Simon Glass
Reviewed-by: Jagannadha Sutradharudu Teki -
In preparation for changing the error handling in this code for driver
model, move it into its own function.Reviewed-by: Jagannadha Sutradharudu Teki
Signed-off-by: Simon Glass -
Sandbox may as well support everything. This increases the amount of code
that is built/tested by sandbox, and also provides access to all the
supported SPI flash devices.Signed-off-by: Simon Glass
Reviewed-by: Jagannadha Sutradharudu Teki -
At present sandbox has its own table of supported SPI flash chips. Now that
the SPI flash system is fully consolidated and has its own list, sandbox
should use that.This enables us to expand the number of chips that sandbox supports.
Signed-off-by: Simon Glass
Reviewed-by: Jagannadha Sutradharudu Teki
26 Sep, 2014
6 commits
-
The patch "nand/denali: Adding Denali NAND driver support"
introduced two config symbols without documenting them.Signed-off-by: Scott Wood
Cc: Chin Liang See
Cc: Masahiro Yamada -
To add the Denali NAND driver support into U-Boot.
This driver is leveraged from Linux with commit ID
fdbad98dff8007f2b8bee6698b5d25ebba0471c9. For Denali
controller 64 variance, you need to declare macro
CONFIG_SYS_NAND_DENALI_64BIT.Signed-off-by: Chin Liang See
Cc: Scott Wood
Cc: Masahiro Yamada
Signed-off-by: Masahiro Yamada
Reviewed-by: Masahiro Yamada
Tested-by: Masahiro Yamada -
The ioread16_rep() and iowrite16_rep() implementations are U-Boot specific
and have been introduced with the Linux MTD v3.14 sync. While introducing
these functions, the length for the loop has been miscalculated. The ">> 1"
is already present in the caller. So lets remove it in the function.Tested on omap3_ha.
Signed-off-by: Stefan Roese
Cc: Heiko Schocher
Cc: Tom Rini
Cc: Scott Wood
Acked-by: Heiko Schocher -
OMAP GPMC driver used with some NAND Flash devices
(e.g. Spansion S34ML08G1) causes that U-boot shows
hundreds of 'nand: bit-flip corrected' error messages.
Possible cause was discussed in the mailinglist thread:
http://lists.denx.de/pipermail/u-boot/2014-April/177508.htmlThe issue was partially fixed with the cc81a5291910d7a.git
however this has to be done to fix the SPL.The original author of the code is Belisko Marek
Signed-off-by: Rostislav Lisovy