summaryrefslogtreecommitdiff
path: root/common
AgeCommit message (Collapse)Author
2015-01-20Merge branch 'master' of git://git.denx.de/u-boot-mmcTom Rini
2015-01-19mmc: extend mmcinfo output to show partition write reliability settingsDiego Santa Cruz
This extends the mmcinfo hardware partition info output to show partitions with write reliability enabled with the "WRREL" string. If the partition does not have write reliability enabled the "WRREL" string is omitted; this is analogous to the ehhanced attribute. Example output: Device: OMAP SD/MMC Manufacturer ID: fe OEM: 14e Name: MMC16 Tran Speed: 52000000 Rd Block Len: 512 MMC version 4.41 High Capacity: Yes Capacity: 13.8 GiB Bus Width: 4-bit Erase Group Size: 8 MiB HC WP Group Size: 16 MiB User Capacity: 13.8 GiB ENH WRREL User Enhanced Start: 0 Bytes User Enhanced Size: 512 MiB Boot Capacity: 16 MiB ENH RPMB Capacity: 128 KiB ENH GP1 Capacity: 64 MiB ENH WRREL GP2 Capacity: 64 MiB ENH WRREL Signed-off-by: Diego Santa Cruz <Diego.SantaCruz@spinetix.com>
2015-01-19mmc: extend the mmc hwpartition sub-command to change write reliabilityDiego Santa Cruz
This change extends the mmc hwpartition sub-command to change the per-partition write reliability settings. It also changes the syntax used for the enhanced user data area slightly to better accomodate the write reliability option. Signed-off-by: Diego Santa Cruz <Diego.SantaCruz@spinetix.com>
2015-01-19mmc: add mmc hwpartition sub-command to do eMMC hardware partitioningDiego Santa Cruz
Adds the mmc hwpartition sub-command to perform eMMC hardware partitioning on an mmc device. The number of arguments can be large for a complex partitioning, but as the partitioning has to be done in one go it is difficult to make it simpler. Signed-off-by: Diego Santa Cruz <Diego.SantaCruz@spinetix.com>
2015-01-19mmc: show the erase group size and HC WP group size in mmcinfo outputDiego Santa Cruz
This adds the erase group size and high-capacity WP group size to mmcinfo's output. The erase group size is necessary to properly align erase requests on eMMC. The high-capacity WP group size is necessary to properly align partitions on eMMC. Signed-off-by: Diego Santa Cruz <Diego.SantaCruz@spinetix.com>
2015-01-19mmc: display size and start of eMMC enhanced user data area in mmcinfoDiego Santa Cruz
This adds output to show the eMMC enhanced user data area size and offset along with the partition sizes in mmcinfo's output. Signed-off-by: Diego Santa Cruz <Diego.SantaCruz@spinetix.com>
2015-01-19mmc: skip mmcinfo partition info processing for eMMC < 4.41Diego Santa Cruz
eMMC partitions are defined as of eMMC 4.41, but mmcinfo process partition info for eMMC >= 4.0, change it to do it for >= 4.41 Signed-off-by: Diego Santa Cruz <Diego.SantaCruz@spinetix.com>
2015-01-19mmc: make eMMC general purpose partition numbering match specDiego Santa Cruz
The eMMC spec numbers general purpose partitions starting at 1, but the mmcinfo output follows the internal numbering which starts at 0. Make the mmcinfo command output number partitions as in the eMMC spec to avoid confusion. Signed-off-by: Diego Santa Cruz <Diego.SantaCruz@spinetix.com>
2015-01-19mmc: extend mmcinfo to show enhanced partition attributeDiego Santa Cruz
This extends the mmcinfo command's output to show which eMMC partitions have the enhanced attribute set. Note that the eMMC spec says that if the enhanced attribute is supported then the boot and RPMB partitions are of the enhanced type. The output of mmcinfo becomes: Device: OMAP SD/MMC Manufacturer ID: fe OEM: 14e Name: MMC16 Tran Speed: 52000000 Rd Block Len: 512 MMC version 4.41 High Capacity: Yes Capacity: 13.8 GiB Bus Width: 4-bit User Capacity: 13.8 GiB ENH Boot Capacity: 16 MiB ENH RPMB Capacity: 128 KiB ENH GP1 Capacity: 64 MiB ENH GP2 Capacity: 64 MiB ENH Signed-off-by: Diego Santa Cruz <Diego.SantaCruz@spinetix.com>
2015-01-19mmc: show hardware partition sizes in mmcinfo outputDiego Santa Cruz
There is currently no command that will provide an overview of the hardware partitions present on an eMMC device, one has to switch to every partition via "mmc dev" and run mmcinfo for each to get the partition's capacity. This commit adds a few lines of output to mmcinfo with the sizes of the present partitions, like this: Device: OMAP SD/MMC Manufacturer ID: fe OEM: 14e Name: MMC16 Tran Speed: 52000000 Rd Block Len: 512 MMC version 4.41 High Capacity: Yes Capacity: 13.8 GiB Bus Width: 4-bit User Capacity: 13.8 GiB Boot Capacity: 16 MiB RPMB Capacity: 128 KiB GP1 Capacity: 64 MiB GP2 Capacity: 64 MiB panto: Minor edit removing superfluous parentheses. Signed-off-by: Diego Santa Cruz <Diego.SantaCruz@spinetix.com> Signed-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
2015-01-18musb-new: Fix reset sequence when in host modeHans de Goede
This commit fixes a number of issues with the reset sequence of musb-new in host mode: 1) Our usb device probe relies on a second device reset being done after the first descriptors read. Factor the musb reset code into a usb_reset_root_port function (and add this as an empty define for other controllers), and call this when a device has no parent. 2) Just like with normal usb controllers there needs to be a delay after reset, for normal usb controllers, this is handled in hub_port_reset, add a delay to usb_reset_root_port. 3) Sync the musb reset sequence with the upstream kernel, clear all bits of power except bits 4-7, and increase the time reset is asserted to 50 ms. With these fixes an usb keyboard I have now always enumerates properly, where as earlier it would only enumerare properly once every 5 tries. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2015-01-18usb: Do not log an error when no devices is plugged into a root-hub-less hcdHans de Goede
Before this commit u-boot would print the following on boot with musb and no usb device plugged in: starting USB... USB0: Port not available. USB error: all controllers failed lowlevel init This commit changes this to: starting USB... USB0: Port not available. Which is the correct thing to do since the low-level init went fine. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2015-01-18usb: Fix usb_kbd_deregister when console-muxing is usedHans de Goede
When iomuxing is used we must not only deregister the device with stdio.c, but also remove the reference to the device in the console_devices array used by console-muxing. Add a call to iomux_doenv to usb_kbd_deregister to update console_devices, which will drop the reference. This fixes the console filling with "Failed to enqueue URB to controller" messages after a "usb stop force", or when the USB keyboard is gone after a "usb reset". Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2015-01-18usb: Add an interval parameter to create_int_queueHans de Goede
Currently create_int_queue is only implemented by the ehci code, and that does not honor interrupt intervals, but other drivers which might also want to implement create_int_queue may honor intervals, so add an interval param. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2015-01-18USB: make "usb start" start usb only onceHans de Goede
Currently we've this magic in include/config_distro_bootcmd.h to avoid scanning the usb bus multiple times. And it does not work when also using an usb keyboard because then the preboot command has already scanned the bus, so we're still scanning it twice. This commit makes "usb start" only start usb if it is no already started, allowing us to remove all the magic for it from include/config_distro_bootcmd.h and just call it unconditionally. This also causes "usb start" and "usb reset" to actually do what their different names suggest, rather then both of them doing exactly the same. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2015-01-14Merge branch 'next' of git://git.denx.de/u-boot-videoTom Rini
2015-01-14spl: spl_nor: surround Linux-load code with #ifdef CONFIG_SPL_OS_BOOTMasahiro Yamada
If CONFIG_SPL_NOR_SUPPORT is defined, spl_nor_load_image() requires spl_start_uboot(), CONFIG_SYS_OS_BASE, CONFIG_SYS_SPL_ARGS_ADDR, CONFIG_SYS_FDT_BASE to be defined even if users just want to run U-Boot, not Linux. This is inconvenient. This patch is following the codying style of common/spl/spl_nand.c. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2015-01-14image: Enable OpenRTOS booting via fitImageMarek Vasut
Allow booting the OpenRTOS payloads via fitImage image type. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-01-14image: bootm: Add OpenRTOS image typeMarek Vasut
Add separate image type for the Wittenstein OpenRTOS . Signed-off-by: Marek Vasut <marex@denx.de> Cc: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-01-14bootm: Factor out common parts of image decompression codeSimon Glass
Adjust the code so that the error reporting can all be done at the end, and is the same for each decompression method. Try to detect when decompression fails due to lack of space. Keep the behaviour of resetting on failure even though there should be no memory corruption now. Signed-off-by: Simon Glass <sjg@chromium.org>
2015-01-14bootm: Use print_decomp_msg() in all casesSimon Glass
Refactor to allow this function to be used to announce the image being loaded regardless of compression type and even when there is no decompression. Signed-off-by: Simon Glass <sjg@chromium.org>
2015-01-14bootm: Export bootm_decomp_image()Simon Glass
Export this function for testing. Also add a parameter so that values other than CONFIG_SYS_BOOTM_LEN can be used for the maximum uncompressed size. Signed-off-by: Simon Glass <sjg@chromium.org>
2015-01-14sandbox: Correct ordering of 'sb save' commandsSimon Glass
Prior to commit d455d87 there was an inconsistency between the position of the 'address' parameter in 'sb load' and 'sb save'. This was corrected but it broke some tests. Fix the tests and also the help for 'sb save'. Signed-off-by: Simon Glass <sjg@chromium.org>
2015-01-14bootm: Move compression progress/error messages into a functionSimon Glass
This code is repeated in several places, and does not detect a common fault where the image is too large. Move it into its own function and provide a more helpful messages in this case, for compression schemes which support this. Signed-off-by: Simon Glass <sjg@chromium.org>
2015-01-14common/memsize.c: Coding style cleanupWolfgang Denk
Prepare code to make later modifications checkpatch-clean. Signed-off-by: Wolfgang Denk <wd@denx.de>
2015-01-14console: Use pre-console buffer to get complete log on all consolesSiarhei Siamashka
Currently the pre-console buffer can accumulate early log messages and flush them to the serial console as soon as it becomes available. This patch just adds one more pre-console buffer flushing point and does all the same for the other consoles too. This is particularly useful for the vga/hdmi/lcd console, where we can see all the older messages now (except for the log messages from SPL). Naturally, we don't want to get an extra copy of the log messages on the serial console again at the second flushing point, so the serial console has to be explicitly filtered out. Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com> Acked-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Tom Rini <trini@ti.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2015-01-14edid: Add an edid_check_checksum() helper functionHans de Goede
Add a helper function to check the checksum of an EDID data block. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Anatolij Gustschin <agust@denx.de>
2015-01-13x86: board_f: Adjust x86 boot order for performanceSimon Glass
For bare platforms we turn off ROM-caching before calling board_init_f_r() It is then very slow to copy U-Boot from ROM to RAM. So adjust the order so that the copying happens before we turn off ROM-caching. Signed-off-by: Simon Glass <sjg@chromium.org>
2015-01-10lcd_console: remove unused definesNikita Kiryanov
CONSOLE_ROW_SECOND, CONSOLE_ROW_LAST, and CONSOLE_SCROLL_SIZE are unused. Remove them. Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il> Cc: Anatolij Gustschin <agust@denx.de> Cc: Simon Glass <sjg@chromium.org> Acked-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>
2015-01-10lcd: refactor lcd console stuff into its own fileNikita Kiryanov
common/lcd.c is a mix of code portions that do different but related things. To improve modularity, the various code portions should be split into their own modules. Separate lcd console code into its own file. Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il> Cc: Anatolij Gustschin <agust@denx.de> Cc: Simon Glass <sjg@chromium.org> Cc: Stephen Warren <swarren@wwwdotorg.org> Acked-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>
2015-01-10lcd: make lcd_drawchars() independant of lcd_baseNikita Kiryanov
lcd_logo() has the following return value: #if defined(CONFIG_LCD_LOGO) && !defined(CONFIG_LCD_INFO_BELOW_LOGO) return (void *)((ulong)lcd_base + BMP_LOGO_HEIGHT * lcd_line_length); #else return (void *)lcd_base; #endif This return value gets assigned to lcd_console_address. lcd_console_address is not assigned or modified anywhere else. Thus: #if defined(CONFIG_LCD_LOGO) && !defined(CONFIG_LCD_INFO_BELOW_LOGO): y' = BMP_LOGO_HEIGHT + y; lcd_base + y' * lcd_line_length == lcd_base + (BMP_LOGO_HEIGHT + y) * lcd_line_length == lcd_base + BMP_LOGO_HEIGHT * lcd_line_length + y * lcd_line_length == lcd_console_address + y * lcd_line_length #else lcd_base + y * lcd_line_length == lcd_console_address + y * lcd_line_length #endif This is a preparatory step for extracting lcd console code into its own file. Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il> Cc: Anatolij Gustschin <agust@denx.de> Cc: Simon Glass <sjg@chromium.org>
2015-01-10lcd: introduce getters for bg/fg colorNikita Kiryanov
Introduce lcd_getbgcolor() and lcd_getfgcolor(), and use them where applicable. This is a preparatory step for extracting lcd console code into its own file. Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il> Cc: Anatolij Gustschin <agust@denx.de> Cc: Simon Glass <sjg@chromium.org> Acked-by: Simon Glass <sjg@chromium.org>
2015-01-10lcd: get rid of COLOR_MASKNikita Kiryanov
COLOR_MASK macro doesn't do anything; Remove it to reduce visual complexity. This is a preparatory step for extracting lcd console code into its own file. Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il> Cc: Anatolij Gustschin <agust@denx.de> Cc: Simon Glass <sjg@chromium.org> Acked-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>
2015-01-10lcd: expand console apiNikita Kiryanov
Introduce set_console_row(), set_console_col(), and lcd_init_console(). Use these functions in lcd functions: lcd_init(), lcd_clear(), lcd_logo(). This is a preparatory step for extracting lcd console code into its own file. Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il> Cc: Anatolij Gustschin <agust@denx.de> Cc: Simon Glass <sjg@chromium.org> Acked-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>
2015-01-10lcd: replace CONSOLE_(ROWS|COLS) with variablesNikita Kiryanov
Replace CONSOLE_(ROWS|COLS) macros with variables, and assign the original macro values. This is a preparatory step for extracting lcd console code into its own file. Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il> Cc: Anatolij Gustschin <agust@denx.de> Cc: Simon Glass <sjg@chromium.org> Acked-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>
2015-01-10lcd: rename console_(row|col)Nikita Kiryanov
Rename console_(row|col) to console_curr_(row|col) to better distinguish it from console_(rows|cols). This is a preparatory step for extracting lcd console code into its own file. Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il> Cc: Simon Glass <sjg@chromium.org> Cc: Anatolij Gustschin <agust@denx.de> Acked-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>
2015-01-10lcd: remove LCD_MONOCHROMENikita Kiryanov
No one is using LCD_MONOCHROME; remove related code. Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il> Cc: Wolfgang Denk <wd@denx.de> Cc: Anatolij Gustschin <agust@denx.de> Acked-by: Simon Glass <sjg@chromium.org>
2015-01-10lcd: cleanup lcd_drawcharsNikita Kiryanov
Remove code duplication from lcd_drawchars(). Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il> Cc: Anatolij Gustschin <agust@denx.de> Cc: Simon Glass <sjg@chromium.org> Acked-by: Simon Glass <sjg@chromium.org>
2015-01-10lcd: remove CONFIG_SYS_INVERT_COLORSNikita Kiryanov
No one is using CONFIG_SYS_INVERT_COLORS; remove related code. Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il> Cc: Simon Glass <sjg@chromium.org> Cc: Anatolij Gustschin <agust@denx.de> Acked-by: Simon Glass <sjg@chromium.org>
2015-01-06Merge branch 'master' of git://git.denx.de/u-boot-mmcTom Rini
2015-01-06spl: mmc: Fix raw boot mode (related to commit ↵Guillaume GARDET
4c5bbc2328a24f5e1ee990c9a9527e48e5fb3b5f) As reported by Robert Nelson, commit 4c5bbc2328a24f5e1ee990c9a9527e48e5fb3b5f may break MMC RAW boot mode. This patch fixes the check path to fix MMC Raw boot mode. Tested raw boot mode and FS boot mode on a pandaboard (rev. A3). Reported-by: Robert Nelson <robertcnelson@gmail.com> Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr> Cc: Tom Rini <trini@ti.com> Cc: Robert Nelson <robertcnelson@gmail.com> Tested-by: Robert Nelson <robertcnelson@gmail.com>
2015-01-05spl_sata.c: Add <scsi.h>Tom Rini
We need <scsi.h> for scsi_scan(). Signed-off-by: Tom Rini <trini@ti.com>
2015-01-05memmove_wd: copy chunk down from big address if parameter to is larger than fromSonic Zhang
When watchdog is enabled, memmove_wd() always copy chunk up from small address. This damanges overlapped memory data if destination address is smaller than source address. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Acked-by: Simon Glass <sjg@chromium.org>
2015-01-05cmd_fdt: fix working_fdt is set to wrong valueHua Yanghao
Instead of setting working_fdt to map_sysmem(addr) (e.g. blob), it should be set to addr directly as inside set_working_fdt_addr it uses map_sysmem(addr) again. To test: ./u-boot -d dts/dt.bin , then issue: fdt addr 0x100, fdt print will then cause an segmentation fault. After this fix fdt print is functional.
2015-01-05cmd_bdinfo: check for CONFIG_ARC instead of CONFIG_ARC700Alexey Brodkin
For all flavours of ARC we execute the same code in "bdinfo" so we may safely check for CONFIG_ARC. This is especially important since we're about to add more types of ARC so existing check won't work in all cases. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Tom Rini <trini@ti.com>
2015-01-05powerpc: mpc824x: remove MPC824X cpu supportMasahiro Yamada
All the MPC824X boards are still non-generic boards: A3000, CPC45, CU824, eXalion, MVBLUE, MUSENKI, Sandpoint824x, utx8245 Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Wolfgang Denk <wd@denx.de> Cc: Josef Wagner <Wagner@Microsys.de> Cc: Torsten Demke <torsten.demke@fci.com> Cc: Jim Thompson <jim@musenki.com> Cc: Greg Allen <gallen@arlut.utexas.edu>
2015-01-05mpc8xx: remove SPD823TS board supportMasahiro Yamada
This board is still a non-generic board. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Wolfgang Denk <wd@denx.de>
2015-01-01Merge branch 'master' of git://git.denx.de/u-boot-tegraTom Rini
2014-12-29Fix hash verificationNikolay Dimitrov
Fix issue in parse_verify_sum() which swaps handling of env-var and *address. Move hash_command() argc check earlier. Cosmetic change on do_hash() variable declaration. Improved help message for "hash" command. Signed-off-by: Nikolay Dimitrov <picmaster@mail.bg> Reviewed-by: Simon Glass <sjg@chromium.org>
2014-12-29common/board_f.c: fix compile error when tracing disabledKevin Hilman
When CONFIG_TRACE is disabled, linking fails with: common/built-in.o:(.data.init_sequence_f+0x8): undefined reference to `trace_early_init' To fix, wrap the call to trace_early_init() with #ifdef CONFIG_TRACE. Cc: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@ti.com> Signed-off-by: Kevin Hilman <khilman@linaro.org>