u-boot.git
5 years agoMLK-21889-2 imx8mn: Add runtime soc type check
Ye Li [Tue, 25 Dec 2018 06:53:40 +0000 (22:53 -0800)]
MLK-21889-2 imx8mn: Add runtime soc type check

Add is_imx8mn for runtime soc type checking, and update drivers to use it.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit e8ec22ef74a9d98e621fe1ac6418b06d5586ab12)

5 years agoMLK-21889-1 imx8mn: Add new SoC iMX8M Nano
Ye Li [Fri, 16 Nov 2018 03:07:46 +0000 (19:07 -0800)]
MLK-21889-1 imx8mn: Add new SoC iMX8M Nano

Introduce a new SoC kconfig CONFIG_IMX8MN.
Since the chip is derived from iMX8MM, we reuse the clocks and registers
mapping files of iMX8MM. The iomux header file is the latest v0.03
generated by tool and add SION for i2c and usdhc3.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Jacky Bai <ping.bai@nxp.com>
(cherry picked from commit 3981af0da5ce4640fb1281526ae4b58108572e80)

5 years agoMA-14916-9 fix build warnings with BSP defconfig
faqiang.zhu [Mon, 8 Jul 2019 12:30:04 +0000 (20:30 +0800)]
MA-14916-9 fix build warnings with BSP defconfig

the warning info is as below:

drivers/fastboot/fb_fsl/fb_fsl_command.c:66:13: warning: 'process_erase_mmc' defined but not used [-Wunused-function]
static void process_erase_mmc(const char *cmdbuf, char *response)
             ^

move this process_erase_mmc function to fb_fsl_dev.c and make remove the
static attribute.

Change-Id: Ifc30348e53693e26119c760406b4c650e591aef4
Signed-off-by: faqiang.zhu <faqiang.zhu@nxp.com>
5 years agoMA-14916-2 fix fastboot getvar issue in 32bit device
faqiang.zhu [Thu, 13 Jun 2019 02:27:11 +0000 (10:27 +0800)]
MA-14916-2 fix fastboot getvar issue in 32bit device

in imx_v2018.03, fastboot response buffer is an array defined in the
handle function for "fastboot getvar", sizeof(response) will get the
length of this array, which is FASTBOOT_RESPONSE_LEN.

but in imx_v2019.04, "response" in "fastboot getvar" function is a
pointer parameter transmitted to it, so sizeof(response) will only get
the length of the pointer, not the buffer length. in 32bit device, the
pointer length is 4, so the header info of fastboot can't be fully
stored in the buffer in this case, cause the response info can't be
parsed by host fastboot.

this commit replace "sizeof(response)" to be FASTBOOT_RESPONSE_LEN
directly.

Change-Id: I9d3893406c0361b7aba9cba74b2d751bc311d142
Signed-off-by: faqiang.zhu <faqiang.zhu@nxp.com>
5 years agoMLK-22219 mx6: Place pre_misc_setting() into a common location
Fabio Estevam [Thu, 4 Jul 2019 17:12:24 +0000 (14:12 -0300)]
MLK-22219 mx6: Place pre_misc_setting() into a common location

Currently the NoC settings are only done if the splash screen
support is enabled.

However, this can cause IPU issues on i.MX6QP in the kernel, when
splash screen is not enabled in U-Boot.

To avoid such problems, place the pre_misc_setting() function
into a common location that will always run on i.MX6QP/DP.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
5 years agoMLK-22180 clk-imx8: Fix wrong name for iMX8QM ENET clock
Ye Li [Wed, 3 Jul 2019 10:05:29 +0000 (03:05 -0700)]
MLK-22180 clk-imx8: Fix wrong name for iMX8QM ENET clock

Fix the issue that using imx8qxp ENET clock name in iMX8QM table.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
5 years agoMA-14916-4 [iot] Update size format for write_counter
Luo Ji [Thu, 21 Jun 2018 01:34:41 +0000 (09:34 +0800)]
MA-14916-4 [iot] Update size format for write_counter

This commit is cherry-picked from community:
commit 343749c42554b058e53086aefe21d47b383326d5
author Kever Yang <kever.yang@rock-chips.com>
date Wed, 19 Jul 2017 18:13:59 +0800 (19:13 +0900)

mmc: rpmb: update size format for write_counter

According to MMC spec, the write_counter is 4-byte length,
use 'int' instead of 'long' type for the 'long' is not 4-byte
in 64 bit CPU.

Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Test: Access RPMB successfully on imx8m.

Change-Id: I402b53c990856c2cdf7c3686eabf259f5581464d
Signed-off-by: Luo Ji <ji.luo@nxp.com>
5 years agoMA-14916 fix build and function issues of fastboot for Android
faqiang.zhu [Wed, 5 Jun 2019 11:52:48 +0000 (19:52 +0800)]
MA-14916 fix build and function issues of fastboot for Android

to fix build issues, add two header files, "fastboot_lock_unlock.h" is
copied from imx_v2018.03 branch, "fb_fsl_common.h" contains some
varialbes and a function used in more than one files.

the places where "fastboot_lock_unlock.h" is included is modified to
adapt to this change.
"fsl_fastboot.h" is renamed to "fb_fsl.h", the places where
"fsl_fastboot.h" is included is modified to adapt to this change.

to fix function issues, command handle function in "fb_fsl_command.c" is
modified.

build based on imx8mm_ddr4_evk, the board can boot and basic fastboot
function can work.

Change-Id: I34961ef70351a1ee4c84b6721dba5ac7b261a0d3
Signed-off-by: faqiang.zhu <faqiang.zhu@nxp.com>
5 years agoMLK-22045-7 defconfig: Add CONFIG_DM_USB_GADGET and CONFIG_SPL_DM_USB_GADGET flag
Sherry Sun [Wed, 19 Jun 2019 19:47:04 +0000 (15:47 -0400)]
MLK-22045-7 defconfig: Add CONFIG_DM_USB_GADGET and CONFIG_SPL_DM_USB_GADGET flag

Add CONFIG_DM_USB_GADGET and CONFIG_SPL_DM_USB_GADGET flag on i.MX8QM
and QXP to support DM USB gadget driver.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
5 years agoMLK-22045-6 imx8qm/qxp: Delete the Non-DM USB board level codes
Sherry Sun [Wed, 19 Jun 2019 20:11:08 +0000 (16:11 -0400)]
MLK-22045-6 imx8qm/qxp: Delete the Non-DM USB board level codes

Since now we use DM USB gadget driver, Some parts of the Non-DM USB
gadget driver codes are not needed, so delete the Non-DM USB board
level codes on imx8 platform.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
5 years agoMLK-22045-5 cdns3: Change the usb3 host driver to match the new usb3 node
Sherry Sun [Thu, 27 Jun 2019 18:33:36 +0000 (14:33 -0400)]
MLK-22045-5 cdns3: Change the usb3 host driver to match the new usb3 node

In order to enable both DM usb3 gadget driver and host driver, a new usb3
host node was added. The DM usb3 host driver should also be changed to
match the new usb3 node in dts on imx8qm/qxp.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
5 years agoMLK-22045-4 dts: Add a new usb3 host node on imx8qm/qxp
Sherry Sun [Thu, 27 Jun 2019 18:10:31 +0000 (14:10 -0400)]
MLK-22045-4 dts: Add a new usb3 host node on imx8qm/qxp

