AgeCommit message (Collapse)AuthorFilesLines
2020-08-04ECOCKPIT-323 imx8qm_mek: update Copyrightecockpit_android_06_02ecockpit_p9.0.0_2.3.4-devDanwei Luo1-1/+1
update Copyright in imx8qm_mek.h Signed-off-by: Danwei Luo <>
2020-08-04ECOCKPIT-323 libavb: change the image load addr for A72Danwei Luo1-0/+4
In avb_slot_verify.c it sets the image load addr start from 96MB offset of CONFIG_FASTBOOT_BUF_ADDR. Need to change from 0x98000000 to 0xD8000000 for A72. Signed-off-by: Danwei Luo <>
2020-08-04ECOCKPIT-323 defconfig: align ecockpit android with p9.0.0_2.3.4Seb Fagard1-1/+0
removed USB Type C config.
2020-08-04ECOCLPIT-323 imx8qm_mek: disable HSIO and PCIE for A72Seb Fagard1-0/+2
In ecockpit, HSIO are not avaible to A72, so do not configure them to avoid a crash.
2020-08-04ECOCKPIT-263 imx8qm_mek: remove loading of hdmi firmware for A72Seb Fagard1-2/+9
HDMI resource is owned by A53 partition, thus u-boot running on A72 should not load the HDMI firmwares, so we remove the command from the environment variables.
2020-08-04ECOCKPIT-273 imx8qm_mek: use custom A53/A72 dtb even when M4 bootsSeb Fagard1-5/+5
2020-08-04ECOCKPIT-249 enable loading of HDMI firmware for A53Seb Fagard1-0/+6
A53 partition owns DPU0 which drives HDMI/DP TX output. So HDMI TX firware needs to be loaded in A53 memory region.
2020-08-04ECOCKPIT-77 check resource ownership before powering its domainSeb Fagard1-1/+3
Print a warning if resource not owned instead of hitting the error message when trying to power it. A gpio bank resource (for SCU FW) is powered on when probed, if the resource is not owned by partition, it is important to return normally, else all probes fail successively. Signed-off-by: Seb Fagard <>
2020-08-04ECOCKPIT-239 fix register address for USDHC.Seb Fagard1-1/+1
now LPCG clocks are all set ON. Calculation of LPCG register address for USDHC should not assume that index in resource array is the SDHC number. typically in ecockpit case: resource at index 0 is USDHC_1.
2020-08-04ECOCKPIT-217 defconfig: changes for ecockpitSeb Fagard2-11/+11
- device tree name - A53/A72 compile flag - A72 no video - A72 no HDMI/DP firmware load - A72 load addr 0xC0020000 - remove USB3 TypeC, re-enable CONFIG_CI_UDC to avoid build failure.
2020-08-04ECOCKPIT-217 New eCockpit defconfig for MEK platformSeb Fagard2-0/+196
New defconfig files: * imx8qm_mek_a53_defconfig * imx8qm_mek_a72_defconfig There are clones of defconfig imx8qm_mek_defconfig.
2020-08-04ECOCKPIT-243 defconfig: apply changes on android for ecockpitSeb Fagard1-15/+8
- device tree name - A72 compile flag - no video - no HDMI/DP firmware load - load addr 0xC0020000 - boot delay 3 sec - remove USB3 TypeC, re-enable CONFIG_CI_UDC to avoid build failure. - remove reserved memory for bootaux
2020-08-04ECOCKPIT-243 defconfig: create a copy of android one for ecockpitSeb Fagard1-0/+96
copy the defconfig of MEK for Android P9 1.0.0 GA
2020-08-04ECOCKPIT-153 Leave SMMU ownership to A72Fabrice Goucem1-0/+4
SMMU is left to A72 for future use (by SATA, PCIE?). Signed-off-by: Fabrice Goucem <> ECOCKPIT-216: fixed inverted logic
2020-08-04ECOCKPIT-153 leave the UART2 powered on for A72 at exitSeb Fagard1-0/+4
At exit, uart2 needs to be left powered on for A72, just like uart0 is for A53. This is required in beta3, as now all other resources are powered off by u-boot at exit. This hack means that device-tree flags 'debug_console' and 'early_power_on' are not working in kernel. Signed-off-by: Fabrice Goucem <>
2020-08-04ECOCKPIT-153 SDHC clocks: limit visibility to cluster's clocksFabrice Goucem1-1/+7
Cortex-A53: clocks for USDHC1. Cortex-A72: clocks for USDHC0. Signed-off-by: Fabrice Goucem <>
2020-08-04ECOCKPIT-126 reduce the A53 SDRAM size for bootimg backupSeb Fagard1-1/+1
As a new memreg has been reserved for boot image backup, the SDRAM available in 32bit addresses for A53 is reduced for MEK. The backup region contains 2 images of size 0x100000 bytes. Signed-off-by: Fabrice Goucem <>
2020-08-04ECOCKPIT-60 dts: split resources and pads for A53 and A72 partitionsSeb Fagard4-340/+152
create specific dtsi for a53 and a72 partitions. a72 partition has exclusive access to: dpu2 fec2 (ethernet2) ldb2 (lvds2) lpuart2 usdhc1 (emmc) i2c0 i2c1 i2c1_lvds1 gpios 0,3,6,7 (gpio3 is used by ambient ligh sensor) a53 partition has exclusive access to the remaining resources. Signed-off-by: Fabrice Goucem <>
2020-08-04ECOCKPIT-60 dts: create specific dtsi for A53 and A72Seb Fagard5-0/+6310
clone files fsl-imx8qm.dtsi and fsl-imx8qm-mek.dts into: * fsl-imx8qm-a53.dts * fsl-imx8qm-a72.dts * fsl-imx8qm-mek-a53.dts * fsl-imx8qm-mek-a72.dts Signed-off-by: Fabrice Goucem <>
2020-08-04ECOCKPIT-60 for A72 use MU2 to communicate with SCUSeb Fagard1-0/+4
Signed-off-by: Seb Fagard <>
2020-08-04ECOCKPIT-45 android: force boot device instead of asking SCUFWSeb Fagard1-0/+10
In ecockpit, SCU boots from SD card, but eMMC is the boot device for Android on A72, so we hardcode the boot device 'eMMC' for A72, so that Android bootargs are correct, and we hardcode the boot device to 'SD2' for A53. Ideally, SCU should report different boot devices, one for each HW partition. Signed-off-by: Fabrice Goucem <>
2020-08-04ECOCKPIT-45 fastboot: fix missing function when ENV_IS_NOWHERE definedSeb Fagard1-0/+5
Implement a dummy weak function mmc_get_env_dev() like in env_mmc.c Signed-off-by: Fabrice Goucem <>
2020-08-04eCockpit: printout running clusterSeb Fagard1-0/+6
2020-08-04ECOCKPIT-52 Create MEK board support for A53 and A72Fabrice Goucem5-16/+138
Create board support for eCockpit A53 and A72 clusters on MEK: * TARGET_IMX8QM_MEK_A53_ONLY * TARGET_IMX8QM_MEK_A72_ONLY integrates changes from: ECOCKPIT-60 disable SATA and PCIE for A72 ECOCKPIT-42 Set ENV_IS_NOWHERE for both clusters eCockpit: memory mapping changes eCockpit: use eMMC for cluster A72 eCockpit: change DTB name and load address eCockpit: kernel console: UART0 for A53, UART2 for A72 ECOCKPIT-233 change config variable name, append '_ONLY' ECOCKPIT-323 align with rel_imx_4.14.98_2.3.2_patch removed earlycon parameters. CONFIG_SATA_IMX should not be enabled in ecockpit config. Signed-off-by: Fabrice Goucem <>
2020-02-14MA-16404-2 modify 8dx defconfig files to support androidp9.0.0_2.3.5-autop9.0.0_2.3.4faqiang.zhu2-25/+3
add below configuration item: CONFIG_SYS_EXTRA_OPTIONS="ANDROID_SUPPORT" fastboot related configuration items are removed since they are already defined in imx8qxp_mek_android.h. Change-Id: Iecee6817f620c001b622e7cf32fe59f73d9c4451 Signed-off-by: faqiang.zhu <>
2020-02-14MA-16404 add two defconfig files for 8dx to boot Androidfaqiang.zhu2-0/+225
add below two defconfig files: imx8dx_mek_android_defconfig imx8dx_mek_android_uuu_defconfig they are directly copied from below files: imx8dx_mek_spl_defconfig imx8dx_mek_defconfig Change-Id: Ie814adf04fa42559b72c98b6b93340a42c7e2005 Signed-off-by: faqiang.zhu <>
2020-02-12MLK-23289 driver: ddr: correct the pwrctl setting of selfref_en on imx8mrel_imx_4.14.98_2.3.1_patchJacky Bai1-1/+1
The 'selfref_en' should be bit'0', so correct the setting to enable the auto self-refresh. Signed-off-by: Jacky Bai <> Reviewed-by: Jian Li <> Reviewed-by: Ye Li <>
2020-02-05SSI-87: imx8: snvs: Update behaviorFranck LENORMAND1-7/+41
Changes: - warning about behavior of B0 and C0 SoCs - support of interruption configuration - porperly support code for 8QM - Fix the clear acommand Signed-off-by: Franck LENORMAND <> Reviewed-by: Silvano Di Ninno <> (cherry picked from commit 12534e02bbca7b9746a3d3e60d2f6157b9131149)
2020-02-05TEE-502 imx: refactor optee bindings additionSilvano di Ninno5-96/+172
- Remove code duplication betwee imx8 and imx8m support - add reserved memory node to prevent Linux accessing optee reserved memory Signed-off-by: Silvano di Ninno <> Reviewed-by: Ye Li <> (cherry picked from commit 8beac7ef22c16b72ad337b44a0516436a4a0d00c)
2020-01-15MLK-23241 imx8dx_mek: Add iMX8DX MEK board supportYe Li10-1/+503
iMX8DX MEK board has similar design with 8QXP MEK. The major changes are 1. DDR changed to 16bits 1GB DDR part 2. USB3.0 is removed and only support OTG on typec port. (No SW change needed) This patch adds new defconfigs and DTS file for this new board. Signed-off-by: Ye Li <> Reviewed-by: Peng Fan <> (cherry picked from commit 5efb4275f6cfefb5dd342f2e498834b40b989883)
2020-01-02MA-16203 Load boot/dtbo image to fixed memoryp9.0.0_2.3.3-autop9.0.0_2.3.2Ji Luo1-8/+27
Only limited heap memory is available on imx8q platforms due to some memory is reserved for m4 image. Commit cd67414 will free avb verify data and thus help decrease the heap memory consumption. But when the device is locked, avb will try to verify one slot first, it will continue to verify another if the first slot returns failure. Function load_full_partition() will alloc memory to load boot/dtbo images from heap (which is a big and continuous memory region), this memory will be freed if the first slot returns verify failure. but because part of the continous memory region will be used in following verify process, even total available memory is enough, u-boot can't find a continous memory region to load the boot/dtbo image for another slot and will return error "Failed to allocate memory". Instead, this commit use fixed memory region start from 96MB offset of CONFIG_FASTBOOT_BUF_ADDR to load the boot/dtbo images. Test: slot verify and A/B slot switch. Change-Id: Ifc83bed5a6be37196c0fd109d942eaf9b07b6a74 Signed-off-by: Ji Luo <>
2019-12-31MLK-23179 board: imx8mn_evk: Update the ddr QoS setting on imx8mn ddr4 evkJacky Bai1-14/+11
The QoS setting is originally added in MLK-22001, but override when update the DDR script for DLL-ON only support, so add it back again. Signed-off-by: Jacky Bai <>
2019-12-30MA-16095-1 remove CONFIG_USB_TCPC form defconfig filesfaqiang.zhu32-32/+0
Android does not use usb host function in uboot, and also TCPC function failure may cause the fastboot does not work, remove all CONFIG_USB_TCPC configuration items so TCPC is not used in uboot. Change-Id: I8c54e144517160bd7234a8ae28c6bc83734be538 Signed-off-by: faqiang.zhu <>
2019-12-27MA-16095 set evk_8mm/evk_8mn usb dr_mode to "otg"faqiang.zhu3-0/+3
When trying to remove "CONFIG_USB_TCPC=y" to avoid ramdom issue of synchronous abort when enter fastboot, evk_8mm and evk_8mn can't enter fastboot mode, it's because init_type of the usb udevice private data is host if tcpc configuration is removed, if this init_type is host/peripheral, then the usb is forced to be this mode, can not be initialized as another. init_type of the usb udevice private data is firstly set based on the "dr_mode" in dtb, if "dr_mode" is not set, it will be set by other ways. here set the "dr_mode" property for the usb device to be "otg", then the device can be configured as either host or peripheral. Change-Id: Idadab7bb07e74bfc1f8768490c07127a35a02572 Signed-off-by: faqiang.zhu <>
2019-12-18MA-15860 Get and switch the target dev in fastboot eraserel_imx_4.14.98_2.3.0Ji Luo1-0/+10
Target mmc dev is not properly switched when the device enters fastboot mode via uuu "-i" parameter, which causes "erase" operation doesn't work. Get and switch the target mmc dev every time before erase operations happen. Test: "fastboot erase boot_a" in uuu fastboot mode. Change-Id: I4822d2b4ecfd2d874dfbe7474d6824b8fc3a7903 Signed-off-by: Ji Luo <>
2019-12-13MLK-23093 imx8m: Enable WDOG_B for timeoutYe Li1-2/+2
When doing reset_cpu, in normal case the WDOG_B outputs immediately after we clean WDA bit. But on mscale, the WDOG_B may be later than internal reset, and cause PMIC not reset. As we enabled the SD3.0 support, the PMIC must be reset to reset SD card. Change the reset_cpu to enable the WDOG_B for timeout as well, and set WDOG timeout to 1s. Signed-off-by: Ye Li <> Acked-by: Peng Fan <> (cherry picked from commit e78f889637636d8b67fe6250623f3473514f1a23)
2019-12-10MA-16048 Fix imx8q u-boot hangJi Luo17-29/+22
Address 0x8880_0000 is reserved for M4 image on imx8q, which leaves limited memory region for the malloc pool. The avb will consume much heap memory to verify the kernel and dtbo image, memory conflicts may happen as the kernel/dtbo image size is getting larger. As the avb will load kernel/dtbo in every avb_slot_verify(), but will only free the memory after both slots are checked(if needed). And for trusty enabled platforms, extra heap memory will be used to do the hash calculation. This commit will free the slot memory once it's marked as unbootable and will use fixed memory started from CONFIG_FASTBOOT_BUF_ADDR to help store the data to do the hash calculation. With above change, we get a chance to decrease the malloc pool size. Test: boot on imx8qxp and imx8mn. Change-Id: Id95b9becf6fa7fae4f120a4dc9e9a3ba90da578c Signed-off-by: Ji Luo <>
2019-12-09MLK-23101 imx8mn: Fix address conflict in SPLYe Li1-3/+3
The latest patch "MLK-23081 imx8mn: Change SPL malloc and BSS address" changed SPL runtime data to OCRAM_S. But this introduced a conflict with CONFIG_SAVED_DRAM_TIMING_BASE which is also using OCRAM_S for DDR parameters. To fix the issue, adjust the SPL runtime data addresses to reserve 16KB space for DDR parameter and move SPL BSS to OCRAM. Signed-off-by: Ye Li <> Acked-by: Peng Fan <> (cherry picked from commit 20fdadfa50227b518d1a185da4c59e756eb8e594)
2019-12-05MLK-23088 imx8mn: Fix u-boot hang when ENV_IS_NOWHERE is enabledcaf/imx_4.14.98_8qxpc0_erYe Li1-1/+1
By default we enable two env storage devices: SD/emmc or Flexspi. And u-boot will select it according to boot device. Some customer does not save env, so he removes these storage devices and enable ENV_IS_NOWHERE. But current env_get_location does not process the ENV_IS_NOWHERE, returns ENVL_UNKNOWN and causes u-boot hang. Signed-off-by: Ye Li <> Reviewed-by: Peng Fan <> (cherry picked from commit 8ca25fba643e4cdbd71f8c7a41d0991e57388fc8)
2019-12-05MLK-23081 imx8mn: Change SPL malloc and BSS addressYe Li1-5/+5
Android's build has large size of SPL which overlays with malloc pool, and causes DDR FW image destroyed by the malloc. Adjust some SPL addresses to align with iMX8MQ and allow SPL + DDRFW using the 312 KB OCRAM from 0x912000 to 0x960000. Since the max DDR FW size is 96KB, we set max SPL size to be 216KB. Signed-off-by: Ye Li <> Reviewed-by: Peng Fan <> (cherry picked from commit e3df1f1cf9972ce8ed84de09d183599bd52a5c47)
2019-12-05MLK-23037 board: imx8mm_evk: update ddr4 timing for dll-on modeJacky Bai1-673/+474
Update the ddr4 timing file for 2400mts & 1066mts for dll-on mode only. Signed-off-by: Jacky Bai <> Acked-by: Peng Fan <> (cherry picked from commit f7ed1fd1416f15764cca13993a054963996f6c50)
2019-12-05MLK-23027 imx8mm/imx8mn: Adjust MMC bus width in SPLYe Li3-6/+6
The SPL codes for both EVK and validation board set the MMC bus width to 1 bit for both emmc and SD ports. This causes slow image loading. Change to 8 bits for emmc and 4 bits for SD. Signed-off-by: Ye Li <> Reviewed-by: Peng Fan <> (cherry picked from commit 0859140a862ad1cc16f4e49247868595a6e62b38)
2019-12-05MLK-22998-1 iimx8qm/imx8qxp: Update to latest SCFW APIRanjani Vaidyanathan3-1/+21
Sync SCFW API to commit b3c575a62b0e2 SCFW API version 16 Signed-off-by: Ranjani Vaidyanathan <> (cherry picked from commit 83014c2cdab9aeef0e1cbeb97820369b21995ea9)
2019-12-05SSI-87: imx8: Configure SNVSFranck LENORMAND11-0/+984
Add a module to configure the tamper and secure violation of the SNVS using the SCU API. The module also adds some commands: - snvs_cfg: Configure the SNVS HP and LP registers - snvs_dgo_cfg: Configure the SNVS DGO bloc if present (8QXP) - tamper_pin_cfg: Change the configuration of the tamper pins - snvs_clear_status: Allow to write to LPSR and LPTDSR to clear status bits Signed-off-by: Franck LENORMAND <> (cherry picked from commit 75aa7f2254f0883aa14568ac32702b1ca15367e4)
2019-12-04MA-16001-2 Enable android imx8mn lpddr4 boardJi Luo2-34/+24
Change configs to make imx8mn lpddr4 works on Android. Test: build and boot. Change-Id: Ibd27d73a973660a7d80bf85ba285f5f7619ecbb8 Signed-off-by: Ji Luo <>
2019-12-04MA-16001-1 Add configs for imx8mn lpddr4 boardJi Luo2-0/+154
Add build target for imx8mn lpddr4 board based on config imx8mn_evk_defconfig. Change-Id: Iceca7cb65c6417fc3da1878323f8a65ffc31e1ef Signed-off-by: Ji Luo <>
2019-11-20MLK-22998 iimx8qm/imx8qxp: Update to latest SCFW APIRanjani Vaidyanathan31-1478/+1716
Sync SCFW API to commit 6dcd0242ae Signed-off-by: Ranjani Vaidyanathan <>
2019-11-05MA-15813-2 [Android] imx8q: Enable reset in spl stageJi Luo1-2/+2
The psci driver is not available at spl stage, calling reset_misc() will lead to panic. Guard the reset_misc() with "CONFIG_SPL_BUILD" config, leave the reset_cpu() to trigger board reset. Test: reset om imx8qm_mek. Change-Id: Icf95eb4505ba444f9930aa0320d34456fa22733f Signed-off-by: Ji Luo <>
2019-11-05MA-15814 Check 'successful_boot' flag before marking unbootableJi Luo1-31/+63
Slot will be marked as "unbootable" state if error happens during image load/verify process, this may cause the board never boot up if some random failures happen (like eMMC/DRAM access error at some critical temperature). Check the "successful_boot" flag before marking the slot as "unbootable", this will help ease the "no bootable slot" issue. Test: slot switch on imx8qm_mek. Change-Id: Idfcc5723aa233e9019365b792c48bf8a5dc99b96 Signed-off-by: Ji Luo <>
2019-11-01MLK-22881 board: imx8mn: Update the DDR4 timing script on imx8mn ddr4 evkJacky Bai1-1171/+1013
On i.MX8MN, we can only support DLL-ON mode only, so update the timing to support 2400mts & 1066mts setpoint. Signed-off-by: Jacky Bai <> Reviewed-by: Ye Li <>