Skip to content

Conga smx95 dev#7

Open
embedded26 wants to merge 1423 commits intonxp-imx:lf_v2025.04from
embedded26:conga-smx95-dev
Open

Conga smx95 dev#7
embedded26 wants to merge 1423 commits intonxp-imx:lf_v2025.04from
embedded26:conga-smx95-dev

Conversation

@embedded26
Copy link

Please do not submit a Pull Request via github. Our project makes use of
mailing lists for patch submission and review. For more details please
see https://u-boot.readthedocs.io/en/latest/develop/sending_patches.html

The only exception to this is in order to trigger a CI loop on Azure prior
to posting of patches.

luoji-nxp and others added 30 commits April 28, 2024 21:32
Move the MCU RDC config to dts, it will be parsed by
SPL and stored in OCRAM_S, then the MCU RDC config will
be setup before MCU kicking.

Use HAB to verify the MCU image to guarantee its integrity.

Change-Id: I82dd378a6516b4d3cc47c5de2e403d817ba80256
Signed-off-by: Ji Luo <ji.luo@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit 2e972e4)
As JR0 is reserved to secure world for HAB (secure boot),
commit 'ed618ce6a9 (LFU-219)' switch to use JR1 in uboot.
But this will cause conflict with Android as JR1 is
assigned to secure world for Trusty OS.

Since android doesn't use CAAM in uboot so we just skip the
JR probe in uboot to avoid conflicts.

Test: Boots on imx8mp.

Signed-off-by: Ji Luo <ji.luo@nxp.com>
Reviewed-by: Gaurav Jain <gaurav.jain@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit 8fdf9c3)

Change-Id: Ic79a54f90ecf8ed55140fc45b731716664180fd5
The ID attestation is supported by default in Trusty
OS now, but the format of data is different with the
NXP implemented one. This commit abandons the NXP
implementation and sync the process and data format
with Trusty OS.

Test: ID provision and attestation.

Signed-off-by: Ji Luo <ji.luo@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
Change-Id: I87d4fe98125858cfac4a997c70fcb66826c5710a
(cherry picked from commit 2786fc5)
For compressed kernel image, its size should be read
from uncompressed image or the size would be wrong.

Signed-off-by: Ji Luo <ji.luo@nxp.com>
Change-Id: I88a426d2e0b7595e8b20544c81ba26912a54df3b
(cherry picked from commit b240b9f)
This commit supports booting with boot header v4.
Main updates in boot header v4:
  boot image:
    1. "boot signature" would be added to the boot image
        to help attest the GKI boot image signed by Google.
  vendor boot image:
    1. multiple ramdisk are supported. This commit will only
       support one default ramdisk loading for now.
    2. bootconfig are supported. All build time and run time
       androidboot.* parameters should be removed from bootargs
       and should be concatenated right after the ramdisk.

Test: boots with boot header v3 and v4.

Signed-off-by: Ji Luo <ji.luo@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
Change-Id: I92ea8d593a91fc14b417774956b58a94cc7b3d81
(cherry picked from commit a9bbf7a)
Setting the CSU configs to enhance the imx8mq security. And as
the ocram space reserved for TF-A is very limited (64 KB), the
code size would overflow the limit if setting csu configs in TF-A,
so this commit will set it in spl.

Signed-off-by: Ji Luo <ji.luo@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
Change-Id: If9d2c20401cb256174aa2e9a72cae2686e58c7bd
(cherry picked from commit 9f08e16)
Guard the mppubk extraction function so it can be
disabled for shipping images.

Test: run "fastboot oem get-mppubk" with the config
      enabled and disabled.

Signed-off-by: Ji Luo <ji.luo@nxp.com>
(cherry picked from commit 10c3b93)

Change-Id: I603b55fce00fc100bd42a574b1f9672c34045d7b
The boot security patch level should be set in bootloader
and it will be returned in the TEE enforced authorization
list.

After building with the "BOOT_SECURITY_PATCH" set, the boot
security patch level would be set as a vbmeta property and
would be saved in the vbmeta struct in boot image.

This commit would parse the boot security patch level (which
is in YYYY-MM-DD format) and pass it to keymaster TA.

Test: Set and get boot security patch level &&
      VtsHalKeymasterV4_0Target module run

Change-Id: Iac75579c680e8b80b28d3a82cd17cbcd8a93509e
Signed-off-by: Ji Luo <ji.luo@nxp.com>
(cherry picked from commit 8816d0a)
Return the AHAB status (OEM CLOSED or not) for imx8ulp.