Since one node in dts only can bind with one driver in u-boot,
now both DM usb gadget and host drivers are enabled in imx8qm/qxp,
but there only one usb3 node in dts, so the DM usb gadget driver
and host driver can not both work.

So add a new usb3 host node on imx8qm/qxp to fix this issue, and add
a new alias for the usb3 host node which is used as seq number in DM
USB host driver.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
5 years agoMLK-22045-3 cdns3: Add cdns3_generic_peripheral DM gadget driver
Sherry Sun [Wed, 19 Jun 2019 20:44:15 +0000 (16:44 -0400)]
MLK-22045-3 cdns3: Add cdns3_generic_peripheral DM gadget driver

Add cdns3_generic_peripheral DM gadget driver for i.MX8QM and QXP.

The driver flag is set to CONFIG_DM_USB_GADGET and
CONFIG_SPL_DM_USB_GADGET while using SPL, and the driver is belong to
UCLASS_USB_GADGET_GENERIC uclass.

For the DM gadget driver, it will parse the reg, clocks and usbphy
properties from node in DTS. So the power and clks of cdns3 controller
and cdns3 phy will be both enabled in DM gadget driver.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
5 years agoMLK-22045-2 sdp: Add DM gadget support for sdp
Sherry Sun [Wed, 19 Jun 2019 20:30:26 +0000 (16:30 -0400)]
MLK-22045-2 sdp: Add DM gadget support for sdp

When enable CONFG_SPL_DM_USB_GADGET, sdp should use
usb_gadget_initialize() and usb_gadget_release() to
support DM gadget driver.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
5 years agoMLK-22045-1 dts: Add "u-boot,dm-spl" property to the usbotg3 node
Sherry Sun [Wed, 19 Jun 2019 19:59:03 +0000 (15:59 -0400)]
MLK-22045-1 dts: Add "u-boot,dm-spl" property to the usbotg3 node

To support run DM gadget usb3 driver at early stage, add
"u-boot,dm-spl" property to the usbotg3 node and the related nodes.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
5 years agoMLK-22105-3 imx8/imx8m: spl: Move bss clean up before arch_cpu_init
Ye Li [Tue, 25 Jun 2019 09:51:42 +0000 (02:51 -0700)]
MLK-22105-3 imx8/imx8m: spl: Move bss clean up before arch_cpu_init

Since rng_init is used arch_cpu_init, we have to clean up BSS section
before it.
Also remove the unnecessary memset to global data, because
board_init_f_init_reserve already memset it. If we memset it in board_init_f,
the gd->malloc_base is reset to 0 and will cause early malloc problem
when CONFIG_MALLOC_F_ADDR is not set.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit c36ae6a623b075192b20d93f9e3fe966961d86f4)

5 years agoMLK-22105-2 caam: Move g_jrdata to bss section for SPL
Ye Li [Tue, 25 Jun 2019 09:21:36 +0000 (02:21 -0700)]
MLK-22105-2 caam: Move g_jrdata to bss section for SPL

We set SPL bss section on OCRAM. So move the g_jrdata to bss section
only on SPL. In normal u-boot, it is still in data section to avoid
overlay with relocation entries and DTB.

Signed-off-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit 53cc1a63d672882cb8c71af61321051f4dcbe091)

5 years agoMLK-22105-1 Revert "MLK-20026 caam: Fix CAAM RNG init hang on imx8mq RevA"
Ye Li [Tue, 25 Jun 2019 09:14:00 +0000 (02:14 -0700)]
MLK-22105-1 Revert "MLK-20026 caam: Fix CAAM RNG init hang on imx8mq RevA"

This reverts commit b12e170792c918efc7c371f86989d34fc397fe06.
The original patch has issue due to the early malloc pool is not ready
at this phase. So malloc always return NULL.

Signed-off-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit 35a24430c2da7c687bc729fa7f0b4b45749aba34)

5 years agoMLK-22092 Enable GPT command
Frank Li [Fri, 21 Jun 2019 15:09:26 +0000 (10:09 -0500)]
MLK-22092 Enable GPT command

Enable GPT command to allow create gpt partitoin in uboot

Signed-off-by: Frank Li <Frank.Li@nxp.com>
5 years agoMLK-22103 doc: ahab: Update imx-mkimage SPL build target
Ye Li [Tue, 25 Jun 2019 02:11:57 +0000 (19:11 -0700)]
MLK-22103 doc: ahab: Update imx-mkimage SPL build target

Since we have changed imx-mkimage flash_spl_container target
to flash_spl, also update it in u-boot ahab document.

Signed-off-by: Ye Li <ye.li@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit f850d467db9cf3b9b58688b96f1b4d9d8632b07d)

5 years agoMLK-22100 doc: Remove duplicated documentation directory
Breno Lima [Mon, 24 Jun 2019 13:39:04 +0000 (10:39 -0300)]
MLK-22100 doc: Remove duplicated documentation directory

