AgeCommit message (Collapse)AuthorFilesLines
2021-01-08MA-18534 imx8mp: Enable trusty for powersave configrel_imx_5.4.70_2.3.2android-11.0.0_1.2.0caf/imx_v2020.04_5.4.70_2.3.0zhai.he1-0/+176
Add trusty support to the imx8mp powersave config. Change-Id: I269f565f9c50a3db4c4138fca9279d8aa7c47043 Signed-off-by: zhai.he <>
2021-01-04MA-18346-11 Android refine power on imx8mp boardhaidong.zheng4-3/+351
VDD SOC normal run changed to 0.85V LPDDR4 freq0 change from 4000MTS to 2400MTS Change-Id: I69676ea5b582a817fb3c367bd861db96ba647540
2020-12-22MA-18422 Locate the misc partition by nameJi Luo3-14/+63
Locating the misc partition by ID can help reduce the boot time but error may happen if the ID of the misc partition is changed. Moving the misc partition to the start of the GPT and locate the partition by name is another option but it will break the backward compatibility as the GPT is changed. part_get_info_by_name() will loop the PTE and return the matched partition info, but it will cost much time as it will reload the whole PTE from storage in each loop. This commit provides part_get_info_efi_by_name() to support return the partition info by name without reloading the whole PTE. Test: A/B slot switch in dual bootloader. Change-Id: I13cb2a7b3217f73aecc2aec6e06abc0d6e8abcdd Signed-off-by: Ji Luo <>
2020-12-22LFU-15 Fix using uninitialized valueJi Luo1-22/+4
This commit fixes Coverity Issue: 11468195, avoid uninitialized value using. Test: AVB check. Change-Id: I04eb8faafd6c9a9fec1aeae0b29edc6940251094 Signed-off-by: Ji Luo <>
2020-12-22MA-18352-6 Enable device IDs provisionJi Luo23-0/+30
Enable configs to support ID attestation. Change-Id: I1478d4981e7a1a10e11e4e71dcbfd49c64331a9d Signed-off-by: Ji Luo <>
2020-12-22MA-18352-5 Support device IDs provisionJi Luo16-1/+191
The device IDs are provisioned from bootloader, this commit add commands to provision the deivce IDs: $ fastboot oem append-device-id Test: Device IDs provision and attest. Change-Id: Id3c737d3da02f7ba463e51b0525f3cb9bcf0c6d1 Signed-off-by: Ji Luo <>
2020-12-22MA-18458 Sync configs for Android 11 releaseJi Luo33-32/+33
As some features are not supported on Android 10, below commit sync configs for Android 10: commit 010173028e553b3ecde036402a46d7e33b928e00 Author: Ji Luo <> Date: Wed Nov 18 20:14:51 2020 +0800 MA-18292 Sync configs for Android 10 release Virtual A/B is not supported for Android 10 release, disable the configs here. And as the dual bootloader feature is enabled for car2 on Android 10, enable CONFIG_DUAL_BOOTLOADER for car2. This commit reverts the change to sync with Android 11 release. Test: Builds and boots on imx8qm. Change-Id: I39e876c47be2333b9f7dd8f71c837a762d25f1ac Signed-off-by: Ji Luo <>
2020-12-16MA-18406 Fix panic when provision keys on boards without rpmb keyandroid-10.0.0_2.6.0Ji Luo1-0/+26
The keymaster client won't be initialized if the rpmb key is not set, return early with error in such case to avoid panic. Test: provision attestation keys & certs on boards without rpmb key set. Change-Id: I6f908aecafd15ab390629cb89b090c9ee817ba1e Signed-off-by: Ji Luo <>
2020-12-14MA-16954 set partition type to efi after flash gpt partitionfaqiang.zhu1-0/+12
If the target device have DOS partition, uboot will save the partition type as dos partition at early stage when the driver bind the device. After the gpt partition is flashed, uboot will try to reload the DOS partition, instead of the the EFI partition. In this commit, if the GPT partition is successfully flashed, set the partition type to be PART_TYPE_EFI if necessary, so the EFI partitions will be reloaded. Change-Id: I6095cb56c73aecee24f76d169db89daba3783e29 Signed-off-by: faqiang.zhu <>
2020-12-02MA-18342 Sync misc partition ID with GPTrel_imx_5.4.70_2.3.0Ji Luo1-1/+2
Automotive will find the misc partition by the ID instead of by name to decrease the boot time. But the misc partition ID is different between Android 10 and Android 11 release. This commit sync the misc partition ID with GPT. Test: slot switch on imx8qm. Change-Id: I05c3bfdb98bc1ab179b4343111f4c33d768af5cf Signed-off-by: Ji Luo <>
2020-11-29MLK-25046 imx: bee: Fix build warning of flush_dcache_rangeYe Li1-0/+1
Fix below build warning when enabling BEE config on iMX6UL EVK board. arch/arm/mach-imx/mx6/bee.c: In function ‘bee_test’: arch/arm/mach-imx/mx6/bee.c:201:2: warning: implicit declaration of function ‘flush_dcache_range’; did yomean ‘check_cache_range’? [-Wimplicit-function-declaration] 201 | flush_dcache_range(address, address + range); | ^~~~~~~~~~~~~~~~~~ | check_cache_range Signed-off-by: Ye Li <> Reviewed-by: Peng Fan <> (cherry picked from commit 134d22e59af3931d283c123c1aa3fc44cb86761d)
2020-11-27MA-18325 Pad keyslot_package struct to one block sizeJi Luo2-4/+9
blk_dwrite() will write data in blocks, padding the keyslot_package struct to one block to avoid redundant data write. Test: RPMB key set. Change-Id: I326d7f4394d15e6e22b12c3abd6a5e2de18920cc Signed-off-by: Ji Luo <>
2020-11-20MA-18304 pass ramdisk address when boot up evk_7ulpfaqiang.zhu1-4/+4
evk_7ulp images has normal ramdisk in boot.img and recovery ramdisk in recovery.img. Normal ramdisk in boot.img is used to boot up Android, ramdisk addr need to be passed to kernel any way. Recovery ramdisk in recovery.img is not used to boot up Android, there is no need to pass "androidboot.force_normal_boot=1". Change-Id: Id1e9c31035cbf65cd325c70a0aa9df05ea1d90b2 Signed-off-by: faqiang.zhu <>
2020-11-19LFU-18 fix coverity issueClark Wang1-1/+3
Use the struct lpspi when it is not a NULL ptr. Reviewed-by: Fugang Duan <> Signed-off-by: Clark Wang <> (cherry picked from commit 697198f65dba420534e8df1d5443f0b0869cc31f)
2020-11-19MA-18299 Fix imx8mn flash panicJi Luo9-17/+17
TEE memory region are moved to 0x56000000 ~ 0x58000000 to support i.MX 8MN DDR3L board: TEE-619 imx: 8mn: add support for i.MX 8MN DDR3L EVK DD3L EVK board only has 512MB of DDR. move OP-TEE mapping for all the 8MN boards. Signed-off-by: Silvano di Ninno <> Adjust the fastboot buffer region to avoid conflicts. Test: Super partition flash on imx8mn. Change-Id: I56bd0194f24f9f267f436b4b6d762948d96bf815 Signed-off-by: Ji Luo <>
2020-11-18LF-2769-3 mx7ulp_evk: Reserve top 1MB DDR for RPMSG usageYe Li1-0/+6
To avoid u-boot MMU table overlap M4 RPMSG vring buffer, reserve the top 1MB DDR. Signed-off-by: Ye Li <> Reviewed-by: Peng Fan <> (cherry picked from commit e00224b10c9ce10c76fa9ba452d88565bee7024a)
2020-11-18LF-2769-2 mx6sxsabresd: Reserve top 1MB DDR for RPMSG usageYe Li1-0/+8
To avoid u-boot MMU table overlap M4 RPMSG vring buffer. Reserve the top 1MB DDR when bootaux is enabled. Signed-off-by: Ye Li <> Reviewed-by: Peng Fan <> (cherry picked from commit 44cf26781117c484e5f7e46fe6008c0b31c297e4)
2020-11-18LF-2769-1 mx7dsabresd: Reserve top 1MB DDR for RPMSG usageYe Li1-0/+8
When booting with M4 RPMSG demo in u-boot, the M4 will use top 1MB DDR for RPMSG vring buffer. This overlaps with u-boot MMU table and modifies some MMU entries. On mx7dsabresd, this cause u-boot failed to access LCDIF registers due to the wrong MMU entries. Signed-off-by: Ye Li <> Reviewed-by: Peng Fan <> (cherry picked from commit 8a03d17c92cc04765c6b93f716ea081486fd15f0)
2020-11-18MLK-25010 iMX8MN: Update low_drive_gpu_freq for new GPU node pathYe Li1-16/+20
Low drive mode needs to update GPU freq in kernel DTB. But 5.4 and 5.10 kernel are using different GPU node pathes. Update low_drive_gpu_freq to support both two paths. Signed-off-by: Ye Li <> Reviewed-by: Peng Fan <> (cherry picked from commit cb1c6e4279030b859133b9e4e4a0fb2c3e3cd45c)
2020-11-19MA-18292 Sync configs for Android 10 releaseJi Luo33-33/+32
Virtual A/B is not supported for Android 10 release, disable the configs here. And as the dual bootloader feature is enabled for car2 on Android 10, enable CONFIG_DUAL_BOOTLOADER for car2. Test: Boots on imx8qm_mek. Change-Id: If50ccbb33bc23d56e169e48e0a0b8ecd5259005c Signed-off-by: Ji Luo <>
2020-11-16MLK-25003-2 iMX8M: Update thermal and PMU kernel nodes for dual/single coresYe Li1-0/+73
For dual core and single core iMX8M parts, the thermal node and PMU node in kernel DTB also needs update to remove the refers to deleted core nodes. Otherwise both driver will fail to work. Signed-off-by: Ye Li <> Reviewed-by: Peng Fan <>
2020-11-16MLK-25003-1 iMX8MN: Add support for 11x11 UltraLite part numberYe Li4-17/+43
There are 3 part numbers for 11x11 i.MX8MNano with different core number configuration: UltraLite Quad/Dual/Solo Comparing with i.MX8MN Lite parts, they have MIPI DSI disabled. So checking the MIPI DSI disable fuse to recognize these parts. Signed-off-by: Ye Li <> Reviewed-by: Peng Fan <>
2020-11-16MLK-25009 mmc: fsl_esdhc_imx: fix the DTOCV to 0xEHaibo Chen1-0/+6
On imx6Q/imx6DL, we find if config the DTOCV to 0~3, it will impact cmd6 behavior, after cmd6 get transfer complete interrupt, the data0 line will keep low over 5 seconds. This should be a IC bug on imx6Q/DL. For other platforms, do not has this issue. To fix this issue, fix the DTOCV to 0xE, the max setting, this also align with Linux configuration. Signed-off-by: Haibo Chen <> Reviewed-by: Ye Li <>
2020-11-15MLK-25002 imx8mn_evk: Fix mtest address issueYe Li1-2/+2
Since optee has moved to 0x56000000 on iMX8MN EVK. So mtest address will conflict with optee and u-boot relocation. Set the mtest space after the optee reserved region and adjust size for 1GB DDR3L EVK. Signed-off-by: Ye Li <> Reviewed-by: Peng Fan <>
2020-11-08MLK-24978 imx8dxl_evk: Fix pad settings for LCD color issueYe Li1-21/+23
Two LCD data pins (D16 and D17) are missed in DTS to cause color issue, also update pad setting to align with kernel. Signed-off-by: Ye Li <> Acked-by: Peng Fan <>
2020-11-09MLK-24975 arch: mach-imx: imx8m: fix unique_id read error for imx8mpAlice Guo1-0/+11
The value of Unique ID in uboot and kernel is different for iMX8MP: serial#=02e1444a0002aaff root@imx8mpevk:/sys/devices/soc0# cat soc_uid D699300002E1444A The reason is that Fuse Addresses of Unique ID of iMX8MP are 0x420 and 0x430. Reviewed-by: Ye Li <> Signed-off-by: Alice Guo <>
2020-11-08MLK-24971-2 imx8mp_evk: Set GIC clock to 500Mhz on LPDDR4 EVK onlyYe Li2-3/+10
Since iMX8MP LPDDR4 EVK uses OD for VDD_SOC, so we can set GIC clock to 500Mhz to align with kernel. For DDR4 EVK, uses default 400Mhz for ND VDD_SOC. Move the codes from SOC codes to board level to match with voltage setting. Signed-off-by: Ye Li <> Reviewed-by: Peng Fan <>
2020-11-08MLK-24971-1 imx8mp_evk: Change to nominal voltage on DDR4 EVKYe Li1-1/+4
Because DDR4 runs at 3200MTS, this speed does not require to use overdrive voltage for VDD_SOC, so set VDD_SOC to nominal 0.85v on DDR4 EVK. The VDD_ARM was set to 0.95v to avoid timing risk from SOC to ARM when VDD_SOC is 0.95v, set it back to 0.85v as well. Signed-off-by: Ye Li <> Reviewed-by: Peng Fan <>
2020-11-06MA-18214-1 Hard code the BT mac address for imx8mpJi Luo1-1/+6
imx8mp has serial number as all zeros, hard code the BT mac address for such case instead of setting it by property. Test: BT on imx8mp. Change-Id: I99f5b49164e1fa40c7fc6ecb639c71fa89158852 Signed-off-by: Ji Luo <>
2020-11-06MA-18221 Fix build break for imx7ulpJi Luo2-13/+12
GCC for arm32 doesn't support division between signed and unsigned integer. Clean up the code to use 'long' for both arm32 and arm64 platforms. Test: build on 7ulp and 8mm. Change-Id: I21c23b1948994558237b27bfe7452e78e3d45172 Signed-off-by: Ji Luo <>
2020-11-06MLK-24968 imx8m: soc: update fuse pathPeng Fan1-5/+11
Update fuse path to disable modules correctly. Reviewed-by: Ye Li <> Signed-off-by: Peng Fan <>
2020-11-06LF-2637 mx6: fuse: update node pathPeng Fan1-0/+78
Update node path for 5.10 Kernel. - aips-bus renamed to bus - gpmi-nand renamed to nand-controller Reviewed-by: Ye Li <> Signed-off-by: Peng Fan <>
2020-11-06MLK-24907 imx8mp: configure GIC clk to 500MPeng Fan1-1/+3
Following Linux, set GIC clk to 500M. If U-Boot has different settings compared with kernel required, kernel will dump. However we could not let kernel runtime change GIC clk parents, because it is CLK_IS_CRITICAL and CLK_SET_PARENT_GATE, it will always fail. There is no otherway to address the issue unless let U-Boot configure it ready. Reviewed-by: Ye Li <> Signed-off-by: Peng Fan <>
2020-11-03MLK-24958-5 imx8dxl_evk: Enable LCDIF splash screenYe Li3-1/+287
Use a dedicated defconfig for LCDIF splash screen to resolve conflict. Update board codes to add relevant configs and control mux for LCDIF pins. Signed-off-by: Ye Li <> Reviewed-by: Peng Fan <>
2020-11-03MLK-24958-4 DTS: imx8dxl-evk: Add dedicated DTS for LCD enablemenntYe Li2-0/+84
Because LCDIF has lots of pinmux conflict with modules like eQOS, SPI, ADC, LPUART1, etc. We can't support it by default. Introduce a new DTS for LCDIF enablement and disable conflicted nodes. Signed-off-by: Ye Li <> Reviewed-by: Peng Fan <>
2020-11-03MLK-24958-3 video: mxsfb: Add iMX8DXL support to LCDIF driverYe Li3-8/+67
Support iMX8DXL in mxsfb driver by below changes: 1. Enable iMX8 in lcdif registers file 2. Add u-boot clock driver support for iMX8 3. Change the FB buffer alignment to align it at allocation. So it won't overlay with other memory at mmu_set_region_dcache_behaviour Signed-off-by: Ye Li <> Reviewed-by: Peng Fan <>
2020-11-03MLK-24958-2 DTS: imx8qxp/dxl: Update LCDIF clock namesYe Li2-9/+9
Update the LCDIF clocks to align with u-boot clock driver. Since u-boot imx8 clock driver can gate and divide on slice clock, so it does not create two clocks on slice clock. Signed-off-by: Ye Li <> Reviewed-by: Peng Fan <>
2020-11-03MLK-24958-1 clk: imx8qxp/dxl: Add clock support for LCDIFYe Li1-0/+11
Add relevant clocks tree for LCDIF. According to design, LCDIF has a slice and a dedicated eLCDIF PLL for pixel clock. On iMX8QXP, there is pixel link mux which is muxed with LCDIF IOs. It uses slice bypass reference clock for pix clock input. Signed-off-by: Ye Li <> Reviewed-by: Peng Fan <>
2020-10-30MA-18192 Only bump the rollback index when avb verify okJi Luo1-2/+5
AVB verify should fail for GKI boot image but we should allow it continue to boot in UNLOCKED state. In such case, we should not update the stored rollback index. This commit will update the rollback index only when the AVB verify is OK to prevent rollback index check error. Test: boots. Signed-off-by: Ji Luo <> Change-Id: I82678d288edd4df6de40a1ca863ed36d3b3658a8
2020-10-30MLK-24941 arm: dts: set sensor regulator always on for imx6q/qp/dlClark Wang1-0/+1
This is a workaround. Always open the regulator of the sensor to ensure that the pull-up of i2c3 is 3.3v. Otherwise, there will be a 1.8v high level pull-up before enable sensor regulator in kernel boot stage. Reviewed-by: Fugang Duan <> Signed-off-by: Clark Wang <>
2020-10-28MA-18166 Android: Fix mmc multi blk load issueimx_5.4.70_er4Ji Luo1-4/+4
The 'offset' can be negative number passed from fsl_read_from_partition_multi(), don't covert 'blksz' to 'uint64_t' as it will cause overflow when the 'offset' is negative number. Test: mmc blk read with 'offset < 0'. Signed-off-by: Ji Luo <> Change-Id: Id1ce8e0c748dd280d70c1722cc7d17cc9646a4bb
2020-10-28MA-18168 add dynamic partiton support for evk ddr4 boardfaqiang.zhu2-0/+2
add a configuration of "CONFIG_VIRTUAL_AB_SUPPORT" for evk_8mm and evk_8mn ddr4 board, so the "CONFIG_ANDROID_DYNAMIC_PARTITION" can be selected, and bootargs can be passed to kernel correctly. Signed-off-by: faqiang.zhu <> Change-Id: I42a0356940d8e76b560f79ccf440c7ec6df09b90
2020-10-23MA-18087-3 Add snapshot-update commandJi Luo2-0/+38
Add support for 'fastboot snapshot-update cancel', it cancels the snapshot update process so erase/update partitions can proceed. Test: run 'fastboot snapshot-update cancel'. Signed-off-by: Ji Luo <> Change-Id: Ic1dfaf09a27fecf6e14b7149aeb5e0a9a1d220c9
2020-10-23MA-18087-2 Support snapshot-update-status variableJi Luo2-0/+25
Add support for 'fastboot getvar snapshot-update-status', it returns the snapshot update states. Test: run 'fastboot getvar snapshot-update-status' Signed-off-by: Ji Luo <> Change-Id: Ifd46410994b11c327373a35eb86d121f321e39ae
2020-10-23MA-18087-1 Enhance virtual A/B slot checkJi Luo5-6/+49
Set the initial 'source_slot' in 'misc_virtual_ab_message' as the current slot. At the same time, add slot checks before erase data if virtual A/B is enabled. Test: virtual A/B update and erase. Signed-off-by: Ji Luo <> Change-Id: I84896335a95d9188b85e114037b470b3f4e7a209
2020-10-23MA-17519-4 boot up car2 with recovery ramdiskfaqiang.zhu7-18/+22
To use dynamic partition feature in Android, recovery ramdisk is used to mount the logical partitions and boot up Android. Define a configuration item "CONFIG_ANDROID_DYNAMIC_PARTITION", use it to control the bootargs and whether ramdisk should be loaded instead of "CONFIG_ANDROID_AUTO" because now Android auto also use dynamic partition feature now. Move the definition of function "fastboot_setup_system_boot_args" under the macro "CONFIG_CMD_BOOTA" to avoid build warnings. Signed-off-by: faqiang.zhu <> Change-Id: I0b1cfe6120fc939e7f1a1eb600d8176c81edf129
2020-10-20MLK-24902 imx8mp_evk: Update LPDDR4 refresh timeYe Li1-6/+6
Use more safer refresh time value for 6GB LPDDR4 on this EVK board. Update the parameters for every frequency point. Signed-off-by: Ye Li <> Reviewed-by: Jacky Bai <>
2020-10-20MLK-24900 imx8mp ddr4: Align ddr4 QoS to lpddr4Jian Li1-10/+10
1. align ddr4 Q0S settings to lpddr4 2. adjust PERFHPR1, PERFLPR1, PERFWR1 to reduce HPR,LPR, W starving time to avoid display underrun Signed-off-by: Jian Li <> Reviewed-by: Ye Li <>
2020-10-19MA-18051 avoid overflow of in partition size calculationfaqiang.zhu3-4/+4
If a partition is not less than 4GB, to avoid the overflow issue when calculate the partition size in bytes, change the value of partition length in block size to the type of "unsigned long". Change-Id: Ifa4ddb5169fcb02822ef152a6c70d01b5d3cf50d Signed-off-by: faqiang.zhu <>
2020-10-13MLK-24887 iMX8MM: Add new LPDDR4 EVK supportYe Li13-65/+653
Rename old LPDDR4 EVK to EVK-QCA board which uses QCA wifi and BD71847 pmic, assign dedicated u-boot DTS and defconfig for this board, So we can drop it easily in future. Set default EVK configuration for new LPDDR4 EVK which uses NXP PCA9540A PMIC and NXP AW-CM358SM WIFI module. Signed-off-by: Ye Li <> Reviewed-by: Peng Fan <>