summaryrefslogtreecommitdiff
path: root/common
AgeCommit message (Collapse)Author
2015-02-17avr32: add generic board supportAndreas Bießmann
Signed-off-by: Andreas Bießmann <[email protected]>
2015-02-17common/board_r: allocate bootparamsAndreas Bießmann
Signed-off-by: Andreas Bießmann <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-02-17common/board_f: factor out reserve_stacksAndreas Bießmann
Introduce arch_reserve_stacks() to tailor gd->start_addr_sp and gd->irq_sp to the architecture needs. Signed-off-by: Andreas Bießmann <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-02-17Merge branch 'master' of http://git.denx.de/u-boot-sunxiTom Rini
2015-02-17cmd_eeprom: make it possible to define the used i2c busChristian Gmeiner
A SoC like the i.MX6 supports more then one i2c bus. In oder to be able to use the eeprom command add a new define to specify the i2c bus to use. If CONFIG_SYS_I2C_EEPROM_BUS is not defined there is no functional change, else a call to i2c_set_bus_num(..) is done before calling i2c_read(..) and i2c_write(..). Signed-off-by: Christian Gmeiner <[email protected]> Acked-by: Stefano Babic <[email protected]>
2015-02-16spl, spl_nor: fix compiler warningHeiko Schocher
executing "tools/buildman/buildman mpc5xx" drops this warning: common/spl/spl_nor.c: In function 'spl_nor_load_image': common/spl/spl_nor.c:26:10: warning: assignment discards 'const' qualifier from pointer target type [enabled by default] fix this. Signed-off-by: Heiko Schocher <[email protected]>
2015-02-16arm: spl: Provide for a board-specific loaderSimon Glass
Some boards have a special way of loading U-Boot that does not fit with the existing SPL code. For example sunxi uses an 'FEL' mode where U-Boot is loaded over USB. Add a CONFIG option and boot mode for this. Signed-off-by: Simon Glass <[email protected]> Acked-by: Siarhei Siamashka <[email protected]> Acked-by: Hans de Goede <[email protected]> Signed-off-by: Hans de Goede <[email protected]>
2015-02-16image: Convert to use fdt_for_each_subnode macroAxel Lin
Use fdt_for_each_subnode macro to simplify the code a bit. Signed-off-by: Axel Lin <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-02-12dm: Add CMD_DM and CMD_DEMO to KconfigSimon Glass
Add Kconfig settings for these two options. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Masahiro Yamada <[email protected]>
2015-02-12dm: i2c: Add a dm_ prefix to driver model bus speed functionsSimon Glass
As with i2c_read() and i2c_write(), add a dm_ prefix to the driver model versions of these functions to avoid conflicts. Signed-off-by: Simon Glass <[email protected]> Acked-by: Heiko Schocher <[email protected]>
2015-02-12Introduce board_init_f_mem() to handle early memory layoutSimon Glass
At present on some architectures we set up the following before calling board_init_f(): - global_data - stack - early malloc memory Adding the code to support early malloc and global data setup to every arch's assembler start-up is a pain. Also this code is not actually architecture-specific. We can use common code for all architectures and with a bit of care we can write this code in C. Add a new function to deal with this. It should be called after memory is available, with a pointer to the top of the area that should be used before relocation. The function will set things up and return the lowest memory address that it allocated/used. That can then be set as the top of the stack. Note that on some archs this function will use the stack, so the stack pointer should be set to same value as is pased to board_init_f_mem(). A margin of 128 bytes will be left for this stack, so that it is not overwritten. This means that 64 bytes is wasted by this early call. This is not strictly necessary on several more modern archs, so we could remove this at the cost of some arch-dependent code. With this function there is no-longer any need for the assembler code to zero global_data or set up the early malloc pointers. Signed-off-by: Simon Glass <[email protected]>
2015-02-12malloc_simple: Return NULL on malloc failure rather then calling panic()Hans de Goede
All callers of malloc should already do error checking, and may even be able to continue without the alloc succeeding. Moreover, common/malloc_simple.c is the only user of .rodata.str1.1 in common/built-in.o when building the SPL, triggering this gcc bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54303 Causing .rodata to grow with e.g. 0xc21 bytes, nullifying all benefits of using malloc_simple in the first place. Signed-off-by: Hans de Goede <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-02-12dm: Prevent "demo hello" and "demo status" segfaultsPeter Tyser
Segfaults can occur when a mandatory argument is not provided to "demo hello" and "demo status". Eg: => demo hello Segmentation fault (core dumped) Add a check to ensure all required arguments are provided. Signed-off-by: Peter Tyser <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-02-10Merge branch 'master' of git://git.denx.de/u-boot-x86Tom Rini
2015-02-10Merge branch 'master' of git://git.denx.de/u-boot-atmelTom Rini
2015-02-10Merge branch 'master' of git://git.denx.de/u-boot-videoTom Rini
Conflicts: include/splash.h Signed-off-by: Tom Rini <[email protected]>
2015-02-10Merge branch 'master' of git://www.denx.de/git/u-boot-imxTom Rini
2015-02-10lcd: split splash code into its own functionNikita Kiryanov
lcd_logo() currently performs tasks well beyond just displaying the logo. It has code which displays splash image, it has logic which determines when the different display features are displayed, and it is coupled with the lcd console because it holds the responsibility of returning the lcd console base address. Make lcd_logo() just about the logo by: * Moving splash image display code into a dedicated function * Moving the logic regarding when various features are displayed to lcd_clear() (which is arguably not the correct name for housing such code either, but it is currently the most fitting location code wise) * Move the responsibility of setting the console base address to lcd_clear() too. Signed-off-by: Nikita Kiryanov <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Bo Shen <[email protected]> Tested-by: Josh Wu <[email protected]> Cc: Bo Shen <[email protected]> Cc: Simon Glass <[email protected]> Cc: Anatolij Gustschin <[email protected]>
2015-02-10lcd: dt: extract simplefb supportNikita Kiryanov
We now have api functions that can support compiling simplefb code as its own module. Since this code is not part of the display functionality, extract it to its own file. Raspberry Pi is updated to accommodate the changes. Signed-off-by: Nikita Kiryanov <[email protected]> Acked-by: Stephen Warren <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Bo Shen <[email protected]> Tested-by: Josh Wu <[email protected]> Cc: Simon Glass <[email protected]> Cc: Anatolij Gustschin <[email protected]> Cc: Stephen Warren <[email protected]>
2015-02-10lcd: rename bitmap_plot to better represent its functionalityNikita Kiryanov
The name "bitmap_plot" is misleading because it implies that this is a generic function capable of dealing with any bitmap, but its implementation only works with the logo data. Rename the function to better reflect this. Signed-off-by: Nikita Kiryanov <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Bo Shen <[email protected]> Tested-by: Josh Wu <[email protected]> Cc: Simon Glass <[email protected]> Cc: Anatolij Gustschin <[email protected]>
2015-02-10lcd: various cleanupsNikita Kiryanov
This cleanup mostly focuses on removing unnecessary whitespace and comments which are superfluous and/or do not conform to the coding style. Signed-off-by: Nikita Kiryanov <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Bo Shen <[email protected]> Tested-by: Josh Wu <[email protected]> Cc: Simon Glass <[email protected]> Cc: Anatolij Gustschin <[email protected]>
2015-02-10lcd: remove unused includesNikita Kiryanov
Remove unused includes. Signed-off-by: Nikita Kiryanov <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Bo Shen <[email protected]> Tested-by: Josh Wu <[email protected]> Cc: Bo Shen <[email protected]> Cc: Simon Glass <[email protected]> Cc: Anatolij Gustschin <[email protected]>
2015-02-10lcd: introduce lcd_set_cmapNikita Kiryanov
Reduce the lcd_display_bitmap #ifdef complexity by extracting Atmel-specific code for setting cmap for bitmap images into a new function lcd_set_cmap(). A default version is implemented with the remainder of the code. Signed-off-by: Nikita Kiryanov <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Bo Shen <[email protected]> Tested-by: Josh Wu <[email protected]> Cc: Bo Shen <[email protected]> Cc: Simon Glass <[email protected]> Cc: Anatolij Gustschin <[email protected]>
2015-02-10lcd: logo: move generic cmap setting to lcd_logo_set_cmap()Nikita Kiryanov
Get rid of platform-specific #ifdefs in bitmap_plot() by moving the generic case of setting cmap into the weak lcd_logo_set_cmap(). Signed-off-by: Nikita Kiryanov <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Bo Shen <[email protected]> Tested-by: Josh Wu <[email protected]> Cc: Bo Shen <[email protected]> Cc: Simon Glass <[email protected]> Cc: Anatolij Gustschin <[email protected]>
2015-02-10lcd: mpc823: move mpc823-specific lcd_logo_set_cmap code to mpc8xx_lcd.cNikita Kiryanov
Reduce the bitmap_plot #ifdef complexity by extracting MPC823-specific code for setting cmap into its own implementation of lcd_logo_set_cmap(), implemented in mpc8xx_lcd.c. In the MPC823 implementation, ARRAY_SIZE(bmp_logo_palette) is switched for BMP_LOGO_COLORS to avoid having to include bmp_logo_data.h, which would cause a compilation error because the logo data and palette arrays would be defined twice. This is a step towards cleaning bitmap_plot() of platform-specific code. Signed-off-by: Nikita Kiryanov <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Bo Shen <[email protected]> Tested-by: Josh Wu <[email protected]> Cc: Simon Glass <[email protected]> Cc: Anatolij Gustschin <[email protected]>
2015-02-10lcd: atmel: introduce lcd_logo_set_cmapNikita Kiryanov
Reduce the bitmap_plot #ifdef complexity by extracting Atmel-specific code for setting cmap into a new function lcd_logo_set_cmap(), which is implemented in atmel_lcdfb driver and defined as part of common/lcd.c api with a weak dummy version. In the Atmel implementation, ARRAY_SIZE(bmp_logo_palette) is switched for BMP_LOGO_COLORS to avoid having to include bmp_logo_data.h, which would cause a compilation error because the logo data and palette arrays would be defined twice. This is a step towards cleaning bitmap_plot() of platform-specific code. Signed-off-by: Nikita Kiryanov <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Bo Shen <[email protected]> Tested-by: Josh Wu <[email protected]> Cc: Bo Shen <[email protected]> Cc: Simon Glass <[email protected]> Cc: Anatolij Gustschin <[email protected]>
2015-02-10lcd: mpc8xx: move mpc823-specific fb_put_byte to mpc8xx_lcd.cNikita Kiryanov
Reduce the amount of platform-specific code in common/lcd.c by moving MPC823 implementation of fb_put_byte() to mpc8xx_lcd.c. Since we must also have a default implementation for everybody else, make the remainder of the code into a weak function. Signed-off-by: Nikita Kiryanov <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Bo Shen <[email protected]> Tested-by: Josh Wu <[email protected]> Cc: Simon Glass <[email protected]> Cc: Anatolij Gustschin <[email protected]>
2015-02-10lcd: atmel: move atmel-specific fb_put_word to atmel_lcdfbNikita Kiryanov
Reduce the amount of platform-specific code in common/lcd.c by moving Atmel implementation of fb_put_word() to atmel_lcdfb.c. Since we must also have a default implementation for everybody else, make the remainder of the code into a weak function. Signed-off-by: Nikita Kiryanov <[email protected]> Reviewed-by: Simon Glass <[email protected]> Acked-by: Bo Shen <[email protected]> Tested-by: Bo Shen <[email protected]> Tested-by: Josh Wu <[email protected]> Cc: Bo Shen <[email protected]> Cc: Simon Glass <[email protected]> Cc: Anatolij Gustschin <[email protected]>
2015-02-10lcd: split configuration_get_cmapNikita Kiryanov
configuration_get_cmap() is multiple platform-specific functions stuffed into one function. Split it into multiple versions, and move each version to the appropriate driver to reduce the #ifdef complexity. Signed-off-by: Nikita Kiryanov <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Bo Shen <[email protected]> Tested-by: Josh Wu <[email protected]> Cc: Bo Shen <[email protected]> Cc: Simon Glass <[email protected]> Cc: Anatolij Gustschin <[email protected]>
2015-02-09bdinfo: Show information about fdt blob via bdinfoMichal Simek
Microblaze target supports both OF and !OF cases and from log is not clear which version is running. Signed-off-by: Michal Simek <[email protected]>
2015-02-09microblaze: Move architecture to use generic board initMichal Simek
Compile code with -fPIC to get GOT. Do not build SPL with fPIC because it increasing SPL size for nothing. Signed-off-by: Michal Simek <[email protected]>
2015-02-09common/board_r: manual relocation for cmd tableAndreas Bießmann
This is required for architectures still need manual relocation like avr32, mk68 and others. Signed-off-by: Andreas Bießmann <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Michal Simek <[email protected]>
2015-02-07common/board_f: add at91 wdtHeiko Schocher
call hw_watchdog_init() also if CONFIG_AT91SAM9_WATCHDOG is used. Signed-off-by: Heiko Schocher <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-02-06scsi: bootstage: Measure time taken to scan the busSimon Glass
On some hardware this time can be significant. Add bootstage support for measuring this. The result can be obtained using 'bootstage report' or passed on to the Linux via the device tree. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2015-01-30Merge branch 'master' of git://git.denx.de/u-boot-dmTom Rini
2015-01-30fpga: Extend dump descriptionMichal Simek
There are missing parameters in help which fpga dump command requires. Signed-off-by: Michal Simek <[email protected]>
2015-01-30cmd: Fix gettime command helpBin Meng
Remove the additional ',' and '\n' from the gettime command help. Signed-off-by: Bin Meng <[email protected]>
2015-01-29rsa: Use checksum algorithms from struct hash_algoRuchika Gupta
Currently the hash functions used in RSA are called directly from the sha1 and sha256 libraries. Change the RSA checksum library to use the progressive hash API's registered with struct hash_algo. This will allow the checksum library to use the hardware accelerated progressive hash API's once available. Signed-off-by: Ruchika Gupta <[email protected]> CC: Simon Glass <[email protected]> Acked-by: Simon Glass <[email protected]> Signed-off-by: Simon Glass <[email protected]> (Fixed build error in am335x_boneblack_vboot due to duplicate CONFIG_DM) Change-Id: Ic44279432f88d4e8594c6e94feb1cfcae2443a54
2015-01-29Use hash.c in mkimageRuchika Gupta
Signed-off-by: Ruchika Gupta <[email protected]> CC: Simon Glass <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-01-29hash: Add function to find hash_algo struct with progressive hashRuchika Gupta
The hash_algo structure has some implementations in which progressive hash API's are not defined. These are basically the hardware based implementations of SHA. An API is added to find the algo which has progressive hash API's defined. This can then be integrated with RSA checksum library which uses Progressive Hash API's. Signed-off-by: Ruchika Gupta <[email protected]> CC: Simon Glass <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-01-29Export redesignMartin Dorwig
this is an atempt to make the export of functions typesafe. I replaced the jumptable void ** by a struct (jt_funcs) with function pointers. The EXPORT_FUNC macro now has 3 fixed parameters and one variadic parameter The first is the name of the exported function, the rest of the parameters are used to format a functionpointer in the jumptable, the EXPORT_FUNC macros are expanded three times, 1. to declare the members of the struct 2. to initialize the structmember pointers 3. to call the functions in stubs.c Signed-off-by: Martin Dorwig <[email protected]> Acked-by: Simon Glass <[email protected]> Signed-off-by: Simon Glass <[email protected]> (resending to the list since my tweaks are not quite trivial)
2015-01-29dm: i2c: Provide an offset length parameter where neededSimon Glass
Rather than assuming that the chip offset length is 1, allow it to be provided. This allows chips that don't use the default offset length to be used (at present they are only supported by the command line 'i2c' command which sets the offset length explicitly). Signed-off-by: Simon Glass <[email protected]> Acked-by: Heiko Schocher <[email protected]>
2015-01-29dm: i2c: Rename driver model I2C functions to permit compatibilitySimon Glass
Add a dm_ prefix to driver model I2C functions so that we can keep the old ones around. This is a little unfortunate, but on reflection it is too difficult to change the API. We can undo this rename when most boards and drivers are converted to use driver model for I2C. Signed-off-by: Simon Glass <[email protected]>
2015-01-29dm: demo: Add a simple GPIO demonstrationSimon Glass
Add a new 'demo light' command which uses GPIOs to control imaginary lights. Each light is assigned a bit number in the overall value. This provides an example driver for using the new GPIO API. Signed-off-by: Simon Glass <[email protected]>
2015-01-29generic-board: show model name in board_init_f() tooMasahiro Yamada
The common/board_r.c has show_model_r() to display the model name if the DTB has a "model" property. It sounds useful to have a similar function in common/board_f.c too because most of the boards show their board name before relocation. Instead of implementing the same function in both common/board_f.c and common/board_r.c, let's split it up into common/show_board_info.c. Signed-off-by: Masahiro Yamada <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-01-29cmd_i2c: change variable type for 10bit addressing supportMasahiro Yamada
To store 10bit chip address, the variable type should not be uchar, but uint. Signed-off-by: Masahiro Yamada <[email protected]> Cc: Heiko Schocher <[email protected]> Cc: Simon Glass <[email protected]> Acked-by: Simon Glass <[email protected]> Acked-by: Heiko Schocher<[email protected]>
2015-01-29common: bootm: Document fake bootm sub-commandMichal Simek
Fake option is enabled only when CONFIG_TRACE is enabled in common/bootm.c:do_boot_states(). Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-01-29dumpimage: fit: extract FIT imagesGuilherme Maciel Ferreira
The dumpimage is able to extract components contained in a FIT image: $ ./dumpimage -T flat_dt -i CONTAINER.ITB -p INDEX FILE The CONTAINER.ITB is a regular FIT container file. The INDEX is the poisition of the sub-image to be retrieved, and FILE is the file (path+name) to save the extracted sub-image. For example, given the following kernel.its to build a kernel.itb: /dts-v1/; / { ... images { kernel@1 { description = "Kernel 2.6.32-34"; data = /incbin/("/boot/vmlinuz-2.6.32-34-generic"); type = "kernel"; arch = "ppc"; os = "linux"; compression = "gzip"; load = <00000000>; entry = <00000000>; hash@1 { algo = "md5"; }; }; ... }; ... }; The dumpimage can extract the 'kernel@1' node through the following command: $ ./dumpimage -T flat_dt -i kernel.itb -p 0 kernel Extracted: Image 0 (kernel@1) Description: Kernel 2.6.32-34 Created: Wed Oct 22 15:50:26 2014 Type: Kernel Image Compression: gzip compressed Data Size: 4040128 Bytes = 3945.44 kB = 3.85 MB Architecture: PowerPC OS: Linux Load Address: 0x00000000 Entry Point: 0x00000000 Hash algo: md5 Hash value: 22352ad39bdc03e2e50f9cc28c1c3652 Which results in the file 'kernel' being exactly the same as '/boot/vmlinuz-2.6.32-34-generic'. Signed-off-by: Guilherme Maciel Ferreira <[email protected]>
2015-01-29imagetool: make the image_save_datafile() available to all image typesGuilherme Maciel Ferreira
Move the image_save_datafile() function from an U-Multi specific file (default_image.c) to a file common to all image types (image.c). And rename it to genimg_save_datafile(), to make clear it is useful for any image type. Signed-off-by: Guilherme Maciel Ferreira <[email protected]>
2015-01-29common: add cache flush to imxtract functionPieter Voorthuijsen
A cache flush is required when an image is extracted that is required on another core. Signed-off-by: Pieter Voorthuijsen <[email protected]>