u-boot.git
5 years agoMLK-19203 configs: imx8qm_arm2: update xen boot args
Peng Fan [Mon, 13 Aug 2018 06:06:36 +0000 (14:06 +0800)]
MLK-19203 configs: imx8qm_arm2: update xen boot args

Remove clk_ignore_unused
Enlarge dom0 memory to 2048M
Support booting 6 cores
support creating partition from parsing device tree

Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit dff1ad048f0767a91c6e62904612b0f5ac9c52d7)
(cherry picked from commit 53d8f8832a38e64da7e6f07d04d37b9f3ce70536)

5 years agoMLK-19219-2 imx8qm/qxp: Add support to get container image set size
Ye Li [Tue, 14 Aug 2018 10:45:30 +0000 (03:45 -0700)]
MLK-19219-2 imx8qm/qxp: Add support to get container image set size

Add relevant functions and files to parse the container image set from mmc/sd
and get the total size of it. So we can get the offset of u-boot-atf.bin image
when it is padded to container image set at 1KB alignment position.

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

5 years agoMLK-19219-1 spl: Add function to get u-boot raw sector
Ye Li [Tue, 14 Aug 2018 10:52:16 +0000 (03:52 -0700)]
MLK-19219-1 spl: Add function to get u-boot raw sector

Add a weak function spl_mmc_get_uboot_raw_sector to get u-boot raw sector.
At default it returns CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. Users
can overwrite it to return customized offset.

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

5 years agoMLK-19131 configs: imx8mm_evk: add jailhouse boot command
Peng Fan [Mon, 6 Aug 2018 09:47:22 +0000 (17:47 +0800)]
MLK-19131 configs: imx8mm_evk: add jailhouse boot command

Add jailhouse env. Currently need to pass clk_ignore_unused to bootargs
to avoid linux root cell shutdown clocks used by inmates.

If only want a minimal clk being on in inmates, the clks could
be added in clk_inits_on in linux kernel drivers/clk/imx/clk-imx8mm.c
or use init-on-array under clk node.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 7732b3b87423069c1c31d25ec07201098062b717)
(cherry picked from commit 718b0792dfedcf68b6c2e93d3eefe499ec463433)

5 years agoMLK-19064 imx8qm: Add secure boot environment
Ye Li [Thu, 26 Jul 2018 14:54:34 +0000 (07:54 -0700)]
MLK-19064 imx8qm: Add secure boot environment

Add the secure boot relevant environment variables to ARM2 and MEK.
When CONFIG_AHAB_BOOT is enabled, we will switch to boot flow:
1. Load the signed OS container to address 0x88000000
2. Using auth_cntr to authenticate the OS container. It will load the
   kernel and FDT to destination addresses.
3. Using booti to boot kernel.

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

5 years agoMLK-18793 imx8mq: config: add jailhouse env
Peng Fan [Fri, 6 Jul 2018 06:07:02 +0000 (14:07 +0800)]
MLK-18793 imx8mq: config: add jailhouse env

Add jailhouse env. Currently need to pass clk_ignore_unused to bootargs
to avoid linux root cell shutdown clocks used by inmates.

If only want a minimal clk being on in inmates, the clks could
be added in clk_inits_on in linux kernel drivers/clk/imx/clk-imx8mq.c

Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 0d33db00e96e7addb6910a7097a62222ff75480f)
(cherry picked from commit 56ea0d9280b22ce3e260851e88782cb877fad6ec)

5 years agoMLK-19011-2 configs: imx8qm_mek: add jailhouse boot env
Peng Fan [Mon, 23 Jul 2018 07:36:51 +0000 (15:36 +0800)]
MLK-19011-2 configs: imx8qm_mek: add jailhouse boot env

Add jailhouse boot env. run `jh_netboot` or `jh_mmcboot` to
boot Linux.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 2248152c7217ac78f4d399612679a45c54405502)
(cherry picked from commit 4b6b331c424c4d62844641c32c90915ebf5bf223)

5 years agoMLK-19011-1 configs: imx8qxp_mek: add jailhouse boot env
Peng Fan [Mon, 23 Jul 2018 07:29:07 +0000 (15:29 +0800)]
MLK-19011-1 configs: imx8qxp_mek: add jailhouse boot env

Add jailhouse boot env. Use `run jh_netboot` or `jh_mmcboot`
to boot Linux.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 8a575a160b8e4f8cfdd79177a8f9551106395cf9)
(cherry picked from commit 864c2f9cb3463bfa715cbfd1d7ca16d8bd323003)

5 years agoMLK-18703: crypto: caam: Fix typo for caam blob commands
Aymen Sghaier [Wed, 11 Jul 2018 16:23:18 +0000 (18:23 +0200)]
MLK-18703: crypto: caam: Fix typo for caam blob commands

 This fix a wrong trace error while executing caam genlob command.

Signed-off-by: Aymen Sghaier <aymen.sghaier@nxp.com>
(cherry picked from commit 7b80598100baf38562bee10bb4a19c3c834b945b)

5 years agoMLK-18703: crypto: caam: Add TRNG init function call
Aymen Sghaier [Tue, 3 Jul 2018 08:14:37 +0000 (10:14 +0200)]
MLK-18703: crypto: caam: Add TRNG init function call

 Call the TRNG init function at the end of arch_cpu_init()
 Concerned SoCs are: i.MX6, i.MX7 and i.MX8M

Signed-off-by: Aymen Sghaier <aymen.sghaier@nxp.com>
(cherry picked from commit 996329904c0304a7bfbc6cda8287ab93de77870d)

5 years agoMLK-18703: crypto: caam: Add init TRNG into SPL or U-Boot
Aymen Sghaier [Tue, 24 Apr 2018 16:36:02 +0000 (18:36 +0200)]
MLK-18703: crypto: caam: Add init TRNG into SPL or U-Boot

 The following reasons lead to instantiate the TRNG into U-Boot/SPL:

 - On some i.MX platforms Linux Kernel could not instantiate RNG
 - RNG could be used/needed by M4/M0 cores before Kernel stage
 - Having the RNG instantiation implemented only once for
   almost i.MX platforms

Signed-off-by: Aymen Sghaier <aymen.sghaier@nxp.com>
(cherry picked from commit 1f4134c85f6416cbdadaf5f4ff6321f6c685c74c)

5 years agoMLK-18591-2 crypto: caam: Add fsl caam driver
Ye Li [Wed, 6 Jun 2018 10:29:16 +0000 (03:29 -0700)]
MLK-18591-2 crypto: caam: Add fsl caam driver

