Age | Commit message (Collapse) | Author |
|
Add board codes, configurations, DTS and DDR initialization codes for the
DDR3L and DDR4 ARM2 boards.
Supported modules
- DDR3L ARM2: Two RANK DDR3L, QSPI B, eMMC/SD, RMII ENET, UART.
- DDR4 ARM2: Two RANK DDR4, SD, NAND, RGMII ENET, UART.
NAND read/write/erase is ok in u-boot, NAND SPL boot will be tested later
when tool is ready.
Signed-off-by: Ye Li <ye.li@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
|
|
Update the gpmi/apbh_dma/bch drivers and relevant registers for i.MX8M.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
The i.MX8MQ DDR3L ARM2 boards uses gd25q16c flash device, add its id
to spi flash ids table.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
Add 400Mhz, 600Mhz and 800Mhz frequencies for dram pll init function to
support DDR3L/DDR4/LPDDR4.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
Enable the RX and TX FIFO in LPUART driver to avoid the input lost
during u-boot boot up.
Signed-off-by: Ye Li <ye.li@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
|
|
Sync the FEC1 and FEC2 pad settings with latest kernel DTS
(commit a67f777dfb805fa72ffe31911a18d8c0a9683f73)
Signed-off-by: Ye Li <ye.li@nxp.com>
Acked-by Fugang Duan <fugang.duan@nxp.com>
|
|
When IMX_OPTEE is enabled for secure boot, update bootm to authenticate the optee
image and the kernel zImage before booting into optee.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
Fix mfgtool bootcmd error
Signed-off-by: Peng Fan <peng.fan@nxp.com>
|
|
Due to RGMII interface timing requirement for imx8qm/qxp mek and arm2
board, it needs to enable RX clock delay.
It should not depend on HW default status since kernel may clear the
bit only on imx8qm/qxp platforms, then reboot test will cause uboot
networking failed.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
|
Add defconfig for tee support;
Enable the TZASC support;
Add env config for tee support.
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
|
|
Add different defconfig for optee;
Enable the TZASC support;
Add env config for tee support.
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
|
|
Print out atf commit in U-Boot.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
|
|
1. With this change, no flickering when LCDIF + MIPI-DSI
in 720p60 single display case
2. With this change, no flickering when DCSS in 4kp60
while running 4x memtester at the same time
side effect:
GPU resolve performance downgrade ~20%, no obvious impact
to non-resolve GPU cases.
Signed-off-by: Jian Li <jian.li@nxp.com>
|
|
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>
|
|
The EVK board does not use external pull up resistor for SD CD pin, it requires
the pad to be configured as pull up, otherwise the signal level is always low even
the card is not inserted.
This patch configures the pad of CD and RESET to pull up to align with kernel,
although there is already a external pull up for RESET.
Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
|
|
When secure boot is enabled, add authenticate_image in booti to authenticate
kernel image.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
When current EL is not EL3, the direct calling to HAB will fail because
CAAM/SNVS can't initialize at non-secure mode. In this case, we use
SIP call to run the HAB in ATF.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
Need to pass total 5 arguments for SIP HAB call, so update the interface
to add new argument.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
The TMU calibration data in u-boot DTB is not updated, so the temperature
we got in u-boot won't exceed 40C.
This patch updates the TMU node with latest kernel DTB
(commit ee0a9fbdca80b058c00d74c6afa70558f6c1dcc6)
Signed-off-by: Ye Li <ye.li@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
|
|
The codes use the QSPI when booting from Flexspi, this cause u-boot prints
out unknown device if we boot from Flexspi NOR.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
Correct Copyright
Signed-off-by: Peng Fan <peng.fan@nxp.com>
|
|
We found USB issue when using super-speed for mfgtool, temporally work around
the problem to use high-speed only.
Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Li Jun <jun.li@nxp.com>
|
|
This fixes SCFW commits with leading zeros like
0245582bf4a58289e25c59fb0befe84923ca6742 being displayed as "245582b".
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
|
|
When running mfgtool, the HDMI FW won't be loaded. U-boot has to disable these
new added HDMI and display relevant nodes in DTB.
Signed-off-by: Ye Li <ye.li@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
|
|
Current u-boot init stack on mScale EVK is from 0x40f00000 to 0x41000000.
This address overlays with kernel load address. When running mfgtool, the
loaded kernel will be overwritten by this stack. So we change the init stack
to the first 512KB DDR memory.
Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
|
|
Set NAND_USDHC_BUS_CLK_ROOT to sys pll1 266M
Signed-off-by: Peng Fan <peng.fan@nxp.com>
|
|
It need to send muti data through usb for fastboot commands(fastboot getcar all)
this patch use usb_ep_queue to queue usb data.
Change-Id: I5fd256868ac43163a21417a0634dd194e31f3eb7
Signed-off-by: Li Jun <jun.li@nxp.com>
|
|
Found HAB build warnings on mScale, those relate to ARM 64 bits conversion.
arch/arm/imx-common/hab.c: In function ‘csf_is_valid’:
arch/arm/imx-common/hab.c:556:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
!chk_bounds((const uint8_t *)ivt_initial->csf,
^
In file included from arch/arm/imx-common/hab.c:14:0:
arch/arm/imx-common/hab.c:557:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
HAB_HDR_LEN(*(const struct hab_hdr *)ivt_initial->csf),
^
./arch/arm/include/asm/imx-common/hab.h:177:40: note: in definition of macro ‘HAB_HDR_LEN’
((size_t)(((const struct hab_hdr *)&(hdr))->len[0] << 8) \
^~~
arch/arm/imx-common/hab.c:557:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
HAB_HDR_LEN(*(const struct hab_hdr *)ivt_initial->csf),
^
./arch/arm/include/asm/imx-common/hab.h:178:41: note: in definition of macro ‘HAB_HDR_LEN’
+ (size_t)((const struct hab_hdr *)&(hdr))->len[1])
^~~
arch/arm/imx-common/hab.c:563:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
csf_hdr = (const uint8_t *)ivt_initial->csf;
Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
|
|
Found secure boot build error and warning for some i.MX6 platforms without
CONFIG_ROM_UNIFIED_SECTIONS defined. Fix them in this patch.
In file included from arch/arm/imx-common/hab.c:14:0:
arch/arm/imx-common/hab.c: In function ‘hab_rvt_report_event’:
./arch/arm/include/asm/imx-common/hab.h:152:59: error: ‘HAB_RVT_BASE_ARM64’ undeclared (first use in this function)
^
arch/arm/imx-common/hab.c:23:29: note: in expansion of macro ‘HAB_RVT_REPORT_EVENT_ARM64’
((hab_rvt_report_event_t *)HAB_RVT_REPORT_EVENT_ARM64) : \
^
arch/arm/imx-common/hab.c:153:30: note: in expansion of macro ‘hab_rvt_report_event_p’
hab_rvt_report_event_func = hab_rvt_report_event_p;
^
./arch/arm/include/asm/imx-common/hab.h:152:59: note: each undeclared identifier is reported only once for each function it appears in
^
arch/arm/imx-common/hab.c:23:29: note: in expansion of macro ‘HAB_RVT_REPORT_EVENT_ARM64’
((hab_rvt_report_event_t *)HAB_RVT_REPORT_EVENT_ARM64) : \
arch/arm/imx-common/hab.c:126:23: warning: 'gd_save' defined but not used [-Wunused-variable]
static volatile gd_t *gd_save;
Signed-off-by: Ye Li <ye.li@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
|
|
The u-boot running address is 0x40200000, and the image size is larger than 512KB.
If we set kernel load address to 0x40280000, when using mfgtool, the kernel loading
will overwrite the u-boot image in DDR and cause u-boot crash.
Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
|
|
Use netboot when mmcboot fail.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
|
|
The WDT is enabled for WDOG in current u-boot reset, this cause external WDOG_B
and internal WDOG_RESET_B_DEB both asserted for timeout. To avoid any unpredictable
behavior, change to use the WDOG_B only.
Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
|
|
Disable the LTSSM when link is down.
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
|
|
Add back LPDDR4 performance register settings
Signed-off-by: Peng Fan <peng.fan@nxp.com>
|
|
Fix init ram space. Otherwise uboot will override ATF stack space
and cause unexpected issues.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
|
|
For proper authentication users must check the IVT before authenticating the
kernel image. If the IVT DCD pointer is not 0, display an error as shown below
and return a boot failure.
Authenticate image from DDR location 0x12000000...
Error: DCD pointer must be 0
Authenticate zImage Fail, Please check
Signed-off-by: Utkarsh Gupta <utkarsh.gupta@nxp.com>
|
|
For proper authentication users must check if the CSF is valid. This patch
calls the csf_is_valid function prior to authenticating the image to parse
the CSF and returns a failure if an invalid command is found as shown below.
Authenticate image from DDR location 0x12000000...
Check CSF for Write Data command before authenticating image
Error - WRITE Data command found
Authenticate zImage Fail, Please check
Signed-off-by: Utkarsh Gupta <utkarsh.gupta@nxp.com>
|
|
add the nand boot related environments for i.MX8QXP ARM2 board.
Signed-off-by: Han Xu <han.xu@nxp.com>
|
|
600ms is not enough to erase erase_grp_size for some sdcard.
enlarge to to 1200ms.
Change-Id: Ic980794fa3064f92b479b87380e694f853f83c6a
Signed-off-by: zhang sanshan <sanshan.zhang@nxp.com>
|
|
Make do_fastboot_unlock() and fastboot_lock() return FbLockState
type and correct the compare logic in cb_flashing().
Change-Id: I6df6f39a8aa3197299daa0d64408ac72a54fb5e9
Signed-off-by: ji.luo <ji.luo@nxp.com>
|
|
Since i.MX8M A0 has HW issue in CPU idle, we must disable the function
when running on A0 chip. This patch checks the CPU rev and remove the
"cpu-idle-states" from cpu nodes to disable the CPU idle.
Signed-off-by: Ye Li <ye.li@nxp.com>
Tested-by: Bai Ping <ping.bai@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
|
|
Add android configure to support mx8qm mek board on android build.
Change-Id: I6dd885258f58c2f81b81bba87ca56184c653b9a1
Signed-off-by: Richard Liu <xuegang.liu@nxp.com>
|
|
Introduce two board level callback functions to FIT image loading process, and
a SPL_FIT_FOUND flag to differentiate FIT image or RAW image.
Implement functions in imx common SPL codes to call HAB funtion
to authenticate the FIT image. Generally, we have to sign multiple regions
in FIT image:
1. Sign FIT FDT data (configuration)
2. Sign FIT external data (Sub-images)
Because the CSF supports to sign multiple memory blocks, so that we can use one
signature to cover all regions in FIT image and only authenticate once.
The authentication should be done after the entire FIT image is loaded into
memory including all sub-images.
We use "-p" option to generate FIT image to reserve a space for FIT IVT
and FIT CSF, also this help to fix the offset of the external data (u-boot-nodtb.bin,
ATF, u-boot DTB).
The signed FIT image layout is as below:
--------------------------------------------------
| | | | | | | |
| FIT | FIT | FIT | | U-BOOT | ATF | U-BOOT |
| FDT | IVT | CSF | | nodtb.bin | | DTB |
| | | | | | | |
--------------------------------------------------
Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
|
|
For external data, FIT has a optional property "data-position" which
can set the external data to a fixed offset to FIT beginning.
Add the support for this property in SPL FIT.
Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
|
|
Add some SOC level codes and build configurations to use HAB lib for
CONFIG_SECURE_BOOT, like adding the SEC_CONFIG fuse, enable fuse driver,
CAAM clock function, and add CAAM secure RAM to MMU table.
The FSL_CAAM is temporally not enabled for iMX8M when CONFIG_SECURE_BOOT is set,
because we don't need the CAAM driver for SPL.
Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
|
|
There are some changes to support ARM64 i.MX8M platform in this patches:
1. The hab_rvt base and function vectors are different as i.MX6/7
2. Need to bypass an workaround for i.MX6 to fix problem in MMU.
3. The x18 register needed save & restore before calling any HAB API. According
to ARM procedure call spec, the x18 is caller saved when it is used as
temporary register. So calling HAB API may scratch this register, and
cause crash once accessing the gd pointer.
On ARMv7, the r9 is callee saved when it is used as variable register. So
no need to save & restore it.
Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
|
|
ATF has been moved to OCRAM, it is no longer in DRAM, so
let Uboot could use that space.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
|
|
Support DDR3 ARM2 board.
Most parts are same as LPDDR4 ARM2 board, so share code
with LPDDR4 ARM2.
The DRAM size is 1GB on DDR3 ARM2 board.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
|
|
Change to use more generic name for DDR files and public functions used in SPL,
not specified to LPDDR4.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
The calculation of memory bank size is wrong when the memory on the board is
less than 2GB. It causes memory bank exceeding the real DDR end, and cause
crash in kernel. Fix the issue in this patch.
Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
|