Commit ad7061ed742e ("doc: Move device tree bindings documentation to
 doc/device-tree-bindings") moved all device tree binding documentation
to doc/device-tree-bindings directory.

The current U-Boot project still have two documentation directories:

- doc/
- Documentation/

Move all documentation and sphinx files to doc directory so all content
can be in a common place.

Adapted to U-Boot v2019.04

Signed-off-by: Breno Lima <breno.lima@nxp.com>
Acked-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-22036 DTS: imx7ulp-evk: Enable QSPI in eMMC dedicated DTS
Ye Li [Wed, 19 Jun 2019 03:09:27 +0000 (20:09 -0700)]
MLK-22036 DTS: imx7ulp-evk: Enable QSPI in eMMC dedicated DTS

The imx7ulp-evk-emmc.dts is used by imx7ulp_evk_emmc_defconfig, but
this dts does not enable QSPI. Since the 2019.04 u-boot has removed
non-DM driver for QSPI, so we have to enable the QSPI in DTS,
otherwise QSPI can't work on this build

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-22035-2 imx8qm/qxp: Change some firmware and image loading addresses
Ye Li [Tue, 18 Jun 2019 08:31:02 +0000 (01:31 -0700)]
MLK-22035-2 imx8qm/qxp: Change some firmware and image loading addresses

To avoid the conflict with FDT reserved-memory, adjust the loading addresses
for hdmitxfw, hdmirxfw and xenlinux_addr

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-22035-1 lmb: Add lmb_reserve_overlap for fdt reserved memory
Ye Li [Tue, 18 Jun 2019 08:24:10 +0000 (01:24 -0700)]
MLK-22035-1 lmb: Add lmb_reserve_overlap for fdt reserved memory

Previous patch "MLK-21885 lmb: Handle the overlap case for lmb reserve" adds
the overlap support to lmb reserve. However, u-boot has some places to use the
lmb_reserve when allocating memory in loading images.  If we allowed overlap
in this function, it means images loading address can overlap each other and
cause the address check mechanism not work.

So add another function to allow overlap and only use it for fdt reserved-memory
nodes. The FDT reserved-memory is ok to merge with other reserved memory, since
this won't break image loading address check.

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-22003 fec_mxc: Fix fec_get_clk_rate failure issue
Ye Li [Wed, 12 Jun 2019 06:30:04 +0000 (23:30 -0700)]
MLK-22003 fec_mxc: Fix fec_get_clk_rate failure issue

If only FEC2 is enabled, fec_get_clk_rate will fail due to uclass_get_device
fails to get the device by using idx 1. Should use uclass_get_device_by_seq
instead, because the idx is from the udev seq which is specified by alias.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
5 years agoMLK-21970: mtd: nand: mxs_nand: add i.MX6QP compatible string
Han Xu [Wed, 12 Jun 2019 18:51:02 +0000 (13:51 -0500)]
MLK-21970: mtd: nand: mxs_nand: add i.MX6QP compatible string

add the dedicate compatible string for i.MX6QP

Signed-off-by: Han Xu <han.xu@nxp.com>
5 years agoMLK-21994 imx8qm/qxp: Enlarge SPL MAX size to 192KB
Ye Li [Tue, 11 Jun 2019 07:21:42 +0000 (00:21 -0700)]
MLK-21994 imx8qm/qxp: Enlarge SPL MAX size to 192KB

2019 uboot has enabled DM in SPL on imx8qm/qxp builds. The DM needs
larger size than non-DM version. When enable both SPL DM USB host
and gadget drivers, we meets problem that SPL size exceeds the max.

This patch moves SPL runtime malloc to DDR memory. So we can have more
64KB OCRAM for SPL and its max size reaches to 192KB.

Signed-off-by: Ye Li <ye.li@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
5 years agoMLK-21904 epdc: Fix EPDC waveform and logo file loading failure
Ye Li [Sat, 8 Jun 2019 06:09:55 +0000 (23:09 -0700)]
MLK-21904 epdc: Fix EPDC waveform and logo file loading failure

Since new u-boot will prohibit loading image into memory which is used
by u-boot, like (SP, malloc, relocate). When we allocate waveform buffer
and logo buffer from malloc, loading to them will fail.

Fix the issue by using system load address as a trampoline. Load the image
to system load address first, then copy the data to buffers

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
5 years agoMLK-21942 DTS: imx8mq: Fix USB alias issue
Ye Li [Wed, 5 Jun 2019 10:10:36 +0000 (03:10 -0700)]
MLK-21942 DTS: imx8mq: Fix USB alias issue

Since we set the driver's compatible string to dwc3 nodes, should
use the dwc3 nodes as the USB alias, otherwise the alias won't work.
If first usb controller is probed failed, the second controller still
use 0 as seq and cause issue to the driver.

Because alias requires different names on the nodes, in the patch we have
to change the nodes name to dwc3_0 and dwc3_1

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
5 years agoMLK-21956-3 mx6qdlsabreauto: Enable i2c gpio mux to fix io expander issue
Ye Li [Thu, 6 Jun 2019 08:44:42 +0000 (01:44 -0700)]
MLK-21956-3 mx6qdlsabreauto: Enable i2c gpio mux to fix io expander issue

The i2c gpio mux is not enabled, this causes i2c3 not work and all
io expander devices on i2c3 not work.  So we will meet such as
"usb start" fail due to the VBUS is not power up.

The patch add the i2c mux and i2c gpio mux configs. And remove codes of
controlling i2c steering from board, since i2c gpio mux does same thing.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
5 years agoMLK-21956-2 mxc_i2c: Remove i2c_idle_bus from probe
Ye Li [Thu, 6 Jun 2019 08:29:03 +0000 (01:29 -0700)]
MLK-21956-2 mxc_i2c: Remove i2c_idle_bus from probe

i2c_idle_bus is already used in i2c_init_transfer. So before each tranfer
if the bus is not ready, the i2c_idle_bus will be used to force idle.
It is unnecessary to call it again in probe.

We found a issue when enabling i2c mux with the mxc_i2c. The mxc_i2c is probed
after mux probing. However, at this moment the mux is still in idle state,
won't select port. So if we call i2c_idle_bus in probe, it will fail and cause
mxc_i2c probe failed.

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-21956-1 i2c-mux-gpio: Fix GPIO request flag issue
Ye Li [Thu, 6 Jun 2019 08:25:54 +0000 (01:25 -0700)]
MLK-21956-1 i2c-mux-gpio: Fix GPIO request flag issue

When requesting GPIO, the GPIOD_IS_OUT is missed in flag, so the GPIO
is set the input mode not output and cause mux not work.

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-21961 imx: fix tee_addr for nand boot
Peng Fan [Thu, 6 Jun 2019 03:10:43 +0000 (11:10 +0800)]
MLK-21961 imx: fix tee_addr for nand boot

teeaddr is not set. Align with sd/emmc, use tee_addr and set tee_addr.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reported-by: Jessie Lee <jessie.lee@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-21885 lmb: Handle the overlap case for lmb reserve
Ye Li [Wed, 5 Jun 2019 06:33:38 +0000 (23:33 -0700)]
MLK-21885 lmb: Handle the overlap case for lmb reserve

lmb reserve is used to reserve some memory so that when loading images
(like kernel, dtb, initrd), images won't be loaded into the reserved memory.

The problem in current lmb is it does not handle the overlap case. When adding
a new reserved memory, if the memory region is overlap with regions already been
added in lmb, it will fail. One example is reserved memory in DTB may overlap with
u-boot relocate address. lmb reserves the u-boot relocate address firstly, so when
adding reserved memory from DTB, we will meet failure.

Actually if we handle the overlap case, we can resolve the overlap by using a max
common region for the overlap regions. So that this case won't fail.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
5 years agoMLK-21905 mx7ulp_evk: Change kernel DTB to EVKB board
Ye Li [Wed, 5 Jun 2019 02:14:42 +0000 (19:14 -0700)]
MLK-21905 mx7ulp_evk: Change kernel DTB to EVKB board

The latest mx7ulp evk board is renamed to EVKB board and has dedicated
DTB files. Modify the kernel DTB names in u-boot to use the new DTB.

Signed-off-by: Ye Li <ye.li@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
5 years agoMLK-21899 imx8: sci: Add SCFW API sc_seco_gen_key_blob
Ye Li [Fri, 31 May 2019 03:49:44 +0000 (20:49 -0700)]
MLK-21899 imx8: sci: Add SCFW API sc_seco_gen_key_blob

Porting the sc_seco_gen_key_blob to sci_api.c which is used to
generate key blob

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
5 years agoMLK-21898 fastboot: Enable fastboot on mx6qpsabresd
Ye Li [Mon, 3 Jun 2019 09:05:04 +0000 (02:05 -0700)]
MLK-21898 fastboot: Enable fastboot on mx6qpsabresd

Missed fastboot and uuu relevant configurations in mx6qpsabresd_defconfig.
This patch adds them.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
5 years agoMLK-21891-2 fastboot: fix issue in enabling FAT_WRITE
Ye Li [Wed, 29 May 2019 08:43:44 +0000 (01:43 -0700)]
MLK-21891-2 fastboot: fix issue in enabling FAT_WRITE

Wrong config name is used in kconfig for selecting FAT_WRITE,
introduced by patch
(MLK-20594-2 enable fat write for all configuration with uuu)

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-21891-1 FAT: fix build error caused by cherry-pick
Ye Li [Wed, 29 May 2019 08:40:26 +0000 (01:40 -0700)]
MLK-21891-1 FAT: fix build error caused by cherry-pick

Fix issue introduced by cherry-pick patch below, the conflict
is not resolved correctly
(MLK-20668-2 fat: Fix issue in rootdir table flush for FAT16/12)

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-21879-3 fsl_qspi: Fix flash write issue on mx7ulp
Ye Li [Tue, 28 May 2019 13:41:51 +0000 (06:41 -0700)]
MLK-21879-3 fsl_qspi: Fix flash write issue on mx7ulp

The page write sequence in spi-mem is changed with orignal spi-flash. When
the max_write_size is set by driver, the orignal sequence is
  1. WREN
  2. write max_write_size data to flash
  3. wait for WIP clean
  4. back to #1 if having data remained in a page.

The new sequence is:
  1. WREN
  2. write (max_write_size - command length) data to flash
  3. back to #2 if having data remained in a page
  4. wait for WIP clean

Since mx7ulp has 64 bytes TX buffer (max_write_size), while other iMX chips
have 512 bytes (page size is 256). So when adapt qspi with the new sequence,
we have to check the WIP before each write on mx7ulp. Otherwise the WIP may set
due to previous write is not completed by flash device, then cause current
write failed.

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-21879-2 spi-mem: Fix read data size issue
Ye Li [Tue, 28 May 2019 07:47:17 +0000 (00:47 -0700)]
MLK-21879-2 spi-mem: Fix read data size issue

When slave drivers not set the max_read_size, the spi-mem should directly
use data.nbytes and not limit to any size. But current logic will limit to
the max_write_size.

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-21879-1 fsl_qspi: increase timeout of is_controller_busy
Ye Li [Tue, 28 May 2019 07:42:25 +0000 (00:42 -0700)]
MLK-21879-1 fsl_qspi: increase timeout of is_controller_busy

The original codes uses 100ms timeout, but the new is_controller_busy only
try 5 times with each only 1us delay.
When the qspi clock is slower, the controller may need longer time in busy.
On mx7ulp, we meet problem that timeout always happen. So change the codes
to 100ms timeout

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-21877 imx_lpi2c: Fix IPG clock issue
Ye Li [Mon, 27 May 2019 11:29:22 +0000 (04:29 -0700)]
MLK-21877 imx_lpi2c: Fix IPG clock issue

There are two clocks for lpi2c, PER and IPG. But the clk driver
only enables PER clock without IPG, this will cause problem if IPG clock
is disabled during partition reboot.

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-21864 mx7ulp_evk: Fix build break in eMMC defconfig
Ye Li [Sun, 26 May 2019 01:44:28 +0000 (18:44 -0700)]
MLK-21864 mx7ulp_evk: Fix build break in eMMC defconfig

Since the non-DM QSPI support is removed in 2019.04 u-boot, we have
to enable DM QSPI driver, otherwise will get build fail.

Also add missed CONFIG_CMD_BOOTZ to plugin defconfig.

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-18333-2 imx8m: add QSPI boot dev
Peng Fan [Thu, 17 May 2018 07:15:59 +0000 (15:15 +0800)]
MLK-18333-2 imx8m: add QSPI boot dev

When boot type could not be detected from rom sw info,
read sbmr1 to detect, here we only use it to detect FLEXSPI
boot, because ROM not update it in rom sw info.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 3735aedbf6dbebfac830089618ca334c419f43bd)
(cherry picked from commit 8324d0f37a3dc8c2516dad439aa6b91d77eebcbc)