Add the fsl CAAM driver and new commands to implement DEK blob operations,
like "caam genblob" to generate encrypted blob and "caam decap" to output
orignal plain data.

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

5 years agoMLK-21847 pinctrl: imx8m: Remove DEVRES selecting
Ye Li [Mon, 22 Apr 2019 07:31:38 +0000 (00:31 -0700)]
MLK-21847 pinctrl: imx8m: Remove DEVRES selecting

The CONFIG_DEVRES is not a necessary config for pinctrl. We decouple the
dependence from the kconfig. So the DEVRES is not default enabled.

When using DWC3 gadget driver, without enabling gadget DM driver, the calling
to devm_kzalloc will cause crash if CONFIG_DEVRES is set.

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-18878 DTS: imx8mq: Change USB nodes compatible strings
Ye Li [Mon, 16 Jul 2018 06:48:54 +0000 (23:48 -0700)]
MLK-18878 DTS: imx8mq: Change USB nodes compatible strings

We enabled the DM for xhci-imx8m driver which uses compatible string
"fsl, imx8mq-dwc3". But found a issue that u-boot will get four USB bus not two.
The reason is the low level driver xhci-dwc3 also adds the DM support which uses
compatible string "snps,dwc3". Thus, one USB node and its dwc3 subnode are both
binded as independent USB bus.

Since the xhci-imx8m driver uses xhci-dwc3 as low level driver, to fix the issue
we add -u-boot.dtsi files to change the USB node compatible string to
"simple-bus" and change dwc3 node compatibe string to "fsl, imx8mq-dwc3". Then
xhci-dwc3 DM driver won't bind any node.

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

5 years agoMLK-21846-2 imx8mq_evk: Enable USB SDP in SPL
Ye Li [Mon, 22 Apr 2019 04:06:13 +0000 (21:06 -0700)]
MLK-21846-2 imx8mq_evk: Enable USB SDP in SPL

Enable the SPL SDP driver and SPL gadget drivers on iMX8MQ EVK board.

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-21846-1 imx8mq_arm2: Enable USB SDP in SPL
Ye Li [Mon, 22 Apr 2019 03:46:42 +0000 (20:46 -0700)]
MLK-21846-1 imx8mq_arm2: Enable USB SDP in SPL

Enable the SPL SDP driver and SPL gadget drivers on iMX8MQ DDR4 and
DDR3L validation boards.

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-17638 video: imx8m_hdmi: Checks HDMI FW before enabling video output
Ye Li [Wed, 28 Feb 2018 13:23:49 +0000 (05:23 -0800)]
MLK-17638 video: imx8m_hdmi: Checks HDMI FW before enabling video output

Checks whether the HDMI FW is running before initialize the HDMI display.
So that for cases like mfgtool and imx-boot image without HDMI FW, the
u-boot won't be blocked.

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

5 years agoMLK-18822 imx: Fix bootaux issue when running on ARM64
Ye Li [Wed, 11 Jul 2018 08:41:24 +0000 (01:41 -0700)]
MLK-18822 imx: Fix bootaux issue when running on ARM64

The bootaux from community uses ulong to read private data and write to M4 TCM,
this cause problem on ARM64 platform where the ulong is 8bytes.
Fix it by using u32 to replace ulong.

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

5 years agoMLK-13486: imx: logos: use NXP logo
Peng Fan [Tue, 22 Nov 2016 02:57:13 +0000 (10:57 +0800)]
MLK-13486: imx: logos: use NXP logo

Use NXP logo.
The vendor and board dir not changed, only replace the contents
of freescale.bmp.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 0b381fdf1a45cb06a057724e708ce0bbeee67f4d)
(cherry picked from commit 836461a95ca8df0f41dacf1d390a966624190524)
(cherry picked from commit ffbeb365642907957a385fe970fc69adcf87d600)

5 years agoMLK-18686-2 sc_thermal: Fix interpreting tenths as millicelsius
Ye Li [Tue, 26 Jun 2018 02:43:14 +0000 (19:43 -0700)]
MLK-18686-2 sc_thermal: Fix interpreting tenths as millicelsius

When calculate the temperature in millicelsius, the tenths are
handled incorrectly.

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

5 years agoMLK-18686-1 sc_thermal: Update thermal resources for iMX8QXP
Ye Li [Tue, 26 Jun 2018 02:40:08 +0000 (19:40 -0700)]
MLK-18686-1 sc_thermal: Update thermal resources for iMX8QXP

Since the DRC_0 thermal is disabled by SCFW, we should use SC_R_SYSTEM for
CPU thermal. Update the resources table to align with kernel.

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

5 years agoMLK-20049-2 imx8mm_val: Add DDR3L validation board support
Ye Li [Wed, 26 Sep 2018 03:27:48 +0000 (20:27 -0700)]
MLK-20049-2 imx8mm_val: Add DDR3L validation board support

Add DDR3 init codes, board codes, defconfig and DTS into u-boot.
Basic modules are ready: SD, UART, I2C, USB host and NAND.

There is a FPGA on this board. It controls WDOG_B, and ENET PHY RESET.
So reset and ethernet won't work at default.

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

5 years agoMLK-20154-1 mtd: spi: Add flash id for GD25LQ16
Ye Li [Thu, 1 Nov 2018 03:13:13 +0000 (20:13 -0700)]
MLK-20154-1 mtd: spi: Add flash id for GD25LQ16

iMX8MM DDR3L validation board uses GD25LQ16, but its id is not in
u-boot flash ids table. Add the new id and parameters into the table.

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

5 years agoMLK-18639-3 imx8mm_val: Add board codes for iMX8MM DDR4 validation board
Ye Li [Wed, 20 Jun 2018 03:06:35 +0000 (20:06 -0700)]
MLK-18639-3 imx8mm_val: Add board codes for iMX8MM DDR4 validation board

Add SPL/u-boot board codes and DDR4 settings for iMX8MM DDR4 validation board.
DDR overnight stress test is passed.

Supported modules:
    SD/eMMC, I2C, ENET, Flexspi, UART and USB.

Build config:
    imx8mm_ddr4_val_defconfig

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

5 years agoMLK-18639-2 DTS: imx8mm_val: Add DTS for iMX8MM DDR4 validation board
Ye Li [Wed, 20 Jun 2018 03:01:49 +0000 (20:01 -0700)]
MLK-18639-2 DTS: imx8mm_val: Add DTS for iMX8MM DDR4 validation board

