summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2018-10-12MLK-19907 imx8m: ddr4: Update the refresh_mode settingBai Ping
Update the refresh_mode setting. Clear the RFSHCTL3.refresh_mode bit to set it to normal_mode. Signed-off-by: Bai Ping <ping.bai@nxp.com> Reviewed-by: Ye Li <ye.li@nxp.com> (cherry picked from commit dac64635e978fb73ecbe83016a307be6ac7d5f0d)
2018-10-11MA-13048 [AUTO] Support program rpmb key with fastboot commandJi Luo
Add fastboot command "fastboot oem set-rpmb-key" to program the rpmb key which should be staged first. Usage: 1. fastboot stage my-rpmb-key.bin 2. fastboot oem set-rpmb-key Test: rpmb key programed successfully on imx8qxp. Change-Id: I95474a6367eb8ef0db16bb38680975b8c45b84f1 Signed-off-by: Ji Luo <ji.luo@nxp.com> (cherry picked from commit 557981f3ace1f11f1483668dd97076e6c3f1d1cc)
2018-10-10MLK-19623: change hdmi keep-alive check mechanismLaurentiu Palcu
The current keep-alive check mechanism uses a static variable that is initialized to 0. When the function is first called, it may happen to catch the 8-bit keep-alive counter right when it overflows, hence returning BUSY. This patch will keep checking the counter for 10us, every 1us, but it will immediately return if the keep-alive counter changed. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com> (cherry picked from commit a809d62f2060cf2e907257806bebf688ffc8c924)
2018-10-10MLK-19777-03: imx8mm_evk: Optimize the ddr4 init flowBai Ping
Optimize the DDR4 init flow. Split the common flow with the DDR specific timing config. So the common flow can be reused. Signed-off-by: Bai Ping <ping.bai@nxp.com> (cherry picked from commit 65fed31a520edf2f19f7fd1c10ff317ce4496ce6)
2018-10-10MLK-19777-01: imx8mm: rename the lpddr4_ddrphy_train fileBai Ping
For LPDDR4 or DDR4, the ddr phy train flow is the same. So rename the 'lpddr4_ddrphy_train.c' to 'ddrphy_train.c'. make it more common for reuse and move it to driver/ddr/imx8m/. Signed-off-by: Bai Ping <ping.bai@nxp.com> (cherry picked from commit 258db72309ec47b99cec89c06f6b4491f9951b27)
2018-09-29MA-12283-4 remove the limitation of lock when use uuufaqiang.zhu
For imx8 chips, if boot from usb, lock status will be ignored for the convenience of using uuu. For imx6 and imx7, the presistdata partition is ignored, so unlock operation can alway succeed. Change-Id: I842bab9fd2c04f8a864f4a134b63efc4436f71a4 Signed-off-by: faqiang.zhu <faqiang.zhu@nxp.com> (cherry picked from commit bea54d4fbee5871187d80b67a5ace10577714f1e)
2018-09-18MLK-19183-12 iMX8QXP SPL: Add QSPI support for imx8qxp_mekAbel Vesa
Allow iMX8QXP SPL to boot from QSPI. Signed-off-by: Abel Vesa <abel.vesa@nxp.com> Reviewed-by: Ye Li <ye.li@nxp.com>
2018-09-14MLK-19053: crypto: caam: RNG4 TRNG errataAymen Sghaier
The TRNG as used in RNG4, used in CAAM has a documentation issue. The effect is that it is possible that the entropy used to instantiate the DRBG may be old entropy, rather than newly generated entropy. There is proper programming guidance, but it is not in the documentation. Signed-off-by: Aymen Sghaier <aymen.sghaier@nxp.com>
2018-09-13MA-12699 Refine libavb for security featuresHaoran.Wang
Assign security features to specific config. Now, use AVB_RPMB to enable RPMB stored rollback index. After this refine, for imx6/7/8 Android release, use no AVB_RPMB, for imx6/7 AndroidThings, use AVB_RPMB. This patch also fix below build error for imx6/7: vendor/nxp-opensource/uboot-imx/lib/avb/fsl/fsl_avbkey.c:711:2: error: implicit declaration of function 'fsl_fuse_read' [-Werror=implicit-function-declaration] if (fsl_fuse_read((uint32_t *)blob, RPMBKEY_FUSE_LENW, RPMBKEY_FUSE_OFFSET)){ Change-Id: I734479f0627901f372f4b211b2e710bd103eb244 Signed-off-by: Haoran.Wang <elven.wang@nxp.com>
2018-09-12[iot] Support ARM64 for Trusty OSHaoran.Wang
Align the callback to ARM64 environment for Trusty OS. TEST: AIY-3G & AIY-1G board's TIPC and AVB handler works. Change-Id: I65806f56267a4a9278db04a462e351da181618cb Signed-off-by: Haoran.Wang <elven.wang@nxp.com>
2018-09-10MLK-19479-2 fastboot: enable sata fastbootRichard Zhu
- fix the blksize is 0 bug when boot device is sata - add the sparse image support in the process flash sata Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com> Signed-off-by: Ye Li <ye.li@nxp.com>
2018-09-10MA-12283-3 chage eMMC bootloader offset for 8qm B0faqiang.zhu
for 8qm B0, bootloader in eMMC boot partition should be 0, it is different from 8qm A0, which need to be 33K. Change-Id: I3606aaee733b3a159bc818ac4938c34ec65f5896 Signed-off-by: faqiang.zhu <faqiang.zhu@nxp.com>
2018-09-07MLK-19477 iMX8QM: Power down HDMI_PLL_0 after firmware loading is done.Ranjani Vaidyanathan
Need to power down HDMI_PLL_0 after HDMI firmware is loaded, else resource is left ON when entering low power states thus impacting low power number. Signed-off-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
2018-09-07MA-12337-1 Including DTBO in Recovery for Non-A/B Devices in Pie 9.0Ji Luo
Non-A/B devices should include dtbo in recovery.img to prevent mismatch with recovery if OTA failure. Load dtbo from recovery.img for Non-A/B devices in recovery mode. Change-Id: Ie8b12aeb562b80a172769af0b163df3c672c9af0 Signed-off-by: Ji Luo <ji.luo@nxp.com>
2018-09-04MLK-19433-3 mxc_ocotp: Disable fuse sense for imx8mq B1Ye Li
On iMX8MQ Rev B1, reading from fuse box is not allowed. The OCOTP_READ_FUSE_DATA register is tied to magic number 0xff0055aa for chip rev. So u-boot has to disable the fuse sense function for it. Signed-off-by: Ye Li <ye.li@nxp.com> Tested-by: Anson Huang <Anson.Huang@nxp.com> (cherry picked from commit da95f60611e8859eba3e7ccb715fdce4d6376774)
2018-08-28MLK-19356 fastboot: Fix ucmd issue in fastbootYe Li
After executing each ucmd, the ucmd callback function always call fastboot_setup to setup some enviroments. Because the mmc will be switched to user area by calling blk_get_dev in _fastboot_load_partitions. When running "mmc partconf" by ucmd, the PART_CONFIG EXTCSD is updated, but the part_config and hwpart variables in mmc and blk structure are not synced. So the old value will write to PART_CONFIG EXTCSD again when switch to user area. This patch changes the fastboot_setup, only load the partitions when the storage device is changed. Also force to re-init mmc before loading the partitions to sync mmc variables. Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from commit c9cd93b25586ecd4ce9178da7b8141f60cdd9deb)
2018-08-27MA-12283: eliminate "unsupported boot devices" output when using uuufaqiang.zhu
make the case of USB_BOOT won't execute to the case of default. Change-Id: I6393d1532df6fe75e81b0ee0a88ca83427378e5c Signed-off-by: faqiang.zhu <faqiang.zhu@nxp.com>
2018-08-24MA-12214: Wipe all userdate when lock/unlockJi Luo
For Android, /data, misc, cache, presistdata, RBK are erased when lock/unlock. For Android Things, above partitions except misc are erased. Change-Id: I4c9f5b81f15bf46322d6aea8d535d80f9ae7ca8b Signed-off-by: Ji Luo <ji.luo@nxp.com>
2018-08-22MA-12459 Add message prompt when boot into recoveryJi Luo
Add some message prompt when the device will enter recovery mode. Change-Id: I3b1829594998f146fd973e15a418cd4c9f52f771 Signed-off-by: Ji Luo <ji.luo@nxp.com>
2018-08-22MA-12421 Fix CAAM not work on Android ThingsJi Luo
Blob buffer size is 48 bytes larger than the plain text buffer, set correct range when flush the dcache. Also use cache aligned buffer for the blob/plain_text to avoid failure in CAAM. Change-Id: I3b377cfeb8f5bd9c76233827b2c9c7bd0d788c9b Signed-off-by: Ji Luo <ji.luo@nxp.com>
2018-08-21MA-12423 Fix legacy platform can't load fdtJi Luo
Legacy platform (imx6/7) don't support A/B slot so the fdt partition name should be 'dtbo' instead of 'dtbo_a/dtbo_b'. Test: build and boot ok on imx6q_sabresd. Change-Id: I282594289d78ffac6d7f503a0e471e050724efea Signed-off-by: Ji Luo <ji.luo@nxp.com>
2018-08-21[iot] Fix build break for pico-imx7dJi Luo
Some configs and definations changed from imx_v2017.03 to imx_v2018.03, refine related codes to make pico-imx7d work. Test: pico-imx7d boots ok. Change-Id: I10e5a1849964a62259e0d6c353e5588c1529a840 Signed-off-by: Ji Luo <ji.luo@nxp.com>
2018-08-21MA-12283 Enter fastboot mode directly if usb bootHaoran.Wang
Change bootcmd to "fastboot 0" directly when detect booted from USB. By this the u-boot which booted by uuu will enter fastboot mode and ready for the remain commands. Change-Id: I937c07f770e68568dcb3ea67130ee6634feea47a Signed-off-by: Haoran.Wang <elven.wang@nxp.com>
2018-08-21MA-12358 Only dump partition table when it's neededJi Luo
Sometimes we don't need to dump the whole partition table when some partition can't be found, only dump the partition table when it's needed. Test: Build and boot ok. Change-Id: I52407f0117b73f4b3656fe2435b08dfc7a349939 Signed-off-by: Ji Luo <ji.luo@nxp.com>
2018-08-21MA-12345 Decide fdt location at run timeJi Luo
Remove CONFIG_LOAD_FDT_FROM_PART and decide the fdt location at run time. Test: build and build ok on both Android and Android Things. Change-Id: Ice49e71b54db33468e49298705a714e4acb333e3 Signed-off-by: Ji Luo <ji.luo@nxp.com>
2018-08-21[iot] Add AVB verify for oem_bootloaderLuo Ji
The oem_bootloader partition is critical and should be verified. All necessary verify data has been added (hash footer in oem_bootloader and descriptors in vbmeta), verify the oem_bootloader by libavb at u-boot stage. Since the oem_bootloader will be loaded by libavb, use it directly instead of loading it from disk again. Test: oem_bootloader verify ok and boot ok for both imx7d and imx8m. Change-Id: Ic37d2555f800385a982f6664b3858b9c83b9c484 Signed-off-by: Luo Ji <ji.luo@nxp.com>
2018-08-20[iot] Support 1G DDR AIY boardLuo Ji
Add 1G DDR support, distinguish different boards by the Board ID, They are: SAI5_MCLK: Board_id[6] SAI5_RXFS: Board_id[5] SAI5_RXC: Board_id[4] SAI5_RXD3: Board_id[3] SAI5_RXD2: Board_id[2] SAI5_RXD1: Board_id[1] SAI5_RXD0: Board_id[0] Current Board ID for imx8m boards are: AIY Micron 1G: 0x5c AIY Hynix 1G: 0x56 AIY Mirconb 3G: 0x40 Wibo 3G: 0x00 imx8m_ref 3G: 0x00 Test: Boot ok on all imx8m boards. Change-Id: I3d65931483f369c545632b660f04fc9da120547d Signed-off-by: Luo Ji <ji.luo@nxp.com> Reviewed-on: http://androidsource.ap.freescale.net/project/5093 Reviewed-by: guoyin.chen <guoyin.chen@nxp.com> Reviewed-by: Wang Haoran <elven.wang@nxp.com>
2018-08-20MA-12197 [Android] Unlock device after valid GPT is flashedLuo Ji
Unlocked device maybe locked when gpt overlay changed, unlock the device after valid gpt is flashed, erase the userdata to ensure safety. Test: device unlocked after valid gpt flashed. Change-Id: I7b0306606c632b7dc5668ea1ff8aad63428f278f Signed-off-by: Luo Ji <ji.luo@nxp.com>
2018-08-20MA-12160 Check the request status in dequeue for cdns3 driverLuo Ji
"fastboot reboot bootloader" fails to transmit "OKAY" back to host on imx8qm because fastboot_tx_write_str() will dequeue the IN request first before queue it, cdns3 usb driver will always invoke the complete callback in dequeue, so if we are going to do_reset() in the complete callback, the device will reboot before we can transmit "OKAY" back to host in queue. Check the request status in dequeue first before invoke the complete callback, this is basically ported from kernel. Test: No error messages when run "fastboot reboot bootloader" on imx8qm_mek. Change-Id: I085df3bd0f37480b8636585cc1068d5fcae331c1 Signed-off-by: Luo Ji <ji.luo@nxp.com>
2018-08-20[iot] Verify single slot in boota for dual bootloaderLuo Ji
A/B switch logic will be moved to SPL stage if dual bootloader feature is enable, in such case, we just need to verify single slot which is selected in SPL stage. Test: verify and boot ok for imx8m. Change-Id: Iafe0d2d4aea1c178551940808416eec4a3547259 Signed-off-by: Luo Ji <ji.luo@nxp.com>
2018-08-20MA-11958 Fix userdata partition size overflowLuo Ji
The userdata partition size for some platforms (like imx8/imx8m) could be larger than 4GB, use "unsigned long int" to store the partition size instead of "unsigned int". Test: Get correct userdata partition size for imx8m. Change-Id: Ib626fa2c3c64dde4eba3a93ee0455f45d1286c9f 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-20MA-12121 [Android] Copy dtb from bootimage for AndroidLuo Ji
Android Things will load dtb from a single partition like "oem_bootloader" and we are going to sync normal Android with Android Things. But just keep loading dtb from bootimage before everything is ready. Change-Id: I205528b1485d3e8e9961f19812f380a2b11b991b Signed-off-by: Luo Ji <ji.luo@nxp.com>
2018-08-20[iot] Add fastboot variable 'baseboard_id' for imx8mLuo Ji
We have different baseboard for same imx8m SoM, add fastboot variable 'baseboard_id' to distinguish different boards. Test: "fastboot getvar baseboard_id" shows "0x0" for imx8m_wibo board and shows "0x40" for imx8m_enterprise board. Change-Id: Iec24aa52ae5de546594dd3ce602efb6dcaa60660 Signed-off-by: Luo Ji <ji.luo@nxp.com>
2018-08-20[iot] Enter fastboot if get fatal errors in AVBLuo Ji
Make the board enter fastboot mode if we get fatal errors in AVB. We may fall into infinite boot loop if panic or reboot the board when fatal errors happen in AVB. Bug: 109842106 Test: Build & boot ok for imx8m and imx7d. Change-Id: I13cdbc1fc0077f8d710c706dae639f004492546b Signed-off-by: Luo Ji <ji.luo@nxp.com>
2018-08-20[iot] Minor format fix.Yu Shan
Test: None Bug: None Change-Id: I2c899e42d8b2911ed96df535c4864d1316d66383
2018-08-20[iot] Correct oem and vendor partition typeHaoran.Wang
Correct oem and vendor partition to ext4. This make it available to use fastboot command to format above two parts. Test: Builds, loads & boots successfully. ext4 file system type displayed for expected partitions in "fastboot getvar all" output.. Change-Id: If6d2c58abfb526a7162fb4cd644b6e1e209f8456 Signed-off-by: Haoran.Wang <elven.wang@nxp.com>
2018-08-20[iot] Support ATX key version protect in non-secure ubootYu Shan
Use rollback index interface to trap into Trusty OS directly. This interface added due new libavb upgrade. Change-Id: Id9d158d6e48ff33386613d2920a1bd2d95f68b6f Signed-off-by: Haoran.Wang <elven.wang@nxp.com>
2018-08-20[iot] Check Trusty OS available before load itYu Shan
When SECURE_BOOT enabled, use HAB verify Trusty OS image or check its IVT available. If not available, bootloader consider the TOS lost unexpected and wipe all data on disk. Then enter limited fastboot mode. In this situation only bootloader and tos is able to flash, gpt won't be available for external. Change-Id: I04f037f5bd5a51f53174b5b99b2c3053182a8fcf Signed-off-by: Haoran.Wang <elven.wang@nxp.com>
2018-08-20[iot] Support atap in u-boot for imx7dYu Shan
Support Android Things Attestation Protocol in u-boot for imx7d. Change-Id: I0aef8f208cf8e81238248efc8d7dcfdbc09c3119 Signed-off-by: Haoran.Wang <elven.wang@nxp.com>
2018-08-20[iot] Support fastboot oem fuse at-perm-attr commandYu Shan
Support "fastboot oem fuse at-perm-attr" command for ATX. The perm_attr will be stored into RPMB which managed by Trusty OS. Modified permanent_attributes related AVB ops that support Trusty OS backed RPMB storage. Change-Id: Id6248570b4294fed3c45270064196bd6b9cf9208 Signed-off-by: Haoran.Wang <elven.wang@nxp.com>
2018-08-20[iot] Use Trusty OS handle RollbackIndex and lock statusYu Shan
Use Trusty OS AVB manager handle RollbackIndex and lock status into RPMB partition. Change-Id: Idfe7234cfa31b2169af59b64e00f028542c49240 Signed-off-by: Haoran.Wang <elven.wang@nxp.com>
2018-08-20[iot] Correct fdt entry load targetHaoran.Wang
Fix null pointer issue for fdt loading. This patch will fix the issue that the board cannot boot issue. Test: Boot successfully on both TEE and non-TEE environment Bug: 79272296 Change-Id: I250794a5ce3027d8f4f1a2d43fa8a4e8016cab08 Signed-off-by: Haoran.Wang <elven.wang@nxp.com> Signed-off-by: Chen Guoyin <guoyin.chen@nxp.com>
2018-08-20[iot] Update libavb in u-bootLuo Ji
This commit did: 1. Sync AVB lib with external/avb, head of commit is: commit 6d5326a945c2d17d5d0e7718d5cb97663c3b33a2 Author: Neal Ostrem <nealo@google.com> Date: Tue Apr 24 13:09:45 2018 -0700 Merge fix/changes required after merge from AOSP ToT. Change library name to one used by AT. Test: Built successfully and unit tests pass. Change-Id: I5e5fc9a6010d96cfecfc6faf0858ba930cba65a0 2. Change product id in ATX to be full zeros to sync with external/avb. 3. Fix build errors and implement ops fsl_set_key_version. 4. Move most nxp modified code to lib/avb/fsl/. Test: build and boot successfully for imx7d_pico and imx8m_phanbell. Change-Id: I199a035fe8267b10955299a4b745458d40a2e754 Signed-off-by: Luo Ji <ji.luo@nxp.com>
2018-08-20[iot] Load fdt from oem_bootloader using dtimg formatBraden Kell
See http://cs/android/system/libufdt/utils/README.md for the dtimg format. Bug: 78537598 Bug: 78630913 Bug: 78904624 Test: iMX7D boots with new oem_bootloader format. Test: iMX8M boots with new oem_bootloader format. Change-Id: I2cab38a0f0706586a9e4fb06b75e29c82d134032
2018-08-20[iot] Copy fdt from the end of the kernel imageBraden Kell
Bug: 78601846 Test: Boots with new boot image layout. Change-Id: I7c2cc7f62ad58756d76ef0d83ca6729fea9c07e9
2018-08-20[iot] Configure keymaster service in Trusty OSHaoran.Wang
In bootloader stage, the keymaster need to be configured by some parameters. Then it will be available in Android userspace. Change-Id: I1cec4fcadd730527be581deacd62aa01c16da754 Signed-off-by: Haoran.Wang <elven.wang@nxp.com>
2018-08-20[iot] "fastboot reboot bootloader" fails to transmit OKAY back to the hostMarty Faltesek
When running fastboot reboot bootloder, fastboot fails to kick of the USB transmit of OKAY back to the host. Rearranged the code to match that of cb_reboot, where it performs the reset in the completion routine. Bug: 74613660 Test: Ran "fastboot reboot bootloader" and no longer see the FAILED message. Change-Id: I827a4e5b9f478da2343486f46710e959a5fc22a1
2018-08-20[iot] Enlarge the sdhc timeout for erasing system partionChen Guoyin
Change-Id: Ia8bb6634aa00d7a5dc59a7a33845613155543eaa Signed-off-by: Chen Guoyin <guoyin.chen@nxp.com>
2018-08-20[iot] iMX7D: Load device tree from oem_bootloaderBraden Kell
Load kernel.dtb from oem_bootloader root, or fall back to default behavior if that doesn't work. oem_bootloader should be ext2 or ext4. Bug: 72662957 Test: U-Boot loads modified dtb from oem_bootloader, or loads original dtb if kernel.dtb doesn't exist or oem_bootloader isn't formatted Change-Id: Ic93b572a482e85726e2fa0792997348c855f41a1