5 years agoMLK-21863 mx6sabreauto: Fix SD index issue
Ye Li [Sat, 25 May 2019 15:41:41 +0000 (08:41 -0700)]
MLK-21863 mx6sabreauto: Fix SD index issue

The imx6qdl-sabreauto-u-boot.dtsi re-alias the usdhc3 to mmc0, and
cause boot issue on mx6sabreauto boards. Remove the re-alias, so
usdhc3 will map to mmc2.

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-21862 mx7: Enable CONFIG_CMD_BOOTD for all iMX7 boards
Ye Li [Sat, 25 May 2019 09:36:39 +0000 (02:36 -0700)]
MLK-21862 mx7: Enable CONFIG_CMD_BOOTD for all iMX7 boards

When CONFIG_CMD_BOOTD is disabled, we can't use "boot" or "bootd"
command. It causes problem for users to boot kernel.

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-21861 mx7dsabresd: Fix wrong gpio name for io expander
Ye Li [Sat, 25 May 2019 09:11:17 +0000 (02:11 -0700)]
MLK-21861 mx7dsabresd: Fix wrong gpio name for io expander

Since the io expander node in DTS is using name gpio-expander not gpio_spi,
must update the codes for the name, otherwise fec initialization will hang.

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-12883 usb: limit usb storage max_xfer_blk to 256
Peng Fan [Mon, 6 Jun 2016 05:53:43 +0000 (13:53 +0800)]
MLK-12883 usb: limit usb storage max_xfer_blk to 256

For Some USB mass storage devices, such as:
"
 - Kingston DataTraveler 2.0 001D7D06CF09B04199C7B3EA
 - Class: (from Interface) Mass Storage
 - PacketSize: 64  Configurations: 1
 - Vendor: 0x0930  Product 0x6545 Version 1.16
"
When `usb read 0x80000000 0 0x2000`, we met
"EHCI timed out on TD - token=0x80008d80".

The devices does not support scsi VPD page, we are not able
to get the maximum transfer length for READ(10)/WRITE(10).

So we limit this to 256 blocks as READ(6).

Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit df0052575b2bc9d66ae73584768e1a457ed5d914)
(cherry picked from commit 0716cc14a3739e9d161f5d0c3a0bebf0272759f9)
Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-21856 imx8: fix build warning in sci.h
Ye Li [Fri, 24 May 2019 11:20:37 +0000 (04:20 -0700)]
MLK-21856 imx8: fix build warning in sci.h

./arch/arm/include/asm/arch/sci/sci.h: In function ‘sc_err_to_linux’:
./arch/arm/include/asm/arch/sci/sci.h:54:2: warning: implicit declaration
of function ‘debug’ [-Wimplicit-function-declaration]
  debug("%s %d %d\n", __func__, err, ret);
  ^~~~~

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-21825 misc: scu: Increase the timeout for MU communication
Ye Li [Fri, 24 May 2019 08:19:34 +0000 (01:19 -0700)]
MLK-21825 misc: scu: Increase the timeout for MU communication

When power on some sources in Video system, current timeout 10ms is
too short and returns before SCU response. So increase the timeout
to 1s.

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-21821 ddr: imx8m: Fix the ddr init hang on imx8mq
Jacky Bai [Fri, 24 May 2019 02:08:05 +0000 (10:08 +0800)]
MLK-21821 ddr: imx8m: Fix the ddr init hang on imx8mq

On, i.MX8MQ, the PLL config must be done when ddrmix
isolation is released. So move the dram pll init after
iso config done. For other i.MX8M SOC, either init pll
before or after isolation is ok.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
(cherry picked from commit c5dcc21c214badd5b48b48dfaa62d17ba13c6b17)

5 years agoMLK-21745-02 board: imx8mm_val: change the ddr init to the common driver
Jacky Bai [Thu, 16 May 2019 09:53:36 +0000 (17:53 +0800)]
MLK-21745-02 board: imx8mm_val: change the ddr init to the common driver

change the ddr init to use the common driver init driver as
we used on EVK board.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit 2c5b74872bdc62b02a6e7c5761e27cdaeb677c8d)