Add a DTS file for iMX8MM DDR4 validation board whose design is similar
as iMX8MM EVK.

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

5 years agoMLK-18654-4 imx8mm_evk: Enable SPL SDP for iMX8MM EVK board
Ye Li [Fri, 19 Apr 2019 06:34:13 +0000 (23:34 -0700)]
MLK-18654-4 imx8mm_evk: Enable SPL SDP for iMX8MM EVK board

Enable the SPL SDP for iMX8MM EVK. So that when booting from USB serial
download mode, the SPL will enter SDP to download FIT image from USB host
(uuu tool) and boot into FIT image.

The SDP driver needs larger malloc pool size, so extend the SPL malloc pool
to 12KB and reduce the SPL BSS MAX to 4KB because BSS actual size is about 1KB.

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-18654-3 spl: Un-define the DM USB for SPL
Ye Li [Fri, 22 Jun 2018 02:32:33 +0000 (19:32 -0700)]
MLK-18654-3 spl: Un-define the DM USB for SPL

Since we don't support DM in SPL, undefine the DM USB in SPL build,
so it can use non-DM USB driver.

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

5 years agoMLK-18654-2 imx: Change USB boot device type
Ye Li [Fri, 22 Jun 2018 02:26:47 +0000 (19:26 -0700)]
MLK-18654-2 imx: Change USB boot device type

The SPL SDP is configured as BOOT_DEVICE_BOARD, so when booting from
USB, change its type to BOOT_DEVICE_BOARD, so we can use SDP.

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

5 years agoMLK-18654-1 usb: gadget: Update SDP to support FIT
Ye Li [Thu, 21 Jun 2018 06:01:52 +0000 (23:01 -0700)]
MLK-18654-1 usb: gadget: Update SDP to support FIT

Current SDP only supports to boot legacy image(raw). Add support to
boot FIT image.

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

5 years agoMLK-18641 arm: Remove the check for gcc6 requirement
Ye Li [Wed, 20 Jun 2018 06:40:35 +0000 (23:40 -0700)]
MLK-18641 arm: Remove the check for gcc6 requirement

The u-boot 2018 forces to use gcc 6.0 or later to save binary size for some platforms.
This check causes problem for android building because android tool chain remains
using gcc 4.9.
Since iMX6/7/8 platforms don't meet binary size issue, we can remove the checkgcc6
and use old gcc.

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

5 years agoMLK-18437-1 usb: ehci-mx6: fix board_usb_clean issue
Ye Li [Wed, 30 May 2018 03:30:46 +0000 (20:30 -0700)]
MLK-18437-1 usb: ehci-mx6: fix board_usb_clean issue

The board_usb_clean in ehci-mx6 always set to HOST. This is wrong
when we running gadget. Change to use type in private data.

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

5 years agoMLK-18243-18 imx8mm_evk: add i.MX8MM LPDDR4/DDR4 EVK board support
Ye Li [Fri, 19 Apr 2019 03:30:37 +0000 (20:30 -0700)]
MLK-18243-18 imx8mm_evk: add i.MX8MM LPDDR4/DDR4 EVK board support

Add board support for both iMX8MM LPDDR4 EVK and DDR4 EVK.
Supported peripherals: UART, I2C, NAND (DDR4 EVK), SD, USB, TCPC, ENET
FlexSPI and eMMC (LPDDR4 EVK)

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-18243 DTS: imx8mm_evk: Add DTS files for iMX8MM LPDDR4 and DDR4 EVK boards
Ye Li [Fri, 19 Apr 2019 03:26:12 +0000 (20:26 -0700)]
MLK-18243 DTS: imx8mm_evk: Add DTS files for iMX8MM LPDDR4 and DDR4 EVK boards

Add two DTS files, one for iMX8MM LPDDR4 EVK (fsl-imx8mm-evk.dts)
and another for iMX8MM DDR4 EVK.
Two boards share same base board, the major difference is the DDR4 board
installs NAND chip and removes flexspi and eMMC.

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-21845-4 imx8m: Add imximage for flexspi boot image
Ye Li [Fri, 19 Apr 2019 03:24:42 +0000 (20:24 -0700)]
MLK-21845-4 imx8m: Add imximage for flexspi boot image

Since flexspi has different IVT offset with SD/MMC, add a new imximage
for it.

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-21836-4 spi: fspi: Add compatible string for iMX8MM
Ye Li [Fri, 19 Apr 2019 02:52:23 +0000 (19:52 -0700)]
MLK-21836-4 spi: fspi: Add compatible string for iMX8MM

iMX8MM DTS uses new compatible string "fsl,imx8mm-flexspi" in flexspi
node. Add it into the flexspi driver.

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-18590 pmic: bd71837: Change to use new fdt API
Ye Li [Wed, 13 Jun 2018 02:14:29 +0000 (19:14 -0700)]
MLK-18590 pmic: bd71837: Change to use new fdt API

Changed to use dev_read_subnode to get the ofnode type of the bd71837 device node.
Because the pmic_bind_children is changed to use ofnode.

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

5 years agoMLK-14422 imx7d: wdog: Overwrite the reset_cpu to turn off internal reset signal
Ye Li [Tue, 7 Feb 2017 14:48:01 +0000 (22:48 +0800)]
MLK-14422 imx7d: wdog: Overwrite the reset_cpu to turn off internal reset signal

Set wdog WCR register SRS bit to turn off internal reset signal WDOG_RESET_B_DEB
for mx7d. So that the warm reset is disabled.
The WDA is cleared to output WDOG_B immediately to reset the board.

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

5 years agoMLK-19726-2 arm: Don't remove all devices when power domain driver is enabled
Ye Li [Wed, 26 Sep 2018 09:15:00 +0000 (02:15 -0700)]
MLK-19726-2 arm: Don't remove all devices when power domain driver is enabled

Because we power off all devices in board_quiesce_devices which is prior then
executing dm_remove_devices_flags. So any access to HW in dm_remove_devices_flags
will cause problem.
However, some drivers like ethernet which implements the pre_remove callback is always
called without any flags check, and this finally accesses FEC controller.

Since we don't need to remove all devices in u-boot before starting kernel, disable
this feature when power domain is enabled.

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

5 years agoMLK-21019 TMU: Check the TEMP range for iMX8MM
Ye Li [Thu, 28 Feb 2019 07:50:39 +0000 (23:50 -0800)]
MLK-21019 TMU: Check the TEMP range for iMX8MM

