summaryrefslogtreecommitdiff
path: root/common
AgeCommit message (Collapse)Author
2016-09-29common: autoboot: do not reset environmentStefan Agner
Do not reset environment when using Serial Downloader. This is problematic for some modules where we set environment variables dynamically during boot (e.g. soc). Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2016-09-29common/board_r: make should_load_env weakStefan Agner
Make should_load_env a weak function. This allows a board to decide whether to load the environment or not. This can be useful when detecting recovery mode to avoid loading hostile environments. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2016-09-29nand: extend nand tortureMax Krummenacher
nand torture currently works on exactly one nand block which is specified by giving the byteoffset to the beginning of the block. Extend this by allowing for a second parameter specifying the byte size to be tested. e.g. ==> nand torture 1000000 NAND torture: device 0 offset 0x1000000 size 0x20000 (block size 0x20000) Passed: 1, failed: 0 ==> nand torture 1000000 40000 NAND torture: device 0 offset 0x1000000 size 0x40000 (block size 0x20000) Passed: 2, failed: 0 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Reviewed-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com> [scottwood: fix usage to show size as optional, and add misssing braces] Signed-off-by: Scott Wood <oss@buserror.net> (cherry picked from commit 1866be7d28ce807397e4aedd93f70564ac8bebc0)
2016-03-09lcd.c: fix compiler warningMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-03-09cmd_nand.c: make raw_access() externMax Krummenacher
We need raw nand access to write the fcb in cmd_writebcb_mx7. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-03-09MA-6987 the value of vmalloc on Kernel command line still display 400M after ↵zhang sanshan
we change it to other values(sabresd dq and auto 6qp 0812 daily build) Correct the bootargs which is printed. It should be newbootargs rather than bootimage's bootargs. Signed-off-by: zhang sanshan <b51434@freescale.com>
2016-03-09MA-6928 Bootargs cannot be setzhang sanshan
The bootargs is not set correctly. The final bootargs consist of uboot's bootargs and bootimg's bootargs. This patch set bootimg's bootargs as final bootargs if uboot's bootargs is not set. And take uboot's bootargs as final bootargs if uboot's bootargs is set. Signed-off-by: zhang sanshan <b51434@freescale.com>
2016-03-09MLK-10932-3 common: autoboot: need to disconnect with pc for usb bootPeter Chen
For USB boot, eg, mfgtool programming case, some laptops/pcs may not work properly if the board do not disconnect until linux kernel usb driver initialization process, finishes the ROM code connection at u-boot can fix this problem, and this was the original work flow when mfgtool flow was introduced at u-boot. Tested-by: Spring Zhang <b17931@freescale.com> Tested-by: Zhang Sanshan <b51434@freescale.com> Signed-off-by: Peter Chen <peter.chen@freescale.com>
2016-03-09MLK-11228-1 android: Integrate community fastboot with FSL i.MX fastbootYe.Li
1. Replace the UDC driver with community's USB gadget d_dnl driver. 2. Integrate the FSL SD/SATA/NAND flash operations, since the GPT and EFI partitions are not support by i.MX. 3. Add FDT support to community's android image. 4. Change the booti command to boota, due to the booti has been used for ARM64 image boot. 5. Modify boota implementation to load ramdisk and fdt to their loading addresses specified in boot.img header, while bootm won't do it for android image. 6. Modify the android image HAB implementation. Authenticate the boot.img on the "load_addr" for both SD and NAND. 7. Enable new configuration CONFIG_FSL_FASTBOOT for Freescale's fastboot with relevant header file "fsl_fastboot.h". While disabling the configuration, the community fastboot is used. 8. Use community's way to combine cmdline in boot.img and u-boot environment, not overwrite the cmdline in boot.img Signed-off-by: Ye.Li <B37916@freescale.com>
2016-03-09MLK-11211 lcd: fix build warningPeng Fan
Fix build warning: common/lcd.c: In function 'lcd_clear': common/lcd.c:166:6: warning: variable 'bg_color' set but not used [-Wunused-but-set-variable] int bg_color; ^ common/lcd.c: In function 'lcd_setmem': common/lcd.c:296:2: warning: format '%d' expects argument of type 'int', but argument 2 has type 'u_long' [-Wformat=] debug("LCD panel info: %d x %d, %d bit/pix\n", panel_info.vl_col, ^ common/lcd.c:296:2: warning: format '%d' expects argument of type 'int', but argument 3 has type 'u_long' [-Wformat=] Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
2016-03-09MA-6580 recovery.img cannot be authenticated by HABguoyin.chen
Remove the authentication size to be a fixed size, due to recovery.img may be much bigger than the boot.img Add signature size to boot or recovery image size, which is added by boot_signer in android build process Signed-off-by: guoyin.chen <guoyin.chen@freescale.com> (cherry picked from commit d59b24fefcd56d085c4010643ca9f6522a3cc58a)
2016-03-09MA-6381 Add HAB support for the whole boot.imgguoyin.chen
boot.img includes kernel image, ramdisk img, dtb, and bootargs. All are critical for android security. Protect the whole boot.img with HAB. Signed-off-by: guoyin.chen <guoyin.chen@freescale.com> (cherry picked from commit 8a49e53c5b518677b46cada5df153306161f29ac)
2016-03-09MLK-10774-33 imx:mx6 add udc and fastboot supportPeng Fan
Add udc and fastboot support We did not use the upstream way. Currently use CI_UDC and USB_GAGDET of upstream can make fastboot work, but lack of flash operation, so we still use our way. Signed-off-by: Peng Fan <Peng.Fan@freescale.com> Signed-off-by: Nitin Garg <nitin.garg@freescale.com> Signed-off-by: Ye.Li <B37916@freescale.com>
2016-03-09MLK-10774-31 lcd: add LCD_MONOCHROMEPeng Fan
LCD_MONOCHROME is removed in commit f4469f50b0367820121ef2d313517d422ed70e1d. Add related code back to support epdc. In this patch, also include crm_regs.h in mx6slevk.c to make epdc code be compiled ok. COLOR_MASK is also added from commit a7de2953f51e70754190d3516167d58d27d17219 Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
2016-03-09MLK-10774-23 Add SECURE BOOT in cmd_bootm.cPeng Fan
Add SECURE BOOT in bootm Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
2016-03-09ENGR00319151-2 HAB: Add the HAB image authentication to bootzYe.Li
Since the zImage is used at default, add the HAB image authentication support in bootz to authenticate zImage. Signed-off-by: Ye.Li <B37916@freescale.com> (cherry picked from commit 591100eec569dd1d54f61e9f49fe995f56a021eb) Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
2016-03-09MLK-10774-9 common: add sata commandPeng Fan
Add sata command Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
2016-03-09MLK-10774-8 env_mmc: add the dynamtic mmc dev supportPeng Fan
This patch add the support to load/save env to the slot which was used as the boot media by dynamic detection. Signed-off-by: Jason Liu <r64343@freescale.com> Signed-off-by: Ye.Li <B37916@freescale.com> Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
2016-03-09MLK-10774-7 Auto check if boot from usbPeng Fan
If boot from usb, reset environment to default value. Auto apply mfgtools setting and boot mfgtools kernel. Signed-off-by: Frank Li <Frank.li@freescale.com> Signed-off-by: Nitin Garg <nitin.garg@freescale.com> Signed-off-by: Peng Fan <Peng.Fan@freescale.com> Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
2016-03-09ENGR00322860 iMX6SX: Add function to check M4 status before bootingYe.Li
Add new function "arch_auxiliary_core_check_up" to check whether M4 is already up. Therefore, avoid starting M4 again when it is running. Signed-off-by: Ye.Li <B37916@freescale.com> (cherry picked from commit 54a0803b29c5ab459bedfb2c68c1e94b89866aa1) Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
2016-03-09ENGR00315894-56 CMD: Add new command "bootaux" to boot auxiliary coreYe.Li
To boot a auxiliary core in asymmetric multicore system, introduce the new command "bootaux" to do it. Example of boot auxliary core from 0x70000000 where stores the boot head information that should be parsed by each core. "bootaux 0x70000000" Signed-off-by: Ye.Li <B37916@freescale.com> (cherry picked from commit fd00c322d058e02953a336517547174edaf2c573) Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
2015-05-29imx-common: m4boot: allow to boot other OS'es using m4bootStefan Agner
Allow to boot eCos, MQX and bare-metal firmwares to boot on the secondary Cortex-M4. The boot code is equal for all those firmware types, the argument register will be set to 0 and the code will jump to the specified entry point directly.
2015-05-28image: add Cortex-M4 related operating systemsStefan Agner
Add new identifiers for Cortex-M4 related (RT)OS eCos, MQX and Bare-metal.
2015-05-13mtd/nand/ubi: assortment of alignment fixesMarcel Ziswiler
Various U-Boot adoptions/extensions to MTD/NAND/UBI did not take buffer alignment into account which led to failures of the following form: ERROR: v7_dcache_inval_range - start address is not aligned - 0x1f7f0108 ERROR: v7_dcache_inval_range - stop address is not aligned - 0x1f7f1108
2015-05-11image-fdt.c: store returned error valueMax Krummenacher
This fixes the following warning (and the runtime error reporting): ../common/image-fdt.c:491:4: warning: 'fdt_ret' may be used uninitialized in this function [-Wmaybe-uninitialized]
2015-05-05common: hash: fix crc32 verifyMarcel Ziswiler
did not work: Colibri T30 # crc32 0x80000000 0x100 crc32 for 80000000 ... 800000ff ==> 9eb4f5ca Colibri T30 # crc32 -v 0x80000000 0x100 c9a057b3 crc32 for 80000000 ... 800000ff ==> 9eb4f5ca != ffffffff ** ERROR ** Colibri T30 # crc32 -v 0x80000000 0x100 9eb4f5ca crc32 for 80000000 ... 800000ff ==> 9eb4f5ca != 301eeead ** ERROR ** now works again: Colibri T30 # crc32 0x80000000 0x100 crc32 for 80000000 ... 800000ff ==> 9eb4f5ca Colibri T30 # crc32 -v 0x80000000 0x100 c9a057b3 crc32 for 80000000 ... 800000ff ==> 9eb4f5ca != c9a057b3 ** ERROR ** Colibri T30 # crc32 -v 0x80000000 0x100 9eb4f5ca Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2015-04-18generic-board: allow showing custom board infoMarcel Ziswiler
Allow showing custom board info from a checkboard() function being implemented if CONFIG_CUSTOM_BOARDINFO is specified.
2015-04-10common/armflash: Support for ARM flash imagesLinus Walleij
The ARM reference designs all use a special flash image format that stores a footer (two versions exist) at the end of the last erase block of the image in flash memory. Version one of the footer is indicated by the magic number 0xA0FFFF9F at 12 bytes before the end of the flash block and version two is indicated by the magic number 0x464F4F54 0x464C5348 (ASCII for "FLSHFOOT") in the very last 8 bytes of the erase block. This command driver implements support for both versions of the AFS images (the name comes from the Linux driver in drivers/mtd/afs.c) and makes it possible to list images and load an image by name into the memory with these commands: afs - lists flash contents afs load <image> - loads image to address indicated in the image afs load <image> <addres> - loads image to a specified address This image scheme is used on the ARM Integrator family, ARM Versatile family, ARM RealView family (not yet supported in U-Boot) and ARM Versatile Express family up to and including the new Juno board for 64 bit development. Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2015-04-10Merge branch 'master' of git://git.denx.de/u-boot-armTom Rini
2015-04-10common, ubi: use positive return values for ubi checkStefan Agner
The ubi check command is expected to not fail and just check whether a volume exist or not. Currently, when a volume does not exist, the command fails which leads to an error: "exit not allowed from main input shell." Use 1 to indicate that a volume does not exist. This allows to use ubi check in an if statement, e.g. if ubi check rootfs; then; echo "exists"; else; echo "not there"; fi
2015-04-10Introduce CONFIG_SPL_PANIC_ON_RAW_IMAGEAlbert ARIBAUD \(3ADEV\)
introduce CONFIG_SPL_PANIC_ON_RAW_IMAGE. An SPL which define this will panic() if the image it has loaded does not have a mkimage signature. Signed-off-by: Albert ARIBAUD (3ADEV) <albert.aribaud@3adev.fr>
2015-04-10lpc32xx: add lpc32xx-spl.bin boot image targetAlbert ARIBAUD \(3ADEV\)
Signed-off-by: Albert ARIBAUD (3ADEV) <albert.aribaud@3adev.fr>
2015-04-07cmd_mem.c: Update 'iteration_limit' to unsigned longTom Rini
With e37f1eb we now use strict_strtoul() in do_mem_mtest() and this gives us a warning: ../include/vsprintf.h:38:5: note: expected 'long unsigned int *' but argument is of type 'int *' Signed-off-by: Tom Rini <trini@konsulko.com>
2015-04-07cmd_mem: cleanups, catch bad usagePavel Machek
Currently, memtest will silently accept bad data. Perform error checking on user intput. Signed-off-by: Pavel Machek <pavel@denx.de>
2015-04-07env_sf: Fix recovery defaultMario Schuknecht
The u-boot environment is redundantly stored in a NOR flash on our boards. Redundant means that there are two places to store the environment. But only one of the two is active. I discovered that on one board the u-boot (env_sf) uses the environment from the second place and the Kernel (fw_printenv) uses the environment from the first place. To decide which is the active environment there is a byte inside the environment. 1 means active and 0 means obsolete. But on that board both environments had have a 1. This can happen if a power loss or reset occurs during writing the environment. In this situation the u-boot (env_sf) implementation uses the second environment as default. But the Kernel (fw_printenv) implementation uses the first environment as default. This commit corrects the default in the u-boot env_sf implementation when a problem was detected. Now the recovery default is the same like in all other environment implementations. E.g. fw_printenv and env_flash. This ensures that u-boot and Kernel use the same environment. Signed-off-by: Mario Schuknecht <mario.schuknecht@dresearch-fe.de>
2015-04-03arc: clean-up init procedureAlexey Brodkin
Intention behind this work was elimination of as much assembly-written code as it is possible. In case of ARC we already have relocation fix-up implemented in C so why don't we use C for U-Boot copying, .bss zeroing etc. It turned out x86 uses pretty similar approach so we re-used parts of code in "board_f.c" initially implemented for x86. Now assembly usage during init is limited to stack- and frame-pointer setup before and after relocation. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Simon Glass <sjg@chromium.org>
2015-03-30nand: yaffs: Remove the "nand write.yaffs" commandPeter Tyser
This command is only enabled by one board, complicates the NAND code, and doesn't appear to have been functioning properly for several years. If there are no bad blocks in the NAND region being written nand_write_skip_bad() will take the shortcut of calling nand_write() which bypasses the special yaffs handling. This causes invalid YAFFS data to be written. See http://lists.denx.de/pipermail/u-boot/2011-September/102830.html for an example and a potential workaround. U-Boot still retains the ability to mount and access YAFFS partitions via CONFIG_YAFFS2. Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
2015-03-30cmd_nand: Verify writes to NANDPeter Tyser
Previously NAND writes were only verified when CONFIG_MTD_NAND_VERIFY_WRITE was defined. On boards without this define writes could fail silently. Boards with CONFIG_MTD_NAND_VERIFY_WRITE could prematurely report failures which ECC could correct. Add a verification step after all "nand write[.x]" commands to ensure the writes were successful. The verification uses ECC for for "normal" writes, but does not for raw and yaffs writes. Some test cases which inject fake bad bits on a 2K page flash are below. Test cases with CONFIG_MTD_NAND_VERIFY_WRITE defined: Example of an ECC write which previously failed when CONFIG_MTD_NAND_VERIFY_WRITE was defined, but now succeeds because ECC is used during verification: nand erase 0 0x10000 dhcp /somefile mw.b 0x10000 0xff 0x2000 mw.b 0x10020 0xfe 1 nand write.raw 0x10000 0x800 1 mw.b 0x1000020 0x01 1 nand write 0x1000000 0x800 0x1800 Test cases without CONFIG_MTD_NAND_VERIFY_WRITE defined: Example of an ECC write which previously silently failed: nand erase 0 0x10000 dhcp /somefile mw.b 0x10000 0xff 0x2000 mw.b 0x10020 0x00 1 nand write.raw 0x10000 0x800 1 mw.b 0x1000020 0xff 1 nand write 0x1000000 0x800 0x1800 Example of a raw write which previously failed silently due to stuck data bit, but now errors out: nand erase 0 0x10000 dhcp /somefile mw.b 0x10000 0xff 0x2000 mw.b 0x10020 0xfe 1 nand write.raw 0x10000 0x800 1 mw.b 0x1000020 0x01 1 nand write.raw 0x1000000 0x800 3 Example of a raw write which previously failed silently due to stuck OOB bit, but now errors out: nand erase 0 0x10000 dhcp /somefile mw.b 0x10000 0xff 0x2000 mw.b 0x10810 0xfe 1 nand write.raw 0x10000 0x800 1 mw.b 0x1000810 0x01 1 nand write.raw 0x1000000 0x800 3 Signed-off-by: Peter Tyser <ptyser@xes-inc.com> Tested-by: Heiko Schocher <hs@denx.de> Acked-by: Heiko Schocher <hs@denx.de>
2015-03-28m68k: fix 3 broken boardsangelo@sysam.it
Fix eb_cpu5282 and eb_cpu5282_internal unresolved external error. These boards have video but don't need any ppc related video_setmem(). Fix M53017EVB moving away embedded env to a different offset, as in M52277EVB. Signed-off-by: Angelo Dureghello <angelo@sysam.it>
2015-03-28common/board_f: move board_init_f_mem() from #else CONFIG_X86Alexey Brodkin
Purpose of this change is to make it possible to re-use code currently used on X86 solely for other architectures. For example: * init_sequence_f_r * board_init_f_r Even though board_init_f_mem() has nothing to do with any particular architecture it won't work (at least in current implementation) for X86. This is because on X86 "gd" is an alias to function get_fs_gd_ptr(), thus we cannot assign anything to it. So this change separates selection of board_init_f_mem() from X86 while keeping it disabled for X86 still. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@konsulko.com>
2015-03-25part: Add support for list filtering on bootable partitionsSjoerd Simons
Add an optional -bootable parameter to the part list commands to only put the list of bootable partitions in the environment variable Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> Reviewed-by: Stephen Warren <swarren@nvidia.com>
2015-03-24remove unnecessary version.h includesRob Herring
Various files are needlessly rebuilt every time due to the version and build time changing. As version.h is not actually needed, remove the include. Signed-off-by: Rob Herring <robh@kernel.org> Cc: Albert Aribaud <albert.u.boot@aribaud.net> Cc: Stefano Babic <sbabic@denx.de> Cc: Minkyu Kang <mk7.kang@samsung.com> Cc: Marek Vasut <marex@denx.de> Cc: Tom Warren <twarren@nvidia.com> Cc: Michal Simek <monstr@monstr.eu> Cc: Macpaul Lin <macpaul@andestech.com> Cc: Wolfgang Denk <wd@denx.de> Cc: York Sun <yorksun@freescale.com> Cc: Stefan Roese <sr@denx.de> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Cc: Simon Glass <sjg@chromium.org> Cc: Philippe Reynes <tremyfr@yahoo.fr> Cc: Eric Jarrige <eric.jarrige@armadeus.org> Cc: "David Müller" <d.mueller@elsoft.ch> Cc: Phil Edworthy <phil.edworthy@renesas.com> Cc: Robert Baldyga <r.baldyga@samsung.com> Cc: Torsten Koschorrek <koschorrek@synertronixx.de> Cc: Anatolij Gustschin <agust@denx.de> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Reviewed-by: Łukasz Majewski <l.majewski@samsung.com>
2015-03-18Merge branch 'master' of git://www.denx.de/git/u-boot-imxTom Rini
2015-03-13common/board_f.c: Enable IMX watchdog in init_func_watchdog_init()Stefan Roese
Without this patch, the IMX watchdog will not be initialized. And therefor not active. This patch fixes this by calling hw_watchdog_init() also when CONFIG_IMX_WATCHDOG is defined. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Simon Glass <sjg@chromium.org> Cc: Fabio Estevam <fabio.estevam@freescale.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Heiko Schocher <hs@denx.de> Acked-by: Heiko Schocher <hs@denx.de>
2015-03-10Merge branch 'master' of git://git.denx.de/u-boot-tegraTom Rini
Conflicts: README Signed-off-by: Tom Rini <trini@konsulko.com>
2015-03-09common: cmd_elf: Add support to disable start of applicationSiva Durga Prasad Paladugu
Added support to disable the start of application by using a environment variable autostart Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2015-03-09common/board_r: Restore non-cached memory setupJan Kiszka
This fixes a regression of e310b93ec1, affecting Ethernet on the Jetson TK1, e.g. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2015-03-09dlmalloc: do memset in malloc init as new default configPrzemyslaw Marczak
This commit introduces new config: CONFIG_SYS_MALLOC_CLEAR_ON_INIT. This config is an expert option and is enabled by default. The all amount of memory reserved for the malloc, is by default set to zero in mem_malloc_init(). When the malloc reserved memory exceeds few MiB, then the boot process can slow down. So disabling this config, is an expert option to reduce the boot time, and can be disabled by Kconfig. Note: After disable this option, only calloc() will return the pointer to the zeroed memory area. Previously, without this option, the memory pointed to untouched malloc memory region, was filled with zeros. So it means, that code with malloc() calls should be reexamined. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-03-05cmd_usb_mass_storage: Remove extra 'ums' string in the usage textFabio Estevam
Currently the usage text for the 'ums' command looks like this: Usage: ums ums <USB_controller> [<devtype>] <devnum> e.g. ums 0 mmc 0 ,so remove the extra 'ums' in the text. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Acked-by: Otavio Salvador <otavio@ossystems.com.br> Acked-by: Marek Vasut <marex@denx.de>
2015-03-05common/board_f: implement type casting for gd structureAlexey Brodkin
In case of global data structure defined as "register volatile" compiler throws an warning about incorrect type used: --->8--- common/board_f.c: In function "board_init_f_r": common/board_f.c:1073:2: warning: passing argument 1 of "&board_init_r +(sizetype)gd->reloc_off" discards "volatile" qualifier from pointer target type [enabled by default] (board_init_r + gd->reloc_off)(gd, gd->relocaddr); ^ common/board_f.c:1073:2: note: expected "struct gd_t *" but argument is of type "volatile struct gd_t *" --->8--- An obvious fix is manual casting to "gd_t *". Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@ti.com> Acked-by: Simon Glass <sjg@chromium.org>