5 years agoMLK-21745-01 driver: ddr: Refine the ddr init driver on imx8m
Jacky Bai [Wed, 15 May 2019 12:31:41 +0000 (20:31 +0800)]
MLK-21745-01 driver: ddr: Refine the ddr init driver on imx8m

Refine the ddr init driver to make it more reusable for different
DDR type(LPDDR4, DDR4 & DDR3L). So we can reduce some redundant
code.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit 3c0b1b346a891fef7a81856e3ee9019e2b81602d)

5 years agoMLK-21759-2 mx6ull: Fix mispelling aaips in fuse_entry_desc path
Leonard Crestez [Thu, 16 May 2019 18:09:05 +0000 (21:09 +0300)]
MLK-21759-2 mx6ull: Fix mispelling aaips in fuse_entry_desc path

This is not intentional.

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit c3d98667108a5f184624d9768c4f811b8c88c1df)

5 years agoMLK-21759-1 mx6ul: Fix module fuse paths for upstream naming
Leonard Crestez [Fri, 17 May 2019 11:40:58 +0000 (14:40 +0300)]
MLK-21759-1 mx6ul: Fix module fuse paths for upstream naming

According to upstream linux naming conventions node names must have no
leading zeros after the @ sign.

Recent imx_4.19.y changes to conform with this convention on 6ull broke
6ulz boot however looking at the code 6ul fuse checks were already
broken by upstream commit efb9adb27475 ("ARM: dts: imx6ul: Remove
leading zeroes from unit addresses")

Instead of reverting make uboot fuse check follow upstream standards.

Keep old paths for compatibility with imx_4.14.y

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit 4b6287ce9275d2ffc6153188a9f2b656def539be)

5 years agoMLK-21354-2 mmc: fsl_esdhc: fix pre_div
Peng Fan [Wed, 8 May 2019 10:15:33 +0000 (18:15 +0800)]
MLK-21354-2 mmc: fsl_esdhc: fix pre_div

We have initialized pre_div, so no need to override it. And
it will break those have pre_div initialized as 2.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit 94ec725e440da10c04b5e7f1c9e59b47112c1dd0)

5 years agoMLK-21354-1 imx: define ARCH_MXC for i.MX8/8m/7ulp
Peng Fan [Wed, 8 May 2019 10:14:20 +0000 (18:14 +0800)]
MLK-21354-1 imx: define ARCH_MXC for i.MX8/8m/7ulp

Need define ARCH_MXC to avoid access wrong registers in fsl_esdhc

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-20394 imx8mq: Update the ddrc QoS setting for B1 chip
Bai Ping [Fri, 16 Nov 2018 03:57:54 +0000 (11:57 +0800)]
MLK-20394 imx8mq: Update the ddrc QoS setting for B1 chip

Update the ddrc Qos setting for B1 to align with B0'ssetting.
Correct the initial clock for dram_pll. This setting will be
overwrite before ddr phy training. Although there is no impact
on the dram init, we still need to correct it to eliminate
confusion.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
Tested-by: Robby Cai <robby.cai@nxp.com>
(cherry picked from commit 566b798213ab9690966f163de2765acdbfe647a7)

5 years agoMLK-21654 mx6sl: hab: Fix pu_irom_mmu_enabled address
Breno Lima [Tue, 7 May 2019 19:53:56 +0000 (16:53 -0300)]
MLK-21654 mx6sl: hab: Fix pu_irom_mmu_enabled address

According to hab.c code we have to notify the ROM code if the MMU is
enabled or not. This is achieved by setting the "pu_irom_mmu_enabled"
to 0x1.

The current address in hab.c code is wrong for i.MX6SL, according to ROM
map file the correct address is 0x00901c60.

As we are writing in the wrong address the ROM code is not flushing the
caches when needed, and the following HAB event is observed in certain
scenarios:

--------- HAB Event 1 -----------------
event data:
        0xdb 0x00 0x14 0x41 0x33 0x18 0xc0 0x00
        0xca 0x00 0x0c 0x00 0x01 0xc5 0x00 0x00
        0x00 0x00 0x07 0xe4

STS = HAB_FAILURE (0x33)
RSN = HAB_INV_SIGNATURE (0x18)
CTX = HAB_CTX_COMMAND (0xC0)
ENG = HAB_ENG_ANY (0x00)

Update MX6SL_PU_IROM_MMU_EN_VAR to address this issue.

Reported-by: Frank Zhang <frank.zhang@nxp.com>
Signed-off-by: Breno Lima <breno.lima@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit 22fccea63a9ab8c2911dc81bc157963909606617)

5 years agoMLK-21485 imx8qm/qxp: Extend image size for bootaux M4
Ye Li [Tue, 7 May 2019 07:06:17 +0000 (00:06 -0700)]
MLK-21485 imx8qm/qxp: Extend image size for bootaux M4

iMX8 has consective address for TCML and TCMU, so the M4 image size
could exceed the TCML boundary and put its data section in TCMU.

So change the size limitation in bootaux to 256KB to include TCMU.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit cdc80200841055b949677ae8633c6d64fe0d0985)

5 years agoMLK-21660 imx8qm: Disable SATA driver by default
Ye Li [Tue, 7 May 2019 06:39:20 +0000 (23:39 -0700)]
MLK-21660 imx8qm: Disable SATA driver by default

The imx8 SATA driver will cause crash when some gen3 SATA
device is connected. As there is no booting from SATA supported by ROM,
so enabling this driver is not necessary, change to disable it at default.
And will fix the issue in future.

Users who need to use the driver, have to set "CONFIG_SATA_IMX=y" in defconfig
to enable it.

Signed-off-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit 00e6fab7125fe407ab9fb1b852feafd45f0cdba3)

5 years agoMA-14501[Android] change BOOTAUX_RESERVED_MEM macro to defconfig
Ye Li [Fri, 24 May 2019 06:07:18 +0000 (23:07 -0700)]
MA-14501[Android] change BOOTAUX_RESERVED_MEM macro to defconfig

As the M4 use different DDR memory size in normal android/car2 and car
image, use different defconfig for car2 to decrease DDR memory
reservation. So memory reserved for each M4 core is 8MB in car2 and
normal android image. it's 32MB for car image.

Change-Id: Idf608f539cd614a154c78e3a1af28eff1da5c1f2
Signed-off-by: Zhang Bo <bo.zhang@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-20935-4 doc: imx: ahab: Fix typo in mx8_mx8x_secure_boot.txt guide
Breno Lima [Fri, 15 Feb 2019 18:51:36 +0000 (16:51 -0200)]
MLK-20935-4 doc: imx: ahab: Fix typo in mx8_mx8x_secure_boot.txt guide

Fix a typo in path provided for imx-mkimage iMX8QM and iMX8QXP directories.

Reported-by: Marius Grigoras <marius.grigoras@nxp.com>
Signed-off-by: Breno Lima <breno.lima@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit c75243c1a87a10f003377d9c144bcf412ba80440)

5 years agoMLK-20935-3 doc: imx: ahab: Add a note in SRK Hash fuses sanity check
Breno Lima [Fri, 15 Feb 2019 18:43:54 +0000 (16:43 -0200)]
MLK-20935-3 doc: imx: ahab: Add a note in SRK Hash fuses sanity check

The commands included in introduction guide should not be used as
reference for programming the SRK Hash fuses as they are in big
endian.

Add a note to avoid a possible mistake.