On iMX8MM, the V flag in TRISTR register only reflect the state of SNSR
value, not the calibrated TEMP value. So checking this flag is not
reliable. Per IC suggestion, change to read the TEMP/AVG_TEMP directly
and check whether it in valid range 10-125C.

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

5 years agoMLK-20966 TMU: Fix for temperature out of range
Ye Li [Fri, 22 Feb 2019 05:12:57 +0000 (21:12 -0800)]
MLK-20966 TMU: Fix for temperature out of range

When the temperature is out of sensor's range, the Valid bit won't be
set in TRITSR register. So the polling loop won't go out.

Change the codes to retry 10 times with 100ms interval for the Valid bit.
If the timeout, we give a warning for the invalid data.

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

5 years agoMLK-20784-2 imx8mm: Load fuse for TMU TCALIV and TASR
Ye Li [Mon, 21 Jan 2019 08:33:38 +0000 (00:33 -0800)]
MLK-20784-2 imx8mm: Load fuse for TMU TCALIV and TASR

On iMX8MM, the default value of TMU registers TCALIV and TASR need
be loaded from fuse. HW won't do this, it expect SW loads them before
using TMU.

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

5 years agoMLK-20784-1 TMU: Add a interface for TMU arch level initialization
Ye Li [Mon, 21 Jan 2019 08:47:04 +0000 (00:47 -0800)]
MLK-20784-1 TMU: Add a interface for TMU arch level initialization

Since imx8mm TMU needs to load some registers from fuse, this is arch
dependent operation and may vary on different platforms. So add
a interface for arch level initialization.

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

5 years agoMLK-18341-1 thermal: nxp_tmu: Add support for thermal sensor on iMX8MM
Ye Li [Fri, 18 May 2018 02:21:46 +0000 (19:21 -0700)]
MLK-18341-1 thermal: nxp_tmu: Add support for thermal sensor on iMX8MM

The analog sensors on iMX8MM are new, used for 14LPP process. So the
Temperature Sensor Monitoring Unit (TMU) has some change accordingly.
We use version 2 in TMU driver to represent the new TMU, so the one driver
can service for both MQ and MM.

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

5 years agoMLK-18322 HAB: Add suport for iMX8MM
Ye Li [Thu, 18 Apr 2019 07:20:40 +0000 (00:20 -0700)]
MLK-18322 HAB: Add suport for iMX8MM

The imx8mm has changed the address of rvt_hab, use new address for imx8mm.

The authentication procedure is same as imx8mq. In u-boot, the authentication
uses SIP call to trap ATF to run HAB authenticate.
Need to work with ATF commit:
(commit 7a4d6f90e999ed413d520310cc199901b52b7a04)

Users need to add CONFIG_SECURE_BOOT=y to defconfig to enable the feature.

Signed-off-by: Ye Li <ye.li@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
5 years agoMLK-17997: video: imx: hdp: Add HDMI RX firmware loading
Sandor Yu [Mon, 9 Apr 2018 03:29:47 +0000 (11:29 +0800)]
MLK-17997: video: imx: hdp: Add HDMI RX firmware loading

Add iMX8QM HDMI RX firmware loading.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
(cherry picked from commit 969d93660e1b34765627ff9f6f8dcab08dcd1250)
(cherry picked from commit 43bc31a2700f4078ffc5f55ff3fea0ed554f4506)

5 years agoMLK-18316 imx8: Fix USBOTG disconnect when XRDC blocking is enabled
Ye Li [Tue, 15 May 2018 09:03:19 +0000 (02:03 -0700)]
MLK-18316 imx8: Fix USBOTG disconnect when XRDC blocking is enabled

We clean USBOTG register USBCMD if it is used in serial download mode.
When XRDC blocking is enabled, we can't write this register directly,
must enable the OTG power, otherwise the kernel will get SError
exception in mfgtool.

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

5 years agoMLK-18290-4 usb: ci_udc: Add function to remove usb device
Ye Li [Fri, 11 May 2018 08:32:39 +0000 (01:32 -0700)]
MLK-18290-4 usb: ci_udc: Add function to remove usb device

When unregister gadget driver in ci_udc, the usb device is not
removed or stop. This causes next "usb start" fails to work.

Add a new interface "usb_remove_ehci_gadget" in usb-uclass to
remove the usb device for DM driver. Using "usb_lowlevel_stop" for
non-DM driver.

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

5 years agoMLK-18290-3 imx8mm: Add SOC level support for OTG USB
Ye Li [Thu, 18 Apr 2019 07:09:24 +0000 (00:09 -0700)]
MLK-18290-3 imx8mm: Add SOC level support for OTG USB

Enable the OTG power on for EHCI OTG controller on iMX8MM

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-18290-2 ehci-mx6: Update driver to support i.MX8MM
Ye Li [Fri, 11 May 2018 08:26:30 +0000 (01:26 -0700)]
MLK-18290-2 ehci-mx6: Update driver to support i.MX8MM

Since the i.MX8MM reuses the otg controllers on i.MX7D. We can use
CONFIG_USB_EHCI_MX7 for them.

Due the TCPC and load switch are used on Typec circuit. Add the
board_usb_init and board_usb_cleanup to ehci-mx6 DM driver. So
we can implement the TCPC settings in these board functions.

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

5 years agoMLK-18243-17: arm: mach-imx: fix sd to mmc1 and emmc to mmc2 for i.MX8MM
Ye Li [Wed, 9 May 2018 06:07:27 +0000 (14:07 +0800)]
MLK-18243-17: arm: mach-imx: fix sd to mmc1 and emmc to mmc2 for i.MX8MM

Since the SD is usdhc2 and eMMC is usdhc3, this cause mapping problem
for spl_boot_device. So far hard coded them to correct MMC index, so
that SD and eMMC boot can work.

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

5 years agoMLK-18243-16 arm: dts: add imx8mm dtsi and binding files
Peng Fan [Wed, 9 May 2018 05:59:54 +0000 (13:59 +0800)]
MLK-18243-16 arm: dts: add imx8mm dtsi and binding files

Sync dts from 4.14.98 Linux kernel commit
e88899128d81ea8b82dfd7d294572f21c388e568
("MLK-21424 can: flexcan: fix normal CAN can't receive
 remote frame after setting fd mode").

Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 0e7a5484878338d0dff871b6d21092a0479f07b4)
(cherry picked from commit 54a97f31802ea568e04285e0f18689811eecedcb)
Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-18243-15 spi: fspi: Fix 3bytes access
Ye Li [Thu, 18 Apr 2019 06:33:38 +0000 (23:33 -0700)]
MLK-18243-15 spi: fspi: Fix 3bytes access

