AgeCommit message (Collapse)AuthorFilesLines
2019-12-03MLK-23063 imx8/imx8m: Remove "fsl-" prefix from kernel DTBscaf/imx_5.4.0_8dxlphantom_erYe Li39-53/+53
v5.4 kernel has removed the "fsl-" prefix from DTB. Update the kernel DTB names for imx8 and imx8m platforms. Signed-off-by: Ye Li <> Reviewed-by: Peng Fan <>
2019-12-03MLK-22903 DTS: imx6sll_evk: Add startup delay for SD1/SD3 resetYe Li1-2/+4
For imx6sll EVK boards without eMMC soldered, the VDD_SD1 and VCC_WIFI needs more than 1ms from 0V to 3V. Without any delay in startup, some SD cards encounter initialization failed. For boards with eMMC, the power ready time is less than 500us. It does not meet such issue. Also update the off-on-delay to 10ms according to the measured data. Signed-off-by: Ye Li <> Reviewed-by: Peng Fan <> (cherry picked from commit 21552e66a0bb37d8aa86066b33cc861fb3874071)
2019-10-29MLK-22866 imx8: Remove the optee shared memory from DDR banksrel_imx_4.19.35_1.1.0caf/imx_v2019.04_4.19.35_1.1.0Ye Li1-1/+22
Optee has 4MB shared memory at its top space which was assigned to non-secure OS partition in ATF. By default this memory is added to u-boot DDR banks and will pass to kernel. This means kernel has possibility to allocate from this memory for system usage. At same time this memory is used by optee and mem-remapped by optee kernel driver. So it is possible to have conflict and cause kernel crash. Fix the issue by removing the shared memory from u-boot DDR banks. Then it is not visible for both u-boot and kernel and can avoid such issue. Signed-off-by: Ye Li <> Reviewed-by: Anson Huang <> (cherry picked from commit 164279c42de0d058b7abe198cc154ee683087e6a)
2019-10-29MLK-22865: nandbcb: fix nandbcb dump command bug caused by MLK-22582Alice Guo1-2/+2
In MLK-22582, write memcmp incorrectly as memcpy. Signed-off-by: Alice Guo <> (cherry picked from commit 16a073f563a25401f1ec289db1c82dd8dab61601)
2019-10-28MLK-22851-4 imx8mm/imx8mn: Enable eMMC HS400ES and SD UHS mode on EVKYe Li9-12/+29
Both imx8mn/imx8mm EVK boards have eMMC 5.1 chip and support SD3.0 So we enable the HS400ES and UHS configs to enhance eMMC/SD access. The change also needs to set usdhc clock to 400Mhz and update compatible string to fsl,imx8mm-usdhc Signed-off-by: Ye Li <> Reviewed-by: Peng Fan <> (cherry picked from commit cf83fe7dcfcb14dd633ad43ef387793a863e111a)
2019-10-28MLK-22851-3 imx8mq: Enable eMMC HS400 and SD UHS mode on EVKYe Li3-4/+6
iMX8MQ EVK board has a eMMC5.0 chip and supports SD3.0, so enable the UHS and HS400 configs to enhance the eMMC/SD access. The change also needs to set usdhc clock to 400Mhz, and add the off-on-delay-us to SD reset pin, otherwise some SD cards will fail to select UHS mode in re-initialization. Signed-off-by: Ye Li <> (cherry picked from commit 57e1bc5f634be231b2bfd10cf0cbbff86dadd2e1)
2019-10-28MLK-22851-2 mmc: fsl_esdhc: Update compatible string for imx8mYe Li1-2/+4
To enable HS400 and UHS for imx8m platforms, update the driver data to share with imx8x platforms and add relevant compatible string. Signed-off-by: Ye Li <> (cherry picked from commit e0cc56f76027d014414b5aed6c26af444388093a)
2019-10-28MLK-22851-1 mmc: fsl_esdhc: reduce unnecessary clock changeYe Li1-5/+7
In mmc initial state, the mmc framework sets clock to 0, so the fsl_esdhc driver converts to use min clock 400Khz. But the priv->clock is logged 400Khz not 0, and cause following calls to set_ios to set clock again. Each set to clock has 10ms delay for stable, then the problem accumulates some unnecessary delay. Signed-off-by: Ye Li <> (cherry picked from commit 151ab3bef2b1ec1c142c31048f3005ebce2a7a18)
2019-10-28MLK-22853 DTS: imx: fix the regulator off-on-delay propertyYe Li16-19/+19
The property was changed to "u-boot,off-on-delay-us" in u-boot fixed regulator. Update the dts to use the new name Signed-off-by: Ye Li <> Reviewed-by: Peng Fan <> (cherry picked from commit e68d12af8d17ae1017eacfc73b72ab999ef9837f)
2019-10-28MLK-22842: nandbcb: add nandbcb dump command for i.MX6Alice Guo1-0/+4
Verify/dump boot structures. Signed-off-by: Alice Guo <> (cherry picked from commit 65354b516d9919509fadff096c1ba6808e6975cf)
2019-10-28MLK-22582-2: nandbcb: add nandbcb dump command for i.MX8MMAlice Guo1-6/+235
Verify/dump boot structures written to NAND Flash chip. Signed-off-by: Alice Guo <> (cherry picked from commit 215953009a0429705a3aaaa7c495e6ad7a0a8a3a)
2019-10-28MLK-22582-1: nand: enable the Randomizer module for mx7 and mx8 when callAlice Guo1-2/+8
the function named mxs_nand_ecc_read_page To enable the Randomizer module, set GPMI_ECCCTRL[RANDOMIZER_ENABLE] to 1, then set GPMI_ECCCOUNT[RANDOMIZER_PAGE] to select randomizer page number needed to be randomized. Signed-off-by: Alice Guo <> (cherry picked from commit e8271a1c7621cc3607d3e9c7b0a872342b5f4c95)
2019-10-25MA-15713-1[Android]Enable HDMI firmware loading for car2 on mek-8qmZhang Bo2-0/+10
Load HDMI firmware to enable HDMI display interface. So car2 image can support HDMI display. Change-Id: Ifd55315302319fe6b02f2ea289926a4b748cdb77 Signed-off-by: Zhang Bo <>
2019-10-25MA-15713[Android]Enable multi-display function for car2 on mek-8qmZhang Bo1-0/+173
Copy configs/imx8qm_mek_androidauto2_trusty_defconfig to configs/imx8qm_mek_androidauto2_trusty_md_defconfig and will base this file to add some config for HDMI firmware loading. Change-Id: I34b0ac39fc9314992102d93dd198d5741db4fc36 Signed-off-by: Zhang Bo <>
2019-10-25MA-15724-1[Android]Enable HDMI firmware loading for normal androidZhang Bo3-0/+3
As the IMX_LOAD_HDMI_FIMRWARE has moved to Kconfig, it should be enabled in the defconfig. The IMX_HDMI_FIRMWARE_LOAD_ADDR, IMX_HDMITX_FIRMWARE_SIZE and IMX_HDMIRX_FIRMWARE_SIZE should set in the board header file. Or there is build error when enable CONFIG_IMX_LOAD_HDMI_FIMRWARE=y. Change-Id: Ie4b655ac886a8f231034e81413a036eb096d6122 Signed-off-by: Zhang Bo <>
2019-10-25MA-15724: hdp: move macro IMX_LOAD_HDMI_FIMRWARE to KconfigZhang Bo3-2/+10
Move the macro IMX_LOAD_HDMI_FIMRWARE to Kconfig, so it can be enable or disable in different defconfig. Change-Id: I2e1291d3bc2d6efb29309525b33b84ba8f9b83da Signed-off-by: Zhang Bo <>
2019-10-24MA-15715-1 Refine trusty logsJi Luo1-2/+1
Refine trusty logs output to make it more simple. Test: boots. Change-Id: Id94fc245206c5f78e0dbcb0baf5db6475c9f744d Signed-off-by: Ji Luo <>
2019-10-23MLK-22836 imx8m: soc: Fix secure boot support for i.MX8MM and i.MX8MN targetsBreno Lima1-2/+2
Since commit c98b47f1ff60 ("MLK-22749 imx8mq: Add workaround to fix sticky bits lock up") it's not possible to build i.MX8MM and i.MX8MN targets with CONFIG_SECURE_BOOT enabled: CC cmd/version.o arch/arm/mach-imx/imx8m/soc.c:326:23: error: ‘CONFIG_IMX_UNIQUE_ID’ undeclared \ (first use in this function); did you mean ‘CONFIG_IMX_VIDEO_SKIP’? if (!is_uid_matched(CONFIG_IMX_UNIQUE_ID)) ^~~~~~~~~~~~~~~~~~~~ The OCOTP sticky bit workaround is only needed for i.MX8MQ devices, other devices should not build the secure_lockup() function. Add CONFIG_IMX8MQ to the conditional compilation to avoid such issue. Fixes: c98b47f1ff60 ("MLK-22749 imx8mq: Add workaround to fix sticky bits lock up") Signed-off-by: Breno Lima <> Reviewed-by: Ye Li <> (cherry picked from commit be033bff3c718e8bd7d4ac5ecfe4361892fc6e61)
2019-10-23MLK-22827-2: mxs_nand: don't check zero count when ECC reading with randomizerHan Xu1-2/+3
When enabled randomizer during ECC reading, the controller reported it's erased page. Checking zero count will cause data get modified to all 0xFF. Stop checking during randomizer to workaround this issue. Signed-off-by: Han Xu <> (cherry picked from commit f88f68f29026b084396db003c60e0c15995d1670)
2019-10-23MLK-22827-1: mxs_nand: bch: add the missing bch register debug0Han Xu1-0/+1
add the missing bch register debug0 Signed-off-by: Han Xu <> (cherry picked from commit 0883946855f7e1eabe26787fbc8529ac412047e7)
2019-10-22MA-15678 image-android: remove deprecated androidboot.storage_typeJindong1-28/+0
androidboot.storage_type has been replaced by androidboot.boot_device_root. Change-Id: Ibec80808e6ae720be128c0a2d9e2f4d325c56716 Signed-off-by: Jindong <>
2019-10-17MLK-22755 mx7ulp: wdog: Wait for WDOG unlock and reconfiguration to completeBreno Lima1-0/+14
According to i.MX7ULP Reference Manual we should wait for WDOG unlock and reconfiguration to complete. Section "59.5.3 Configure Watchdog" provides the following example: DisableInterrupts; //disable global interrupt WDOG_CNT = 0xD928C520; //unlock watchdog while(WDOG_CS[ULK]==0); //wait until registers are unlocked WDOG_TOVAL = 256; //set timeout value WDOG_CS = WDOG_CS_EN(1) | WDOG_CS_CLK(1) | WDOG_CS_INT(1) | WDOG_CS_WIN(0) | WDOG_CS_UPDATE(1); while(WDOG_CS[RCS]==0); //wait until new configuration takes effect EnableInterrupts; //enable global interrupt Update U-Boot WDOG driver to align with i.MX7ULP reference manual. Reviewed-by: Ye Li <> Signed-off-by: Breno Lima <> (cherry picked from commit 3ffee301cb4570e0e7681448ec434f0689bcbaa3)
2019-10-17MLK-22766-2: configs: remove the unnecessary space in mtdpartsHan Xu1-1/+1
remove the unnecessary space in imx6sx sabreauto mtdparts Signed-off-by: Han Xu <> (cherry picked from commit c8bbf2b43767fe7be69a0383ab426172b5083ee1)
2019-10-17MLK-22766-1: imx6sx: configs: enable mtdparts for imx6sx sabreautoHan Xu1-0/+3
Enable the mtdparts for imx6sx sabreauto platform Signed-off-by: Han Xu <> (cherry picked from commit d76d7e0a28c04a51265b8777a82033bd2e74eda5)
2019-10-17MA-15339-1 load ramdisk in boot image to do first stage mountfaqiang.zhu1-15/+27
With Android10 code, to build GSI image for devices launching with Android10, the target should be "aosp_$arch-user". Google releases GSI images is so built in user mode. To do CTS-on-GSI test, a debug ramdisk containing .prop file to enable adb root permission and GSI keys to verify the GSI image is needed, this ramdisk is in boot image. so ramdisk in boot image need to be loaded by uboot even in non-recovery mode. To save boot time, only standard Android use ramdisk to boot up Android, Android Auto keeps the original way: kernel be responsible for verify and mount system partition. Let the customers to decide whether to use recovery ramdisk to boot the system. and under this condition, user-debug Android Auto GSI image need to be used for VTS-on-GSI test. when use ramdisk to bootup Android, info provided by "dm=" bootarg is not used by kernel to setup dm-verity, so it is removed from the bootargs. The 4.19 kernel used together with this uboot does not handle "skip_initramfs", so it's also removed. Change-Id: Ia8b8fa8b85a44acda2670b46504038a009ce01a8 Signed-off-by: faqiang.zhu <>
2019-10-16MA-15595 imx8m: Remove unnecessary configs to decrease spl sizeJi Luo13-2/+36
imx8mq/imx8mn has very limited ocram/tcm size, oversized spl image will cause build break or boot hang, remove more unnecessary configs fot imx8mq/imx8mn to reduce the spl size. Test: boot. Change-Id: Ib27eeedf892227f83eaaa7601ba1706a8010a860 Signed-off-by: Ji Luo <>
2019-10-16MA-15601-3 Support secure unlock for imx8q standard AndroidJi Luo2-0/+2
Enable config to support secure unlock feature for imx8q standard Android. Test: build and boot. Change-Id: I60825772578832566f48340ffa69bce7365b52db Signed-off-by: Ji Luo <>
2019-10-16MA-15601-1 Duplicate config to enable secure unlock for imx8qJi Luo2-0/+302
Duplicate config based on trusty enabled config file to enable secure unlock for imx8q standard Android. Test: boot. Change-Id: Ib47dc2ecc2d5be69ed840236b6532559eca577f7 Signed-off-by: Ji Luo <>
2019-10-16MA-15575-3 Add support for oemlock 1.0 halJi Luo4-6/+32
Add commands to read oem device unlock state from trusty avb app. Use the oem device unlock state to determine if the device can be unlocked instead of the state in persistdata part. Test: Read oem device unlock state from avb app. Change-Id: Ifccaa788ba0f681c2b3a47151c8474e8da5a2559 Signed-off-by: Ji Luo <>
2019-10-15MLK-22757-2 imx8: Change to use new SECO API commandsYe Li4-8/+8
Latest SCFW has removed old MISC SECO commands. So update the codes to use new SECO commands. Signed-off-by: Ye Li <> Reviewed-by: Peng Fan <> (cherry picked from commit 8e54efce6d2a1691605ae23983ff91f4a702adba)
2019-10-15MLK-22757-1 imx8: Update SCFW API to fix HDP authentication issueYe Li11-76/+377
Current codes have wrong definitions for SC_MISC_SECO_AUTH_SECO_FW, SC_MISC_SECO_AUTH_HDMI_TX_FW and SC_MISC_SECO_AUTH_HDMI_RX_FW and cause HDP firmware authentication failed. Sync the API definitions with latest SCFW export. Signed-off-by: Ye Li <> (cherry picked from commit 87ee3c16a649a418b8c6fdae53234f88a90c8fb3)
2019-10-15MLK-22580-4: nandbcb: imx8mm-evk: implement to burn uboot image to NANDAlice Guo2-22/+68
flash in u-boot for imx8mm-evk imx8mm-evk uses BCH encoding and randomizer modify macro and print size_t with %zx use CONFIG_IMX8M because it should apply to imx8mq/mm/mn Signed-off-by: Alice Guo <> (cherry picked from commit 8d95b51fd70be29ef6beaa0f65c101b329f04f8e)
2019-10-15MLK-22580-3: imx8mm-evk: config: fix mtdparts and drop CONFIG_MTD_DEVICEAlice Guo1-2/+1
remove space from mtdparts definition and remove "#define CONFIG_MTD_DEVICE" to make source code can be copiled correctly Signed-off-by: Alice Guo <> (cherry picked from commit c01b869d5b9dc8cff340c9b911d8df9d2aa257dd)
2019-10-15MLK-22580-2: imx8mm-evk: config: add some dependencies and modifyAlice Guo2-1/+4
dependency of CMD_NANDBCB`s default value compiling nandbcb of imx8mm-evk depends on NAND and CMD_MTDPARTS modify dependency of CMD_NANDBCB`s default value Signed-off-by: Alice Guo <> (cherry picked from commit 1b14e8cbefdb0f8126ceb6a85b1fd0db142328e6)
2019-10-15MLK-22580-1: nand: mxs_nand: make imx8mm-evk can use hardware BCH andAlice Guo1-2/+2
randomizer imx8mm-evk needs to BCH encode and set NAND page number needed to be randomized modify conditional compilation Should use CONFIG_IMX8M, it should apply to imx8mq/mm/mn Signed-off-by: Alice Guo <> (cherry picked from commit da40cd99e4b3a78d2609ee777d60d651d6dbc313)
2019-10-11MLK-22570-2 doc: habv4: Add encrypted boot documentation for i.MX8M, i.MX8MM ↵Breno Lima5-0/+700
and i.MX8MN devices Add HABv4 encrypted boot documentation for i.MX8M, i.MX8MM and i.MX8MN family devices covering the following topics: - How to encrypt and sign a flash.bin image. - How to manage CAAM PRIBLOBs when using encrypted boot - Add 4 CSF examples. Reviewed-by: Ye Li <> Reviewed-by: Marius Grigoras <> Signed-off-by: Breno Lima <> (cherry picked from commit eee57255e0b0ea3a2808d3a2c19c8685afbac39b)
2019-10-11MLK-22570-1 mx8mqevk: Add OP-TEE Device Tree BindingsClement Faure1-0/+7
Currently is not possible to use dek_blob command in mx8mq: u-boot=> dek_blob 0x40400000 0x40401000 128 Cannot get OP-TEE device Add OP-TEE Device Tree Bindings to fix this issue. Reviewed-by: Ye Li <> Signed-off-by: Clement Faure <> Signed-off-by: Breno Lima <> (cherry picked from commit f762fe218ec60025e2dfd6173efaa826286ba297)
2019-10-11MLK-22748 imx8mn: Fix flexspi flash SCLK violationYe Li1-8/+1
Current flexspi driver enables the Quad DTR read, so the measured 100Mhz SCLK is actually for DTR mode not SDR. However, according to MT25QU256ABA datasheet, this flash only supports max DTR at 90Mhz and max SDR at 166Mhz. It means current clock setting violate the flash spec. So change back the flexspi clock to align with imx8mm. Signed-off-by: Ye Li <> Reviewed-by: Peng Fan <> (cherry picked from commit 3bf41bae974003550b70ea1a8b44ccb3117d818f) (cherry picked from commit 4a369b527c3842751a4edf0171562a0e40c331ba)
2019-10-11MLK-22749 imx8mq: Add workaround to fix sticky bits lock upYe Li2-0/+64
On B1 chips with HAB v4.4, the sticky bits are not locked up in HAB closed mode. We introduce a workaround in SPL to lock up these bits and clear Manufacturing Protection Private Key for secure boot. For field return case, user has to build a SPL with CONFIG_SECURE_STICKY_BITS_LOCKUP=n and set CONFIG_IMX_UNIQUE_ID to part's unique id. When the UID check is passed, sticky bits are not lockup and users can burn field return fuse. Otherwise the boot will stop. Signed-off-by: Ye Li <> (cherry picked from commit c98b47f1ff60e1f99807e24fd76053ad880f803e)
2019-10-10MLK-22743 mx7ulp: Update unlock and refresh sequences in sWDOG driverBreno Lima1-6/+12
According to i.MX7ULP Reference Manual the second word write for both UNLOCK and REFRESH operations must occur in maximum 16 bus clock. The current code is using writel() function which has a DMB barrier to order the memory access. The DMB between two words write may introduce some delay in certain circumstance, causing a WDOG timeout due to 16 bus clock window requirement. Replace writel() function by __raw_writel() to achieve a faster memory access and avoid such issue. Signed-off-by: Breno Lima <> Reviewed-by: Ye Li <> (cherry picked from commit 5dd8c46d68d3267e989f980598a4e3e2ed04d4f9)
2019-10-10MLK-22711-2: fastboot: emmc: update bootloader to offset 0 for RevC QXP chipFrank Li1-1/+1
ROM update emmc offset to 0. previous B0 is 32K. Signed-off-by: Frank Li <> (cherry picked from commit b642241380227b97f0fa434e3d38dc746adbd9e0) (cherry picked from commit 2065bf0a12180f73eb918d09dbe809c10077b033)
2019-10-10MLK-22711-1 show RevC instead of Rev? at boot logFrank Li2-0/+3
Add REVC informaiton. Signed-off-by: Frank Li <> (cherry picked from commit c7231f2c7a5c1dc754b5fb9bf05941141877a0ec) (cherry picked from commit 9a33170a4f4ff2ad2ab0d87e74e722a0e833abaa)
2019-10-10MLK-22723-2: nandbcb: fix the issue cannot support gf_14 NAND bootHan Xu1-0/+1
bchtype in FCB should be associated to the gf_13/14 settings in BCH, fix the issue and test on Micron 29F64G08CBABB, it can boot after the change. Signed-off-by: Han Xu <> (cherry picked from commit 9cc7bf9b17565b4e0d73acd690e32394034dfae2)
2019-10-10MLK-22723-1: mtd: mxs_nand: fix the gf_13/14 definition issueHan Xu3-4/+7
gf_13/14 mask was not set correctly in register definition. Signed-off-by: Han Xu <> (cherry picked from commit b8aed98b2ecfb0def64c474e1ae171930da4c9fc)
2019-10-10MLK-22697: configs: fix the imx6ul/ull mtdparts settingsHan Xu2-2/+6
imx6ul/ull were not set the mtdparts properly which causes the uuu cannot recognized the correct mtd partition. Signed-off-by: Han Xu <> (cherry picked from commit e7bbaadd03df7acbd84e5fbdbce037a369b82d68)
2019-09-29MLK-22579: fix: iMX8MM: fix the compilation error of i.MX8MM caused by MLK-22444Alice Guo2-7/+1
Conditional compilation added in MLK-22444 caused U-Boot compilation of i.MX8MM error. Delete the wrong conditional compilation. Signed-off-by: Alice Guo <> (cherry picked from commit 5638f06c300edf87461b822e2c42df2c9ccdd40f)
2019-09-29MLK-22622 imx8m: Add Workaround for ROM SError issueYe Li3-0/+47
ROM SError happens on two cases: 1. ERR050342, on iMX8MQ HDCP enabled parts ROM writes to GPV1 register, but when ROM patch lock is fused, this write will cause SError. 2. ERR050350, on iMX8MQ/MM/MN, when the field return fuse is burned, HAB is field return mode, but the last 4K of ROM is still protected and cause SError. Since ROM mask SError until ATF unmask it, so then ATF always meets the exception. This patch works around the issue in SPL by enabling SPL Exception vectors table and the SError exception, take the exception to eret immediately to clear the SError. Signed-off-by: Ye Li <> Reviewed-by: Peng Fan <> (cherry picked from commit f05dd45251ca82cc54e13a616f00744c26faab53) (cherry picked from commit 25d059411e702a4002f1aa157839001f796dd9f6)
2019-09-29imx: add lowlevel init for ARM64Peng Fan2-1/+23
Sometimes we met SERROR, but only to catch it when Linux boots up. Let's enable catching in U-Boot to catch it ealier and ease debug. Signed-off-by: Peng Fan <> (cherry picked from commit 7a0c9b08886e5dc7d50e640ed56eed0fe612161f) (cherry picked from commit 33da22c4793e56077033a4f6c567894badb8e907) (cherry picked from commit 4da3e872b7c61b93fa227935a7b45eb5fcb252e1)
2019-09-29MLK-22574-2: mx7dsabresd: configs: add default mtdids and mtdparts configsAlice Guo1-0/+3
set the i.X7D default mtdids value as "nand0=gpmi-nand", nandbcb can directly write to the nandboot partition after u-boot brings up Signed-off-by: Alice Guo <> (cherry picked from commit 820e3bc68f1c8695e6dc9a93be2c7ef27ece929d)
2019-09-29MLK-22574-1: mx7dsabresd: config: remove space from mtdparts definitionAlice Guo1-1/+1
there should no extra space in mtdparts definition Signed-off-by: Alice Guo <> (cherry picked from commit 3e50cae62b1f83635ad835b8da840a7e294b7065)