Reported-by: Clement Le Marquis <clement.lemarquis@nxp.com>
Signed-off-by: Breno Lima <breno.lima@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit 137319826cc32d98a9b6890f35dd6670e104c2a5)

5 years agoMLK-20935-2 doc: imx: ahab: Include ahab_close command
Breno Lima [Fri, 15 Feb 2019 18:37:56 +0000 (16:37 -0200)]
MLK-20935-2 doc: imx: ahab: Include ahab_close command

Since commit 771b824728ca ("MLK-20919 imx8: ahab: Add command to
close the chip") the U-Boot is able to move the lifecycle from
NXP closed to OEM closed.

Update AHAB guides to use U-Boot ahab_close command instead of SCFW CLI.

As the procedure is now independent of SCFW terminal we can remove
this condition from documentation.

Signed-off-by: Breno Lima <breno.lima@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit 6f93d877e1454024f666a4810d24148cf595429e)

5 years agoMLK-20935-1 doc: imx: habv4: Add section to avoid crash when OP-TEE is enabled
Breno Lima [Fri, 15 Feb 2019 18:09:08 +0000 (16:09 -0200)]
MLK-20935-1 doc: imx: habv4: Add section to avoid crash when OP-TEE is enabled

Starting in L4.14.78 release, the OP-TEE CAAM driver does not set the
JROWN_NS field in case LMID is locked.

We need to include the Unlock MID command in CSF file otherwise device
will fail to boot in HAB closed mode.

Add section to avoid crash when OP-TEE is enabled.

Reported-by: Frank Zhang <frank.zhang@nxp.com>
Signed-off-by: Breno Lima <breno.lima@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit af03284ad38bd03ef1f0d4942842629db93d2c11)

5 years agoMLK-20976-2 imx8: cpu: check resource before set sid
Ye Li [Fri, 24 May 2019 05:43:52 +0000 (22:43 -0700)]
MLK-20976-2 imx8: cpu: check resource before set sid

If resource is not owned, we ignore sid settings.
When support CM41 + android auto on xen, some resources
are owned by CM41, when CM41 releases those resources,
CM41 will program SID for those resources.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Flynn xu <flynn.xu@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-20976-1 imx8qm: mek: remove partition creation for domu
Peng Fan [Mon, 25 Feb 2019 09:59:17 +0000 (17:59 +0800)]
MLK-20976-1 imx8qm: mek: remove partition creation for domu

Partition creation will be done in xen, remove it from uboot.
And add domu-android-auto property

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Flynn xu <flynn.xu@nxp.com>
(cherry picked from commit 23f7a037d14d05c2eea5622bd8ffda2f23d04372)

5 years agoMLK-20916-2: doc: imx: ahab: Update AHAB document to include ahab_status command
Breno Lima [Tue, 12 Feb 2019 16:51:12 +0000 (14:51 -0200)]
MLK-20916-2: doc: imx: ahab: Update AHAB document to include ahab_status command

Since commit cf2acc5b7cde ("MLK-18942-2 imx8: ahab: Add ahab_status
 command") the U-Boot is able to display and parse the SECO events.

Update AHAB guides to use U-Boot ahab_status command instead of
SCFW CLI.

Starting in SECO FW v0.2.0 engineering release an invalid image
integrity is logged as an event in open mode. As ahab_status
is able to return this event the note can be removed.

Signed-off-by: Breno Lima <breno.lima@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit 385ed19051a47f5858e8d326e5ee97f8a08a679d)

5 years agoMLK-20916-1: doc: imx: habv4: Fix typo in iMX6 and iMX7 encrypted boot guide
Breno Lima [Tue, 12 Feb 2019 16:30:17 +0000 (14:30 -0200)]
MLK-20916-1: doc: imx: habv4: Fix typo in iMX6 and iMX7 encrypted boot guide

The set_priblob_bitfield command is enabled by selecting
CONFIG_CMD_PRIBLOB.

Fix typo in mx6_mx7_encrypted_boot.txt guide.

Signed-off-by: Breno Lima <breno.lima@nxp.com>
(cherry picked from commit 99f9696ef5f7d1c0f93b7d910e884890fca6c973)

5 years agoMLK-20760-1 mx6/7 arm2: Fix memory overlap between initrd and optee
Ye Li [Tue, 22 Jan 2019 09:03:41 +0000 (01:03 -0800)]
MLK-20760-1 mx6/7 arm2: Fix memory overlap between initrd and optee

On most of mx6 and mx7 platforms, we set the initrd address to 0x3800000
offset from DRAM base. However, the optee address is 0x4000000 offset from
DRAM base. So it will cause memory overlap when using initramfs and optee at
same time, for example using uuu to boot into kernel.

To fix the conflict, we set initrd address to 0x6680000 offset from DRAM base,
because OPTEE needs reserve 32MB memory from 0x4000000 offset to 0x6000000 offset.

Signed-off-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit 2a092ea07ec1b0836793fd75cefbacc35b90d2cf)

5 years agoMLK-20758 mx7: Add new command for tamper pin
Ye Li [Mon, 14 Jan 2019 06:05:22 +0000 (22:05 -0800)]
MLK-20758 mx7: Add new command for tamper pin

Add new u-boot command "imx_tamper" to configure and check the tamper pins.
The codes are used for reference and test. So command is disabled at default,
user can enable it by adding CONFIG_IMX_TAMPER=y to defconfig

The iMX7D has 10 tamper pins those can be used for SNVS tamper detection.

Tamper 9 pin is NVCC_DRAM power switch for LPSR by default.
It must be fused to tamper function by command
=> fuse prog -y 1 3 0x80000000
Otherwise, SNVS power consumption would be high

When tamper is detected, CPU can't enter/stay in SNVS mode,
the tamper must be cleared and disabled before enter SNVS.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Shaojun Wang <shaojun.wang@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit d520e1c6067c08103a020b0bc19feb620473e543)

5 years agoMLK-20666-2 DTS: imx8mq: Enable i2c force idle
Ye Li [Fri, 4 Jan 2019 07:13:40 +0000 (23:13 -0800)]
MLK-20666-2 DTS: imx8mq: Enable i2c force idle

Add i2c gpio pinctrl settings and properties to enable i2c force idle.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit bb5ed5774d63031571e04a3061b8481139601257)

5 years agoMLK-20666-1 DTS: imx8mm: Enable i2c force idle
Ye Li [Fri, 4 Jan 2019 07:08:56 +0000 (23:08 -0800)]
MLK-20666-1 DTS: imx8mm: Enable i2c force idle

Add i2c gpio pinctrl settings and properties to enable i2c force idle.
Avoid any i2c bus not released by device during reboot.

Signed-off-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit 94b6e0f525ce3adb015e41659b240689dab304ec)

5 years agoMLK-20668-2 fat: Fix issue in rootdir table flush for FAT16/12
Ye Li [Wed, 2 Jan 2019 09:41:23 +0000 (01:41 -0800)]
MLK-20668-2 fat: Fix issue in rootdir table flush for FAT16/12

The FAT16/12 has rootdir area before data area, and the clusters for
rootdir are not mantained by FAT table. So we don't need to find empty
cluster for next rootdir space, just use next dir cluster. And the FAT
table don't need to update for this new dir cluster.

Signed-off-by: Ye Li <ye.li@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 9e0a33cacc0a7926d46c0ca184498ae88278816e)