The address size is 3 bytes when using BAR mode, but the driver
supposes the 4bytes mode is enabled and uses 4 bytes address. This
cause address issue.

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-18243-14 spi: fspi: init unused LUT to 0
Peng Fan [Wed, 9 May 2018 05:52:20 +0000 (13:52 +0800)]
MLK-18243-14 spi: fspi: init unused LUT to 0

If not initialize unused LUT to 0, the value is random which might
cause qspi command failure.

On i.MX8QM/QXP, it works ok because ROM inittialize them to 0, but on
i.MX8MM, ROM not initialize them, so let's do it here.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit c4bd49c7b249073415f052fb28cd5a4ad374a318)
(cherry picked from commit bce752cfe43b3378dbd84b64d46f1d1818e0300f)

5 years agoMLK-18243-12 arm: imx8m: add cpu revision for i.MX8MM
Peng Fan [Wed, 9 May 2018 05:48:59 +0000 (13:48 +0800)]
MLK-18243-12 arm: imx8m: add cpu revision for i.MX8MM

Add cpu revision for i.MX8MM
Add helper function

Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 5fdfc7d73157a5eb9254b43f65edd1bb5f13fd16)
(cherry picked from commit e33f0d97423c29e130ddecbd8d7567ca8bf1826d)

5 years agoMLK-18243-11 arm: imx8m: get cpu chip id for i.MX8MM
Ye Li [Wed, 9 May 2018 05:37:22 +0000 (13:37 +0800)]
MLK-18243-11 arm: imx8m: get cpu chip id for i.MX8MM

Using the cpu chip id in DIGPROG registers 0x824110

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

5 years agoMLK-18243-10 arm: imx8m: soc: enable SCTR clock before timer init
Peng Fan [Wed, 9 May 2018 07:50:07 +0000 (15:50 +0800)]
MLK-18243-10 arm: imx8m: soc: enable SCTR clock before timer init

To i.MX8MM SCTR clock is disabled by ROM, so before timer init
need to enable it.
To i.MX8MQ, it does not hurt the clock is enabled again.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 2347541e9e79f833716fe88f7de860b5704b5e48)
(cherry picked from commit f5cfd600cfa58d4a768e94c29aaa890fd39a2d63)

5 years agoMLK-20051-2 imx8mq_arm2: Split DDR to two banks for iMX8MQ DDR4 ARM2
Ye Li [Thu, 1 Nov 2018 01:37:45 +0000 (18:37 -0700)]
MLK-20051-2 imx8mq_arm2: Split DDR to two banks for iMX8MQ DDR4 ARM2

Because the iMX8MQ DDR4 ARM2 has 4GB DDR. To fit new MMU settings, we split
it to two banks. The first bank has 3GB DDR, reach to 4GB memory map.
The second bank has 1GB DDR, is beyond 4GB memory map.

Notice: there is no OPTEE for ARM2 board. The trust zone setting in OPTEE
for iMX8MQ EVK is not match with DDR size on ARM2 board. So ARM2 Only can
work without OPTEE.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
5 years agoMLK-20051-1 imx8m: Fix MMU table issue for OPTEE memory
Ye Li [Thu, 18 Apr 2019 06:00:01 +0000 (23:00 -0700)]
MLK-20051-1 imx8m: Fix MMU table issue for OPTEE memory

When running with OPTEE, the MMU table in u-boot does not remove the OPTEE
memory from its settings. So ARM speculative prefetch in u-boot may access
that OPTEE memory. Due to trust zone is enabled by OPTEE and that memory
is set to secure access, then the speculative prefetch will fail and cause
various memory issue in u-boot.
The fail address register and int_status register in trustzone has logged
that speculative access from u-boot.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-18243-5 arm: mach-imx: iomux: add i.MX8MM PE property
Ye Li [Wed, 9 May 2018 03:21:46 +0000 (11:21 +0800)]
MLK-18243-5 arm: mach-imx: iomux: add i.MX8MM PE property

i.MX8MM has a PE property, it does not have LVTTL

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

5 years agoMLK-18243-4 arm: imx8m: add pin header for i.MX8MM
Peng Fan [Wed, 9 May 2018 03:16:50 +0000 (11:16 +0800)]
MLK-18243-4 arm: imx8m: add pin header for i.MX8MM

Add pin header file for i.MX8MM

To IMX8MM_PAD_NAND_WE_B_USDHC3_CLK, IOMUX_CONFIG_SION needs to be
selected.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit e5d3d27f79df1c3a2b8261929e666e6bfdb69abc)
(cherry picked from commit 1127c7f41b967cffd041905254adb426bde0c48a)

5 years agoMLK-21845-3 imx8m: Append HDMI Firmware only for imx8mq
Ye Li [Mon, 22 Apr 2019 08:32:21 +0000 (01:32 -0700)]
MLK-21845-3 imx8m: Append HDMI Firmware only for imx8mq

Since only i.MX8MQ needs HDMI firmware packing into boot image. Change
the imximage.cfg with CONFIG_IMX8MQ used.

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-21845-2 imx8mm: add clk support for i.MX8MM
Ye Li [Thu, 18 Apr 2019 05:46:02 +0000 (22:46 -0700)]
MLK-21845-2 imx8mm: add clk support for i.MX8MM

Introduce clk implementation for i.MX8MM, including pll configuration,
pll decoding, ccm configuration.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-21845-1 imx8mq: restructure clock
Ye Li [Thu, 18 Apr 2019 03:37:43 +0000 (20:37 -0700)]
MLK-21845-1 imx8mq: restructure clock

i.MX8MQ and i.MX8MM use different analog pll design, but they
share same ccm design. Add clock_imx8mq.h for i.MX8MQ and
keep common part in clock.h

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-18243-2 arm: imx8m: add regs definition for i.MX8MM
Ye Li [Thu, 18 Apr 2019 02:33:15 +0000 (19:33 -0700)]
MLK-18243-2 arm: imx8m: add regs definition for i.MX8MM

Move the original imx-regs.h to imx-regs-imx8mq.h
Introduce a new file dedicated for i.MX8MM
Use CONFIG_IMX8MQ/M to choose the header in imx-regs.h

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-18243-1 arm: Kconfig: Add i.MX8MM Kconfig entry
Peng Fan [Wed, 9 May 2018 02:55:02 +0000 (10:55 +0800)]
MLK-18243-1 arm: Kconfig: Add i.MX8MM Kconfig entry

