summaryrefslogtreecommitdiff
path: root/common
Commit message (Collapse)AuthorAgeLines
...
* spl: spl_mmc: MMC boot mode provisions checksPaul Kocialkowski2015-06-18-7/+15
| | | | | | | | | | | This allows using only one of either raw or fs mode for SPL mmc boot, without the need to have provisions for the other. In particular, a device may have U-Boot installed on a file system on the mmc, without ever needing to read U-Boot from raw memory. Thus, there is no reason to provide a sector or partition for raw mode. This allows this behaviour and still provides a robust fallback mechanism in case provisions for both modes are defined. Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
* spl: spl_mmc: Minor cosmeticsPaul Kocialkowski2015-06-18-6/+5
| | | | | | This switches some printf calls to puts and avoids a test repetition. Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
* ahci: support LBA48 data reads for 2+TB drivesMark Langsdorf2015-06-12-2/+47
| | | | | | | | | | | | | | Enable full 48-bit LBA48 data reads by passing the upper word of the LBA block pointer in bytes 9 and 10 of the FIS. This allows uboot to load data from any arbitrary sector on a drive with 2 or more TB of available data connected to an AHCI controller. Signed-off-by: Mark Langsdorf <mark.langsdorf@gmail.com> Signed-off-by: Andre Przywara <osp@andrep.de> [trini: Make use of CONFIG_SYS_64BIT_LBA in a few places to drop warnings on platforms that don't enable that feature ] Signed-off-by: Tom Rini <trini@konsulko.com>
* cmd_scsi: use lbaint_t for LBA values instead of u32Mark Langsdorf2015-06-12-7/+7
| | | | | Signed-off-by: Mark Langsdorf <mark.langsdorf@gmail.com> Signed-off-by: Andre Przywara <osp@andrep.de>
* Merge git://git.denx.de/u-boot-dmTom Rini2015-06-11-16/+47
|\
| * Add a simple version of memalign()Simon Glass2015-06-10-0/+14
| | | | | | | | | | | | This is used when the full malloc() is not available. Signed-off-by: Simon Glass <sjg@chromium.org>
| * lcd: Support colour lookup table on 16bpp display in BMP imagesSimon Glass2015-06-10-3/+20
| | | | | | | | | | | | | | For 16-bit-per-pixel displays it is useful to support 8 bit-per-pixel images to reduce image size. Add support for this when drawing BMP images. Signed-off-by: Simon Glass <sjg@chromium.org>
| * Remove typedefs from bmp_layout.hSimon Glass2015-06-10-13/+13
| | | | | | | | | | | | | | | | | | We try to avoid typedefs and these ones are easy enough to remove. Before changing this header in the next patch, remove the typedefs. Signed-off-by: Simon Glass <sjg@chromium.org> Suggested-by: Joe Hershberger <joe.hershberger@gmail.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* | common/cmd_bdinfo: show gd->board_typeHannes Schmelzer2015-06-11-0/+3
|/ | | | | | | | | sometimes it is usefull to know if board-detection has written the correct value into gd->board_type. For this we add some output to the bdinfo command. Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>
* autoboot.c: Add feature to stop autobooting via SHA256 encrypted passwordStefan Roese2015-06-08-31/+138
| | | | | | | | | | | | | This patch adds the feature to only stop the autobooting, and therefor boot into the U-Boot prompt, when the input string / password matches a values that is encypted via a SHA256 hash and saved in the environment. This feature is enabled by defined these config options: CONFIG_AUTOBOOT_KEYED CONFIG_AUTOBOOT_STOP_STR_SHA256 Signed-off-by: Stefan Roese <sr@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
* autoboot.c: Move config options to KconfigStefan Roese2015-06-08-1/+69
| | | | | | | | | | | | | | | | | | | This patch moves the following config options to Kconfig: CONFIG_AUTOBOOT_KEYED CONFIG_AUTOBOOT_PROMPT CONFIG_AUTOBOOT_DELAY_STR CONFIG_AUTOBOOT_STOP_STR AUTOBOOT_KEYED_CTRLC Signed-off-by: Stefan Roese <sr@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org> [trini: Drop ip04 and pm9263 configs/ additions, those boards previously set CONFIG_AUTOBOOT_PROMPT but never used it, re-run savedefconfig over all boards that did change. Make digsy_mtc_* string include seconds to match others and not warn. ] Signed-off-by: Tom Rini <trini@konsulko.com> Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
* autoboot.c: Remove CONFIG_AUTOBOOT_STOP_STR2 and CONFIG_AUTOBOOT_DELAY_STR2Stefan Roese2015-06-08-12/+2
| | | | | | | | | | | | | | | These defines for a 2nd autoboot stop and delay string are nearly unused. Only sc3 defines CONFIG_AUTOBOOT_DELAY_STR2. And a patch to remove this most likely unmaintained board is also posted to the list. By removing these defines the code will become cleaner and moving the remaining compile options to Kconfig will get easier. Signed-off-by: Stefan Roese <sr@denx.de> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org> Cc: Wolfgang Denk <wd@denx.de> Cc: Heiko Schocher <hs@denx.de>
* image-fit: Fix compiler warning in fit_conf_print()Hans de Goede2015-06-06-2/+2
| | | | | | | | | | | | This fixes the following compiler warning: In file included from tools/common/image-fit.c:1:0: ./tools/../common/image-fit.c: In function ‘fit_conf_print’: ./tools/../common/image-fit.c:1470:27: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses] (const char **)&uname) > 0; Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* Merge git://git.denx.de/u-boot-fdtTom Rini2015-06-05-0/+29
|\
| * fdt: Pass the device serial number through devicetreePaul Kocialkowski2015-06-05-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before device-tree, the device serial number used to be passed to the kernel using ATAGs (on ARM). This is now deprecated and all the handover to the kernel should now be done using device-tree. Thus, this passes the serial-number property to the kernel using the serial-number property of the root node, as expected by the kernel. The serial number is a string that somewhat represents the device's serial number. It might come from some form of storage (e.g. an eeprom) and be programmed at factory-time by the manufacturer or come from identification bits available in e.g. the SoC. Signed-off-by: Paul Kocialkowski <contact@paulk.fr> Reviewed-by: Simon Glass <sgj@chromium.org>
* | cmd_ide: Eliminate build warnings in atapi_inquiry()Bin Meng2015-06-04-3/+3
|/ | | | | | | | Eliminate the following build warning in atapi_inquiry(): "warning: assignment from incompatible pointer type [enabled by default]" Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
* Merge branch 'master' of git://git.denx.de/u-boot-netTom Rini2015-06-02-0/+9
|\ | | | | | | | | | | Fixup include/configs/unipher.h to not set CONFIG_LIB_RAND Signed-off-by: Tom Rini <trini@konsulko.com>
| * net: Move the CMD_NET config to defconfigsJoe Hershberger2015-06-01-0/+1
| | | | | | | | | | | | | | | | | | | | | | This also selects CONFIG_NET for any CONFIG_CMD_NET board. Remove the imx default for CONFIG_NET. This moves the config that was defined by 60296a8 (commands: add more command entries in Kconfig). Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
| * Move setexpr to KconfigJoe Hershberger2015-06-01-0/+8
| | | | | | | | | | | | | | | | | | | | | | Another shell scripting command that has not been moved. Moved using tools/moveconfig.py using these settings: CMD_SETEXPR bool n y Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
* | usb: kbd: Fix key repeat not always workingHans de Goede2015-05-29-6/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The usb-kbd key repeat code assumes that reports get repeated every 40 ms, this is never true when using CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP, and does not always works for CONFIG_SYS_USB_EVENT_POLL and CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE since not all usb keyboards honor the usb_set_idle() command. For CONFIG_SYS_USB_EVENT_POLL we must use usb_set_idle() since we do a blocking wait for the hid report, so if we do not tell the keyboard to send a hid report every 40ms even if nothing changes then we will block u-boot for 1s (the default u-boot usb interrupt packet timeout). Note that in this case on keyboards which do not support usb_set_idle() we loose and we actually get 1s latencies on other u-boot activities. For the other poll-methods this commit stops using usb_set_idle() and instead repeats the last received hid-report every 40 ms as long as no new hid-report is received. This fixes key-repeat not working at all with CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP and fixes it not working with keyboards which do not implement usb_set_idle() when using CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* | usb: Remove unused variable in usb_setup_descriptor()Hans de Goede2015-05-29-2/+0
|/ | | | | | The compiler did not catch this as it was marked __maybe_unused. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* image: fix build when CONFIG_NR_DRAM_BANKS is disabled on ARMMatt Porter2015-05-28-1/+1
| | | | | | | common/image.c currently implicitly depends on CONFIG_NR_DRAM_BANKS when CONFIG_ARM is enabled. Make this requirement explicit. Signed-off-by: Matt Porter <mporter@konsulko.com>
* meminfo cmd: Enable printing >=4GiB SDRAM sizesAndrew Bradford2015-05-28-1/+1
| | | | | | | | | gd->ram_size is stored as phys_size_t type which can be bigger than an unsigned long on some architectures. When using unsigned long type, SDRAM of 4GiB or larger will not print the correct size, but using phys_size_t will. Signed-off-by: Andrew Bradford <andrew.bradford@kodakalaris.com>
* spl: spl_mmc: Error and count distinctionPaul Kocialkowski2015-05-28-14/+19
| | | | | | | | | This introduces a distinction between return codes that are read bytes counts and errors. Read bytes counts are erroneous when null (no data was read) while errors are erroneous when non-null. Signed-off-by: Paul Kocialkowski <contact@paulk.fr> Tested-by: Tim Harvey <tharvey@gateworks.com>
* Combine bootm_find_<thing> functions togetherKarl Apsite2015-05-28-37/+20
| | | | | | | | | | | | | bootm_find_ramdisk_fdt() renamed to bootm_find_images() for readability. The function bootm_find_ramdisk_fdt() appears to be a simple wrapper for bootm_find_ramdisk(), bootm_find_fdt(), and now bootm_find_loadables(). I didn't see any other callers entering a bootm_find<thing>, so removing the wrapper, and condensing these together hopefully makes the code a little simpler. Signed-off-by: Karl Apsite <Karl.Apsite@dornerworks.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* add boot_get_loadables() to load listed imagesKarl Apsite2015-05-28-1/+102
| | | | | | | | | | | | | | Added a trimmed down instance of boot_get_<thing>() to satisfy the minimum requierments of the added feature. The function follows the normal patterns set by other boot_get<thing>'s, which should make it a bit easier to combine them all together into one boot_get_image() function in a later refactor. Documentation for the new function can be found in source: include/image.h Signed-off-by: Karl Apsite <Karl.Apsite@dornerworks.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* mkimage will now report information about loadableKarl Apsite2015-05-28-0/+17
| | | | | | | | | | | | Added FIT_LOADABLE_PROP, so the user can identify an optional entry named "loadables" in their .its configuration. "loadables" is a comma separated list in the .its Documentation can be found in doc/uImage.FIT/source_file_format.txt and doc/uImage.Fit/multi-with-loadables.its Signed-off-by: Karl Apsite <Karl.Apsite@dornerworks.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* env_mmc: add error message to pass to set_default_envTim Harvey2015-05-27-16/+24
| | | | | | | | Add an error message that gets passed to set_default_env() like env_nand implements. This message is displayed to the user as the reason for falling back to the default environment. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* menu: Return an error code if Ctrl-C is pressedTuomas Tynkkynen2015-05-27-0/+3
| | | | | | | | | | Previously, if the menu activated by the 'sysboot' command gets interrupted by a Ctrl-C, the behaviour is as if the menu timeout was reached - i.e. boot the default menu entry. This patch fixes that so a Ctrl-C now terminates the command as the user would expect. Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi> Reviewed-by: Simon Glass <sjg@chromium.org>
* pxe: Fix crash if 'sysboot' is run without argsTuomas Tynkkynen2015-05-27-1/+1
| | | | | | | | Previously, a NULL pointer dereference would occur if the 'sysboot' command is executed without any arguments. Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi> Reviewed-by: Simon Glass <sjg@chromium.org>
* Merge branch 'master' of git://www.denx.de/git/u-boot-imxTom Rini2015-05-26-1/+8
|\
| * spl: spl_mmc: fix mmc Falcon mode regressionTim Harvey2015-05-26-1/+1
| | | | | | | | | | | | | | | | | | | | | | 91199f4a5a21a7cf9dd9e7c05e295a042f8c2b7e broke mmc based Falcon mode. The block_read function returns the number of blocks read thus the error check needs to look for a return of 0 blocks read. Cc: Paul Kocialkowski <contact@paulk.fr> Signed-off-by: Tim Harvey <tharvey@gateworks.com> Acked-by: Paul Kocialkowski <contact@paulk.fr>
| * env_nand: use nand_spl_load_image for readenv if SPLTim Harvey2015-05-19-0/+7
| | | | | | | | | | | | | | | | | | | | | | The readenv() implementation of env_nand uses the mtd layer which is unnecessary overhead in SPL when we already have a nand_spl_load_image() function that doesn't need it. Using this instead eliminates the need to provide a mtd_read for SPL env as well as reduces code (4KB savings in IMX6 SPL). Signed-off-by: Tim Harvey <tharvey@gateworks.com> Acked-by: Scott Wood <scottwood@freescale.com>
* | env: Distinguish finer between source of env changeJoe Hershberger2015-05-21-7/+19
| | | | | | | | | | | | | | | | | | | | | | We already could tell the difference in the callback between an import and "other" which we called interactive. Now add further distinction between interactive (i.e. running env set / env edit / env ask / etc. from the U-Boot command line) and programmatic (i.e. when u-boot source calls any variant of setenv() ). Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* | env: Add regex support to env_attrsJoe Hershberger2015-05-21-0/+85
| | | | | | | | | | | | | | Allow the features that use env_attrs to specify regexs for the name Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* | env: Allow env_attr_walk to pass a priv * to callbackJoe Hershberger2015-05-21-12/+15
| | | | | | | | | | | | | | | | In some cases it can be helpful to have context in the callback about the calling situation. This is needed for following patches. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* | env: Simplify the reverse_strstr() interfaceJoe Hershberger2015-05-21-40/+47
| | | | | | | | | | | | | | | | The logic to find the whole matching name was split needlessly between the reverse_strstr function and its caller. Fully contain it to make the interface for calling it more consistent. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* | env: Fix return values in env_attr_lookup()Joe Hershberger2015-05-21-3/+3
| | | | | | | | | | | | | | | | This function returned numbers for error codes. Change them to error codes. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* | console: Fix pre-console flushing via cfb_console being very slowHans de Goede2015-05-19-18/+22
|/ | | | | | | | | | | | | | | | | | | | | | | | | On my A10 OlinuxIno Lime I noticed a huge (5+ seconds) delay coming from console_init_r. This turns out to be caused by the preconsole buffer flushing to the cfb_console. The Lime only has a 16 bit memory bus and that is already heavy used to scan out the 1920x1080 framebuffer. The problem is that print_pre_console_buffer() was printing the buffer once character at a time and the cfb_console code then ends up doing a cache-flush for touched display lines for each character. This commit fixes this by first building a 0 terminated buffer and then printing it in one puts() call, avoiding unnecessary cache flushes. This changes the time for the flush from 5+ seconds to not noticable. The downside of this approach is that the pre-console buffer needs to fit on the stack, this is not that much to ask since we are talking about plain text here. This commit also adjusts the sunxi CONFIG_PRE_CON_BUF_SZ to actually fit on the stack. Sunxi currently is the only user of the pre-console code so no other boards need to be adjusted. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* common: cmd regulator: command cleanupPrzemyslaw Marczak2015-05-14-117/+122
| | | | | | | | | | | | | | | | | This commit cleanups the regulator command. The first change, is adjusting "regulator dev" command to use "regulator-name" constraint, for setting the operating device. Thanks to this, the regulator_get() function is removed. This also updates do_list() function, with loop over uclass_find_* function calls, to prevent probe of all listed regulators. This also cleanups the printing in command. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Acked-by: Simon Glass <sjg@chromium.org> Tested on sandbox: Tested-by: Simon Glass <sjg@chromium.org>
* common: cmd pmic: command cleanupPrzemyslaw Marczak2015-05-14-76/+55
| | | | | | | | | | | | | | | This commit cleanups the use of function: failed(). The new function name is: failure(), and it is used for print errno and the errno-related message only. The second change is choosing PMIC device by it's name, instead of seq number. Thanks to this change, for set the current device, call of pmic_get() is enough. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Acked-by: Simon Glass <sjg@chromium.org> Tested on sandbox: Tested-by: Simon Glass <sjg@chromium.org>
* dm: regulator: add regulator commandPrzemyslaw Marczak2015-05-14-0/+426
| | | | | | | | | | | | | | | | | | | | This command is based on driver model regulator's API. The user interface provides: - list UCLASS regulator devices - show or [set] operating regulator device - print constraints info - print operating status - print/[set] voltage value [uV] (force) - print/[set] current value [uA] - print/[set] operating mode id - enable the regulator output - disable the regulator output The 'force' option can be used for setting the value which exceeds the constraints min/max limits. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Acked-by: Simon Glass <sjg@chromium.org>
* dm: pmic: add pmic commandPrzemyslaw Marczak2015-05-14-0/+248
| | | | | | | | | | | | | | | This is new command for the PMIC devices based on driver model PMIC API. Command features are unchanged: - list UCLASS pmic devices - show or [set] operating pmic device (NEW) - dump registers - read byte of register at address - write byte to register at address The only one change for this command is 'dev' subcommand. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Acked-by: Simon Glass <sjg@chromium.org>
* dm: i2c: Implement 'i2c bus' command for driver modelSimon Glass2015-05-14-8/+55
| | | | | | | | This command was missed in the conversion. Add it back for driver model. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Heiko Schocher <hs@denx.de>
* usb: add device connection/disconnection detectionVincent Palatin2015-05-14-1/+27
| | | | | | | | | | | | Provide a function to detect USB device insertion/removal in order to avoid having to do USB enumeration in a tight loop when trying to detect peripheral hotplugging. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Stefan Reinauer <reinauer@chromium.org> Tested-by: Stefan Reinauer <reinauer@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org>
* usb: Stop reset procedure when a dev is handed over to a companion hcdHans de Goede2015-05-14-1/+2
| | | | | | | | | | Short circuit the retry loop in legacy_hub_port_reset() by returning an error from usb_control_msg() when a device was handed over to a companion by the ehci code. This avoids trying to reset low / fullspeed devices 5 times needlessly. Also do not print an error when a device has been handed over. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* usb: legacy_hub_port_reset() check and propagate usb_set_port_feature() errorsHans de Goede2015-05-14-2/+4
| | | | | | | Actually check for usb_set_port_feature() errors and propagate these if they happen. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* usb: usb_control_msg() propagate controller error codeHans de Goede2015-05-14-2/+4
| | | | | | | Propagate the error returned by submit_control_msg() rather then always returning -EIO when the hcd code indicates an error. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* Use map_sysmem when accessing memory in setexprJoe Hershberger2015-05-14-9/+23
| | | | | | | | | The setexpr command used to segfault when accessing memory in sandbox. The pointer accesses should be mapped. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Cc: Simon Glass <sjg@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org>
* Merge branch 'master' of git://git.denx.de/u-boot-tegraTom Rini2015-05-14-0/+105
|\