5 years agoMLK-20594-2 enable fat write for all configuration with uuu
Ye Li [Fri, 24 May 2019 04:48:36 +0000 (21:48 -0700)]
MLK-20594-2 enable fat write for all configuration with uuu

Enable the FAT write when UUU support is enabled

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-20553-3 doc: imx: ahab: Add Secure Boot documentation for i.MX8 and i.MX8x SPL...
Breno Lima [Fri, 30 Nov 2018 20:48:06 +0000 (18:48 -0200)]
MLK-20553-3 doc: imx: ahab: Add Secure Boot documentation for i.MX8 and i.MX8x SPL targets

The current U-Boot implementation includes SPL targets for i.MX8QM and
i.MXQXP MEK boards:

- imx8qxp_mek_spl_defconfig
- imx8qxp_mek_spl_fspi_defconfig
- imx8qm_mek_spl_defconfig
- imx8qm_mek_spl_fspi_defconfig

The U-Boot proper and ATF are included in an additional container being
necessary a different procedure for signing the flash.bin image.

Add a step-by-step guide covering the signing procedure.
Add a CSF example for the 3rd container.

Signed-off-by: Breno Lima <breno.lima@nxp.com>
Reviewed-by: Frank Zhang <frank.zhang@nxp.com>
Reviewed-by: Marius Grigoras <marius.grigoras@nxp.com>
Reviewed-by: Utkarsh Gupta <utkarsh.gupta@nxp.com>
(cherry picked from commit 04505024d38eebbb5f39133b502c8e450ca40215)

5 years agoMLK-20553-2 doc: imx: ahab: Add AHAB secure boot documentation for i.MX 8 and 8X...
Clement Le Marquis [Wed, 28 Nov 2018 12:10:22 +0000 (13:10 +0100)]
MLK-20553-2 doc: imx: ahab: Add AHAB secure boot documentation for i.MX 8 and 8X families

Add AHAB secure boot step-by-step guide for i.MX8 and i.MX8x families
devices.

Add 3 CSF example files:
- Example to sign flash.bin only using SRK keys.
- Example to sign flash.bin using a subordinate SGK key.
- Example to sign Linux image only using SRK keys.

Signed-off-by: Clement Le Marquis <clement.lemarquis@nxp.com>
Reviewed-by: Frank Zhang <frank.zhang@nxp.com>
Reviewed-by: Marius Grigoras <marius.grigoras@nxp.com>
Reviewed-by: Utkarsh Gupta <utkarsh.gupta@nxp.com>
(cherry picked from commit 7c46caba3b528b0399242f99612e5b094b1a4703)

5 years agoMLK-20553-1 doc: imx: ahab: Add AHAB introduction
Breno Lima [Mon, 26 Nov 2018 16:32:43 +0000 (14:32 -0200)]
MLK-20553-1 doc: imx: ahab: Add AHAB introduction

The AHAB is currently supported in i.MX8QXP and i.MX8QM devices.

Add an introductory document containing the following topics:

- AHAB Secure Boot Architecture
- System Control Unit (SCU) introduction
- Security Controller (SECO) introduction
- i.MX8/8x secure boot flow
- AHAB PKI tree generation
- SRK Table and SRK Hash generation

Signed-off-by: Breno Lima <breno.lima@nxp.com>
Reviewed-by: Frank Zhang <frank.zhang@nxp.com>
Reviewed-by: Marius Grigoras <marius.grigoras@nxp.com>
Reviewed-by: Utkarsh Gupta <utkarsh.gupta@nxp.com>
(cherry picked from commit 6e9ceb2526bd4a45c6ff669afb086cc3a0627e6b)

5 years agoMLK-20574 imx8mm: Support 3bits SPEED_GRADE fuse
Ye Li [Wed, 12 Dec 2018 10:47:58 +0000 (02:47 -0800)]
MLK-20574 imx8mm: Support 3bits SPEED_GRADE fuse

The imx8mm new fuse map uses 3bits SPEED_GRADE and add 2Ghz speed.

SPEED SPEED_GRADE
2000 ’100’
1800 ’011’
1600 ’010’
1200 ’001’
800  ’000’

Signed-off-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit d747d5e2d055b1191166f5bf3395f7933023b323)

5 years agoMLK-20542 imx8qm: xen: mek: add magic number
Peng Fan [Wed, 12 Dec 2018 06:28:56 +0000 (14:28 +0800)]
MLK-20542 imx8qm: xen: mek: add magic number

Write magic number in board early init, and clear magic when booting
Linux.

This is to let XEN know the current EL1 code is U-Boot or Linux
when reset/reboot. This is just a workaround because CM41 could not
communicate with XEN now, even XEN knows that EL1 is reseting/rebooting.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Flynn xu <flynn.xu@nxp.com>
(cherry picked from commit 8132f6b5848d45cab795bb472d6484130985415d)

5 years agoMLK-20270-1 doc: imx: habv4: Add Secure Boot documentation for i.MX8M and i.MX8MM...
Breno Lima [Wed, 17 Oct 2018 21:45:22 +0000 (18:45 -0300)]
MLK-20270-1 doc: imx: habv4: Add Secure Boot documentation for i.MX8M and i.MX8MM devices

Add HABv4 documentation for i.MX8M and i.MX8MM targets covering the
following topics:

- How to sign an securely boot an flash.bin image.
- How to extend the root of trust for additional boot images.
- Add 2 CSF examples.

Reviewed-by: Utkarsh Gupta <utkarsh.gupta@nxp.com>
Signed-off-by: Breno Lima <breno.lima@nxp.com>
(cherry picked from commit cc63be298a3e5f44e417f4098c124715917d09e1)

5 years agoMLK-20395 DTS: imx7d: Add alias for usb1 device
Ye Li [Mon, 19 Nov 2018 07:24:19 +0000 (23:24 -0800)]
MLK-20395 DTS: imx7d: Add alias for usb1 device

Some platforms don't have alias for usb1 device, so when initialize the
second controller, its seq is allocated by u-boot automatically.
This introduces a problem if the initialization of first controller is failed,
for example nothing connect to first controller, then the seq allocated
for second controller is 0 not 1. EHCI driver uses the seq as index for
USB controller and phy, so it will cause initialization problem for second
controller.

Fix the issue by adding the usb1 alias for second USB controller.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit fe21a1ab93d0788017ec58905e3273c9ab0f5a67)

5 years agoMLK-20356-2 dwc_ahsata: Fix incorrect free
Ye Li [Wed, 14 Nov 2018 09:16:35 +0000 (01:16 -0800)]
MLK-20356-2 dwc_ahsata: Fix incorrect free

Fix coverity issue CID 43665: Free of address-of expression (BAD_FREE)
incorrect_free: free frees incorrect pointer pp.

pp points the port array field of struct ahci_uc_priv, should not free it.

Signed-off-by: Ye Li <ye.li@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit da3f3a081690d4d7fc901d922d01e2bbe6cb4eb5)

5 years agoMLK-20240-2 sata: ahsata: Fix wrong operand for checking SERR DIAG_X
Ye Li [Mon, 12 Nov 2018 11:05:32 +0000 (03:05 -0800)]
MLK-20240-2 sata: ahsata: Fix wrong operand for checking SERR DIAG_X

Fix coverity issue CID 3261683: Wrong operator used (CONSTANT_EXPRESSION_RESULT)
operator_confusion: ({...; __v;}) | 67108864 is always 1/true regardless of the values
of its operand. This occurs as the logical operand of !