i.MX8MM is one variant of i.MX8M, so add IMX8MM entry and
change the previous i.MX8MQ boards to select IMX8MQ.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit f20e63c5e16fe84ece2686c7c16e2ba2f2862378)
(cherry picked from commit b4cd0b4267ec25d6d929df9f278cc248e6ecb133)

5 years agoMLK-18387 pmic: Add pmic driver for BD71837
Ye Li [Wed, 23 May 2018 05:43:00 +0000 (22:43 -0700)]
MLK-18387 pmic: Add pmic driver for BD71837

The iMX8MM EVK board uses BD71837MWV pmic. Add its driver to u-boot.

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

5 years agoMLK-18384 imx8mq: Add mfgtool boot check
Ye Li [Wed, 23 May 2018 02:00:19 +0000 (19:00 -0700)]
MLK-18384 imx8mq: Add mfgtool boot check

Need to define the is_boot_from_usb, so that u-boot can check whether
it is booted for mfgtool.

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

5 years agoMLK-18044-5: crypto: caam: Add secure memory vid 3 support
Aymen Sghaier [Thu, 3 May 2018 12:19:57 +0000 (14:19 +0200)]
MLK-18044-5: crypto: caam: Add secure memory vid 3 support

  In i.MX8M platforms the secure memory block has a newer version
 than those used in i.MX6/7 platforms, this patch update the driver
 to use the correct registers offsets.

Signed-off-by: Aymen Sghaier <aymen.sghaier@nxp.com>
(cherry picked from commit 0daa9c142a1809b473d101f6db9700574ce3d522)
(cherry picked from commit 7184ec3307c4347a7a7765ba72415580cd65c341)

5 years agoMLK-18044-4: crypto: caam: Fix pointer size to 32bit for i.MX8M
Aymen Sghaier [Thu, 3 May 2018 10:17:53 +0000 (12:17 +0200)]
MLK-18044-4: crypto: caam: Fix pointer size to 32bit for i.MX8M

  The CAAM block used in i.MX8M is 32 bits address size but when the flag
 PHYS_64BIT is enabled for armv8, the CAAM driver will try to use a
 wrong pointer size.
  This patch fixes this issue.

Signed-off-by: Aymen Sghaier <aymen.sghaier@nxp.com>
(cherry picked from commit 9e1ef25c121240cf3f6a142058e617dd7df0030b)
(cherry picked from commit 1733916155ca319be754c45861130df327d8a57d)

5 years agoMLK-18044-3: crypto: Add blob command support for i.MX8M platforms
Aymen Sghaier [Wed, 2 May 2018 08:34:27 +0000 (10:34 +0200)]
MLK-18044-3: crypto: Add blob command support for i.MX8M platforms

 This patch enable blob command for mScale platforms.

Signed-off-by: Aymen Sghaier <aymen.sghaier@nxp.com>
(cherry picked from commit 895669394f6aae633abf6ea3f327d6093562edde)
(cherry picked from commit bac8ed98778c93ef43ce9093efa3b9999d650576)

5 years agoMLK-18044-2: crypto: caam: Fix build warnings pointer casting
Aymen Sghaier [Tue, 1 May 2018 16:42:21 +0000 (18:42 +0200)]
MLK-18044-2: crypto: caam: Fix build warnings pointer casting

  Enabling CAAM driver for i.MX8M platforms, a 64 bits architecture,
 lead to casting warnings: from/to pointer to/from integer with
 different size. This patch fix these warnings

Signed-off-by: Aymen Sghaier <aymen.sghaier@nxp.com>
(cherry picked from commit d02fbc7d2957f4788ced017ccf17fd35ab968121)
(cherry picked from commit 79e90af14af32e86fd7efd3c84e09a0bd572ab5b)

5 years agoMLK-18044-1: crypto: caam: Add CAAM support to i.MX8M platforms
Aymen Sghaier [Tue, 1 May 2018 09:37:22 +0000 (11:37 +0200)]
MLK-18044-1: crypto: caam: Add CAAM support to i.MX8M platforms

  This patch enable CAAM support for i.MX8M platforms.

Signed-off-by: Aymen Sghaier <aymen.sghaier@nxp.com>
(cherry picked from commit 1fc92e6e34b06bdee81240ce06326aca1d9c02d8)
(cherry picked from commit b0f889b77b367b69aa0778b1d03a2ec30fdee243)

5 years agoMLK-18043 4/4: imx7ulp: Enable support for cmd blob
Franck LENORMAND [Wed, 2 May 2018 10:01:56 +0000 (12:01 +0200)]
MLK-18043 4/4: imx7ulp: Enable support for cmd blob

Signed-off-by: Franck LENORMAND <franck.lenormand@nxp.com>
(cherry picked from commit 03cb71cd22ff6ab1e2005a4bcb183c65f49b6e4e)
(cherry picked from commit 5d797db35da7fa3f7971df8811b6a1e800786ced)

5 years agoMLK-18043 2/4: caam: enable support for iMX7ULP
Franck LENORMAND [Wed, 2 May 2018 10:16:36 +0000 (12:16 +0200)]
MLK-18043 2/4: caam: enable support for iMX7ULP

Signed-off-by: Franck LENORMAND <franck.lenormand@nxp.com>
(cherry picked from commit 5f429339ab5a5f0d1f00a2880ce05cf479f11ba5)
(cherry picked from commit c26db25a130ef1f0abd43a3133877f74431eb217)

5 years agoMLK-18043 1/4: caam: change JR running loop
Franck LENORMAND [Wed, 2 May 2018 10:16:25 +0000 (12:16 +0200)]
MLK-18043 1/4: caam: change JR running loop

Signed-off-by: Franck LENORMAND <franck.lenormand@nxp.com>
(cherry picked from commit 6503c1ed0264fc61945c2b3b5948b793f104fc32)
(cherry picked from commit d1d10af5a15473377fefbca56c1dac293fb06f3b)

5 years agoMLK-18172-2: imx8: Introduce xenlinux_addr for dom0 kernel
Leonard Crestez [Fri, 27 Apr 2018 11:49:01 +0000 (14:49 +0300)]
MLK-18172-2: imx8: Introduce xenlinux_addr for dom0 kernel

Avoid overloading variable meaning and overlap with hdp_addr.

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
(cherry picked from commit 9e4b3e80b4b2f40bb35a2c8f1b5ede9868788a34)
(cherry picked from commit 7dea0df52f0100f2b363b79d793f271fac5b6fab)

