- 02 Nov, 2017 40 commits
-
-
Andre Przywara authored
SPL_FIT obviously requires libfdt in SPL, so let Kconfig express that by selecting SPL_OF_LIBFDT. Also make the actual options that users want (SPL signature and SPL FIT loading) visible in the menu and let them select the SPL_FIT as a requirement. Also remove the now redundant SPL_OF_LIBFDT from those Kconfigs that had it in for the SPL FIT loading feature. Signed-off-by:
Andre Przywara <andre.przywara@arm.com> Reviewed-by:
Simon Glass <sjg@chromium.org> [Remove change from configs/evb-rk3399_defconfig] Signed-off-by:
Jagan Teki <jagan@openedev.com> (cherry picked from commit 85c07a5a)
-
Andre Przywara authored
So far we were not using the FIT image format to its full potential: The SPL FIT loader was just loading the first image from the /images node plus one of the listed DTBs. Now with the refactored loader code it's easy to load an arbitrary number of images in addition to the two mentioned above. As described in the FIT image source file format description, iterate over all images listed at the "loadables" property in the configuration node and load every image at its desired location. This allows to load any kind of images: - firmware images to execute before U-Boot proper (for instance ARM Trusted Firmware (ATF)) - firmware images for management processors (SCP, arisc, ...) - firmware images for devices like WiFi controllers - bit files for FPGAs - additional configuration data - kernels and/or ramdisks The actual usage of this feature would be platform and/or board specific. Also update the FIT documentation to mention the new SPL feature and provide an example .its file to demonstrate its features. Signed-off-by:
Andre Przywara <andre.przywara@arm.com> Reviewed-by:
Lokesh Vutla <lokeshvuta@ti.com> Reviewed-by:
Simon Glass <sjg@chromium.org> Tested-by:
Heiko Stuebner <heiko@sntech.de> Reviewed-by:
Kever Yang <kever.yang@rock-chips.com> Tested-by:
Kever Yang <kever.yang@rock-chips.com> Tested-by:
Jagan Teki <jagan@openedev.com> Reviewed-by:
Jagan Teki <jagan@openedev.com> (cherry picked from commit 411cf32d)
-
Andre Przywara authored
At the moment we load two images from a FIT image: the actual U-Boot image and the .dtb file. Both times we have very similar code, that deals with alignment requirements the media we load from imposes upon us. Factor out this code into a new function, which we just call twice. Signed-off-by:
Andre Przywara <andre.przywara@arm.com> Reviewed-by:
Simon Glass <sjg@chromium.org> Tested-by:
Heiko Stuebner <heiko@sntech.de> Reviewed-by:
Kever Yang <kever.yang@rock-chips.com> Tested-by:
Kever Yang <kever.yang@rock-chips.com> Tested-by:
Jagan Teki <jagan@openedev.com> (cherry picked from commit 8baa3818)
-
Andre Przywara authored
At the moment we ignore any errors due to missing FIT properties, instead go ahead and calculate our addresses with the -1 return value. Fix this and bail out if any of the mandatory properties are missing. Signed-off-by:
Andre Przywara <andre.przywara@arm.com> Reviewed-by:
Simon Glass <sjg@chromium.org> Tested-by:
Heiko Stuebner <heiko@sntech.de> Reviewed-by:
Kever Yang <kever.yang@rock-chips.com> Tested-by:
Kever Yang <kever.yang@rock-chips.com> Tested-by:
Jagan Teki <jagan@openedev.com> Reviewed-by:
Jagan Teki <jagan@openedev.com> (cherry picked from commit 5c8c8fac)
-
Andre Przywara authored
Currently the SPL FIT loader always looks only for the first image in the /images node a FIT tree, which it loads and later executes. Generalize this by looking for a "firmware" property in the matched configuration subnode, or, if that does not exist, for the first string in the "loadables" property. Then using the string in that property, load the image of that name from the /images node. This still loads only one image at the moment, but refactors the code to allow extending this in a following patch. To simplify later re-usage, we also generalize the spl_fit_select_index() function to not return the image location, but just the node offset. Signed-off-by:
Andre Przywara <andre.przywara@arm.com> Reviewed-by:
Lokesh Vutla <lokeshvuta@ti.com> Reviewed-by:
Simon Glass <sjg@chromium.org> Tested-by:
Heiko Stuebner <heiko@sntech.de> Reviewed-by:
Kever Yang <kever.yang@rock-chips.com> Tested-by:
Kever Yang <kever.yang@rock-chips.com> Tested-by:
Jagan Teki <jagan@openedev.com> (cherry picked from commit 736806fb)
-
Andre Przywara authored
Currently the SPL FIT loader uses the spl_fit_select_fdt() function to find the offset to the right DTB within the FIT image. For this it iterates over all subnodes of the /configuration node in the FIT tree and compares all "description" strings therein using a board specific matching function. If that finds a match, it uses the string in the "fdt" property of that subnode to locate the matching subnode in the /images node, which points to the DTB data. Now this works very well, but is quite specific to cover this particular use case. To open up the door for a more generic usage, let's split this function into: 1) a function that just returns the node offset for the matching configuration node (spl_fit_find_config_node()) 2) a function that returns the image data any given property in a given configuration node points to, additionally using a given index into a possbile list of strings (spl_fit_select_index()) This allows us to replace the specific function above by asking for the image the _first string of the "fdt" property_ in the matching configuration subnode points to. This patch introduces no functional changes, it just refactors the code to allow reusing it later. (diff is overly clever here and produces a hard-to-read patch, so I recommend to throw a look at the result instead). Signed-off-by:
Andre Przywara <andre.przywara@arm.com> Reviewed-by:
Lokesh Vutla <lokeshvuta@ti.com> Reviewed-by:
Simon Glass <sjg@chromium.org> Tested-by:
Heiko Stuebner <heiko@sntech.de> Reviewed-by:
Kever Yang <kever.yang@rock-chips.com> Tested-by:
Kever Yang <kever.yang@rock-chips.com> Tested-by:
Jagan Teki <jagan@openedev.com> (cherry picked from commit 4b9340ab)
-
ji.luo authored
Add FASTBOOT_PARTITION_TEE definition for normal Android, this will fix the build error in u-boot. Change-Id: I7800e8370fbabe01d6d25e0a9f2b9e4578a805b0 Signed-off-by:
ji.luo <ji.luo@nxp.com>
-
ji.luo authored
Fix CONFIG_BOOTDELAY redefine error for imx6ul-spriot board. Change-Id: I949b6b815f9232e88cf72be853c8fca6f544b155 Signed-off-by:
ji.luo <ji.luo@nxp.com>
-
ji.luo authored
This reverts commit 82a7723b3f69c2631770d0f30ad16269e9d86389. The partition 'tos' was hard coded in u-boot so this patch wasn't needed anymore. Change-Id: Ie1f651c7c813379dcd8768da0bc9a628d1741fd1 Signed-off-by:
ji.luo <ji.luo@nxp.com>
-
Marty Faltesek authored
On the imx7d, the bootloader currently in use resides on physical partition boot0, and is currently referenced and hard coded as "bootloader". But this conflicts with the new bootloader_a and bootloader_b in the gpt, so that "fastboot flash bootloader ..." flashes to bootloader_a or b. With this fix boot0 can instead by explicitly referenced as "fastboot flash bootloader0 ...". "bootloader0" is currently the only bootloader on the system, but once a/b bootloading is implemented it is going to be a more SPL-like that loads either bootloader_a or bootloader_b. Test: manually verified flashing bootloader0, bootloader, and bootloader_a and bootloader_b. Change-Id: I03a85289f80cdf5f1b80dc07a962a143c6a351e1
-
ji.luo authored
The dm-verity commandline has conflicts with system bootargs and we can't determine whether dm-verity is opened by the commandline for now. Change-Id: I043e82b6bc2ee67f476e8a90dcb8404b6dd7a0bf Signed-off-by:
ji.luo <ji.luo@nxp.com>
-
ji.luo authored
Cancel the 3 seconds countdown and press anykey will not inetrrupt autoboot process. Change-Id: Iaf813795520da09dd02d0a0fca18ed8e3b9c2e39 Signed-off-by:
ji.luo <ji.luo@nxp.com>
-
ji.luo authored
Change-Id: Id2518949d6379a901f6db2044d9d2a59e119d6c4 Signed-off-by:
ji.luo <ji.luo@nxp.com>
-
ji.luo authored
Remove the underscore prefix of current slot. Change-Id: I07a0513dfcfbf395087d57e3680c8d662ec827aa Signed-off-by:
ji.luo <ji.luo@nxp.com>
-
ji.luo authored
Change-Id: I0b57cae7a172d906bf7d43f19e938a72c74b3b16 Signed-off-by:
ji.luo <ji.luo@nxp.com>
-
ji.luo authored
Change-Id: I6ab29f86df748d173954400d534f1fb3c990f5b9 Signed-off-by:
ji.luo <ji.luo@nxp.com>
-
ji.luo authored
Add support for fastboot getvar command: fastboot getvar erase-block-size fastboot getvar logical-block-size Change-Id: Id1410d46307e67342e5489a26a96725e1d6a259e Signed-off-by:
ji.luo <ji.luo@nxp.com>
-
ji.luo authored
Correct some partition file system type from 'emmc' to 'raw'. Change-Id: If417ab9f14abfe27b4d5da5f7354922a80c4df18 Signed-off-by:
ji.luo <ji.luo@nxp.com>
-
ji.luo authored
This patch did: 1.Hard code the permanent attribute into u-boot. 2.Store first 112 bits of sha256(permanent attribute) hash into fuse. (CONFIG_AVB_FUSE was removed because it's an irreversible operation) 3.Implement platform-specific operations defined in avb_atx_ops.h. Change-Id: I65de9860e7c5ca1f7ebfbd87300faee0ccacaac3 Signed-off-by:
ji.luo <ji.luo@nxp.com>
-
Haoran.Wang authored
Duplicate defconfig for pico-imx6ul by picosom-imx6ul-trusty_defconfig. Change-Id: I559124e8e94eb40f943e0c4d68b9a6da821c6f41 Signed-off-by:
Haoran.Wang <elven.wang@nxp.com> (cherry picked from commit f019c752e4ac1ab210b9a09a00d48a6eaf3fefb3)
-
ji.luo authored
Change-Id: I8f5b69043a63034ab53d5926de0469a29132659f Signed-off-by:
ji.luo <ji.luo@nxp.com>
-
ji.luo authored
Use hard code public key instead of reading it from RPMB. Read RPMB key from last block of BOOT1 instead of fuse. Change-Id: Icddd0bc45af8f9a9b222d54e16a7dfc6efa6c8b2 Signed-off-by:
ji.luo <ji.luo@nxp.com>
-
ji.luo authored
Change-Id: I052314f2304a93a79fa912125c555cae173d8749 Signed-off-by:
ji.luo <ji.luo@nxp.com>
-
ji.luo authored
Change-Id: Iee122d36d83bc6e1ae007fb2f2053c6e9e7fc2a2 Signed-off-by:
ji.luo <ji.luo@nxp.com>
-
Haoran.Wang authored
RPMB keyblob stored in the last block of boot1 partition of MMC1. It will be load into CAAM SEC_RAM and format into "keyslot" package. This is enabled on pico7d and iopb6ul. Change-Id: I5d9ab12e7d14945ebd8f926e20bed19b02e65009 Signed-off-by:
Haoran.Wang <elven.wang@nxp.com>
-
Haoran.Wang authored
Change-Id: I0aa12c5092953804e724c0534f2e81abd9ee47d5 Signed-off-by:
Haoran.Wang <elven.wang@nxp.com>
-
Haoran.Wang authored
Use trusty_os_init to load Trusty OS from CONFIG_TRUSTY_OS_ENTRY before u-boot ready. Add "tos" partition following the Android bootloader requirement. Change-Id: I294df0ea1b44ffd12135a8325a73d1ac9399b5f5 Signed-off-by:
Haoran.Wang <elven.wang@nxp.com>
-
Ye Li authored
Since SCFW has implemented a new API sc_misc_get_boot_dev to get boot device, change u-boot to use this API for QM/QXP, not use ROM INFO. Signed-off-by:
Ye Li <ye.li@nxp.com>
-
Ye Li authored
Sync SCFW API to commit a6fd9a48626ef8c93a798c5fb984898b2017bf16. It adds a API to get boot device. Signed-off-by:
Ye Li <ye.li@nxp.com>
-
Ye Li authored
Since i.MX8QXP only use one 16K fuse array, it has different fuse address for 2nd half 256 fuse words with QM. According to its fuse map, the fuse addresses for MAC1 and MAC2 are 708-711. Signed-off-by:
Ye Li <ye.li@nxp.com> Acked-by:
Peng Fan <peng.fan@nxp.com>
-
Leonard Crestez authored
This is better done through dts. Signed-off-by:
Leonard Crestez <leonard.crestez@nxp.com> Reviewed-by:
Ye Li <ye.li@nxp.com> Acked-by:
Peng Fan <peng.fan@nxp.com>
-
Leonard Crestez authored
This is deprecated in favor of the generic iommus binding but xen only supports this older version. Signed-off-by:
Leonard Crestez <leonard.crestez@nxp.com> Reviewed-by:
Ye Li <ye.li@nxp.com> Acked-by:
Peng Fan <peng.fan@nxp.com>
-
Leonard Crestez authored
Using the SMMU for some devices (like dpu) requires a streamid to be assigned to multiple resources. Determining the resource ids for a device is a problem that occurs in multiple contexts. So far uboot deals with this by parsing the power-domain node which is insufficient here. Add a new devicetree property called fsl,sc_rsrc_id which lists the resource ids associated by a certain device. Signed-off-by:
Leonard Crestez <leonard.crestez@nxp.com> Reviewed-by:
Ye Li <ye.li@nxp.com> Acked-by:
Peng Fan <peng.fan@nxp.com>
-
Leonard Crestez authored
Use streamids specified in dtb because they need to match anyway. This removes the need to rebuild uboot for stream id assignments. Signed-off-by:
Leonard Crestez <leonard.crestez@nxp.com> Reviewed-by:
Ye Li <ye.li@nxp.com> Acked-by:
Peng Fan <peng.fan@nxp.com>
-
Ye Li authored
Met a problem that mii command fails to work after u-boot booting up. The root cause is the fec_probe function initializes ethernet PHY first, then reset the FEC controller. This causes the mii_speed register reset to 0 and lead mdio can't work. Change the flow to reset FEC controller prior than setup PHY. Signed-off-by:
Ye Li <ye.li@nxp.com>
-
Ye Li authored
Add build config, dts and board codes for i.MX8QM MEK board. Supported peripherals: UART, eMMC/SD, ENET, I2C, USB TYPEC DFP mode, flexspi. DTS is ported from kernel commit a4fff857ea5f0a6513b943e0b0b842d5008785f1, and enable more peripherals. Signed-off-by:
Ye Li <ye.li@nxp.com> Reviewed-by:
Peng Fan <peng.fan@nxp.com>
-
Ye Li authored
In esdhc_set_ios, the clock has been setup before calling esdhc_set_timing. So no need to call set_sysctl more. Signed-off-by:
Ye Li <ye.li@nxp.com> Reviewed-by:
Peng Fan <peng.fan@nxp.com>
-
Ye Li authored
The HS400 ES (Enhanced Strobe) has been added. This patch addes support for HS400 for eMMC 5.0 devices. It needs tuning at HS200 to synchronize command response. Signed-off-by:
Ye Li <ye.li@nxp.com> Reviewed-by:
Peng Fan <peng.fan@nxp.com>
-
Peng Fan authored
Add HS400 ES mode support. The flow is same as mmc_select_hs400es in kernel drivers/mmc/core/mmc.c. With HS400 ES, there is no tuning needed. With Toshiba 32GB Automotive eMMC5.1 on 8QXP ARM2 board, speed test: 'time mmc read 0x90000000 0 0x200000' shows that speed is 282MB/s. Signed-off-by:
Peng Fan <peng.fan@nxp.com> Reviewed-by:
Ye Li <ye.li@nxp.com>
-
Peng Fan authored
Set usdhc clock to 400M. When enabling HS400 ES, DDR EN is enabled, if we still have input clock as 200M, the real output clock will be 100M. So set clock to 400M to get real 200M output when enabling HS400/ES. Signed-off-by:
Peng Fan <peng.fan@nxp.com> Reviewed-by:
Ye Li <ye.li@nxp.com>
-