Signed-off-by: Ji Luo <ji.luo@nxp.com>
Change-Id: I602bec992aeae39e92625aa090f5571d7cdc0f1c
(cherry picked from commit 85295df)
Add RDC config functions so we can config the RDC on
i.MX 8MQ in SPL.

Signed-off-by: Ji Luo <ji.luo@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
Change-Id: I0cf4b7a11438afa460b9eb486ad865b74df28125
(cherry picked from commit f3033e7)
RDC:
DCSS is configured as domain2 by default.

Memory policy configured as below.
secure memory:
Domain 2 read/write. Domain 0 write only. Domain 3 read/write.

non-secure memory:
Domain 2 read only. Domain 0 read/write. Domain 3 read/write.

CSU:
When android with tee, the VPU needs to be configured as
CSU_SEC_LEVEL_5, that only the TEE kernel is allowed to read and
write the VPU.

Change-Id: I16b5071f5b6aa92c6f69e0ae1eea7cd74bcb4a9b
Signed-off-by: zhai.he <zhai.he@nxp.com>
Bootloader gets the ramdisk load address form vendor_boot header
which is set at compile time. But sometimes the ramdisk may overlap
with kernel/dtb when the kernel image is getting bigger (e.g. enable
some debug configs).

This commit checks the ramdisk load address before loading ramdisk,
relocate the ramdisk to the end of dtb (4K alignment) if there's overlap.

Change-Id: I29337e1ccf373a1058f7fcca528c68f7a0207fc6
Signed-off-by: Ji Luo <ji.luo@nxp.com>
(cherry picked from commit ee42a6178f1623d375cda8e31c7ffb1537391711)
(cherry picked from commit 8a49846)
Load the platform ramdisk from init_boot partition when
it is present.

Test: boots with init_boot enabled and disabled.

Change-Id: I1a17b0d607a5a929adfb65667b691cedb78c6429
Signed-off-by: Ji Luo <ji.luo@nxp.com>
(cherry picked from commit 107b7e3)
Add TEE memory to the memory resources managed by RDC.
By default, domain2 can only read TEE memory.