5 years agoMLK-18172-1: imx8qm_mek: Load hdmi fw before dom0 kernel for xenboot
Leonard Crestez [Thu, 26 Apr 2018 19:17:45 +0000 (22:17 +0300)]
MLK-18172-1: imx8qm_mek: Load hdmi fw before dom0 kernel for xenboot

Xen boot writes ${filesize} to /chosen/module but if HDMI fw is present
then the size of hdmitxfw.bin is written instead of the size of dom0
kernel.

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
(cherry picked from commit 8823d52896aedf740899c59db3da73f8478c40ed)
(cherry picked from commit 0efebadd915a999030c2462be9c714db3ae51895)

5 years agoMA-11789 Flash system.img failed due to erasing timeout
guoyin.chen [Sun, 22 Apr 2018 10:41:20 +0000 (18:41 +0800)]
MA-11789 Flash system.img failed due to erasing timeout

Flash system partition with fastboot will earse the partition firstly
The 1.2s timeout will fail on some SD Card.
Enlarge it to 5s to make it works for most of sdcard

Change-Id: I285df411c7a07025251fd19f4c8e8b549bee2421
Signed-off-by: guoyin.chen <guoyin.chen@nxp.com>
(cherry picked from commit 642d77fb6d6412095faa6584eeef7bb0132cae57)
(cherry picked from commit 49ae851ccd00a027d122338d7b39402135041ad8)

5 years agoMLK-18129-2 imx8qxp: Add secure boot environment
Ye Li [Wed, 25 Apr 2018 09:45:32 +0000 (02:45 -0700)]
MLK-18129-2 imx8qxp: Add secure boot environment

Add the secure boot relevant environment variables to ARM2 and MEK.
When CONFIG_AHAB_BOOT is enabled, we will switch to boot in this
new way:
1. Load the OS container to address 0x98000000
2. Using auth_cntr to authenticate the OS container. It will load the
   kernel and FDT to destination address.
3. Using booti to boot kernel.

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

5 years agoMLK-18129-1 imx8: ahab: Add secure boot support
Ye Li [Wed, 25 Apr 2018 09:33:58 +0000 (02:33 -0700)]
MLK-18129-1 imx8: ahab: Add secure boot support

Add function and new command "auth_cntr" for secure boot support.
When booting with life cycle set to OEM closed, we need to use
this function to authenticate the OS container and load kernel & FDT
from OS container to their destination.

Users can set CONFIG_AHAB_BOOT=y to enable the feature. It is not
set at default.

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

5 years agoMLK-18168 imx8qm_arm2: Add xen boot commands
Leonard Crestez [Wed, 29 Nov 2017 12:56:54 +0000 (14:56 +0200)]
MLK-18168 imx8qm_arm2: Add xen boot commands

These commands try to be as generic as possible and avoid duplicating
argument values used for regular boot.

The fdt_file parameter still needs to be set to a .dtb for dom0. Booting
xen with stock dtb would require more hacks, for example lpuart
interrupt-parent = <&wu> needs to be removed.

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
(cherry picked from commit 4c671ef548e2b7f352be184215306766ebc1cc45)
(cherry picked from commit d705425c698a71fb070a04b327248bac00681111)

5 years agoMLK-17998 configs: imx8qxp_mek: add xenmmcboot and xennetboot
Peng Fan [Wed, 11 Apr 2018 07:53:18 +0000 (15:53 +0800)]
MLK-17998 configs: imx8qxp_mek: add xenmmcboot and xennetboot

Add xenmmcboot and xennetboot command.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 13f791db9a2bd0fe442115e77c91e8a56a4cf217)
(cherry picked from commit f71b5a989d0292e17f8a5ad526ea8faa3d28ea60)

5 years agoMLK-17842 imx8: introduce partition cmd
Peng Fan [Tue, 20 Mar 2018 03:17:53 +0000 (11:17 +0800)]
MLK-17842 imx8: introduce partition cmd

Add partition API cmd support.
And parse dtb support, see
arch/arm64/boot/dts/freescale/fsl-imx8qm-mek-dom0.dts for example.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit f61119240922ad13fd573f16c02361d7228fbd67)
(cherry picked from commit ef488a85953398838c5242aed66c917547f7f918)

5 years agoMLK-21831-5 sci_api: Update SCFW API for partition
Ye Li [Wed, 17 Apr 2019 09:26:12 +0000 (02:26 -0700)]
MLK-21831-5 sci_api: Update SCFW API for partition

Add relevants SCFW APIs used in imx8 partition implementation

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-21831-4 sci_api: Update SCFW API for ahab
Ye Li [Wed, 17 Apr 2019 08:53:36 +0000 (01:53 -0700)]
MLK-21831-4 sci_api: Update SCFW API for ahab

Add relevants SCFW APIs used in AHAB implementation

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoMLK-17786: imx8qm: add xen boot script
Peng Fan [Tue, 13 Mar 2018 01:46:39 +0000 (09:46 +0800)]
MLK-17786: imx8qm: add xen boot script

Add XEN boot script to ease booting.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 2fd813fcfcb82f28f353fbdc727765d6e848bfd7)
(cherry picked from commit 28caf1e050765a040b1290c210b40563b30cca3c)

5 years agoMLK-17143 imx8qxp: mek: add xen env
Peng Fan [Sun, 10 Dec 2017 02:01:30 +0000 (10:01 +0800)]
MLK-17143 imx8qxp: mek: add xen env

Add xen env, "run xenboot" to boot xen.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit d5f756f0de780d6e8db2f43f8388083f9454dcac)
(cherry picked from commit 9c9f854b7a5952f66423145ea18c77a9dfb0a99c)

5 years agoMLK-17919: imx: Avoid hardcoded Job Ring Max size
Breno Lima [Fri, 23 Mar 2018 20:25:15 +0000 (17:25 -0300)]
MLK-17919: imx: Avoid hardcoded Job Ring Max size

Prior instantiating RNG we have to ensure if the CAAM job rings are
available. Avoid hardcoded job ring max size and use the definition at
fsl_sec.h

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

5 years agoMLK-17918: imx: Ensure CAAM clock is enabled prior getting out_jr_size
Breno Lima [Fri, 23 Mar 2018 20:21:38 +0000 (17:21 -0300)]
MLK-17918: imx: Ensure CAAM clock is enabled prior getting out_jr_size

Prior calling sec_in32() we have to ensure CAAM clock is enabled, the
function sec_in32() is reading CAAM registers and if CAAM clock is disabled
the system will hang.

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

