summaryrefslogtreecommitdiff
path: root/common
AgeCommit message (Collapse)Author
2018-10-10MA-12973 [AUTO] Skip serial init in board_init_fJi Luo
Serial init in board_init_f will cost much time, skip it here because the serial will be initialized again in board_init_r and it's more faster (after cache is enabled). We will miss some logs before the serial is ready but it's ok for Android Auto. This commit will save about 190ms on imx8qm. Test: boot ok for both imx8qm and imx8qxp. Change-Id: If6efdc19794aecda862f22b6fec7f7aba2005766 Signed-off-by: Ji Luo <ji.luo@nxp.com> Reviewed-by: Ye Li <ye.li@nxp.com> (cherry picked from commit b8296e64d2af14ec231f308a0318b0567c07e545)
2018-09-29MA-12943 [VTS] Fix firmware dtbo verify failJi Luo
VTS need commandline 'androidboot.dtbo_idx=<dtb_index_in_dtbo>' to verify fdt overlay. Pass the dtb index as "0" here since we only have one dtb in dtbo partition and haven't enabled the dtb overlay. Test: VTS case "VtsFirmwareDtboVerification#testVerifyOverlay" pass on imx8mq and imx8qxp. Change-Id: I33b089bf5a945e0b558bbb189b183a38f145dcbe Signed-off-by: Ji Luo <ji.luo@nxp.com> (cherry picked from commit 4d7f5fd7afbe8516757928ba7ff76b768a80c094)
2018-09-29MA-12915 [AUTO] Only print kernel command line in debug modeJi Luo
Print the kernel command line in normal mode will consume about 122ms on imx8qm, move the log print to debug mode to save some boot time. Change-Id: I5996555cf3f210be8ea25111d2bc84e0d06caa5c Signed-off-by: Ji Luo <ji.luo@nxp.com> (cherry picked from commit d71dcb917590227abd55e9486ea3b4d4de81f115)
2018-09-29MA-12886 Set keymaster HAL to trusty when use Trusty OSHaoran.Wang
When use Trusty OS, set the property keymaster HAL to use the Trusty OS backed one. This patch make the bootloader able to control the Android Keymaster HAL. Change-Id: I0a533c12b99824ef499ce642cf87c22d72b51503 Signed-off-by: Haoran.Wang <elven.wang@nxp.com> (cherry picked from commit a0759c1bd75fab610f595fd9cd6b7c494ba5177e)
2018-09-18MLK-19219-4 iMX8QXP/QM: Add support to get container image set size from QSPIAbel Vesa
This transforms almost all related functions from mmc specific to device independent. This allows the container size to be computed from QSPI and other future devices that will be supported for boot. Signed-off-by: Abel Vesa <abel.vesa@nxp.com> Reviewed-by: Ye Li <ye.li@nxp.com>
2018-09-13MA-12703 Android: Read bootargs from u-boot dtsLuo Ji
Load bootargs from the "/chosen/bootargs" dts node and combine it with the bootargs in bootimage header. Change-Id: I68c9b0d53fff1f51c4d91aa513dfd38b5d9650d4 Signed-off-by: Luo Ji <ji.luo@nxp.com>
2018-09-11MA-12335 Canonical Boot Reason in Android Pie 9.0Ji Luo
Read boot reason from SRC(system reset controller) and report it to kernel by "androidboot.bootreason=<>" kernel commandline. This is enabled on imx6/7/7ulp/8m, imx8 will report default value "androidboot.bootreason=reboot" since it can't get such info on A core at u-boot stage. Test: Boot reason report ok on imx6qp/imx7ulp/imx8qxp. Change-Id: I03effaa03bc513bec6153e82c1a04e29c07e7db8 Signed-off-by: Ji Luo <ji.luo@nxp.com>
2018-09-04MA-12283-2 fix issue of imx6 boot from SD card when use uuufaqiang.zhu
get_boot_device() for imx6 series can't judge the chips is boot from USB or not. So, when use uuu, "bootcmd" parameter will get the same value as boot from SD card, so if the SD card has image in it, uboot will not enter fastboot mode when use uuu. This patch use is_boot_from_usb(void) to judge whether boot from USB then change the "bootcmd" parameter accordingly. Change-Id: I366aca2e32eab67193f45798abd142b2d5cb86bc Signed-off-by: faqiang.zhu <faqiang.zhu@nxp.com>
2018-08-22MA-12492 Remove some redundant codes for androidJi Luo
Some redundant codes are added after cherry-picking android related commits from imx_v2017.03, remove them in this commit. Test: build and boot pass on imx6q_sabresd. Signed-off-by: Ji Luo <ji.luo@nxp.com>
2018-08-21MLK-19263-3 imx8m: Enable CONFIG_SPL_FIT_IMAGE_TINY for iMX8MQ/MMYe Li
If we don't define CONFIG_SPL_FIT_IMAGE_TINY, when loading images from FIT, the SPL will record all loadables' info to u-boot's FDT. This causes problem when HAB is enabled, because FDT's content is modified before we authenticate it. Signed-off-by: Ye Li <ye.li@nxp.com>
2018-08-21[iot] Support rollback index protection at SPL stageLuo Ji
Bootloader image take fit format and the rollback index for bootloader is stored at the "rbindex" node, SPL will read the rollback index for bootloader and compare it with the one stored in RPMB. The stored rollback index will be updated only when current slot pass the verify and has been marked as successful. Bug:109947126 Test: Rollback index protection feature works fine for imx8m. Change-Id: Ic12db4571287fbcb99e5eba0127e0b09378fa5d6 Signed-off-by: Luo Ji <ji.luo@nxp.com>
2018-08-20[iot] Support dual bootloader in SPLLuo Ji
Move the A/B slot check to SPL, the A/B slot switch workflow is just like what we have in libavb_ab. Test: A/B select works fine on imx8m. Change-Id: Ie3d827a9be0298b491bf2bc8d48833597fd70e90 Signed-off-by: Luo Ji <ji.luo@nxp.com>
2018-08-20MA-12124 [Android] Fix build warnings for u-bootLuo Ji
Fix build warnings in u-boot. Change-Id: I1944657d2d89a03c0d2303a22a09538dfaa5fd2c Signed-off-by: Luo Ji <ji.luo@nxp.com>
2018-08-14MLK-19219-1 spl: Add function to get u-boot raw sectorYe Li
Add a weak function spl_mmc_get_uboot_raw_sector to get u-boot raw sector. At default it returns CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. Users can overwrite it to return customized offset. Signed-off-by: Ye Li <ye.li@nxp.com>
2018-08-10MLK-19181-1: sdp: call board_usb_init at spl_sdp_load_imageFrank Li
Need initialize UDC before run sdp download Signed-off-by: Frank Li <Frank.Li@nxp.com>
2018-08-09MLK-19183-8 iMX8QXP SPL: common: spl: Hack for allowing raw ATF image bootingAbel Vesa
Since the default way to boot ATF from SPL is by using a FIT blob, this hack allows us to boot raw ATF image, without checking anything in the header of the image since is non-existent. Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
2018-06-13MLK-18257-4 use another method check if need run bootcmd_mfgFrank Li
Signed-off-by: Frank Li <Frank.Li@nxp.com> (cherry picked from commit 09b1876fa4c74f8bd9b1efbf17ab8ab012a14555)
2018-06-13MLK-18591-6 android: iot: Add boot Trusty OS codes for imx6 and imx7Ye Li
Use trusty_os_init to load Trusty OS from CONFIG_TRUSTY_OS_ENTRY before u-boot ready. Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Haoran.Wang <elven.wang@nxp.com>
2018-06-13MLK-18591-3 android: Add FSL android fastboot supportYe Li
Porting the FSL android fastboot features from imx u-boot v2017.03 to support all SoCs: imx6/imx7/imx7ulp/imx8/imx8m Signed-off-by: Ye Li <ye.li@nxp.com>
2018-06-13MLK-18591-1 android: Add the AVB libraryYe Li
Porting the android AVB lib from imx u-boot v2017.03 Signed-off-by: Ye Li <ye.li@nxp.com>
2018-05-23MLK-18333-1 spl: nor: add fit image supportPeng Fan
Extend spl_nor to support FIT image loading. CONFIG_SYS_UBOOT_BASE is the Uboot location in NOR memmap address. Signed-off-by: Peng Fan <peng.fan@nxp.com> (cherry picked from commit 60e943cd1a7c248eccc8892073efdada588a208d)
2018-04-27MLK-16758-4 SPL: Add HAB image authentication to FITYe Li
Introduce two board level callback functions to FIT image loading process, and a SPL_FIT_FOUND flag to differentiate FIT image or RAW image. Implement functions in imx common SPL codes to call HAB funtion to authenticate the FIT image. Generally, we have to sign multiple regions in FIT image: 1. Sign FIT FDT data (configuration) 2. Sign FIT external data (Sub-images) Because the CSF supports to sign multiple memory blocks, so that we can use one signature to cover all regions in FIT image and only authenticate once. The authentication should be done after the entire FIT image is loaded into memory including all sub-images. We use "-p" option to generate FIT image to reserve a space for FIT IVT and FIT CSF, also this help to fix the offset of the external data (u-boot-nodtb.bin, ATF, u-boot DTB). The signed FIT image layout is as below: -------------------------------------------------- | | | | | | | | | FIT | FIT | FIT | | U-BOOT | ATF | U-BOOT | | FDT | IVT | CSF | | nodtb.bin | | DTB | | | | | | | | | -------------------------------------------------- Signed-off-by: Ye Li <ye.li@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> (cherry picked from commit 078dd4eed6a04c3db7ec49a1bd1fbc63ebb82e1b)
2018-04-27MLK-18157 mfgtool: Add mfgtool supportYe Li
If boot from usb, reset environment to default value. Auto apply mfgtools setting and boot mfgtools kernel. Only add for mx6, the mx7 and mx7ulp have implemented relevant USB functions in soc level. Signed-off-by: Ye Li <ye.li@nxp.com>
2018-04-27MLK-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> (cherry picked from commit acfeb43685efb04423ce064c67228d15fa6d3da5) (cherry picked from commit 69a7c6f0877f4a984209f1be3e14ed5fe56928ad)
2018-04-27MLK-12425-2 video: epdc: introduce epdc supportPeng Fan
Support EPDC. E-Ink feature is supported by i.MX6DL/SL/SLL/ULL and i.MX7D. This driver supports user defined logo file, if there is no logo file, it will draw a black border around a white screen. If need to enable EPDC, a waveform file is required to let all work. Since we need LCD_MONOCHROME mode for EPDC, we introduce LCD_MONOCHROME support. Please refer to Linux Reference Manual for how to flash WAVEFORM file. Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Robby Cai <R63905@freescale.com> Signed-off-by: Nitin Garg <nitin.garg@freescale.com> Signed-off-by: Ye.Li <B37916@freescale.com> (cherry picked from commit a7244f279cc3c3994bcd103f5e9a183b1075ae71)
2018-03-05libfdt: move headers to <linux/libfdt.h> and <linux/libfdt_env.h>Masahiro Yamada
Thomas reported U-Boot failed to build host tools if libfdt-devel package is installed because tools include libfdt headers from /usr/include/ instead of using internal ones. This commit moves the header code: include/libfdt.h -> include/linux/libfdt.h include/libfdt_env.h -> include/linux/libfdt_env.h and replaces include directives: #include <libfdt.h> -> #include <linux/libfdt.h> #include <libfdt_env.h> -> #include <linux/libfdt_env.h> Reported-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2018-03-05spl: Kconfig: Rename SPL_USBETH_SUPPORT to SPL_USB_ETHER to match with the ↵Faiz Abbas
U-boot CONFIG Rename CONFIG_SPL_USBETH_SUPPORT to CONFIG_SPL_USB_ETHER. This enables users to block text using CONFIG_IS_ENABLED() instead of resorting to #if ladders with SPL and non-SPL cases. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
2018-02-23Convert CONFIG_BOOTP_BOOTPATH et al to KconfigAdam Ford
This converts the following to Kconfig: CONFIG_BOOTP_BOOTPATH CONFIG_BOOTP_DNS CONFIG_BOOTP_GATEWAY CONFIG_BOOTP_HOSTNAME CONFIG_BOOTP_PXE CONFIG_BOOTP_SUBNETMASK CONFIG_CMDLINE_EDITING CONFIG_AUTO_COMPLETE CONFIG_SYS_LONGHELP CONFIG_SUPPORT_RAW_INITRD CONFIG_ENV_VARS_UBOOT_CONFIG Signed-off-by: Adam Ford <aford173@gmail.com> [trini: Re-run the migration] Signed-off-by: Tom Rini <trini@konsulko.com>
2018-02-23Merge git://git.denx.de/u-boot-usbTom Rini
2018-02-23fdt: Fixup only valid memory banksThierry Reding
Memory banks with address 0 and size 0 are empty and should not be passed to the OS via device tree. Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
2018-02-21dfu: Rename _FUNCTION_DFU to DFU_OVER_Marek Vasut
Do the following to make the symbol names less confusing. sed -i "s/\([TU][^_]\+\)_FUNCTION_DFU/DFU_OVER_\1/g" \ `git grep _FUNCTION_DFU | cut -d ":" -f 1 | sort -u` Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Lukasz Majewski <lukma@denx.de>
2018-02-21dfu: Fix up the Kconfig messMarek Vasut
Clean up the screaming mess of configuration options that DFU is. It was impossible to configure DFU such that TFTP is enabled and USB is not, this patch fixes that and assures that DFU TFTP and DFU USB can be enabled separatelly and that the correct pieces of code are compiled in. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Lukasz Majewski <lukma@denx.de>
2018-02-21usb: gadget: sdp: add missing line breaksAndre Heider
Cosmetic change. Signed-off-by: Andre Heider <a.heider@gmail.com> Reviewed-by: Lukasz Majewski <lukma@denx.de> Acked-by: Stefan Agner <stefan.agner@toradex.com>
2018-02-18fdt: Fixup only valid memory banksThierry Reding
Memory banks with address 0 and size 0 are empty and should not be passed to the OS via device tree. Signed-off-by: Thierry Reding <treding@nvidia.com> Acked-by: Stephen Warren <swarren@nvidia.com>
2018-02-18fdt: Implement weak arch_fixup_fdt()Alexey Brodkin
Only ARM and in some configs MIPS really implement arch_fixup_fdt(). Others just use the same boilerplate which is not good by itself, but what's worse if we try to build with disabled CONFIG_CMD_BOOTM and enabled CONFIG_OF_LIBFDT we'll hit an unknown symbol which was apparently implemented in arch/xxx/lib/bootm.c. Now with weak arch_fixup_fdt() right in image-fdt.c where it is used we get both items highlighted above fixed. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Cc: Simon Glass <sjg@chromium.org> Cc: York Sun <york.sun@nxp.com> Cc: Stefan Roese <sr@denx.de> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
2018-02-14configs: Migrate CONFIG_SPL_FRAMEWORKTom Rini
Migrate the option CONFIG_SPL_FRAMEWORK and make this gate most of the current set of options we have in Kconfig. We will need to have some options available for SPL and !SPL_FRAMEWORK so this is important. In a few cases we re-order existing options so that we have less escapes from the SPL_FRAMEWORK guard. Signed-off-by: Tom Rini <trini@konsulko.com>
2018-02-13fix spelling of 'functions' in 2 places (was 'funtcions')Simon Goldschmidt
Signed-off-by: Simon Goldschmidt <sgoldschmidt@de.pepperl-fuchs.com>
2018-02-13tftp: update: Include missing cfi_flash.h headerMarek Vasut
Add the missing header, otherwise CONFIG_SYS_MAX_FLASH_BANKS may be undeclared. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Tom Rini <trini@konsulko.com>
2018-02-13cmd: fitupd: Convert CONFIG_UPDATE_TFTP and co.Marek Vasut
Convert the CONFIG_UPDATE_TFTP and related symbols to Kconfig. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Tom Rini <trini@konsulko.com>
2018-02-13spl: fit: move fdt_record_loadable out of ARCH_FIXUP_FDT_MEMORY guardPhilipp Tomsich
The fdt_record_loadable()-function was wedged between other functions that were guarded by ARCH_FIXUP_FDT_MEMORY. This could lead to linker errors on some configurations. With this change, fdt_record_loadable() is moved out of the ARCH_FIXUP_FDT_MEMORY guard (plus I tried to retain alphabetical ordering for functions by placing it appropriately). References: 9f45aeb ("spl: fit: implement fdt_record_loadable") Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reported-by: Michal Simek <michal.simek@xilinx.com> Tested-by: Michal Simek <michal.simek@xilinx.com>
2018-02-07spl: eMMC/SD: Provide one __weak spl_boot_mode() functionLukasz Majewski
The goal of this patch is to clean up the code related to choosing SPL MMC boot mode. The spl_boot_mode() now is called only in spl_mmc_load_image() function, which is only compiled in if CONFIG_SPL_MMC_SUPPORT is enabled. To achieve the goal, all per mach/arch implementations eligible for unification has been replaced with one __weak implementation. Signed-off-by: Lukasz Majewski <lukma@denx.de> Reviewed-by: Marek Vasut <marex@denx.de> Reviewed-by: Stefano Babic <sbabic@denx.de> Acked-by: Michal Simek <michal.simek@xilinx.com> (For ZynqMP) Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
2018-02-07parse the second area of android imageBin Chen
The second area of android image was intended to put a 2nd stage bootloader but in practice were rarely used (in my knowledge). An proposal was made to the AOSP to (re)use the second area as the dtb[1], This patch itself doesn't depend on that proposal being accepted but it won't be that helpful as well if that proposal won't be accepted. But don't do any harm as well. [1] https://android-review.googlesource.com/#/c/417447/ Signed-off-by: Bin Chen <bin.chen@linaro.org> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2018-02-03log: add category LOGC_EFIHeinrich Schuchardt
The EFI implementation does not fit into any of the existing categories. Provide LOGC_EFI so that EFI related message can be filtered. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2018-02-03log: Add a way to log error-return valuesSimon Glass
When functions return an error it propagates up the stack to the point where it is reported. Often the error code provides enough information about the root cause of the error that this is obvious what went wrong. However in some cases the error may be hard to trace. For example if a driver uses several devices to perform an operation, it may not be obvious which one failed. Add a log_ret() macro to help with this. This can be used to wrap any error-return value. The logging system will then output a log record when the original error is generated, making it easy to trace the call stack of the error. This macro can significantly impact code size, so its use is controlled by a Kconfig option, which is enabled for sandbox. Signed-off-by: Simon Glass <sjg@chromium.org>
2018-02-03log: Update log_console to honour the log formatSimon Glass
At present this just outputs the message. Update it to output whatever the format requests. Signed-off-by: Simon Glass <sjg@chromium.org>
2018-02-03log: Add control over log formattingSimon Glass
It is useful to be able to control the output format of log records on the console. As a starting point, add definitions for controlling which elements of the log record are displayed. Use function and message as the default, since these are the most useful fields. Signed-off-by: Simon Glass <sjg@chromium.org>
2018-02-03log: Add functions to convert IDs to/from namesSimon Glass
Category and level both use an enum for their ID values. Add functions to convert these IDs to strings and vice versa. This will allow the log to output the strings instead of the (inscrutable) values. At the same time, add a new 'driver-model' category, to cover core driver-model functions and fix an incorrect value for LOGL_MAX. Tests will be added with the new 'log' subcommands. Signed-off-by: Simon Glass <sjg@chromium.org> (Updated to correct clang warnings)
2018-01-29spl: include timezone in bannerKlaus Goger
Include the timezone in the SPL banner so the timestamp matches with that from u-boot proper. Signed-off-by: Klaus Goger <klaus.goger@theobroma-systems.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2018-01-29flash: Fix spelling of "ERR_TIMOUT"Mario Six
checkpatch.pl complains about the spelling of ERR_TIMOUT. Since the error is only used in a handful of files, we rename the error to ERR_TIMEOUT. Signed-off-by: Mario Six <mario.six@gdsys.cc> Signed-off-by: Stefan Roese <sr@denx.de>
2018-01-28Merge git://git.denx.de/u-boot-rockchipTom Rini