When DIAG_X is set, the PHY COMINIT signal is detected, so should use '&' to check
whether it is set.

Signed-off-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit 876f435b632fd6ef1f7cfd1f7752861f1da90118)

5 years agoMLK-20240-1 sata: ahsata: Fix resource leak
Ye Li [Mon, 12 Nov 2018 08:47:23 +0000 (00:47 -0800)]
MLK-20240-1 sata: ahsata: Fix resource leak

Fix coverity issue CID 3606684: Resource leak (RESOURCE_LEAK)
leaked_storage: Variable uc_priv going out of scope leaks the storage it points to

Signed-off-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit 8f52ef83dbfc9f1c812b2166a7322a16efcbf939)

5 years agoMLK-20061-2: doc: imx: Remove old encrypted_boot.txt documentation file
Clement Le Marquis [Wed, 24 Oct 2018 16:54:11 +0000 (18:54 +0200)]
MLK-20061-2: doc: imx: Remove old encrypted_boot.txt documentation file

Signed-off-by: Clement Le Marquis <clement.lemarquis@nxp.com>
(cherry picked from commit 0137aff2a7ea9b2a668b4dbf4e80a75f354052cc)

5 years agoMLK-20061-1: doc: imx: habv4: Add Encrypted Boot documentation for i.MX 6 and i.MX...
Clement Le Marquis [Fri, 12 Oct 2018 16:44:45 +0000 (18:44 +0200)]
MLK-20061-1: doc: imx: habv4: Add Encrypted Boot documentation for i.MX 6 and i.MX 7 family devices

Add useful documentation for encrypted boot:
- Add 2 CSF examples for encrypt and sign
- How to encrypt and sign a U-Boot binary on closed device
- Why and how increase the PRIBLOB bitfield from CAAM SCFGR

Signed-off-by: Clement Le Marquis <clement.lemarquis@nxp.com>
(cherry picked from commit 3732dddfeddd989ca1fb930972f19303e3b67756)

5 years agoMLK-19848 mx6dq: Fix chip version issue for rev1.3
Ye Li [Fri, 12 Oct 2018 06:04:07 +0000 (23:04 -0700)]
MLK-19848 mx6dq: Fix chip version issue for rev1.3

According to iMX6DQ RM, the minor field (low 8 bits) in DIGPROG is not
aligned on silicon revision 1.3. So update get_cpu_rev to correct the
revision.

0x00630002 Silicon revision 1.2
0x00630005 Silicon revision 1.3
0x00630006 Silicon revision 1.6

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 8891410c729bfa604467440919a9709fea76e47c)

5 years agoMLK-19890 configs: imx8qm_mek: create partition before loading hdmi firmware
Peng Fan [Thu, 11 Oct 2018 09:13:25 +0000 (17:13 +0800)]
MLK-19890 configs: imx8qm_mek: create partition before loading hdmi firmware

After loading hdmi firmware, create partition, HDMI power domain will be
off, this will cause HDMI firmware being lost.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit 0681ed943c1a00012a8f15e104048f48f2e1fcbe)

5 years agoMLK-19697 imx6sx sd board emmc config should use emmc kernel dtb default
Frank Li [Fri, 28 Sep 2018 15:47:19 +0000 (10:47 -0500)]
MLK-19697 imx6sx sd board emmc config should use emmc kernel dtb default

change default dtb to imx6sx-sdb-emmc.dtb when config as emmc

Signed-off-by: Frank Li <Frank.Li@nxp.com>
(cherry picked from commit 695f522c07f5cec82e5c53f35fb58c0d763d0054)

5 years agoMLK-19623: change hdmi keep-alive check mechanism
Laurentiu Palcu [Fri, 28 Sep 2018 05:56:54 +0000 (08:56 +0300)]
MLK-19623: change hdmi keep-alive check mechanism

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)

5 years agoMLK-19194 PCI: imx: disable the ltssm when link is down in uboot
Richard Zhu [Fri, 10 Aug 2018 08:51:20 +0000 (16:51 +0800)]
MLK-19194 PCI: imx: disable the ltssm when link is down in uboot

Disable the LTSSM when link is down in uboot.
Otherwise, the pcie ep/rc validation system in kernel
would be impacted by the enabled ltssm stat in the uboot.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit cdedbb42e052d4bb3ff6b45044dd0d6023f3cb20)

5 years agoMLK-19023-2 imx: epdc: Eliminate unaligned cache flush
Ye Li [Mon, 30 Jul 2018 14:40:40 +0000 (07:40 -0700)]
MLK-19023-2 imx: epdc: Eliminate unaligned cache flush

Meet such warning during boot with EPDC splash screen enabled, because the
flushed waveform buffer size is not aligned to cacheline size
   CACHE: Misaligned operation at range [ff027d00ff270d99]

Since we have enough 4MB buffer allocated, round up the flushed size to
eliminate the warning.

Signed-off-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit 211af0d11f4472d7575b54ad5d14e79f77e71b6a)
(cherry picked from commit 776cd6799e7bb97967a5ee480dbf199bc6ec2586)

5 years agoMA-14283 [coverity] Fix uninitialized scalar variable
Luo Ji [Thu, 7 Mar 2019 11:37:18 +0000 (19:37 +0800)]
MA-14283 [coverity] Fix uninitialized scalar variable

Fix coverity issue: CID 5433686: Uninitialized scalar variable (UNINIT)
uninit_use_in_call: Using uninitialized value value when calling
call_imx_sip_ret2.

Test: coverity scan pass.

Change-Id: Id89f8f6f69fb944179b34dca4146fd7636505681
Signed-off-by: Luo Ji <ji.luo@nxp.com>
(cherry picked from commit eaab8f8e07d222b1c13e995352e99b8e4f9fe5fb)

5 years agoMLK-14831 mx6: Fix wrong bmode value used for usb boot
Ye Li [Mon, 8 May 2017 06:25:19 +0000 (01:25 -0500)]
MLK-14831 mx6: Fix wrong bmode value used for usb boot

Wrong bmode value is used in community u-boot for usb reboot. And cause
it failed. Fix this by using a reserved bootcfg value.

Signed-off-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit eacd50f370203218a8e96c28c8a7adc0b638fc6d)
(cherry picked from commit aed4820fa81c1da9206f946a61ff851a255c9288)

5 years agoMLK-19699: imx6ulz: configs: add fastboot to defconfigs
Ye Li [Thu, 23 May 2019 15:06:01 +0000 (08:06 -0700)]
MLK-19699: imx6ulz: configs: add fastboot to defconfigs

Add fastboot to iMX6ULZ EVK defconfig files to support UUU

Signed-off-by: Han Xu <han.xu@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-19150 fastboot: enable fastboot in mx7dsabresd
Ye Li [Thu, 23 May 2019 14:46:10 +0000 (07:46 -0700)]
MLK-19150 fastboot: enable fastboot in mx7dsabresd

Modify defconfig files to enable fastboot in mx7dsabresd board

Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-19062-1 fastboot: enable fastboot in mx6ul
Ye Li [Thu, 23 May 2019 14:39:49 +0000 (07:39 -0700)]
MLK-19062-1 fastboot: enable fastboot in mx6ul

Modify mx6ul defconfig files to enable fastboot in
mx6ul_14x14 and mx6ul_9x9 EVK boards

Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>