5 years agoMLK-17917: imx: Avoid hardcoded output ring size register offset (ORSR)
Breno Lima [Fri, 23 Mar 2018 20:17:04 +0000 (17:17 -0300)]
MLK-17917: imx: Avoid hardcoded output ring size register offset (ORSR)

The CAAM output ring size register offset is currently defined in fsl_sec.h
as FSL_CAAM_ORSR_JRa_OFFSET, use this definition to avoid hardcoded value in
i.MX common code.

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

5 years agoMLK-17915: cmd: blob: Instantiate RNG before running CMD_BLOB
Breno Lima [Fri, 23 Mar 2018 20:05:47 +0000 (17:05 -0300)]
MLK-17915: cmd: blob: Instantiate RNG before running CMD_BLOB

U-Boot can instantiate CAAM RNG if needed by crypto operations.
Call sec_init() prior running a blob operation to ensure
RNG is correctly instantiated.

Make sure CAAM clock is enabled and check if a job ring is
available for that operation.

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

5 years agoMLK-17914: cmd: blob: Add SECURE_BOOT and CAAM supported SoCs as dependency
Breno Lima [Fri, 23 Mar 2018 19:25:33 +0000 (16:25 -0300)]
MLK-17914: cmd: blob: Add SECURE_BOOT and CAAM supported SoCs as dependency

In order to build CMD_BLOB on i.MX CAAM supported devices it's
necessary to select SECURE_BOOT. Add SECURE_BOOT and CAAM supported
SoCs as dependency.

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

5 years agoMLK-18169 imx: imx7 Support for Manufacturing Protection
Breno Lima [Tue, 14 Nov 2017 22:10:45 +0000 (20:10 -0200)]
MLK-18169 imx: imx7 Support for Manufacturing Protection

This code was originally developed by Raul Cardenas <raul.casas@nxp.com>
and modified to be applied in U-Boot imx_v2017.03.

More information about the initial submission can be seen
in the link below:
https://lists.denx.de/pipermail/u-boot/2016-February/245273.html

i.MX7D has an a protection feature for Manufacturing process.
This feature uses asymmetric encryption to sign and verify
authenticated software handled between parties. This command
enables the use of such feature.

The private key is unique and generated once per device.
And it is stored in secure memory and only accessible by CAAM.
Therefore, the public key generation and signature functions
are the only functions available for the user.

The manufacturing-protection authentication process can be used to
authenticate the chip to the OEM's server.

Command usage:

Print the public key for the device.
- mfgprot pubk

Generates Signature over given data.
- mfgprot sign <data_address> <data_size>

Signed-off-by: Raul Ulises Cardenas <raul.casas@nxp.com>
Signed-off-by: Breno Lima <breno.lima@nxp.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit db2dbf622d3c711b2fbd85e6814992e023479dad)

5 years agoMLK-16753-1 imx8m: add optee node according to runtime status
Peng Fan [Thu, 2 Nov 2017 05:47:24 +0000 (13:47 +0800)]
MLK-16753-1 imx8m: add optee node according to runtime status

If TEE is enabled according to rom_pointer[0,1] passed to BL33
from ATF, uboot need to add the optee node in dts to let
Kernel could probe the TEE driver.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 4341d35cc99a6226f2671e15154d3148ebf49c47)

5 years agoMLK-17404-7 config: Adding support for i.MX8M HDMI splash
Oliver Brown [Mon, 29 Jan 2018 20:25:58 +0000 (14:25 -0600)]
MLK-17404-7 config: Adding support for i.MX8M HDMI splash

Adding support for i.MX8M HDMI splash screen

Signed-off-by: Oliver Brown <oliver.brown@nxp.com>
(cherry picked from commit d8aac64be7d83847cff8a2235e1be677964a1a9d)
(cherry picked from commit a84dedb3516d14f947dccf6a5e177b00d0509017)

5 years agoMLK-17404-6 video: Adding i.MX8 HDMI support to configuration
Oliver Brown [Mon, 29 Jan 2018 20:23:56 +0000 (14:23 -0600)]
MLK-17404-6 video: Adding i.MX8 HDMI support to configuration

Adding i.MX8 HDMI support to build configuration.

Signed-off-by: Oliver Brown <oliver.brown@nxp.com>
(cherry picked from commit 2edbbe51df0817876b943760a272640e3c9bff70)
(cherry picked from commit 0857e58bc7eaea5da6cdde14cdd8f72293a83273)

5 years agoMLK-17404-5 board: freescale: Adding support for i.MX8MQ EVK display
Ye Li [Fri, 20 Apr 2018 06:37:28 +0000 (23:37 -0700)]
MLK-17404-5 board: freescale: Adding support for i.MX8MQ EVK display

Adding basic display support for splash screen.

Signed-off-by: Oliver Brown <oliver.brown@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit 31058332c273d181390560ae2b88209b628f5842)
(cherry picked from commit 367e8bdaf391dc83455ef2e7e28d6dbf00dbbe2c)

5 years agoMLK-17404-4 arch: arm: Adding support for i.MX8M display
Ye Li [Fri, 20 Apr 2018 06:28:13 +0000 (23:28 -0700)]
MLK-17404-4 arch: arm: Adding support for i.MX8M display

Adding Display support for splash screen.

Signed-off-by: Oliver Brown <oliver.brown@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit 8733549494dfa18d9317d76a8fabad8b41e6dcf6)
(cherry picked from commit 18d86b0683b57da3b778cc15ee214bd92ee35ac2)

5 years agoMLK-17404-3 arch: arm: Adding support for i.MX8M HDMI
Oliver Brown [Mon, 29 Jan 2018 20:11:06 +0000 (14:11 -0600)]
MLK-17404-3 arch: arm: Adding support for i.MX8M HDMI

Adding basic HDMI support for i.MX8M for splash screen.

Signed-off-by: Oliver Brown <oliver.brown@nxp.com>
(cherry picked from commit 390a15a523c5aefb99008a5f67d6c8f9ec7ef63c)
(cherry picked from commit d0569911819015931bc26686aa854a62e04fc530)

5 years agoMLK-17404-2 include: Adding header for i.MX8 HDMI support
Oliver Brown [Mon, 29 Jan 2018 20:08:44 +0000 (14:08 -0600)]
MLK-17404-2 include: Adding header for i.MX8 HDMI support

Adding header file for i.MX8 HDMI support

Signed-off-by: Oliver Brown <oliver.brown@nxp.com>
(cherry picked from commit 42f1298bdeac2e37d30ce4c1265696b3c46fb107)
(cherry picked from commit 80a5d47915da7bcb87fa40b80051d687a0f756b4)