Change-Id: I90b112f7524bfd1686d45bb9229e2fe9df76d282
Signed-off-by: zhai.he <zhai.he@nxp.com>
Eliminate below build warnings on some arm32 platforms:
  boot/image-android.c: In function 'trailer_exist':
  boot/image-android.c:62:18: warning: cast to pointer from integer of different size
  [-Wint-to-pointer-cast]
    return !strncmp((char*)(bootconfig_end_addr - BOOTCONFIG_MAGIC_SIZE),
      	      ^
  boot/image-android.c: In function 'add_bootconfig_trailer':
  boot/image-android.c:92:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    memcpy((void *)(end), &bootconfig_size, BOOTCONFIG_SIZE_SIZE);
             ^

Change-Id: I582da9d70289bbcc3f7e383a8d2397cdea8813be
Signed-off-by: Ji Luo <ji.luo@nxp.com>
The init can parse 'androidboot.boot_devices' and use its value
as the boot device directly. This commit reads from the device tree
and passes the correct 'androidboot.boot_devices' according to
current boot device so we can get rid of the hack in init.

Change-Id: I31accc254e32e55dfbd92e356b7c2357ff3098c2
Signed-off-by: Ji Luo <ji.luo@nxp.com>
Add support to check the rollback index of next stage images (ATF,
TEE, u-boot proper) in SPL to harden the security. And because there
is no backup bootloader image to fall back to so the board would hang
in SPL if rollback index is rejected.

Change-Id: I4c7d1f084dd5b3d37899a9e4c4755c03145542c7
Signed-off-by: Ji Luo <ji.luo@nxp.com>
spl needs to write back the misc info sometimes when trusty
is enabled, enable the spl write config.

Change-Id: If645e7c3e0c421e14800c401ec357d107b386806
Signed-off-by: Ji Luo <ji.luo@nxp.com>
Set the correct console in bootargs for imx8mm ddr4 board.

Change-Id: Idbbcdaf2968036b6e13aa424ef798a1a82985aa9
Signed-off-by: Ji Luo <ji.luo@nxp.com>
The widevine L1 need to support VP9 4K format video,
and the size of secure heap is not enough for it, so need
to expand the size of secure heap.

The restrictions on the secure heap in the spl stage,
and expnasion of secure heap may affect the use of memory in the
uboot stage. In order to prevent affecting uboot from using secure heap
range, the memory policy are not configured in the spl stage by
default. Only widevine TA or confirmationUI TA is loaded, will
configure it in TEE.

Change-Id: Ib8f0a10b26e3900c66757f7a684270a061e62f46
Signed-off-by: zhai.he <zhai.he@nxp.com>
move the enet1 to mcu domain as mcu may use it.

Change-Id: I65d42d37c97139cf51b00f541e6688e2a97cc624
Signed-off-by: Ji Luo <ji.luo@nxp.com>
New imx8ulp_watch files are based on imx8ulp_evk and modified for watch board.

Change-Id: I0ad6130cd7df60cb453abb9adcf36242f3cc0fd5
Signed-off-by: Zhang Bo <bo.zhang@nxp.com>
Signed-off-by: Maximus Sun <maximus.sun@nxp.com>
Add display panel driver to imx8ulp watch board.

Change-Id: Idb2a9f9b0ea0bbce6f27994fe8a29c05619763aa
Signed-off-by: Zhang Bo <bo.zhang@nxp.com>
This commit fixes coverity issue 17549530 and 17549529.

Signed-off-by: Ji Luo <ji.luo@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
Change-Id: I8e78df57fa7c76621d660e68785de2d96e864e07
…ifier

Fix Coverity Issue 10473658, 10473663, 10473664 and 10473668. Use "%lu"
for "uint64_t" and "unsigned long" parameter in printf to fix the type
mismatch issue.

Signed-off-by: Ji Luo <ji.luo@nxp.com>
Change-Id: Ic1642ab4d5aecee9676b65582b04eaca4c16d3c2
Fix Coverity Issue 10473656. Use "%s" instead of "%" to
print the function name.

Signed-off-by: Ji Luo <ji.luo@nxp.com>
Change-Id: I3158b2504a2be0330eb982d279811ca88935a902
(cherry picked from commit 4339a48)
Fix Coverity Issue 10473659 and 10473672. Pass correct parameter
to fix the extra argument issue.

Signed-off-by: Ji Luo <ji.luo@nxp.com>
Change-Id: I72e30250827ad0c48e079a7048bdb40773c17a96
(cherry picked from commit ed061b4)
Fix Coverity Issue 10473654. Add 'break' statememt for 'case 2' to
fix MISSING_BREAK issue.

Signed-off-by: Ji Luo <ji.luo@nxp.com>
Change-Id: I33072ffeb1b8ecf108d1fbea8bc14905a23facc3
(cherry picked from commit e1155dc)
This commit fixes Coverity Issue: 11468195, avoid
uninitialized value using.

Test: AVB check.

Change-Id: I04eb8faafd6c9a9fec1aeae0b29edc6940251094
Signed-off-by: Ji Luo <ji.luo@nxp.com>
(cherry picked from commit 742cc182bf9d0d0a7c8cecdac2a328e5c0bd64cb)
The usedata partition fs type is switched to be f2fs. Set it uboot for
the return result of "fastboot getvar" command, and the "fastboot format
userdata" can automatically format the userdata partition as f2fs.

For read-only partitions with android rootfs images, the fs type is
switched to be erofs. Althrough these partitions are dynamic partitions
which cannot be recognized by uboot, set their types still.

Change-Id: I393c18fc9f707f9a5d800e3721935a1624c0e0e9
Signed-off-by: faqiang.zhu <faqiang.zhu@nxp.com>
Ye Li and others added 23 commits October 16, 2024 16:37
Since u-boot regulator does not support vin-supply property.
Explicitly enable aqr-stby regulator for enetc2.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Linux kernel 6.12 default enable_virt_at_load which will update VBAR_EL2
that not able to set hyp vector by Jailhouse. So set the module
parameter to false when booting with jailhouse devicetree.

script:
sed -i 's/setenv jh_clk/setenv jh_clk kvm.enable_virt_at_load=false/' include/configs/*.h

Reviewed-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Jailhouse needs to reserve memory for other cells. This can be done
through U-Boot API fdt_fixup_memory_banks which can update the existing
DT memory node before starting kernel. Newly added environment variable
jh_root_mem sets the memory space used by Jailhouse root cell.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
…nfiguration

Fix incorrect bitwise operation about DISP_PARA registers.

Signed-off-by: Pengfei Li <pengfei.li_1@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
The pmic pf9453 A2 has changed the LDO_SNVS voltage range, so update it.

Signed-off-by: Joy Zou <joy.zou@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
The pmic pf9453 A2 has changed the LDO_SNVS voltage range, so update it.

Signed-off-by: Joy Zou <joy.zou@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
The device name LDOS_NVS is wrong, so correct it.

Signed-off-by: Joy Zou <joy.zou@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
Add SecretKeeper client to retrive the identity from Trusty OS.
This commit is aligned with below commit in trusty bootloader lib:
  97f9dc9 Implement Secretkeeper bootloader client library

Signed-off-by: Ji Luo <ji.luo@nxp.com>
The AVF(Android Virtualization Framework) requires the bootloader
populate the SecretKeeper identity to the host device tree in path
"/avf/reference/avf/secretkeeper_public_key" which would be used
to establish the secure channel between SecretKeeper to VM.

This commit retrives the identity from SecretKeeper TA and do the
population by modifying the host device tree.

Signed-off-by: Ji Luo <ji.luo@nxp.com>
Secretkeeper client should not try to access TA if it's not
fully initialized.

Signed-off-by: Ji Luo <ji.luo@nxp.com>
U-boot SCMI clock driver does not setup parent relationship for clocks, because
the "get possible clock parent" is not implemented. The latest SM has changed to
not implicitly enable PLL VCO when PLL clock is enabled. So we have to enable
PLL VCO explicitly in u-boot.
The fix is assigning VIDEO PLL VCO as VIDEO PLL parent and assiging LDB PLL VCO
as LDB PLL parent to resolve the problem.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
When warm reboot happens, the ADP5585 is not reset. So its registers keep
value before reset. Since kernel is using PWM function for GPIO4 (R3), it
causes problem in u-boot to use this pin as GPIO.
So reset pins C4/R4/R3/R0 with alternate function to GPIO to align with
HW default value.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Since kernel has enabled LVDS backlight and the backlight will be turned
off at reboot. Because iMX95 kernel reboot is warm reboot, the backlight
ADP5585 won't reset to HW default. So u-boot has to control it, otherwise
the LVDS backlight won't turn on in u-boot after kernel reboot.

The patch adds lvds backlight node to DTS and enable backlight GPIO driver.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
iMX95 15x15 EVK uses LED drive chip PCA9632 for LVDS backlight. U-boot
currently does not has its driver and not support LED as backlight.
So we simply turn on LED0 and LED1 of PCA9632 in board codes via i2c to
resolve LVDS backlight problem.
The codes could be removed when the PCA9632 LED driver is ready.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
According to latest iMX9101 PN config, there is no IP difference
between 9101 and 9111. The only difference is 9101 working at low
drive mode which has 800Mhz CPU frequence and 1600MTS DDR speed.

Remove codes for old iMX9101 which disabled display, flexcan, eQos,
etc.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
When DDR inline ECC enabled, u-boot will reserve ECC data area
from kernel DTS to be not used. The commit f296640
("LFU-790 imx8mp_evk: Modify the size of memory visible to the kernel")
wrongly returns from ft_board_setup when jh_root_mem varible is not set.
So kernel boot fails when ECC is enabled.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
The orignal key expires. Regenerate key with long time expiration time
with
openssl req -x509 -sha256 -newkey rsa:2048 -subj /CN=CRT/ -keyout CRT.key -out CRT.crt -nodes -days 36500

Reviewed-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Copilot AI review requested due to automatic review settings February 18, 2026 12:24
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request updates device tree and configuration files for various NXP i.MX SoC boards, primarily focusing on synchronizing device tree files with upstream sources and adding support for new board configurations. The changes include updates to board model names (replacing "Freescale" with "NXP" or shorter variants), device tree additions for new boards, and build system updates.

Changes:

  • Updated board model names and device compatibility strings across multiple i.MX device trees
  • Added new device tree files for additional board variants and configurations (eMMC, GPMI-WEIM, ECSPI variants)
  • Updated build system to include new device tree binaries and support files

Reviewed changes

Copilot reviewed 99 out of 1570 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
arch/arm/dts/imx6*.dts Updated model names from "Freescale" to "NXP" or simplified variants, added device configurations
arch/arm/dts/imx6*-u-boot.dtsi Added U-Boot specific device tree overlays with bootph properties and regulator configurations
arch/arm/dts/fsl-lx2*.dts* Updated SPI flash compatibility strings to include "jedec,spi-nor"
arch/arm/dts/fsl-imx8*.dts* Updated model names and added U-Boot boot phase configurations
arch/arm/dts/Makefile Added new device tree binaries to build targets
arch/arm/cpu/armv8/fsl-layerscape/* Added OP-TEE overlay support and lowlevel initialization
arch/arm/config.mk, Makefile, Kconfig Build system updates for new features and configurations
CRT.key, CRT.crt Added certificate files

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Comments