This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM62P-Q1: use Falcon mode with eMMC

Part Number: AM62P-Q1
Other Parts Discussed in Thread: AM62P

Hi Expert, 

My environment: AM62P + SDK v11.1

I follow TI's doc to produce Falcon mode, and get same errors with this ticket: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1608247/am62p-booting-linux-from-emmc/6235361?tisearch=e2e-sitesearch&keymatch=AM62P%25252520AND%25252520Falcon%25252520AND%25252520eMMC#

My error message:

U-Boot SPL 2025.01 (May 28 2026 - 10:20:48 +0800)
SYSFW ABI: 4.0 (firmware rev 0x000b '11.1.2--v11.01.02 (Fancy Rat)')
SPL initial stack usage: 17088 bytes
Trying to boot from MMC1
spl: no partition table found
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###

This customized board can be booted with non-falcon mode + eMMC, so I think partition table of eMMC should be correct.

The author modified am62px.env to fix the problem, but I didn't see patch code inside the ticket. Can you help?

BR,

Jeff

  • Hi Jeff,

    I have routed your query to Vinu, who has handled the referred e2e thread, for comments.

  • Hi Jeff,

    The partition for booting the "tifalcon.bin" is defined by the "CONFIG_SYS_MMCSD_FS_BOOT_PARTITION" config in the "k3_r5_falcon.config" file.

    Can you please try the following patch to boot the "tifalcon.bin" from the 1st partition instead of 2nd partition, which wouldn't have the partition table?

    diff --git a/configs/k3_r5_falcon.config b/configs/k3_r5_falcon.config
    index b6762b35f74..ce739053e84 100644
    --- a/configs/k3_r5_falcon.config
    +++ b/configs/k3_r5_falcon.config
    @@ -13,7 +13,7 @@ CONFIG_OF_SYSTEM_SETUP=y
     
     # We use the rootfs (i.e partition 2) for booting which is ext4 not FAT
     CONFIG_SYS_MMCSD_FS_BOOT=y
    -CONFIG_SYS_MMCSD_FS_BOOT_PARTITION=2
    +CONFIG_SYS_MMCSD_FS_BOOT_PARTITION=1
     CONFIG_SPL_FS_EXT4=y
     
     # Loading tifalcon instead of tispl which has FDT and A53 SPL saves time

    Regards,
    Vinu

  • Hi Vinu,

    I apply that patch, and copy falcon files to partition#1, but it still show same errors. Then I find "CONFIG_SPL_FS_FAT=n" existed in my k3_r5_falcon.config. After set "CONFIG_SPL_FS_FAT=y" and do again, I get error:

    U-Boot SPL 2025.01 (May 29 2026 - 16:27:08 +0800)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.1.2--v11.01.02 (Fancy Rat)')
    SPL initial stack usage: 17088 bytes
    Trying to boot from MMC1
    Partition 1 invalid on device 0
    spl_register_fat_device: fat register err - -1
    spl_load_image_fat: error reading image boot/tifalcon.bin, err - -1
    spl: no partition table found
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###

    Here is my k3_r5_falcon.config:

    # Enable falcon mode
    CONFIG_SPL_OS_BOOT=y
    CONFIG_SPL_LOAD_FIT=y
    
    # We use envs for setting bootargs
    CONFIG_SPL_ENV_SUPPORT=y
    
    # Perform FDT fixups from SPL
    CONFIG_OF_SYSTEM_SETUP=y
    
    # Enabling this causes issues with EMMC FS boot,
    # When enabled the SPL tries to detect FS on boot[01] hw partition which fails
    # since we need the raw tiboot3.bin there for the board to boot instead
    CONFIG_SUPPORT_EMMC_BOOT=n
    
    # Disable unsupported boot media
    CONFIG_SPL_SYS_MMCSD_RAW_MODE=n
    CONFIG_SPL_YMODEM_SUPPORT=n
    CONFIG_SPL_RAM_SUPPORT=n
    CONFIG_SPL_MTD_LOAD=n
    
    # Used as the 2MiB aligned load address for kernel
    CONFIG_SYS_LOAD_ADDR=0x82000000
    CONFIG_SPL_STACK_R_ADDR=0x88000000
    CONFIG_SPL_LOAD_FIT_ADDRESS=0x82000000
    CONFIG_SPL_PAYLOAD_ARGS_ADDR=0x88000000
    CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x2700000
    
    # We use the rootfs (i.e partition 2) for booting which is ext4 not FAT
    CONFIG_SYS_MMCSD_FS_BOOT=y
    CONFIG_SYS_MMCSD_FS_BOOT_PARTITION=1
    CONFIG_SPL_FS_EXT4=y
    CONFIG_SPL_FS_FAT=y
    
    # Loading tifalcon instead of tispl which has fdt and A53 spl saves time
    CONFIG_SPL_FS_LOAD_PAYLOAD_NAME="boot/tifalcon.bin"
    CONFIG_SPL_FS_LOAD_KERNEL_NAME="boot/fitImage"
    
    # During SPI boot, kernel and args are loaded from the eMMC or SD and not SPI,
    # therefore we don't actually make use of these config values.
    CONFIG_SYS_SPI_KERNEL_OFFS=0
    CONFIG_SYS_SPI_ARGS_OFFS=0
    CONFIG_SYS_SPI_ARGS_SIZE=0
    

    Please help check it, thanks.

    BR,

    Jeff

  • Hi Jeff,

    Can you share all the steps you did in detail? Share patches that you've applied too.

    I've verified the steps listed in the other thread on SDK 11.02, I've shared the bootlogs too.

    So it would help if the steps are verified. Also, please let me know how you've created the falcon image. (SDK or Yocto)

    Regards,
    Vinu

  • Hi Vinu,

    I created the falcon image from SDK. The code I modified:

    diff --git a/linux-11.01.05.03/Rules.make b/linux-11.01.05.03/Rules.make
    index ffeb39124..22b3bbc77 100644
    --- a/linux-11.01.05.03/Rules.make
    +++ b/linux-11.01.05.03/Rules.make
    @@ -1,4 +1,6 @@
     
    +RT_FRAGMENT?=ti_early_display.config
    +
     ### COMMON CONFIG ###
     CFLAGS?=
     
    @@ -15,7 +17,7 @@ DESTDIR?=/media/$(USER)/rootfs
     # Root of the boot partition to install boot binaries
     BOOTFS?=/media/$(USER)/boot
     
    -MAKE_JOBS?=1
    +MAKE_JOBS?=6
     
     ### TI SDK CONFIG ###
     #Points to the root of the TI SDK
    diff --git a/linux-11.01.05.03/board-support/core-secdev-k3/fitImage.its b/linux-11.01.05.03/board-support/core-secdev-k3/fitImage.its
    new file mode 100644
    index 000000000..69084b255
    --- /dev/null
    +++ b/linux-11.01.05.03/board-support/core-secdev-k3/fitImage.its
    @@ -0,0 +1,40 @@
    +/dts-v1/;
    +
    +/ {
    +    description = "Kernel fitImage";
    +    #address-cells = <1>;
    +
    +    images {
    +        kernel-sec {
    +            description = "Linux kernel";
    +            data = /incbin/("Image.sec");
    +            type = "kernel";
    +            arch = "arm64";
    +            os = "linux";
    +            compression = "none";
    +            load = <0x82000000>;
    +            entry = <0x82000000>;
    +        };
    +
    +        fdt-sec {
    +            description = "Flattened Device Tree blob";
    +            data = /incbin/("falcon.dtb.sec");
    +            type = "flat_dt";
    +            arch = "arm64";
    +            compression = "none";
    +            load = <0x88000000>;
    +            entry = <0x88000000>;
    +        };
    +    };
    +
    +    configurations {
    +        default = "conf-falcon";
    +        conf-falcon {
    +            description = "Pre-signed Linux kernel, FDT blob";
    +            bootargs = "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x2800000 quiet";
    +            kernel = "kernel-sec";
    +            fdt = "fdt-sec";
    +        };
    +    };
    +};
    +
    diff --git a/linux-11.01.05.03/board-support/core-secdev-k3/make_falcon.sh b/linux-11.01.05.03/board-support/core-secdev-k3/make_falcon.sh
    new file mode 100755
    index 000000000..1fa405ea3
    --- /dev/null
    +++ b/linux-11.01.05.03/board-support/core-secdev-k3/make_falcon.sh
    @@ -0,0 +1,11 @@
    +
    +export DTS_FOLDER=${PSDKLA}/board-support/ti-linux-kernel-6.12.35+git-ti/arch/arm64/boot/dts/ti
    +export DTB=${DTS_FOLDER}/k3-am62p5-sk-overlay.dtb
    +export IMAGE=${PSDKLA}/board-support/ti-linux-kernel-6.12.35+git-ti/arch/arm64/boot/Image
    +
    +cp $IMAGE Image
    +cp $DTB falcon.dtb
    +./scripts/secure-binary-image.sh Image Image.sec
    +./scripts/secure-binary-image.sh falcon.dtb falcon.dtb.sec
    +mkimage -f fitImage.its fitImage
    +
    diff --git a/linux-11.01.05.03/board-support/prebuilt-images/am62pxx-evm/u-boot-spl.bin-am62pxx-evm b/linux-11.01.05.03/board-support/prebuilt-images/am62pxx-evm/u-boot-spl.bin-am62pxx-evm.backup
    similarity index 100%
    rename from linux-11.01.05.03/board-support/prebuilt-images/am62pxx-evm/u-boot-spl.bin-am62pxx-evm
    rename to linux-11.01.05.03/board-support/prebuilt-images/am62pxx-evm/u-boot-spl.bin-am62pxx-evm.backup
    diff --git a/linux-11.01.05.03/board-support/ti-linux-kernel-6.12.35+git-ti/arch/arm64/boot/dts/ti/Makefile b/linux-11.01.05.03/board-support/ti-linux-kernel-6.12.35+git-ti/arch/arm64/boot/dts/ti/Makefile
    index e8029e510..1902fcba4 100644
    --- a/linux-11.01.05.03/board-support/ti-linux-kernel-6.12.35+git-ti/arch/arm64/boot/dts/ti/Makefile
    +++ b/linux-11.01.05.03/board-support/ti-linux-kernel-6.12.35+git-ti/arch/arm64/boot/dts/ti/Makefile
    @@ -79,6 +79,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am62p5-sk-microtips-mf101hie-panel.dtbo
     dtb-$(CONFIG_ARCH_K3) += k3-am62p5-sk-microtips-mf103hie-lcd2.dtbo
     dtb-$(CONFIG_ARCH_K3) += k3-am62p5-sk-microtips-mf070zima-lcd3.dtbo
     dtb-$(CONFIG_ARCH_K3) += k3-am62p5-sk-rpi-hdr-ehrpwm.dtbo
    +dtb-$(CONFIG_ARCH_K3) += k3-am62p5-sk-tfa-overlay.dtbo
     
     # Common overlays for SK-AM62* family of boards
     dtb-$(CONFIG_ARCH_K3) += k3-am62x-sk-csi2-ov5640.dtbo
    diff --git a/linux-11.01.05.03/board-support/ti-linux-kernel-6.12.35+git-ti/arch/arm64/boot/dts/ti/k3-am62p5-sk-tfa-overlay.dtso b/linux-11.01.05.03/board-support/ti-linux-kernel-6.12.35+git-ti/arch/arm64/boot/dts/ti/k3-am62p5-sk-tfa-overlay.dtso
    new file mode 100644
    index 000000000..cb63437ac
    --- /dev/null
    +++ b/linux-11.01.05.03/board-support/ti-linux-kernel-6.12.35+git-ti/arch/arm64/boot/dts/ti/k3-am62p5-sk-tfa-overlay.dtso
    @@ -0,0 +1,25 @@
    +/*
    +  Modified by Jeff
    +
    +  Used to load the ATF at 0x80000000 for Falcon mode
    +*/
    +
    +/dts-v1/;
    +/plugin/;
    + 
    +/ {
    +    #address-cells = <0x02>;
    +    #size-cells = <0x02>;
    +    fragment@0 {
    +        #address-cells = <0x02>;
    +        #size-cells = <0x02>;
    +        ranges;
    +        target-path = "/reserved-memory/tfa@9e780000";
    +        __overlay__ {
    +            #address-cells = <0x02>;
    +            #size-cells = <0x02>;
    +            ranges;
    +            reg = <0x00 0x80000000 0x00 0x80000>;
    +        };
    +    };
    +};
    diff --git a/linux-11.01.05.03/board-support/ti-linux-kernel-6.12.35+git-ti/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts b/linux-11.01.05.03/board-support/ti-linux-kernel-6.12.35+git-ti/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
    index 64ebd9686..8972b5302 100644
    --- a/linux-11.01.05.03/board-support/ti-linux-kernel-6.12.35+git-ti/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
    +++ b/linux-11.01.05.03/board-support/ti-linux-kernel-6.12.35+git-ti/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
    @@ -29,7 +29,7 @@ chosen {
     		#address-cells = <2>;
     		#size-cells = <2>;
     		ranges;
    -		bootargs = "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x2800000 root=/dev/mmcblk1p2 rw rootfstype=ext4 rootwait loglevel=4";
    +		bootargs = "console=ttyS2,115200n8 root=/dev/mmcblk1p2 quiet loglevle=0";
     
     		stdout-path = &main_uart0;
     
    @@ -590,6 +590,8 @@ &fss {
     };
     
     &mailbox0_cluster0 {
    +	status = "okay";
    +
     	mbox_r5_0: mbox-r5-0 {
     		ti,mbox-rx = <0 0 0>;
     		ti,mbox-tx = <1 0 0>;
    @@ -597,6 +599,8 @@ mbox_r5_0: mbox-r5-0 {
     };
     
     &mailbox0_cluster1 {
    +	status = "okay";
    +
     	mbox_mcu_r5_0: mbox-mcu-r5-0 {
     		ti,mbox-rx = <0 0 0>;
     		ti,mbox-tx = <1 0 0>;
    @@ -614,7 +618,9 @@ &wkup_r5fss0_core0 {
     };
     
     &mcu_r5fss0 {
    +	//Jeff marked due to fast boot
     	status = "okay";
    +	//status = "disabled";
     };
     
     &mcu_r5fss0_core0 {
    diff --git a/linux-11.01.05.03/board-support/ti-linux-kernel-6.12.35+git-ti/arch/arm64/configs/defconfig b/linux-11.01.05.03/board-support/ti-linux-kernel-6.12.35+git-ti/arch/arm64/configs/defconfig
    index 36082d40f..9e57eaeab 100644
    --- a/linux-11.01.05.03/board-support/ti-linux-kernel-6.12.35+git-ti/arch/arm64/configs/defconfig
    +++ b/linux-11.01.05.03/board-support/ti-linux-kernel-6.12.35+git-ti/arch/arm64/configs/defconfig
    @@ -1839,3 +1839,16 @@ CONFIG_CORESIGHT_STM=m
     CONFIG_CORESIGHT_CPU_DEBUG=m
     CONFIG_CORESIGHT_CTI=m
     CONFIG_MEMTEST=y
    +CONFIG_INITRAMFS_SOURCE="/home/user/projects/am62p_v11.1/linux-11.01.05.03/filesystem/am62pxx-evm/tte-initramfs.cpio"
    +
    +CONFIG_CMDLINE="console=ttyS2,115200n8 quiet"
    +
    diff --git a/linux-11.01.05.03/board-support/ti-linux-kernel-6.12.35+git-ti/drivers/media/i2c/ov0x01g.c b/linux-11.01.05.03/board-support/ti-linux-kernel-6.12.35+git-ti/drivers/media/i2c/ov0x01g.c
    index c81e92328..0decb9a88 100644
    --- a/linux-11.01.05.03/board-support/ti-linux-kernel-6.12.35+git-ti/drivers/media/i2c/ov0x01g.c
    +++ b/linux-11.01.05.03/board-support/ti-linux-kernel-6.12.35+git-ti/drivers/media/i2c/ov0x01g.c
    @@ -23,6 +23,7 @@
     #include "ov0x01g.h"
     
     #define printf printk
    +#define dev_info(...)
     
     static inline struct OV0X01G *to_OV0X01G(struct v4l2_subdev *sd)
     {
    @@ -901,10 +902,11 @@ static int OV0X01G_probe(struct i2c_client *client)
     	//if (ret < 0)
     	//	return ret;
     	ret = OV0X01G_detect(OV0X01G);
    -	if (ret < 0)
    -		return ret;
    -	dev_err(OV0X01G->dev,
    +	if (ret < 0) {
    +		dev_err(OV0X01G->dev,
     			"%s: OV0X01G_detect pass %d\n", __func__, ret);
    +		return ret;
    +	}
     	/* Initialize the subdev and its controls. */
     	//msleep(120);
     	OV0X01G_reset(OV0X01G);
    diff --git a/linux-11.01.05.03/board-support/ti-linux-kernel-6.12.35+git-ti/drivers/remoteproc/ti_k3_r5_remoteproc.c b/linux-11.01.05.03/board-support/ti-linux-kernel-6.12.35+git-ti/drivers/remoteproc/ti_k3_r5_remoteproc.c
    index 0ea868d29..8e1f8bf7a 100644
    --- a/linux-11.01.05.03/board-support/ti-linux-kernel-6.12.35+git-ti/drivers/remoteproc/ti_k3_r5_remoteproc.c
    +++ b/linux-11.01.05.03/board-support/ti-linux-kernel-6.12.35+git-ti/drivers/remoteproc/ti_k3_r5_remoteproc.c
    @@ -261,6 +261,10 @@ static void k3_r5_rproc_mbox_callback(struct mbox_client *client, void *data)
     	const char *name = kproc->rproc->name;
     	u32 msg = omap_mbox_message(data);
     
    +	/* Do not forward message from a detached core */
    +	if (kproc->rproc->state == RPROC_DETACHED)
    +		return;
    +
     	dev_dbg(dev, "mbox msg: 0x%x\n", msg);
     
     	switch (msg) {
    @@ -315,6 +319,10 @@ static void k3_r5_rproc_kick(struct rproc *rproc, int vqid)
     	mbox_msg_t msg = (mbox_msg_t)vqid;
     	int ret;
     
    +	/* Do not forward message from a detached core */
    +	if (kproc->rproc->state == RPROC_DETACHED)
    +		return;
    +
     	/* send the index of the triggered virtqueue in the mailbox payload */
     	ret = mbox_send_message(kproc->mbox, (void *)msg);
     	if (ret < 0)
    diff --git a/linux-11.01.05.03/board-support/ti-linux-kernel-6.12.35+git-ti/kernel/configs/ti_early_display.config b/linux-11.01.05.03/board-support/ti-linux-kernel-6.12.35+git-ti/kernel/configs/ti_early_display.config
    index 06aee4454..3cf363727 100644
    --- a/linux-11.01.05.03/board-support/ti-linux-kernel-6.12.35+git-ti/kernel/configs/ti_early_display.config
    +++ b/linux-11.01.05.03/board-support/ti-linux-kernel-6.12.35+git-ti/kernel/configs/ti_early_display.config
    @@ -42,7 +42,7 @@ CONFIG_PTP_1588_CLOCK=m
     # Remove MMC support
     #
     # This reduces kernel image size by 137.2KB and reduces boot time by 32ms
    -CONFIG_MMC=m
    +#CONFIG_MMC=m
     
     
     ### Additional reduction ###
    @@ -124,7 +124,7 @@ CONFIG_HWMON=m
     CONFIG_HWSPINLOCK=n
     CONFIG_I2C_ALGOBIT=m
     CONFIG_IIO=m
    -CONFIG_INTERCONNECT=n
    +#CONFIG_INTERCONNECT=n
     CONFIG_MD=n
     CONFIG_MEMORY=n
     CONFIG_NEW_LEDS=n
    @@ -157,7 +157,7 @@ CONFIG_RESET_SIMPLE=n
     CONFIG_RPMSG_KDRV=m
     CONFIG_RPMSG_KDRV_ETH_SWITCH=m
     CONFIG_RPMSG_VIRTIO=m
    -CONFIG_SCSI=m
    +#CONFIG_SCSI=m
     CONFIG_SERIO_AMBAKMI=m
     CONFIG_SERIO_LIBPS2=m
     CONFIG_TUN=m
    @@ -214,7 +214,7 @@ CONFIG_DRM=y
     CONFIG_DRM_TIDSS=y
     CONFIG_FB_SIMPLE=y
     CONFIG_BACKLIGHT_CLASS_DEVICE=y
    -CONFIG_DRM_PANEL_LVDS=y
    +CONFIG_DRM_PANEL_LVDS=n
     CONFIG_DRM_PANEL_SIMPLE=y
     CONFIG_FRAMEBUFFER_CONSOLE=n
     CONFIG_LOGO=n
    diff --git a/linux-11.01.05.03/board-support/ti-u-boot-2025.01+git/board/ti/am62px/am62px.env b/linux-11.01.05.03/board-support/ti-u-boot-2025.01+git/board/ti/am62px/am62px.env
    index 68c9225f0..034867ed1 100644
    --- a/linux-11.01.05.03/board-support/ti-u-boot-2025.01+git/board/ti/am62px/am62px.env
    +++ b/linux-11.01.05.03/board-support/ti-u-boot-2025.01+git/board/ti/am62px/am62px.env
    @@ -10,7 +10,7 @@ rproc_fw_binaries= 0 /lib/firmware/am62p-mcu-r5f0_0-fw
     
     name_kern=Image
     console=ttyS2,115200n8
    -args_all=setenv optargs ${optargs} earlycon=ns16550a,mmio32,0x02800000 loglevel=4
    +args_all=setenv optargs ${optargs} earlycon=ns16550a,mmio32,0x02800000 quiet
     	${mtdparts}
     run_kern=booti ${loadaddr} ${rd_spec} ${fdtaddr}
     
    diff --git a/linux-11.01.05.03/board-support/ti-u-boot-2025.01+git/configs/am62px_evm_a53_defconfig b/linux-11.01.05.03/board-support/ti-u-boot-2025.01+git/configs/am62px_evm_a53_defconfig
    index 72cc626d2..d564da487 100644
    --- a/linux-11.01.05.03/board-support/ti-u-boot-2025.01+git/configs/am62px_evm_a53_defconfig
    +++ b/linux-11.01.05.03/board-support/ti-u-boot-2025.01+git/configs/am62px_evm_a53_defconfig
    @@ -168,6 +168,7 @@ CONFIG_SPL_USB_STORAGE=y
     CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
     CONFIG_EFI_SET_TIME=y
     CONFIG_SPL_GZIP=y
    +CONFIG_BOOTDELAY=0
     
     #include <configs/k3_efi_capsule.config>
     #include <configs/am62x_a53_usbdfu.config>
    diff --git a/linux-11.01.05.03/makerules/Makefile_linux b/linux-11.01.05.03/makerules/Makefile_linux
    index 5cd1f7f6a..30ad1bc86 100644
    --- a/linux-11.01.05.03/makerules/Makefile_linux
    +++ b/linux-11.01.05.03/makerules/Makefile_linux
    @@ -1,5 +1,5 @@
     # Kernel build targets
    -linux: linux-dtbs u-boot
    +linux: linux-dtbs
     	@echo =================================
     	@echo     Building the Linux Kernel
     	@echo =================================
    @@ -14,17 +14,17 @@ linux: linux-dtbs u-boot
     	mkimage -r -f $(LINUXKERNEL_INSTALL_DIR)/fitImage-its-$(YOCTO_MACHINE) -k $(UBOOT_SRC_DIR)/arch/arm/mach-k3/keys -K $(TI_SDK_PATH)/board-support/u-boot-build/$(MKIMAGE_DTB_FILE) $(TI_SDK_PATH)/board-support/built-images/fitImage
     
     	# Rebuild uboot a53 (binman) for FitImage
    -ifeq ($(SOC), am62l)
    -	$(MAKE) -j $(MAKE_JOBS) -C $(UBOOT_SRC_DIR) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) CC="$(CC)" \
    -		BINMAN_INDIRS=$(TI_LINUX_FIRMWARE) BL1=$(UBOOT_AP_TRUSTED_ROM) BL31=$(UBOOT_ATF) TEE=$(UBOOT_TEE) \
    -		O=$(TI_SDK_PATH)/board-support/u-boot-build/a53
    -else
    -	$(MAKE) -j $(MAKE_JOBS) -C $(UBOOT_SRC_DIR) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) CC="$(CC)" \
    -		BINMAN_INDIRS=$(TI_LINUX_FIRMWARE) BL31=$(UBOOT_ATF) TEE=$(UBOOT_TEE) TI_DM=$(TI_DM) \
    -		O=$(TI_SDK_PATH)/board-support/u-boot-build/a53
    -endif
    +#ifeq ($(SOC), am62l)
    +#	$(MAKE) -j $(MAKE_JOBS) -C $(UBOOT_SRC_DIR) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) CC="$(CC)" \
    +#		BINMAN_INDIRS=$(TI_LINUX_FIRMWARE) BL1=$(UBOOT_AP_TRUSTED_ROM) BL31=$(UBOOT_ATF) TEE=$(UBOOT_TEE) \
    +#		O=$(TI_SDK_PATH)/board-support/u-boot-build/a53
    +#else
    +#	$(MAKE) -j $(MAKE_JOBS) -C $(UBOOT_SRC_DIR) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) CC="$(CC)" \
    +#		BINMAN_INDIRS=$(TI_LINUX_FIRMWARE) BL31=$(UBOOT_ATF) TEE=$(UBOOT_TEE) TI_DM=$(TI_DM) \
    +#		O=$(TI_SDK_PATH)/board-support/u-boot-build/a53
    +#endif
     
    -linux_stage: linux-dtbs_stage u-boot_stage
    +linux_stage: linux-dtbs_stage
     	cp $(LINUXKERNEL_INSTALL_DIR)/arch/arm64/boot/Image $(TI_SDK_PATH)/board-support/built-images
     
     linux_install: linux_stage linux-dtbs_install
    @@ -37,7 +37,7 @@ linux_install: linux_stage linux-dtbs_install
     		exit 1; \
     	fi
     	install -d $(DESTDIR)/boot
    -	install $(TI_SDK_PATH)/board-support/built-images/fitImage $(DESTDIR)/boot
    +	#install $(TI_SDK_PATH)/board-support/built-images/fitImage $(DESTDIR)/boot
     	install $(TI_SDK_PATH)/board-support/built-images/Image $(DESTDIR)/boot
     	install $(LINUXKERNEL_INSTALL_DIR)/vmlinux $(DESTDIR)/boot
     	install $(LINUXKERNEL_INSTALL_DIR)/System.map $(DESTDIR)/boot
    diff --git a/linux-11.01.05.03/makerules/Makefile_ti-img-rogue-driver b/linux-11.01.05.03/makerules/Makefile_ti-img-rogue-driver
    index 035fbefc6..1d3c19880 100644
    --- a/linux-11.01.05.03/makerules/Makefile_ti-img-rogue-driver
    +++ b/linux-11.01.05.03/makerules/Makefile_ti-img-rogue-driver
    @@ -1,6 +1,6 @@
     
     # ti-img-rogue-driver
    -ti-img-rogue-driver: linux
    +ti-img-rogue-driver:
     	@echo =====================================
     	@echo     Building ti-img-rogue-driver
     	@echo =====================================
    diff --git a/linux-11.01.05.03/makerules/Makefile_u-boot b/linux-11.01.05.03/makerules/Makefile_u-boot
    index 9e8ff3b01..0befe7fe7 100644
    --- a/linux-11.01.05.03/makerules/Makefile_u-boot
    +++ b/linux-11.01.05.03/makerules/Makefile_u-boot
    @@ -1,3 +1,8 @@
    +#set for u-boot-a53_falcon
    +LNX_FW_PATH=$(TI_LINUX_FIRMWARE)
    +NEW_ATF=$(PSDKLA)/board-support/trusted-firmware-a-2.13+git/build/k3/lite/release/bl31.bin
    +NEW_TEE=$(PSDKLA)/board-support/optee-os-4.6.0+git/out/arm-plat-k3/core/tee-raw.bin
    +
     u-boot: $(if $(filter am62l,$(SOC)), atf u-boot-a53, u-boot-r5 u-boot-a53)
     
     u-boot_clean: $(if $(filter am62l,$(SOC)), u-boot-a53_clean, u-boot-r5_clean u-boot-a53_clean)
    @@ -19,6 +24,22 @@ else
     		O=$(TI_SDK_PATH)/board-support/u-boot-build/a53
     endif
     
    +u-boot-a53_falcon:
    +	@echo ===================================
    +	@echo    Building U-boot for A53 Falcon
    +	@echo ===================================
    +	mkdir -p $(TI_SDK_PATH)/board-support/u-boot-build/a53_falcon
    +	$(MAKE) -j $(MAKE_JOBS) -C $(UBOOT_SRC_DIR) ARCH=arm $(UBOOT_MACHINE) O=$(TI_SDK_PATH)/board-support/u-boot-build/a53_falcon
    +
    +ifeq ($(SOC), am62l)
    +	$(warning Target u-boot-a53_falcon isn't applicable for AM62L)
    +	$(error Skipping with a warning message)
    +else
    +	$(MAKE) -j $(MAKE_JOBS) -C $(UBOOT_SRC_DIR) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) CC="$(CC)" \
    +		BINMAN_INDIRS=$(LNX_FW_PATH) BL31=$(NEW_ATF) TEE=$(NEW_TEE) TI_DM=$(TI_DM) \
    +		O=$(TI_SDK_PATH)/board-support/u-boot-build/a53_falcon
    +endif
    +
     u-boot-a53_clean:
     	@echo ===================================
     	@echo    Cleaning U-boot for A53
    @@ -54,6 +75,21 @@ endif
     	$(MAKE) -C $(UBOOT_SRC_DIR) CROSS_COMPILE=$(CROSS_COMPILE_ARMV7) O=$(TI_SDK_PATH)/board-support/u-boot-build/r5 \
     		distclean
     
    +u-boot-r5_falcon:
    +
    +ifeq ($(SOC), am62l)
    +	$(warning Target u-boot-r5 isn't applicable for AM62L)
    +	$(error Skipping with a warning message)
    +endif
    +
    +	@echo ===================================
    +	@echo    Building U-boot for R5 Falcon
    +	@echo ===================================
    +	mkdir -p $(TI_SDK_PATH)/board-support/u-boot-build/r5_falcon
    +	$(MAKE) -j $(MAKE_JOBS) -C $(UBOOT_SRC_DIR) ARCH=arm $(UBOOT_MACHINE_R5) O=$(TI_SDK_PATH)/board-support/u-boot-build/r5_falcon
    +	$(MAKE) -j $(MAKE_JOBS) -C $(UBOOT_SRC_DIR) ARCH=arm k3_r5_falcon.config O=$(TI_SDK_PATH)/board-support/u-boot-build/r5_falcon
    +	$(MAKE) -j $(MAKE_JOBS) -C $(UBOOT_SRC_DIR) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE_ARMV7) \
    +		BINMAN_INDIRS=$(TI_LINUX_FIRMWARE)  O=$(TI_SDK_PATH)/board-support/u-boot-build/r5_falcon
     
     u-boot_stage:
     	mkdir -p $(TI_SDK_PATH)/board-support/built-images
    diff --git a/mcu_plus_sdk_am62px_11_01_00_16/source/drivers/device_manager/sciclient_direct/sciclient_direct_wrapper.c b/mcu_plus_sdk_am62px_11_01_00_16/source/drivers/device_manager/sciclient_direct/sciclient_direct_wrapper.c
    index 7c809c822..2bdc2e095 100644
    --- a/mcu_plus_sdk_am62px_11_01_00_16/source/drivers/device_manager/sciclient_direct/sciclient_direct_wrapper.c
    +++ b/mcu_plus_sdk_am62px_11_01_00_16/source/drivers/device_manager/sciclient_direct/sciclient_direct_wrapper.c
    @@ -210,6 +210,7 @@ int32_t Sciclient_getVersionCheck(uint32_t doLog)
         {
             if(doLog != 0U)
             {
    +#if 0 //disable by Jeff due to "Boot Time Optimizations"
                 DebugP_log("\r\n");
                 DebugP_log("SYSFW Firmware Version %s\r\n",
                                     (char *) response.str);
    @@ -217,6 +218,7 @@ int32_t Sciclient_getVersionCheck(uint32_t doLog)
                 DebugP_log("SYSFW ABI revision %d.%d\r\n", response.abi_major,
                                     response.abi_minor);
                 DebugP_log("\r\n");
    +#endif
             }
         }
         else
    @@ -224,7 +226,9 @@ int32_t Sciclient_getVersionCheck(uint32_t doLog)
             status = SystemP_FAILURE;
             if(doLog != 0U)
             {
    +#if 0 //disable by Jeff due to "Boot Time Optimizations"
                 DebugP_log("\r\n");
    +#endif
                 DebugP_logError("[ERROR] Sciclient get version failed !!!\r\n");
             }
         }
    diff --git a/mcu_plus_sdk_am62px_11_01_00_16/tools/boot/linuxAppimageGen/board/am62px-sk/config.mak b/mcu_plus_sdk_am62px_11_01_00_16/tools/boot/linuxAppimageGen/board/am62px-sk/config.mak
    index c6c774d7d..c0aec95f1 100644
    --- a/mcu_plus_sdk_am62px_11_01_00_16/tools/boot/linuxAppimageGen/board/am62px-sk/config.mak
    +++ b/mcu_plus_sdk_am62px_11_01_00_16/tools/boot/linuxAppimageGen/board/am62px-sk/config.mak
    @@ -5,7 +5,8 @@
     #PSDK_LINUX_PATH=$(TOOLS_PATH)/ti-processor-sdk-linux-am62pxx-evm-11.01.05.03
     
     #Path for prebuit images in Processor SDK linux
    -PSDK_LINUX_PREBUILT_IMAGES?=$(PSDKLA)/board-support/prebuilt-images/am62pxx-evm-display-cluster
    +#PSDK_LINUX_PREBUILT_IMAGES?=$(PSDKLA)/board-support/prebuilt-images/am62pxx-evm-display-cluster
    +PSDK_LINUX_PREBUILT_IMAGES?=$(PSDKLA)/board-support/prebuilt-images/am62pxx-evm
     #PSDK_LINUX_PREBUILT_IMAGES?=$(PSDKRA)/downloads
     
     FALCON_MODE?=0
    @@ -18,7 +19,8 @@ SPL_BIN_NAME=u-boot-spl.bin-am62pxx-evm
     ifeq ($(FALCON_MODE), 1)
     #Load Kernel directly
     KERN_BIN_NAME=Image
    -FDT_BIN_NAME=k3-am62p5-sk.dtb
    +#FDT_BIN_NAME=k3-am62p5-sk.dtb
    +FDT_BIN_NAME=k3-am62p5-sk-overlay.dtb
     
     #Linux image load address
     ATF_LOAD_ADDR=0x9e780000
    diff --git a/mcu_plus_sdk_am62px_11_01_00_16/tools/boot/linuxAppimageGen/makefile b/mcu_plus_sdk_am62px_11_01_00_16/tools/boot/linuxAppimageGen/makefile
    index 6b04ae4da..ca063d6d0 100644
    --- a/mcu_plus_sdk_am62px_11_01_00_16/tools/boot/linuxAppimageGen/makefile
    +++ b/mcu_plus_sdk_am62px_11_01_00_16/tools/boot/linuxAppimageGen/makefile
    @@ -112,8 +112,8 @@ endif
     	@echo .
     	@echo Creating
     	$(MULTI_CORE_IMAGE_GEN) LE $(SBL_DEV_ID) $(LINUX_BOOTIMAGE) $(COMBINED_APPIMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
    -	@echo Copying u-boot.img
    -	$(COPY) $(PSDK_LINUX_PREBUILT_IMAGES)/u-boot.img board/$(BOARD)
    +	#@echo Copying u-boot.img
    +	#$(COPY) $(PSDK_LINUX_PREBUILT_IMAGES)/u-boot.img board/$(BOARD)
     
     ifeq ($(DEVICE_TYPE),HS)
     # Sign the appimage using appimage signing script
    @@ -165,6 +165,9 @@ $(OPTEE_ELF):
     	$(LD) -b binary -A aarch64 --oformat elf64-littleaarch64 --section-start=.data=$(OPTEE_LOAD_ADDR) -e $(OPTEE_LOAD_ADDR) $(PSDK_LINUX_PREBUILT_IMAGES)/$(OPTEE_BIN_NAME) -o $(OPTEE_ELF)
     
     $(IMAGE_ELF):
    +	#Jeff, there file u-boot-spl.bin-am62pxx-evm in prebuilt folder doesn't workable for custom board, copy new one without care about FALCON_MODE value
    +	cp $(PSDKLA)/board-support/u-boot-build/a53/spl/u-boot-spl.bin $(PSDK_LINUX_PREBUILT_IMAGES)/$(SPL_BIN_NAME)
    +	cp $(PSDKLA)/board-support/ti-linux-kernel-6.12.35+git-ti/arch/arm64/boot/dts/ti/k3-am62p5-sk-overlay.dtb $(PSDK_LINUX_PREBUILT_IMAGES)/
     	$(LD) -b binary -A aarch64 --oformat elf64-littleaarch64 --section-start=.data=$(IMAGE_LOAD_ADDR) -e $(IMAGE_LOAD_ADDR) $(PSDK_LINUX_PREBUILT_IMAGES)/$(IMAGE_BIN_NAME) -o $(IMAGE_ELF)
     
     ifeq ($(FALCON_MODE), 1)
    
    
    

    and there are three script files:

    #!/bin/bash
    if [ ! -d "${PART_B}" ]; then
        echo " => Insert an SD card"
        exit -1
    fi
    
    export FALCON_OUT=/media/$USER/boot/eFalcon
    
    mkdir -p ${FALCON_OUT}
    
    cp ${PSDKLA}/board-support/u-boot-build/a53_falcon/tifalcon.bin ${FALCON_OUT}/tifalcon.bin
    cp ${PSDKLA}/board-support/core-secdev-k3/fitImage ${FALCON_OUT}/fitImage
    cp ${PSDKLA}/board-support/u-boot-build/r5_falcon/tiboot3.bin ${FALCON_OUT}/tiboot3.bin
    
    cp ${PSDKRA}/tools/boot/sbl_prebuilt/am62px-sk/sbl_emmc_linux_stage1.release.hs_fs.tiimage ${FALCON_OUT}/sbl_emmc_linux_stage1.release.tiimage
    cp ${PSDKRA}/examples/drivers/boot/sbl_emmc_linux_multistage/sbl_emmc_linux_stage2/am62px-sk/wkup-r5fss0-0_freertos/ti-arm-clang/sbl_emmc_linux_stage2.release.appimage.hs_fs ${FALCON_OUT}/sbl_emmc_linux_stage2.release.appimage
    cp ${PSDKRA}/tools/boot/HSMAppimageGen/board/am62px-sk/hsm.appimage.hs_fs ${FALCON_OUT}/hsm.appimage
    cp ${PSDKRA}/examples/drivers/ipc/ipc_rpmsg_echo_linux/am62px-sk/mcu-r5fss0-0_freertos/ti-arm-clang/ipc_rpmsg_echo_linux.release.appimage.hs_fs ${FALCON_OUT}/ipc_rpmsg_echo_linux.release.appimage
    cp ${PSDKRA}/tools/boot/linuxAppimageGen/board/am62px-sk/linux.falcon.appimage.hs_fs  ${FALCON_OUT}/linux.falcon.appimage
    #cp ${PSDKRA}/examples/drivers/boot/sbl_sd_linux/am62px-sk/wkup-r5fss0-0_nortos/ti-arm-clang/sbl_sd_linux.release.hs_fs.tiimage ${FALCON_OUT}/tiboot3.bin
    
    cp ${PSDKRA}/tools/boot/sbl_prebuilt/am62px-sk/sbl_ospi_linux_stage1.release.hs_fs.tiimage ${FALCON_OUT}/sbl_ospi_linux_stage1.release.tiimage
    cp ${PSDKRA}/examples/drivers/ipc/ipc_rpmsg_echo_linux/am62px-sk/wkup-r5fss0-0_freertos/ti-arm-clang/ipc_rpmsg_echo_linux.release.appimage.hs_fs ${FALCON_OUT}/wkup_ipc_rpmsg_echo_linux.release.appimage
    #cp ${PSDKRA}/examples/drivers/ipc/ipc_rpmsg_echo_linux/am62px-sk/mcu-r5fss0-0_freertos/ti-arm-clang/ipc_rpmsg_echo_linux.release.appimage.hs_fs ${FALCON_OUT}/ipc_rpmsg_echo_linux.release.appimage
    
    sudo mkdir -p /media/$USER/rootfs/sh
    sudo cp ${PSDKTA}/set_eFalcon.sh /media/$USER/rootfs/sh/
    
    sync
    
    if [ $? -eq 0 ]; then
       echo " eFalcon files are ready"
    fi
    
    
    #!/bin/bash
    #update Falcon files to SD card for SD card booting
    
    if [ ! -d "${PART_B}" ]; then
        echo " => Insert an SD card"
        exit -1
    fi
    
    export BOOTDIR=/media/$USER/boot
    export ROOTFS=/media/$USER/rootfs
    
    #cp ${PSDKLA}/board-support/u-boot-build/a53_falcon/tispl.bin ${BOOTDIR}/tispl.bin
    cp ${PSDKLA}/board-support/u-boot-build/r5_falcon/tiboot3* ${BOOTDIR}/
    
    sudo cp ${PSDKLA}/board-support/u-boot-build/a53_falcon/tifalcon.bin ${ROOTFS}/boot/
    sudo cp ${PSDKLA}/board-support/core-secdev-k3/fitImage ${ROOTFS}/boot/
    
    sync
    
    
    
    #!/bin/bash
    #ref https://software-dl.ti.com/mcu-plus-sdk/esd/AM62PX/latest/exports/docs/api_guide_am62px/FALCON_BOOT.html
    
    export ARM_CROSS_COMPILE=~/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/aarch64-none-elf-
    
    #overlay dtb file
    export DTS_FOLDER=${PSDKLA}/board-support/ti-linux-kernel-6.12.35+git-ti/arch/arm64/boot/dts/ti
    #fdtoverlay -i ${DTS_FOLDER}/k3-am62p5-sk.dtb -o ${DTS_FOLDER}/k3-am62p5-sk-overlay.dtb \
    #    ${DTS_FOLDER}/k3-v3link-ox01g-0-0.dtbo \
    #    ${DTS_FOLDER}/k3-v3link-ox01g-0-1.dtbo \
    #    ${DTS_FOLDER}/k3-v3link-ox01g-0-2.dtbo \
    #    ${DTS_FOLDER}/k3-v3link-ox01g-0-3.dtbo \
    #    ${DTS_FOLDER}/k3-am62p5-sk-tfa-overlay.dtbo
    fdtoverlay -i ${DTS_FOLDER}/k3-am62p5-sk.dtb -o ${DTS_FOLDER}/k3-am62p5-sk-overlay.dtb ${DTS_FOLDER}/k3-am62p5-sk-tfa-overlay.dtbo
    
    #rebuild TFA
    cd ${PSDKLA}/board-support/trusted-firmware-a-2.13+git/
    make CROSS_COMPILE=${ARM_CROSS_COMPILE} ARCH=aarch64 PLAT=k3 TARGET_BOARD=lite SPD=opteed PRELOADED_BL33_BASE=0x82000000 K3_HW_CONFIG_BASE=0x88000000
    
    #rebuild op-tee
    cd ${PSDKLA}/board-support/optee-os-4.6.0+git/
    make CROSS_COMPILE=${CROSS_COMPILE_32} CROSS_COMPILE64=${CROSS_COMPILE_64} CFG_ARM64_core=y PLATFORM=k3-am62x ARCH=arm
    
    #build fitImage
    cd ${PSDKLA}/board-support/core-secdev-k3
    ./make_falcon.sh
    
    #build tiboot3, tifalcon.bin instead of u-boot.img
    cd ${PSDKLA}
    make u-boot-r5_falcon
    make u-boot-a53_falcon
    
    #rebuild Appimage
    cd ${PSDKRA}/tools/boot/linuxAppimageGen
    rm board/am62px-sk/linux.falcon.appimage*
    make -s BOARD=am62px-sk all FALCON_MODE=1
    
    #rebuild HSM
    cd ${PSDKRA}/tools/boot/HSMAppimageGen
    rm board/am62px-sk/hsm.appimage* board/am62px-sk/HSM_min_sample.rprc
    make -s BOARD=am62px-sk all
    
    

    Steps:

    ##for non-falcon mode + SD card -> ok
    1. run bin/create-sdcard.sh to create bootable SD card. update all.

    ##for non-falcon mode + eMMC -> ok
    1. follow doc to partition eMMC, flash / copy files to boot0, mmcblk1p1, and mmcblk1p2

    ##for falcon mode + SD card (use a SD card which can boot with non-falcon mode) -> ok
    1. download core-secdev-k3 to linux-XX.XX.XX.XX/board-support/
    2. modify code / apply patch
    3. make all
    4. run make_Falcon.sh
    5. run gen_sFalcon.sh
    6. booting by SD card

    ##for falcon mod + eMMC (use another SD card which can boot with non-falcon mode)
    1. set {CONFIG_SYS_MMCSD_FS_BOOT_PARTITION=1} for file: k3_r5_falcon.config
    2. set {bootargs = "console=ttyS2,115200n8 quiet loglevle=0";} for file k3-am62p5-sk.dts
    3. make linux-dtbs
    4. run make_Falson.sh
    5. run gen_eFalcon.sh
    6. booting by SD card and login
    7. run:
        echo 0 > /sys/block/mmcblk0boot0/force_ro
        dd if=/run/media/boot-mmcblk1p1/eFalcon/tiboot3.bin of=/dev/mmcblk0boot0 seek=0 bs=512
        cp /boot/fitImage /run/media/root-mmcblk0p2/boot/fitImage
        cp /boot/tifalcon.bin /run/media/root-mmcblk0p2/boot/tifalcon.bin
        sync
    8. shutdown. switch to eMMC boot mode. Boot and get error:

    U-Boot SPL 2025.01 (Jun 01 2026 - 15:27:22 +0800)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.1.2--v11.01.02 (Fancy Rat)')
    SPL initial stack usage: 17088 bytes
    Trying to boot from MMC1
    spl: no partition table found
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###

    BR,

    Jeff

  • Hi Jeff,

    Seems like you have both 

    CONFIG_SPL_FS_EXT4=y
    CONFIG_SPL_FS_FAT=y

    in your config. Please unset CONFIG_SPL_FS_FAT.

    CONFIG_SPL_FS_FAT only controls whether the SPL can read a FAT-formatted user partition to load the next-stage payload (tifalcon.bin).

    The UDA will be partitioned with ext4, so only the CONFIG_SPL_FS_EXT4 should be enabled.

    Also, I'm interested in 

    1. follow doc to partition eMMC, flash / copy files to boot0, mmcblk1p1, and mmcblk1p2

    Can you either share the doc or the steps that you've followed for partitioning and flashing the emmc?

    Regards,
    Vinu

  • Hi Vinu,

    The original setting in k3_r5_falcon.config is

    CONFIG_SPL_FS_EXT4=y
    CONFIG_SPL_FS_FAT=n

    And it shows following message when booting

    U-Boot SPL 2025.01 (Jun 01 2026 - 15:27:22 +0800)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.1.2--v11.01.02 (Fancy Rat)')
    SPL initial stack usage: 17088 bytes
    Trying to boot from MMC1
    spl: no partition table found
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###

    If I modify them to 

    CONFIG_SPL_FS_EXT4=y
    CONFIG_SPL_FS_FAT=y

    It shows following message when booting:

    U-Boot SPL 2025.01 (May 29 2026 - 16:27:08 +0800)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.1.2--v11.01.02 (Fancy Rat)')
    SPL initial stack usage: 17088 bytes
    Trying to boot from MMC1
    Partition 1 invalid on device 0
    spl_register_fat_device: fat register err - -1
    spl_load_image_fat: error reading image boot/tifalcon.bin, err - -1
    spl: no partition table found
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###

    And for SPL non-falcon mode in eMMC, I reference these doc:

    https://software-dl.ti.com/processor-sdk-linux/esd/AM62PX/11_01_05_03/exports/docs/linux/How_to_Guides/Target/How_to_emmc_boot.html

    https://software-dl.ti.com/processor-sdk-linux/esd/AM62PX/11_01_05_03/exports/docs/linux/Foundational_Components/Kernel/Kernel_Drivers/Storage/MMC-SD.html#mmc-create-boot-partition-emmc-linux

    BR,

    Jeff

  • Hi Jeff,

    Can you verify the contents of the emmc partitions?

    Boot from SD card, and run the following and share the output logs.

    # Dump first 512 bytes of eMMC boot0 to verify tiboot3.bin was written
    hexdump -C /dev/mmcblk0boot0 | head -20
    
    # Check eMMC partition table is valid
    fdisk -l /dev/mmcblk0
    
    # Check filesystem type on partition 1
    blkid /dev/mmcblk0p1
    blkid /dev/mmcblk0p2
    
    # Assuming CONFIG_SYS_MMCSD_FS_BOOT_PARTITION=1
    mount /dev/mmcblk0p1 /mnt/tmp
    ls -lh /mnt/tmp/boot/
    # Must contain: tifalcon.bin and fitImage
    

    Regards,
    Vinu

  • Hi Jeff, 

    Also, when you are setting CONFIG_SYS_MMCSD_FS_BOOT_PARTITION=1,

    you should copy the fitimage and tifalcon.bin to mmcblk0p1, not mmcblk0p2.

    cp /boot/fitImage /run/media/root-mmcblk0p2/boot/fitImage
        cp /boot/tifalcon.bin /run/media/root-mmcblk0p2/boot/tifalcon.bin

    Also, please make sure your mmcblk0p1 is an ext4 partition. Not fat32. You only need one partition in UDA, which will contain your rootfs.

    Regards,
    Vinu

  • Hi Vinu,

    I format mmcblk0p1 as ext4 partition and redo the work. Run your command as following:

    s writtenrst 512 bytes of eMMC boot0 to verify tiboot3.bin was
    root@am62pxx-evm:~# hexdump -C /dev/mmcblk0boot0 | head -20
    00000000  30 82 08 58 30 82 06 40  a0 03 02 01 02 02 14 5f  |0..X0..@......._|
    00000010  46 74 8b e0 48 ca ef bf  e3 24 e3 4e 73 d3 34 8f  |Ft..H....$.Ns.4.|
    00000020  6a 73 0d 30 0d 06 09 2a  86 48 86 f7 0d 01 01 0d  |js.0...*.H......|
    00000030  05 00 30 81 9d 31 0b 30  09 06 03 55 04 06 13 02  |..0..1.0...U....|
    00000040  55 53 31 0b 30 09 06 03  55 04 08 0c 02 54 58 31  |US1.0...U....TX1|
    00000050  0f 30 0d 06 03 55 04 07  0c 06 44 61 6c 6c 61 73  |.0...U....Dallas|
    00000060  31 27 30 25 06 03 55 04  0a 0c 1e 54 65 78 61 73  |1'0%..U....Texas|
    00000070  20 49 6e 73 74 72 75 6d  65 6e 74 73 20 49 6e 63  | Instruments Inc|
    00000080  6f 72 70 6f 72 61 74 65  64 31 13 30 11 06 03 55  |orporated1.0...U|
    00000090  04 0b 0c 0a 50 72 6f 63  65 73 73 6f 72 73 31 13  |....Processors1.|
    000000a0  30 11 06 03 55 04 03 0c  0a 54 49 20 53 75 70 70  |0...U....TI Supp|
    000000b0  6f 72 74 31 1d 30 1b 06  09 2a 86 48 86 f7 0d 01  |ort1.0...*.H....|
    000000c0  09 01 16 0e 73 75 70 70  6f 72 74 40 74 69 2e 63  |....support@ti.c|
    000000d0  6f 6d 30 1e 17 0d 32 36  30 36 30 32 30 38 35 31  |om0...2606020851|
    000000e0  35 36 5a 17 0d 32 36 30  37 30 32 30 38 35 31 35  |56Z..26070208515|
    000000f0  36 5a 30 81 9d 31 0b 30  09 06 03 55 04 06 13 02  |6Z0..1.0...U....|
    00000100  55 53 31 0b 30 09 06 03  55 04 08 0c 02 54 58 31  |US1.0...U....TX1|
    00000110  0f 30 0d 06 03 55 04 07  0c 06 44 61 6c 6c 61 73  |.0...U....Dallas|
    00000120  31 27 30 25 06 03 55 04  0a 0c 1e 54 65 78 61 73  |1'0%..U....Texas|
    00000130  20 49 6e 73 74 72 75 6d  65 6e 74 73 20 49 6e 63  | Instruments Inc|
    root@am62pxx-evm:~#
    root@am62pxx-evm:~# # Check eMMC partition table is valid
    root@am62pxx-evm:~# fdisk -l /dev/mmcblk0
    Disk /dev/mmcblk0: 7.28 GiB, 7818182656 bytes, 15269888 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0xefc70c5f
    
    Device         Boot  Start      End  Sectors  Size Id Type
    /dev/mmcblk0p1 *      2048   526335   524288  256M 83 Linux
    /dev/mmcblk0p2      526336 15269887 14743552    7G 83 Linux
    # Check filesystem type on partition 1
    blkid /dev/mmcblk0p1
    blkid /dev/mmcblk0p2
    
    root@am62pxx-evm:~#
    root@am62pxx-evm:~# # Check filesystem type on partition 1
    root@am62pxx-evm:~# blkid /dev/mmcblk0p1
    mount /dev/mmcblk0p1 /mnt/tmp
    /dev/mmcblk0p1: LABEL="boot" UUID="6d7d5e0b-6629-4f1a-b6ae-c7ec64a3c08c" BLOCK_SIZE="1024" TYPE="ext4" PARTUUID="efc70c5f-01"
    ls -lh /mnt/tmp/boot/
    root@am62pxx-evm:~# blkid /dev/mmcblk0p2
    # Must contain: tifalcon.bin and fitImage/dev/mmcblk0p2: LABEL="root" UUID="7055050d-bdeb-4338-9a19-9b0b5c732419" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="efc70c5f-02"
    root@am62pxx-evm:~#
    root@am62pxx-evm:~# # Assuming CONFIG_SYS_MMCSD_FS_BOOT_PARTITION=1
    root@am62pxx-evm:~# mount /dev/mmcblk0p1 /mnt/tmp
    root@am62pxx-evm:~# ls -lh /mnt/tmp/boot/
    -rwxr-xr-x    1 root     root       22.3M May 29 19:39 fitImage
    -rwxr-xr-x    1 root     root      855.3K May 29 19:39 tifalcon.bin
    root@am62pxx-evm:~# # Must contain: tifalcon.bin and fitImage
    root@am62pxx-evm:~#
    

    After booting, I still get error:

    U-Boot SPL 2025.01 (Jun 02 2026 - 16:51:12 +0800)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.1.2--v11.01.02 (Fancy Rat)')
    SPL initial stack usage: 17088 bytes
    Trying to boot from MMC1
    spl: no partition table found
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###

    Did I miss something?

    BR,

    Jeff

  • Hi Jeff,

    You still have 2 partitions in UDA. You only need one partition, which is the rootfs.

    /dev/mmcblk0p1 *      2048   526335   524288  256M 83 Linux
    /dev/mmcblk0p2      526336 15269887 14743552    7G 83 Linux

    Please go through this guide and make sure you are following it correctly. Check if the patches are applied correctly. It is much easier to use the distrooverride method from Yocto.

    https://software-dl.ti.com/processor-sdk-linux/esd/AM62PX/11_01_05_03/exports/docs/linux/Foundational_Components/U-Boot/UG-Falcon-Mode.html

    SDK 12 steps: https://software-dl.ti.com/processor-sdk-linux/esd/AM62PX/latest/exports/docs/linux/Foundational_Components/U-Boot/UG-Falcon-Mode.html

    Please share the latest config file too.

    Regards,
    Vinu

  • Hi Vinu,

    I checked again, and found I missed U-boot patch in https://software-dl.ti.com/processor-sdk-linux/esd/AM62PX/11_01_05_03/exports/docs/linux/Foundational_Components/U-Boot/UG-Falcon-Mode.html 3.1.2.10.

    After apply this patch, format eMMC to a single partition, and modify "mmcdev=0", "bootpart=0:1" in am62px.env, now it can run to kernel loading. Here is the log:

    #set mmcdev=0, bootpart=0:1 for am62px.env
    
    U-Boot SPL 2025.01 (Jun 03 2026 - 09:03:39 +0800)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.1.2--v11.01.02 (Fancy Rat)')
    SPL initial stack usage: 17088 bytes
    Trying to boot from MMC1
    Authentication passed
    Loading falcon payload from MMC1
    Authentication passed
    Authentication passed
    Loading Environment from nowhere... OK
    init_env from device 9 not supported!
    Authentication passed
    Authentication passed
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.13.0(release):20160115_XT5_DEMO-7-g80e1b875e-dirty
    NOTICE:  BL31: Built : 16:55:42, May 20 2026
    I/TC:
    I/TC: OP-TEE version: 20160115_XT5_DEMO-13-geb93c13bc-dev (gcc version 13.4.0 (GCC)) #7 Mon Jun  1 07:26:36 UTC 2026 aarch64
    I/TC: WARNING: This OP-TEE configuration might be insecure!
    I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html
    I/TC: Primary CPU initializing
    I/TC: GIC redistributor base address not provided
    I/TC: Assuming default GIC group status and modifier
    I/TC: SYSFW ABI: 4.0 (firmware rev 0x000b '11.1.2--v11.01.02 (Fancy Rat)')
    I/TC: Activated SA2UL device
    I/TC: Enabled firewalls for SA2UL TRNG device
    I/TC: SA2UL TRNG initialized
    I/TC: SA2UL Drivers initialized
    I/TC: HUK Initialized
    I/TC: Primary CPU switching to normal world boot
    I/TC: Secondary CPU 1 initializing
    I/TC: Secondary CPU 1 switching to normal world boot
    I/TC: Secondary CPU 2 initializing
    I/TC: Secondary CPU 2 switching to normal world boot
    I/TC: Secondary CPU 3 initializing
    I/TC: Secondary CPU 3 switching to normal world boot
    I/TC: Reserved shared memory is enabled
    I/TC: Dynamic shared memory is enabled
    I/TC: Normal World virtualization support is disabled
    I/TC: Asynchronous notifications are disabled
    [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
    [    0.000000] Linux version 6.12.35 (user@am62p) (aarch64-oe-linux-gcc (GCC) 13.4.0, GNU ld (GNU Binutils) 2.42.0.20240723) #14 SMP PREEMPT Mon Jun  1 10:33:30 CST 2026
    [    0.000000] KASLR disabled due to lack of seed
    [    0.000000] Machine model: Texas Instruments AM62P5 SK
    [    0.000000] efi: UEFI not found.
    [    0.000000] Reserved memory: created CMA memory pool at 0x00000000b4000000, size 192 MiB
    [    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000b4000000..0x00000000bfffffff (196608 KiB) map reusable linux,cma
    [    0.000000] OF: reserved mem: 0x000000009e800000..0x000000009fffffff (24576 KiB) nomap non-reusable optee@9e800000
    [    0.000000] OF: reserved mem: 0x0000000080000000..0x000000008007ffff (512 KiB) nomap non-reusable tfa@80000000
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009b500000, size 3 MiB
    [    0.000000] OF: reserved mem: initialized node rtos-ipc-memory@9b500000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x000000009b500000..0x000000009b7fffff (3072 KiB) nomap non-reusable rtos-ipc-memory@9b500000
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009b800000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node mcu-r5fss-dma-memory-region@9b800000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x000000009b800000..0x000000009b8fffff (1024 KiB) nomap non-reusable mcu-r5fss-dma-memory-region@9b800000
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009b900000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node mcu-r5fss-memory-region@9b900000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x000000009b900000..0x000000009c7fffff (15360 KiB) nomap non-reusable mcu-r5fss-memory-region@9b900000
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009c800000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@9c800000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x000000009c800000..0x000000009c8fffff (1024 KiB) nomap non-reusable r5f-dma-memory@9c800000
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009c900000, size 30 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-memory@9c900000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x000000009c900000..0x000000009e6fffff (30720 KiB) nomap non-reusable r5f-memory@9c900000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a0000000, size 32 MiB
    [    0.000000] OF: reserved mem: initialized node AVM_shared-memories@a0000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a0000000..0x00000000a1ffffff (32768 KiB) nomap non-reusable AVM_shared-memories@a0000000
    [    0.000000] Zone ranges:
    [    0.000000]   DMA      [mem 0x0000000080000000-0x00000000bfffffff]
    [    0.000000]   DMA32    empty
    [    0.000000]   Normal   empty
    [    0.000000] Movable zone start for each node
    [    0.000000] Early memory node ranges
    [    0.000000]   node   0: [mem 0x0000000080000000-0x000000008007ffff]
    [    0.000000]   node   0: [mem 0x0000000080080000-0x000000009b4fffff]
    [    0.000000]   node   0: [mem 0x000000009b500000-0x000000009e6fffff]
    [    0.000000]   node   0: [mem 0x000000009e700000-0x000000009e7fffff]
    [    0.000000]   node   0: [mem 0x000000009e800000-0x00000000a1ffffff]
    [    0.000000]   node   0: [mem 0x00000000a2000000-0x00000000bfffffff]
    [    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000bfffffff]
    [    0.000000] psci: probing for conduit method from DT.
    [    0.000000] psci: PSCIv1.1 detected in firmware.
    [    0.000000] psci: Using standard PSCI v0.2 function IDs
    [    0.000000] psci: Trusted OS migration not required
    [    0.000000] psci: SMC Calling Convention v1.5
    [    0.000000] percpu: Embedded 22 pages/cpu s50520 r8192 d31400 u90112
    [    0.000000] Detected VIPT I-cache on CPU0
    [    0.000000] CPU features: detected: GIC system register CPU interface
    [    0.000000] CPU features: detected: ARM erratum 845719
    [    0.000000] alternatives: applying boot alternatives
    [    0.000000] Kernel command line: console=ttyS2,115200n8 root=PARTUUID=efc70c5f-01 rootwait
    [    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
    [    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 262144
    [    0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
    [    0.000000] software IO TLB: SWIOTLB bounce buffer size adjusted to 1MB
    [    0.000000] software IO TLB: area num 4.
    [    0.000000] software IO TLB: mapped [mem 0x00000000b2c80000-0x00000000b2d80000] (1MB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
    [    0.000000] rcu: Preemptible hierarchical RCU implementation.
    [    0.000000] rcu:     RCU event tracing is enabled.
    [    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=512 to nr_cpu_ids=4.
    [    0.000000]  Trampoline variant of Tasks RCU enabled.
    [    0.000000]  Tracing variant of Tasks RCU enabled.
    [    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
    [    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
    [    0.000000] RCU Tasks: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4.
    [    0.000000] RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4.
    [    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
    [    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
    [    0.000000] GICv3: 256 SPIs implemented
    [    0.000000] GICv3: 0 Extended SPIs implemented
    [    0.000000] Root IRQ handler: gic_handle_irq
    [    0.000000] GICv3: GICv3 features: 16 PPIs
    [    0.000000] GICv3: GICD_CTRL.DS=0, SCR_EL3.FIQ=1
    [    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000001880000
    [    0.000000] ITS [mem 0x01820000-0x0182ffff]
    [    0.000000] ITS@0x0000000001820000: Devices Table too large, reduce ids 20->19
    [    0.000000] ITS@0x0000000001820000: allocated 524288 Devices @80c00000 (flat, esz 8, psz 64K, shr 0)
    [    0.000000] ITS: using cache flushing for cmd queue
    [    0.000000] GICv3: using LPI property table @0x0000000080450000
    [    0.000000] GIC: using cache flushing for LPI property table
    [    0.000000] GICv3: CPU0: using allocated LPI pending table @0x0000000080460000
    [    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
    [    0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys).
    [    0.000000] clocksource: arch_sys_counter: mask: 0x3ffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
    [    0.000000] sched_clock: 58 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
    [    0.000482] Console: colour dummy device 80x25
    [    0.000535] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
    [    0.000546] pid_max: default: 32768 minimum: 301
    [    0.000621] LSM: initializing lsm=capability
    [    0.000738] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
    [    0.000748] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
    [    0.002811] rcu: Hierarchical SRCU implementation.
    [    0.002821] rcu:     Max phase no-delay instances is 1000.
    [    0.002999] Timer migration: 1 hierarchy levels; 8 children per group; 1 crossnode level
    [    0.003456] EFI services will not be available.
    [    0.003667] smp: Bringing up secondary CPUs ...
    [    0.012287] Detected VIPT I-cache on CPU1
    [    0.012369] GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000
    [    0.012385] GICv3: CPU1: using allocated LPI pending table @0x0000000080470000
    [    0.012430] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
    [    0.021117] Detected VIPT I-cache on CPU2
    [    0.021178] GICv3: CPU2: found redistributor 2 region 0:0x00000000018c0000
    [    0.021191] GICv3: CPU2: using allocated LPI pending table @0x0000000080480000
    [    0.021222] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
    [    0.029920] Detected VIPT I-cache on CPU3
    [    0.029981] GICv3: CPU3: found redistributor 3 region 0:0x00000000018e0000
    [    0.029994] GICv3: CPU3: using allocated LPI pending table @0x0000000080490000
    [    0.030024] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
    [    0.030131] smp: Brought up 1 node, 4 CPUs
    [    0.030137] SMP: Total of 4 processors activated.
    [    0.030140] CPU: All CPU(s) started at EL2
    [    0.030144] CPU features: detected: 32-bit EL0 Support
    [    0.030149] CPU features: detected: CRC32 instructions
    [    0.030187] alternatives: applying system-wide alternatives
    [    0.030578] Memory: 691892K/1048576K available (10240K kernel code, 1012K rwdata, 3404K rodata, 8000K init, 579K bss, 152212K reserved, 196608K cma-reserved)
    [    0.031287] devtmpfs: initialized
    [    0.038733] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
    [    0.038756] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
    [    0.044041] 26912 pages in range for non-PLT usage
    [    0.044105] 518432 pages in range for PLT usage
    [    0.044374] pinctrl core: initialized pinctrl subsystem
    [    0.044741] DMI not present or invalid.
    [    0.046705] NET: Registered PF_NETLINK/PF_ROUTE protocol family
    [    0.047621] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
    [    0.047956] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
    [    0.048377] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
    [    0.048397] audit: initializing netlink subsys (disabled)
    [    0.048620] audit: type=2000 audit(0.048:1): state=initialized audit_enabled=0 res=1
    [    0.048960] cpuidle: using governor menu
    [    0.049045] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
    [    0.049133] ASID allocator initialised with 65536 entries
    [    0.054836] /bus@f0000/interrupt-controller@1800000: Fixed dependency cycle(s) with /bus@f0000/interrupt-controller@1800000
    [    0.054954] /bus@f0000/i2c@20000000/deser@30: Fixed dependency cycle(s) with /bus@f0000/ticsi2rx@30102000/csi-bridge@30101000
    [    0.054987] /bus@f0000/i2c@20020000/bridge@2c: Fixed dependency cycle(s) with /bus@f0000/dsi@30500000
    [    0.055097] /bus@f0000/ticsi2rx@30102000/csi-bridge@30101000: Fixed dependency cycle(s) with /bus@f0000/i2c@20000000/deser@30
    [    0.055129] /bus@f0000/dss@30220000: Fixed dependency cycle(s) with /bus@f0000/dsi@30500000
    [    0.055152] /bus@f0000/dsi@30500000: Fixed dependency cycle(s) with /bus@f0000/dss@30220000
    [    0.055166] /bus@f0000/dsi@30500000: Fixed dependency cycle(s) with /bus@f0000/i2c@20020000/bridge@2c
    [    0.060289] /bus@f0000/i2c@20000000/deser@30: Fixed dependency cycle(s) with /bus@f0000/ticsi2rx@30102000/csi-bridge@30101000
    [    0.060419] /bus@f0000/i2c@20020000/bridge@2c: Fixed dependency cycle(s) with /bus@f0000/dsi@30500000
    [    0.062175] /bus@f0000/ticsi2rx@30102000/csi-bridge@30101000: Fixed dependency cycle(s) with /bus@f0000/i2c@20000000/deser@30
    [    0.062489] /bus@f0000/dss@30220000: Fixed dependency cycle(s) with /bus@f0000/dsi@30500000
    [    0.062696] /bus@f0000/dss@30220000: Fixed dependency cycle(s) with /bus@f0000/dsi@30500000
    [    0.062755] /bus@f0000/i2c@20020000/bridge@2c: Fixed dependency cycle(s) with /bus@f0000/dsi@30500000
    [    0.062812] /bus@f0000/dsi@30500000: Fixed dependency cycle(s) with /bus@f0000/dss@30220000
    [    0.062874] /bus@f0000/dsi@30500000: Fixed dependency cycle(s) with /bus@f0000/i2c@20020000/bridge@2c
    [    0.064866] /bus@f0000/i2c@20020000/bridge@2c: Fixed dependency cycle(s) with /dp0-connector
    [    0.064953] /dp0-connector: Fixed dependency cycle(s) with /bus@f0000/i2c@20020000/bridge@2c
    [    0.065838] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
    [    0.065847] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
    [    0.065852] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
    [    0.065855] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
    [    0.065860] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
    [    0.065863] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
    [    0.065867] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
    [    0.065870] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
    [    0.067300] k3-chipinfo 43000014.chipid: Family:AM62PX rev:SR1.0 JTAGID[0x0bb9d02f] Detected
    [    0.067549] iommu: Default domain type: Translated
    [    0.067553] iommu: DMA domain TLB invalidation policy: strict mode
    [    0.067951] SCSI subsystem initialized
    [    0.068603] EDAC MC: Ver: 3.0.0
    [    0.068927] scmi_core: SCMI protocol bus registered
    [    0.069124] mc: Linux media interface: v0.10
    [    0.069146] videodev: Linux video capture interface: v2.00
    [    0.070134] clocksource: Switched to clocksource arch_sys_counter
    [    0.076777] NET: Registered PF_INET protocol family
    [    0.076913] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
    [    0.077829] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)
    [    0.077849] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
    [    0.077860] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)
    [    0.077959] TCP bind hash table entries: 8192 (order: 6, 262144 bytes, linear)
    [    0.078199] TCP: Hash tables configured (established 8192 bind 8192)
    [    0.078314] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
    [    0.078342] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
    [    0.078490] NET: Registered PF_UNIX/PF_LOCAL protocol family
    [    0.078898] RPC: Registered named UNIX socket transport module.
    [    0.078904] RPC: Registered udp transport module.
    [    0.078906] RPC: Registered tcp transport module.
    [    0.078909] RPC: Registered tcp-with-tls transport module.
    [    0.078911] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.083403] Initialise system trusted keyrings
    [    0.083621] workingset: timestamp_bits=46 max_order=18 bucket_order=0
    [    0.084699] NFS: Registering the id_resolver key type
    [    0.084746] Key type id_resolver registered
    [    0.084750] Key type id_legacy registered
    [    0.084770] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
    [    0.084776] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
    [    0.139863] Key type asymmetric registered
    [    0.139881] Asymmetric key parser 'x509' registered
    [    0.140014] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)
    [    0.140020] io scheduler mq-deadline registered
    [    0.140025] io scheduler kyber registered
    [    0.140077] io scheduler bfq registered
    [    0.142898] pinctrl-single 4084000.pinctrl: 34 pins, size 136
    [    0.143615] pinctrl-single f4000.pinctrl: 171 pins, size 684
    [    0.148669] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
    [    0.158871] loop: module loaded
    [    0.160919] i2c_dev: i2c /dev entries driver
    [    0.161811] sdhci: Secure Digital Host Controller Interface driver
    [    0.161818] sdhci: Copyright(c) Pierre Ossman
    [    0.162018] sdhci-pltfm: SDHCI platform and OF driver helper
    [    0.162774] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
    [    0.164306] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 (0,8000003f) counters available
    [    0.165182] optee: probing for conduit method.
    [    0.165223] optee: revision 4.6 (eb93c13bc80c08bc)
    [    0.182042] optee: dynamic shared memory is enabled
    [    0.182946] optee: initialized driver
    [    0.183055] random: crng init done
    [    0.184296] NET: Registered PF_PACKET protocol family
    [    0.184367] Key type dns_resolver registered
    [    0.190633] Loading compiled-in X.509 certificates
    [    0.200424] ti-sci 44043000.system-controller: ABI: 4.0 (firmware rev 0x000b '11.1.2--v11.01.02 (Fancy Rat)')
    [    0.236701] /bus@f0000/bus@b00000/i2c@2b200000/pmic@48: Fixed dependency cycle(s) with /bus@f0000/bus@b00000/i2c@2b200000/pmic@48/regulators/buck3
    [    0.236910] omap_i2c 2b200000.i2c: bus 0 rev0.12 at 400 kHz
    [    0.238170] /bus@f0000/ticsi2rx@30102000/csi-bridge@30101000: Fixed dependency cycle(s) with /bus@f0000/i2c@20000000/deser@30
    [    0.238253] /bus@f0000/i2c@20000000/deser@30: Fixed dependency cycle(s) with /bus@f0000/ticsi2rx@30102000/csi-bridge@30101000
    [    0.238409] omap_i2c 20000000.i2c: bus 1 rev0.12 at 400 kHz
    [    0.239480] /dp0-connector: Fixed dependency cycle(s) with /bus@f0000/i2c@20020000/bridge@2c
    [    0.239563] /bus@f0000/dsi@30500000: Fixed dependency cycle(s) with /bus@f0000/i2c@20020000/bridge@2c
    [    0.239621] /bus@f0000/i2c@20020000/bridge@2c: Fixed dependency cycle(s) with /dp0-connector
    [    0.239681] /bus@f0000/i2c@20020000/bridge@2c: Fixed dependency cycle(s) with /bus@f0000/dsi@30500000
    [    0.239920] omap_i2c 20020000.i2c: bus 2 rev0.12 at 400 kHz
    [    0.241459] omap_i2c 20030000.i2c: bus 3 rev0.12 at 400 kHz
    [    0.242997] ti-sci-intr 4210000.interrupt-controller: Interrupt Router 5 domain created
    [    0.243174] ti-sci-intr bus@f0000:interrupt-controller@a00000: Interrupt Router 3 domain created
    [    0.243411] ti-sci-inta 48000000.interrupt-controller: Interrupt Aggregator domain 28 created
    [    0.243685] ti-sci-inta 4e400000.interrupt-controller: Interrupt Aggregator domain 200 created
    [    0.244853] ti-udma 485c0100.dma-controller: Number of rings: 82
    [    0.247366] ti-udma 485c0100.dma-controller: Channels: 48 (bchan: 18, tchan: 12, rchan: 18)
    [    0.249721] ti-udma 485c0000.dma-controller: Number of rings: 150
    [    0.254419] ti-udma 485c0000.dma-controller: Channels: 35 (tchan: 20, rchan: 15)
    [    0.256235] ti-udma 4e230000.dma-controller: Number of rings: 6
    [    0.256826] ti-udma 4e230000.dma-controller: Channels: 6 (bchan: 0, tchan: 0, rchan: 6)
    [    0.258173] printk: legacy console [ttyS2] disabled
    [    0.258500] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 251, base_baud = 3000000) is a 8250
    [    0.258572] printk: legacy console [ttyS2] enabled
    [    1.856603] 2810000.serial: ttyS3 at MMIO 0x2810000 (irq = 253, base_baud = 3000000) is a 8250
    [    1.869157] mmc0: CQHCI version 5.10
    [    1.877069] /bus@f0000/i2c@20000000/deser@30: Fixed dependency cycle(s) with /bus@f0000/ticsi2rx@30102000/csi-bridge@30101000
    [    1.888511] /bus@f0000/ticsi2rx@30102000/csi-bridge@30101000: Fixed dependency cycle(s) with /bus@f0000/i2c@20000000/deser@30
    [    1.900736] cdns-csi2rx 30101000.csi-bridge: Probed CSI2RX with 4/4 lanes, 4 streams, external D-PHY
    [    1.912784] mmc0: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit
    [    1.993004] -------------> max20086_i2c_probe, 229
    [    2.000454] mmc1: CQHCI version 5.10
    [    2.003025] clk: Disabling unused clocks
    [    2.013001] PM: genpd: Disabling unused power domains
    [    2.018316] Warning: unable to open an initial console.
    [    2.032652] mmc0: Command Queue Engine enabled
    [    2.037120] mmc0: new HS200 MMC card at address 0001
    [    2.042835] mmcblk0: mmc0:0001 A8A398 7.28 GiB
    [    2.048487]  mmcblk0: p1
    [    2.051427] mmcblk0boot0: mmc0:0001 A8A398 4.00 MiB
    [    2.056887] mmcblk0boot1: mmc0:0001 A8A398 4.00 MiB
    [    2.062356] mmcblk0rpmb: mmc0:0001 A8A398 4.00 MiB, chardev (247:0)
    [    3.524444] sdhci-am654 fa00000.mmc: Power on failed
    [    3.560031] mmc1: SDHCI controller on fa00000.mmc [fa00000.mmc] using ADMA 64-bit
    [    3.570077] Freeing unused kernel memory: 8000K
    [    3.574726] Run /init as init process
    [   12.259974] platform 30220000.dss: deferred probe pending: tidss: port 1 probe failed
    
    

    Do you have any suggestion to solve tidss error?

    And I find the define of K3_HW_CONFIG_BASE & PRELOADED_BL33_BASE isn't consistent in these four chapters: 3.1.2.10.1.1 , 3.1.2.10.1.3 , 3.1.2.10.2.3, 3.1.2.10.3. May it cause my problem in tidss?

    BR,

    Jeff

  • Hi Jeff, 

    Glad to know that you could find out the missing link.

    This means that the tifalcon and fitimage is working.

    The correct values are PRELOADED_BL33_BASE=0x82000000 and K3_HW_CONFIG_BASE=0x88000000.

    Thanks for pointing this out, we will correct it in the SDK doc.

    The tidss issue is a driver level issue, it is not a memory-level problem.

    Please make sure you are using the correct kernel and dtb to create the fitimage.

    I've tried this out in both SDK 11.2 and 12 and was able to successfully boot with the given instructions with the pre-built kernel and dtb.

    Please refer the logs.

    U-Boot SPL 2025.01-g7493977a537f-dirty (Jun 03 2026 - 11:38:41 +0530)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.2.5--v11.02.05 (Fancy Rat)')
    Set clock rates for '/a53@0', CPU: 1250MHz at Speed Grade 'V'
    SPL initial stack usage: 17104 bytes
    Trying to boot from MMC1
    Authentication passed
    Loading falcon payload from MMC1
    Authentication passed
    Authentication passed
    Loading Environment from nowhere... OK
    init_env from device 9 not supported!
    Authentication passed
    Authentication passed
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.13.0(release):v2.13.0-259-ge0c4d3903
    NOTICE:  BL31: Built : 06:00:11, Jun  3 2026
    [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
    [    0.000000] Linux version 6.12.57-ti-g31b07ab8dfbc (oe-user@oe-host) (aarch64-oe-linux-gcc (GCC) 13.4.0, GNU ld (GNU Binutils) 2.42.0.20240723) #1 SMP PREEMPT Thu Dec  4 13:07:37 UTC 2025
    [    0.000000] KASLR disabled due to lack of seed
    [    0.000000] Machine model: Texas Instruments AM62P5 SK
    [    0.000000] efi: UEFI not found.
    [    0.000000] Reserved memory: created CMA memory pool at 0x00000009dc000000, size 576 MiB
    [    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000009dc000000..0x00000009ffffffff (589824 KiB) map reusable linux,cma
    [    0.000000] OF: reserved mem: 0x000000009e800000..0x000000009fffffff (24576 KiB) nomap non-reusable optee@9e800000
    [    0.000000] OF: reserved mem: 0x0000000080000000..0x000000008007ffff (512 KiB) nomap non-reusable tfa@80000000
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009b500000, size 3 MiB
    [    0.000000] OF: reserved mem: initialized node rtos-ipc-memory@9b500000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x000000009b500000..0x000000009b7fffff (3072 KiB) nomap non-reusable rtos-ipc-memory@9b500000
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009b800000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node mcu-r5fss-dma-memory-region@9b800000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x000000009b800000..0x000000009b8fffff (1024 KiB) nomap non-reusable mcu-r5fss-dma-memory-region@9b800000
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009b900000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node mcu-r5fss-memory-region@9b900000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x000000009b900000..0x000000009c7fffff (15360 KiB) nomap non-reusable mcu-r5fss-memory-region@9b900000
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009c800000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@9c800000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x000000009c800000..0x000000009c8fffff (1024 KiB) nomap non-reusable r5f-dma-memory@9c800000
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009c900000, size 30 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-memory@9c900000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x000000009c900000..0x000000009e6fffff (30720 KiB) nomap non-reusable r5f-memory@9c900000
    [    0.000000] Zone ranges:
    [    0.000000]   DMA      [mem 0x0000000080000000-0x00000000ffffffff]
    [    0.000000]   DMA32    empty
    [    0.000000]   Normal   [mem 0x0000000100000000-0x00000009ffffffff]
    [    0.000000] Movable zone start for each node
    [    0.000000] Early memory node ranges
    [    0.000000]   node   0: [mem 0x0000000080000000-0x000000008007ffff]
    [    0.000000]   node   0: [mem 0x0000000080080000-0x000000009b4fffff]
    [    0.000000]   node   0: [mem 0x000000009b500000-0x000000009e6fffff]
    [    0.000000]   node   0: [mem 0x000000009e700000-0x000000009e7fffff]
    [    0.000000]   node   0: [mem 0x000000009e800000-0x000000009fffffff]
    [    0.000000]   node   0: [mem 0x00000000a0000000-0x00000000ffffffff]
    [    0.000000]   node   0: [mem 0x0000000880000000-0x00000009ffffffff]
    [    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000009ffffffff]
    [    0.000000] psci: probing for conduit method from DT.
    [    0.000000] psci: PSCIv1.1 detected in firmware.
    [    0.000000] psci: Using standard PSCI v0.2 function IDs
    [    0.000000] psci: Trusted OS migration not required
    [    0.000000] psci: SMC Calling Convention v1.5
    [    0.000000] percpu: Embedded 22 pages/cpu s51736 r8192 d30184 u90112
    [    0.000000] Detected VIPT I-cache on CPU0
    [    0.000000] CPU features: detected: GIC system register CPU interface
    [    0.000000] CPU features: detected: ARM erratum 845719
    [    0.000000] alternatives: applying boot alternatives
    [    0.000000] Kernel command line: console=ttyS2,115200n8 root=PARTUUID=26b82fdf-01 rootwait
    [    0.000000] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear)
    [    0.000000] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 2097152
    [    0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
    [    0.000000] software IO TLB: area num 4.
    [    0.000000] software IO TLB: mapped [mem 0x00000000fbfff000-0x00000000fffff000] (64MB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
    [    0.000000] rcu: Preemptible hierarchical RCU implementation.
    [    0.000000] rcu: 	RCU event tracing is enabled.
    [    0.000000] rcu: 	RCU restricting CPUs from NR_CPUS=512 to nr_cpu_ids=4.
    [    0.000000] 	Trampoline variant of Tasks RCU enabled.
    [    0.000000] 	Tracing variant of Tasks RCU enabled.
    [    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
    [    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
    [    0.000000] RCU Tasks: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4.
    [    0.000000] RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4.
    [    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
    [    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
    [    0.000000] GICv3: 256 SPIs implemented
    [    0.000000] GICv3: 0 Extended SPIs implemented
    [    0.000000] Root IRQ handler: gic_handle_irq
    [    0.000000] GICv3: GICv3 features: 16 PPIs
    [    0.000000] GICv3: GICD_CTRL.DS=0, SCR_EL3.FIQ=1
    [    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000001880000
    [    0.000000] ITS [mem 0x01820000-0x0182ffff]
    [    0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
    [    0.000000] ITS@0x0000000001820000: Devices Table too large, reduce ids 20->19
    [    0.000000] ITS@0x0000000001820000: allocated 524288 Devices @880800000 (flat, esz 8, psz 64K, shr 0)
    [    0.000000] ITS: using cache flushing for cmd queue
    [    0.000000] GICv3: using LPI property table @0x0000000880050000
    [    0.000000] GIC: using cache flushing for LPI property table
    [    0.000000] GICv3: CPU0: using allocated LPI pending table @0x0000000880060000
    [    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
    [    0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys).
    [    0.000000] clocksource: arch_sys_counter: mask: 0x3ffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
    [    0.000001] sched_clock: 58 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
    [    0.000478] Console: colour dummy device 80x25
    [    0.000538] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
    [    0.000549] pid_max: default: 32768 minimum: 301
    [    0.000638] LSM: initializing lsm=capability,selinux
    [    0.000690] SELinux:  Initializing.
    [    0.001135] Mount-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
    [    0.001165] Mountpoint-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
    [    0.003342] rcu: Hierarchical SRCU implementation.
    [    0.003352] rcu: 	Max phase no-delay instances is 1000.
    [    0.003532] Timer migration: 1 hierarchy levels; 8 children per group; 1 crossnode level
    [    0.004031] EFI services will not be available.
    [    0.004272] smp: Bringing up secondary CPUs ...
    [    0.004860] Detected VIPT I-cache on CPU1
    [    0.004936] GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000
    [    0.004952] GICv3: CPU1: using allocated LPI pending table @0x0000000880070000
    [    0.004996] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
    [    0.005708] Detected VIPT I-cache on CPU2
    [    0.005768] GICv3: CPU2: found redistributor 2 region 0:0x00000000018c0000
    [    0.005782] GICv3: CPU2: using allocated LPI pending table @0x0000000880080000
    [    0.005813] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
    [    0.006448] Detected VIPT I-cache on CPU3
    [    0.006503] GICv3: CPU3: found redistributor 3 region 0:0x00000000018e0000
    [    0.006517] GICv3: CPU3: using allocated LPI pending table @0x0000000880090000
    [    0.006547] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
    [    0.006658] smp: Brought up 1 node, 4 CPUs
    [    0.006665] SMP: Total of 4 processors activated.
    [    0.006668] CPU: All CPU(s) started at EL2
    [    0.006672] CPU features: detected: 32-bit EL0 Support
    [    0.006675] CPU features: detected: CRC32 instructions
    [    0.006711] alternatives: applying system-wide alternatives
    [    0.007283] Memory: 7464116K/8388608K available (13056K kernel code, 1258K rwdata, 4676K rodata, 2752K init, 643K bss, 325620K reserved, 589824K cma-reserved)
    [    0.008373] devtmpfs: initialized
    [    0.019190] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
    [    0.019212] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
    [    0.033727] 27120 pages in range for non-PLT usage
    [    0.033743] 518640 pages in range for PLT usage
    [    0.034006] pinctrl core: initialized pinctrl subsystem
    [    0.034606] DMI not present or invalid.
    [    0.036813] NET: Registered PF_NETLINK/PF_ROUTE protocol family
    [    0.037977] DMA: preallocated 1024 KiB GFP_KERNEL pool for atomic allocations
    [    0.038109] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
    [    0.038224] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
    [    0.038289] audit: initializing netlink subsys (disabled)
    [    0.038517] audit: type=2000 audit(0.036:1): state=initialized audit_enabled=0 res=1
    [    0.038970] thermal_sys: Registered thermal governor 'step_wise'
    [    0.038974] thermal_sys: Registered thermal governor 'power_allocator'
    [    0.039021] cpuidle: using governor menu
    [    0.039173] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
    [    0.039268] ASID allocator initialised with 65536 entries
    [    0.045062] /bus@f0000/interrupt-controller@1800000: Fixed dependency cycle(s) with /bus@f0000/interrupt-controller@1800000
    [    0.045174] /bus@f0000/i2c@20000000/usb-power-controller@3f/connector: Fixed dependency cycle(s) with /bus@f0000/usb@f900000/usb@31000000
    [    0.045205] /bus@f0000/i2c@20010000/bridge-hdmi@3b: Fixed dependency cycle(s) with /bus@f0000/dss@30200000
    [    0.045259] /bus@f0000/usb@f900000/usb@31000000: Fixed dependency cycle(s) with /bus@f0000/i2c@20000000/usb-power-controller@3f/connector
    [    0.045369] /bus@f0000/dss@30200000: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/bridge-hdmi@3b
    [    0.050660] /bus@f0000/i2c@20000000/usb-power-controller@3f/connector: Fixed dependency cycle(s) with /bus@f0000/usb@f900000/usb@31000000
    [    0.050800] /bus@f0000/i2c@20010000/bridge-hdmi@3b: Fixed dependency cycle(s) with /bus@f0000/dss@30200000
    [    0.051648] /bus@f0000/usb@f900000/usb@31000000: Fixed dependency cycle(s) with /bus@f0000/i2c@20000000/usb-power-controller@3f/connector
    [    0.053713] /bus@f0000/i2c@20010000/bridge-hdmi@3b: Fixed dependency cycle(s) with /bus@f0000/dss@30200000
    [    0.053781] /bus@f0000/dss@30200000: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/bridge-hdmi@3b
    [    0.055384] /bus@f0000/i2c@20010000/bridge-hdmi@3b: Fixed dependency cycle(s) with /connector-hdmi
    [    0.055454] /connector-hdmi: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/bridge-hdmi@3b
    [    0.056188] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
    [    0.056196] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
    [    0.056201] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
    [    0.056204] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
    [    0.056208] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
    [    0.056211] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
    [    0.056216] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
    [    0.056219] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
    [    0.057860] debugfs: Directory '43000014.chipid' with parent 'regmap' already present!
    [    0.057928] k3-chipinfo 43000014.chipid: Family:AM62PX rev:SR1.2 JTAGID[0x0bb9d02f] Detected
    [    0.058565] iommu: Default domain type: Translated
    [    0.058573] iommu: DMA domain TLB invalidation policy: strict mode
    [    0.059712] SCSI subsystem initialized
    [    0.060107] usbcore: registered new interface driver usbfs
    [    0.060143] usbcore: registered new interface driver hub
    [    0.060170] usbcore: registered new device driver usb
    [    0.060736] pps_core: LinuxPPS API ver. 1 registered
    [    0.060740] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.060752] PTP clock support registered
    [    0.060785] EDAC MC: Ver: 3.0.0
    [    0.061095] scmi_core: SCMI protocol bus registered
    [    0.061365] FPGA manager framework
    [    0.061448] Advanced Linux Sound Architecture Driver Initialized.
    [    0.062368] vgaarb: loaded
    [    0.062699] clocksource: Switched to clocksource arch_sys_counter
    [    0.062927] VFS: Disk quotas dquot_6.6.0
    [    0.062945] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
    [    0.069816] NET: Registered PF_INET protocol family
    [    0.070091] IP idents hash table entries: 131072 (order: 8, 1048576 bytes, linear)
    [    0.075347] tcp_listen_portaddr_hash hash table entries: 4096 (order: 4, 65536 bytes, linear)
    [    0.075417] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
    [    0.075480] TCP established hash table entries: 65536 (order: 7, 524288 bytes, linear)
    [    0.075883] TCP bind hash table entries: 65536 (order: 9, 2097152 bytes, linear)
    [    0.077507] TCP: Hash tables configured (established 65536 bind 65536)
    [    0.077649] UDP hash table entries: 4096 (order: 5, 131072 bytes, linear)
    [    0.077799] UDP-Lite hash table entries: 4096 (order: 5, 131072 bytes, linear)
    [    0.078097] NET: Registered PF_UNIX/PF_LOCAL protocol family
    [    0.078585] RPC: Registered named UNIX socket transport module.
    [    0.078591] RPC: Registered udp transport module.
    [    0.078594] RPC: Registered tcp transport module.
    [    0.078596] RPC: Registered tcp-with-tls transport module.
    [    0.078599] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.078607] NET: Registered PF_XDP protocol family
    [    0.078628] PCI: CLS 0 bytes, default 64
    [    0.080026] Initialise system trusted keyrings
    [    0.080251] workingset: timestamp_bits=46 max_order=21 bucket_order=0
    [    0.080550] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.080801] NFS: Registering the id_resolver key type
    [    0.080825] Key type id_resolver registered
    [    0.080829] Key type id_legacy registered
    [    0.080849] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
    [    0.080854] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
    [    0.134843] Key type asymmetric registered
    [    0.134854] Asymmetric key parser 'x509' registered
    [    0.134928] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 244)
    [    0.135100] io scheduler mq-deadline registered
    [    0.135106] io scheduler kyber registered
    [    0.135137] io scheduler bfq registered
    [    0.138239] pinctrl-single 4084000.pinctrl: 34 pins, size 136
    [    0.138879] pinctrl-single f4000.pinctrl: 172 pins, size 688
    [    0.140723] ledtrig-cpu: registered to indicate activity on CPUs
    [    0.146679] Serial: 8250/16550 driver, 12 ports, IRQ sharing enabled
    [    0.157544] loop: module loaded
    [    0.158583] megasas: 07.727.03.00-rc1
    [    0.162650] tun: Universal TUN/TAP device driver, 1.6
    [    0.163747] VFIO - User Level meta-driver version: 0.3
    [    0.165013] usbcore: registered new interface driver usb-storage
    [    0.165605] i2c_dev: i2c /dev entries driver
    [    0.167274] sdhci: Secure Digital Host Controller Interface driver
    [    0.167281] sdhci: Copyright(c) Pierre Ossman
    [    0.167500] sdhci-pltfm: SDHCI platform and OF driver helper
    [    0.168159] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
    [    0.169035] usbcore: registered new interface driver usbhid
    [    0.169040] usbhid: USB HID core driver
    [    0.170370] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 (0,8000003f) counters available
    [    0.171138] optee: probing for conduit method.
    [    0.171169] optee: revision 4.9 (f2a7ad0638aeff52)
    [    0.171526] optee: dynamic shared memory is enabled
    [    0.172225] optee: initialized driver
    [    0.172336] random: crng init done
    [    0.173826] Initializing XFRM netlink socket
    [    0.173856] NET: Registered PF_PACKET protocol family
    [    0.173935] Key type dns_resolver registered
    [    0.182603] registered taskstats version 1
    [    0.182903] Loading compiled-in X.509 certificates
    [    0.194363] ti-sci 44043000.system-controller: ABI: 4.0 (firmware rev 0x000b '11.2.5--v11.02.05 (Fancy Rat)')
    [    0.241210] /bus@f0000/i2c@20000000/usb-power-controller@3f/connector: Fixed dependency cycle(s) with /bus@f0000/usb@f900000/usb@31000000
    [    0.241351] omap_i2c 20000000.i2c: bus 0 rev0.12 at 400 kHz
    [    0.243054] pca953x 1-0023: supply vcc not found, using dummy regulator
    [    0.243165] pca953x 1-0023: using AI
    [    0.260882] /connector-hdmi: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/bridge-hdmi@3b
    [    0.260950] /bus@f0000/dss@30200000: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/bridge-hdmi@3b
    [    0.261004] /bus@f0000/i2c@20010000/bridge-hdmi@3b: Fixed dependency cycle(s) with /connector-hdmi
    [    0.261063] /bus@f0000/i2c@20010000/bridge-hdmi@3b: Fixed dependency cycle(s) with /bus@f0000/dss@30200000
    [    0.261272] omap_i2c 20010000.i2c: bus 1 rev0.12 at 100 kHz
    [    0.262409] omap_i2c 20020000.i2c: bus 2 rev0.12 at 400 kHz
    [    0.262630] ti-sci-intr bus@f0000:interrupt-controller@a00000: Interrupt Router 3 domain created
    [    0.262914] ti-sci-inta 48000000.interrupt-controller: Interrupt Aggregator domain 28 created
    [    0.263179] ti-sci-inta 4e400000.interrupt-controller: Interrupt Aggregator domain 200 created
    [    0.264142] ti-udma 485c0100.dma-controller: Number of rings: 82
    [    0.266604] ti-udma 485c0100.dma-controller: Channels: 48 (bchan: 18, tchan: 12, rchan: 18)
    [    0.269079] ti-udma 485c0000.dma-controller: Number of rings: 150
    [    0.273737] ti-udma 485c0000.dma-controller: Channels: 35 (tchan: 20, rchan: 15)
    [    0.275711] ti-udma 4e230000.dma-controller: Number of rings: 6
    [    0.276273] ti-udma 4e230000.dma-controller: Channels: 6 (bchan: 0, tchan: 0, rchan: 6)
    [    0.277559] printk: legacy console [ttyS2] disabled
    [    0.277885] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 250, base_baud = 3000000) is a 8250
    [    0.277953] printk: legacy console [ttyS2] enabled
    [    1.933816] 7 fixed-partitions partitions found on MTD device fc40000.spi.0
    [    1.940805] Creating 7 MTD partitions on "fc40000.spi.0":
    [    1.946202] 0x000000000000-0x000000080000 : "ospi.tiboot3"
    [    1.952907] 0x000000080000-0x000000280000 : "ospi.tispl"
    [    1.959317] 0x000000280000-0x000000680000 : "ospi.u-boot"
    [    1.965837] 0x000000680000-0x0000006c0000 : "ospi.env"
    [    1.972103] 0x0000006c0000-0x000000700000 : "ospi.env.backup"
    [    1.979015] 0x000000800000-0x000003fc0000 : "ospi.rootfs"
    [    1.985484] 0x000003fc0000-0x000004000000 : "ospi.phypattern"
    [    1.992383] cadence-qspi fc40000.spi: Pattern not found. Skipping calibration.
    [    2.000332] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA01903, cpsw version 0x6BA81903 Ports: 3 quirks:00000006
    [    2.013458] am65-cpsw-nuss 8000000.ethernet: Use random MAC address
    [    2.054713] davinci_mdio 8000f00.mdio: davinci mdio revision 17.7, bus freq 1000000
    [    2.069163] davinci_mdio 8000f00.mdio: phy[0]: device 8000f00.mdio:00, driver TI DP83867
    [    2.077265] davinci_mdio 8000f00.mdio: phy[1]: device 8000f00.mdio:01, driver TI DP83867
    [    2.085469] am65-cpsw-nuss 8000000.ethernet: initialized cpsw ale version 1.5
    [    2.092600] am65-cpsw-nuss 8000000.ethernet: ALE Table size 512, Policers 32
    [    2.100329] am65-cpsw-nuss 8000000.ethernet: CPTS ver 0x4e8a010d, freq:500000000, add_val:1 pps:0
    [    2.118101] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 19
    [    2.128810] /bus@f0000/i2c@20000000/usb-power-controller@3f/connector: Fixed dependency cycle(s) with /bus@f0000/usb@f900000/usb@31000000
    [    2.141290] /bus@f0000/usb@f900000/usb@31000000: Fixed dependency cycle(s) with /bus@f0000/i2c@20000000/usb-power-controller@3f/connector
    [    2.157051] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
    [    2.162602] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
    [    2.170374] xhci-hcd xhci-hcd.0.auto: USB3 root hub has no ports
    [    2.176389] xhci-hcd xhci-hcd.0.auto: hcc params 0x0258fe6d hci version 0x110 quirks 0x0000808020000010
    [    2.185829] xhci-hcd xhci-hcd.0.auto: irq 264, io mem 0x31100000
    [    2.192614] hub 1-0:1.0: USB hub found
    [    2.196427] hub 1-0:1.0: 1 port detected
    [    2.203919] mmc0: CQHCI version 5.10
    [    2.209513] pca953x 1-0022: supply vcc not found, using dummy regulator
    [    2.216278] pca953x 1-0022: using AI
    [    2.224417] clk: Disabling unused clocks
    [    2.226826] mmc1: CQHCI version 5.10
    [    2.233148] PM: genpd: Disabling unused power domains
    [    2.238305] ALSA device list:
    [    2.241335]   No soundcards found.
    [    2.244754] mmc0: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit
    [    2.271272] mmc1: SDHCI controller on fa00000.mmc [fa00000.mmc] using ADMA 64-bit
    [    2.278943] Waiting for root device PARTUUID=26b82fdf-01...
    [    2.339284] mmc0: Command Queue Engine enabled
    [    2.343766] mmc0: new HS400 MMC card at address 0001
    [    2.349754] mmcblk0: mmc0:0001 G1M15L 29.6 GiB
    [    2.355935]  mmcblk0: p1
    [    2.358923] mmcblk0boot0: mmc0:0001 G1M15L 31.5 MiB
    [    2.364692] mmcblk0boot1: mmc0:0001 G1M15L 31.5 MiB
    [    2.370471] mmcblk0rpmb: mmc0:0001 G1M15L 4.00 MiB, chardev (239:0)
    [    2.458175] EXT4-fs (mmcblk0p1): orphan cleanup on readonly fs
    [    2.466297] EXT4-fs (mmcblk0p1): mounted filesystem d0fb49c3-40e6-4f65-9d53-32e006f6b89d ro with ordered data mode. Quota mode: none.
    [    2.478457] VFS: Mounted root (ext4 filesystem) readonly on device 179:1.
    [    2.485876] devtmpfs: mounted
    [    2.489578] Freeing unused kernel memory: 2752K
    [    2.494204] Run /sbin/init as init process
    [    2.540095] mmc1: new ultra high speed SDR104 SDHC card at address aaaa
    [    2.547538] mmcblk1: mmc1:aaaa SD32G 29.7 GiB
    [    2.554090]  mmcblk1: p1 p2
    [    2.582250] systemd[1]: System time before build time, advancing clock.
    [    2.607879] NET: Registered PF_INET6 protocol family
    [    2.613881] Segment Routing with IPv6
    [    2.617603] In-situ OAM (IOAM) with IPv6
    [    2.639922] systemd[1]: systemd 255.21^ running in system mode (+PAM -AUDIT -SELINUX -APPARMOR +IMA -SMACK +SECCOMP -GCRYPT -GNUTLS -OPENSSL +ACL +BLKID -CURL -ELFUTILS -FIDO2 -IDN2 -IDN -IPTC +KMOD -LIBCRYPTSETUP +LIBFDISK -PCRE2 -PWQUALITY -P11KIT -QRENCODE -TPM2 -BZIP2 -LZ4 -XZ -ZLIB +ZSTD -BPF_FRAMEWORK -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified)
    [    2.671815] systemd[1]: Detected architecture arm64.
    
    Welcome to Arago 2025.01!
    
    [    2.683768] systemd[1]: Hostname set to <am62pxx-evm>.
    [    2.691275] systemd[1]: Initializing machine ID from random generator.
    [    2.698016] systemd[1]: Installed transient /etc/machine-id file.
    [    3.056633] systemd[1]: Queued start job for default target Multi-User System.
    [    3.108228] systemd[1]: Created slice Slice /system/getty.
    [  OK  ] Created slice Slice /system/getty.
    [    3.128934] systemd[1]: Created slice Slice /system/modprobe.
    [  OK  ] Created slice Slice /system/modprobe.
    [    3.148935] systemd[1]: Created slice Slice /system/serial-getty.
    [  OK  ] Created slice Slice /system/serial-getty.
    [    3.168447] systemd[1]: Created slice User and Session Slice.
    [  OK  ] Created slice User and Session Slice.
    [    3.187144] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [  OK  ] Started Dispatch Password Requests to Console Directory Watch.
    [    3.207024] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    [  OK  ] Started Forward Password Requests to Wall Directory Watch.
    [    3.226885] systemd[1]: Expecting device /dev/ttyS2...
             Expecting device /dev/ttyS2...
    [    3.238957] systemd[1]: Reached target Path Units.
    [  OK  ] Reached target Path Units.
    [    3.250854] systemd[1]: Reached target Remote File Systems.
    [  OK  ] Reached target Remote File Systems.
    [    3.266826] systemd[1]: Reached target Slice Units.
    [  OK  ] Reached target Slice Units.
    [    3.278834] systemd[1]: Reached target Swaps.
    [  OK  ] Reached target Swaps.
    [    3.343171] systemd[1]: Listening on RPCbind Server Activation Socket.
    [  OK  ] Listening on RPCbind Server Activation Socket.
    [    3.362946] systemd[1]: Reached target RPC Port Mapper.
    [  OK  ] Reached target RPC Port Mapper.
    [    3.385156] systemd[1]: Listening on Process Core Dump Socket.
    [  OK  ] Listening on Process Core Dump Socket.
    [    3.403237] systemd[1]: Listening on initctl Compatibility Named Pipe.
    [  OK  ] Listening on initctl Compatibility Named Pipe.
    [    3.423932] systemd[1]: Listening on Journal Audit Socket.
    [  OK  ] Listening on Journal Audit Socket.
    [    3.443480] systemd[1]: Listening on Journal Socket (/dev/log).
    [  OK  ] Listening on Journal Socket (/dev/log).
    [    3.463554] systemd[1]: Listening on Journal Socket.
    [  OK  ] Listening on Journal Socket.
    [    3.479679] systemd[1]: Listening on Network Service Netlink Socket.
    [  OK  ] Listening on Network Service Netlink Socket.
    [    3.499611] systemd[1]: Listening on udev Control Socket.
    [  OK  ] Listening on udev Control Socket.
    [    3.519341] systemd[1]: Listening on udev Kernel Socket.
    [  OK  ] Listening on udev Kernel Socket.
    [    3.535409] systemd[1]: Listening on User Database Manager Socket.
    [  OK  ] Listening on User Database Manager Socket.
    [    3.591053] systemd[1]: Mounting Huge Pages File System...
             Mounting Huge Pages File System...
    [    3.606875] systemd[1]: Mounting POSIX Message Queue File System...
             Mounting POSIX Message Queue File System...
    [    3.631035] systemd[1]: Mounting Kernel Debug File System...
             Mounting Kernel Debug File System...
    [    3.643430] systemd[1]: Kernel Trace File System was skipped because of an unmet condition check (ConditionPathExists=/sys/kernel/tracing).
    [    3.660917] systemd[1]: Mounting Temporary Directory /tmp...
             Mounting Temporary Directory /tmp...
    [    3.680074] systemd[1]: Starting Create List of Static Device Nodes...
             Starting Create List of Static Device Nodes...
    [    3.703243] systemd[1]: Starting Load Kernel Module configfs...
             Starting Load Kernel Module configfs...
    [    3.727326] systemd[1]: Starting Load Kernel Module drm...
             Starting Load Kernel Module drm...
    [    3.743473] systemd[1]: Starting Load Kernel Module fuse...
             Starting Load Kernel Module fuse...
    [    3.759927] systemd[1]: Starting Start psplash boot splash screen...
             Starting Start psplash boot splash screen...
    [    3.773647] fuse: init (API version 7.41)
    [    3.784065] systemd[1]: Starting RPC Bind...
             Starting RPC Bind...
    [    3.799644] systemd[1]: Starting File System Check on Root Device...
             Starting File System Check on Root Device...
    [    3.826955] systemd[1]: Starting Journal Service...
             Starting Journal Service...
    [    3.845421] systemd[1]: Starting Load Kernel Modules...
             Starting Load Kernel Modules...
    [    3.856522] systemd[1]: Starting Generate network units from Kernel command line...
             Starting Generate network units from Kernel command line...
    [    3.871651] systemd[1]: Starting Coldplug All udev Devices...
             Starting Coldplug All udev Devices...
    [    3.886785] systemd[1]: Started RPC Bind.
    [  OK  ] Started RPC Bind.
    [    3.892117] systemd[1]: Mounted Huge Pages File System.
    [  OK  ] Mounted Huge Pages File System.[    3.902014] systemd[1]: Mounted POSIX Message Queue File System.
    
    [    3.905289] cryptodev: loading out-of-tree module taints kernel.
    [  OK  ] Mounted POSIX Message Queue File Sy[    3.920576] systemd[1]: Mounted Kernel Debug File System.
    stem.
    [    3.923076] sysctl table check failed: ioctl/(null) procname is null
    [    3.937783] sysctl table check failed: ioctl/(null) No proc_handler
    [    3.944096] cryptodev: driver 1.14 loaded.
    [  OK  ] Mounted Kernel Debug File System    3.948881] systemd-journald[128]: Collecting audit messages is enabled.
    m.
    [    3.967884] systemd[1]: Mounted Temporary Directory /tmp.
    [  OK  ] Mounted Temporary Directory /tmp.
    [    3.988563] systemd[1]: Finished Create List of Static Device Nodes.
    [  OK  ] Finished Create List of Static Device Nodes.
    [    4.008226] systemd[1]: modprobe@configfs.service: Deactivated successfully.
    [    4.016178] systemd[1]: Finished Load Kernel Module configfs.
    [  OK  ] Finished Load Kernel Module configfs.
    [    4.035463] systemd[1]: Started Journal Service.
    [  OK  ] Started Journal Service.
    [  OK  ] Finished Load Kernel Module drm.
    [  OK  ] Finished Load Kernel Module fuse.
    [FAILED] Failed to start Start psplash boot splash screen.
    See 'systemctl status psplash-start.service' for details.
    [DEPEND] Dependency failed for Start psplas…temd progress communication helper.
    [  OK  ] Finished File System Check on Root Device.
    [  OK  ] Finished Load Kernel Modules.
    [  OK  ] Finished Generate network units from Kernel command line.
             Mounting FUSE Control File System...
             Mounting Kernel Configuration File System...
             Starting Remount Root and Kernel File Systems...
             Starting Apply Kernel Variables...
             Starting Create Static Device Nodes in /dev gracefully...
    [  OK  ] Mounted FUSE Control File System.
    [    4.308273] EXT4-fs (mmcblk0p1): re-mounted d0fb49c3-40e6-4f65-9d53-32e006f6b89d r/w.
    [  OK  ] Mounted Kernel Configuration File System.
    [  OK  ] Finished Remount Root and Kernel File Systems.
    [  OK  ] Finished Apply Kernel Variables.
             Starting Flush Journal to Persistent Storage...
    [    4.408831] systemd-journald[128]: Received client request to flush runtime journal.
    [  OK  ] Finished Create Static Device Nodes in /dev gracefully.
    [  OK  ] Finished Flush Journal to Persistent Storage.
             Starting Create System Users...
    [    4.515624] audit: type=1334 audit(1748544503.932:2): prog-id=6 op=LOAD
    [    4.522635] audit: type=1334 audit(1748544503.936:3): prog-id=7 op=LOAD
    [    4.529426] audit: type=1334 audit(1748544503.936:4): prog-id=8 op=LOAD
             Starting User Database Manager...
    [  OK  ] Finished Coldplug All udev Devices.
    [  OK  ] Started User Database Manager.
    [  OK  ] Finished Create System Users.
             Starting Create Static Device Nodes in /dev...
    [  OK  ] Finished Create Static Device Nodes in /dev.
    [  OK  ] Reached target Preparation for Local File Systems.
             Mounting /var/volatile...
    [    4.821303] audit: type=1334 audit(1748544504.236:5): prog-id=9 op=LOAD
    [    4.827987] audit: type=1334 audit(1748544504.244:6): prog-id=10 op=LOAD
             Starting Rule-based Manager for Device Events and Files...
    [  OK  ] Mounted /var/volatile.
             Starting Load/Save OS Random Seed...
    [  OK  ] Reached target Local File Systems.
             Starting Rebuild Dynamic Linker Cache...
             Starting Create System Files and Directories...
    [  OK  ] Finished Load/Save OS Random Seed.
             Starting Commit a transient machine-id on disk...
    [  OK  ] Finished Commit a transient machine-id on disk.
    [  OK  ] Finished Create System Files and Directories.
             Starting Rebuild Journal Catalog...
    [    5.143062] audit: type=1334 audit(1748544504.560:7): prog-id=11 op=LOAD
             Starting Network Name Resolution...
    [    5.166653] audit: type=1334 audit(1748544504.580:8): prog-id=12 op=LOAD
             Starting Network Time Synchronization...
             Starting Record System Boot/Shutdown in UTMP...
    [  OK  ] Finished Rebuild Dynamic Linker Cache.
    [  OK  ] Finished Rebuild Journal Catalog.
             Starting Update is Completed...
    [  OK  ] Started Rule-based Manager for Device Events and Files.
    [  OK  ] Finished Record System Boot/Shutdown in UTMP.
    [  OK  ] Finished Update is Completed.
    [  OK  ] Started Network Time Synchronization.
    [  OK  ] Reached target System Time Set.
    [  OK  ] Started Network Name Resolution.
    [  OK  ] Reached target Host and Network Name Lookups.
    [  OK  ] Reached target System Initialization.
    [  OK  ] Started Daily Cleanup of Temporary Directories.
    [  OK  ] Reached target Timer Units.
    [  OK  ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
    [  OK  ] Listening on D-Bus System Message Bus Socket.
             Starting Docker Socket for the API...
    [  OK  ] Listening on dropbear.socket.
    [    5.654438] audit: type=1334 audit(1748544505.068:9): prog-id=13 op=LOAD
             Starting D-Bus System Message Bus...
    [  OK  ] Listening on Docker Socket for the API.
    [  OK  ] Found device /dev/ttyS2.
    [  OK  ] Reached target Socket Units.
    [  OK  ] Started D-Bus System Message Bus.
    [  OK  ] Reached target Basic System.
             Starting Avahi mDNS/DNS-SD Stack...
             Starting Print notice about GPLv3 packages...
             Starting IPv6 Packet Filtering Framework...
             Starting IPv4 Packet Filtering Framework...
             Starting Expand the rootfs partiti…to full size of the boot device....
    [    6.009166] audit: type=1334 audit(1748544505.424:10): prog-id=14 op=LOAD
    [    6.018775] audit: type=1334 audit(1748544505.432:11): prog-id=15 op=LOAD
    [    6.026782] audit: type=1334 audit(1748544505.432:12): prog-id=16 op=LOAD
             Starting User Login Management...
             Starting Telnet Server...
    [  OK  ] Finished IPv6 Packet Filtering Framework.
    [  OK  ] Finished IPv4 Packet Filtering Framework.
    [  OK  ] Finished Telnet Server.
    [  OK  ] Finished Expand the rootfs partition to full size of the boot device..
    [  OK  ] Started Avahi mDNS/DNS-SD Stack.
    [  OK  ] Reached target Preparation for [    6.338782] audit: type=1334 audit(1748544505.752:13): prog-id=17 op=LOAD
    Network.
             Starting Network Configuration...
    [  OK  ] Started User Login Management.
    [    6.607743] cfg80211: Loading compiled-in X.509 certificates for regulatory database
    [    6.630496] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
    [    6.637109] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'
    [    6.648571] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
    [    6.657285] cfg80211: failed to load regulatory.db
    [    6.689196] omap-mailbox 29000000.mailbox: omap mailbox rev 0x66fca100
    [    6.708361] omap-mailbox 29010000.mailbox: omap mailbox rev 0x66fca100
    
    [  OK  ] Reached target Network.
    [    6.742524] am65-cpsw-nuss 8000000.ethernet eth0: PHY [8000f00.mdio:00] driver [TI DP83867] (irq=POLL)
    [    6.757107] mc: Linux media interface: v0.10..
    
    [    6.757758] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rgmii-rxid link mode
             Starting LLDP daemon...
    [  OK  ] Started Netperf Benchmark Server.
    [    6.798415] am65-cpsw-nuss 8000000.ethernet eth1: PHY [8000f00.mdio:01] driver [TI DP83867] (irq=POLL)
    [    6.808686] am65-cpsw-nuss 8000000.ethernet eth1: configuring for phy/rgmii-rxid link mode
    [    6.830530] videodev: Linux video capture interface: v2.00
             Starting Permit User Sessions...
    [    6.999499] vdec 30210000.video-codec: Added wave5 driver with caps: 'ENCODE' 'DECODE'
    [    7.008758] vdec 30210000.video-codec: Product Code:      0x521c
    [    7.016133] vdec 30210000.video-codec: Firmware Revision: 363254
    [  OK  ] Finished Permit User Sessions.
    ***************************************************************
    ***************************************************************
    NOTICE: This file system contains the following GPL-3.0 packages:
    	bash
    	cifs-utils
    	dosfstools
    	grub-common
    	grub-editenv
    	grub-efi
    	kbd-keymaps-pine
    	less
    	libdw1
    	libelf1
    	libgcc1
    	libreadline8
    	libstdc++6
    	parted
    
    If you do not wish to distribute GPL-3.0 components please remove
    the above packages prior to distribution.  This can be done using
    the opkg remove command.  i.e.:
        opkg remove <package>
    Where <package> is the name printed in the list above
    
    NOTE: If the package is a dependency of another package you
          will be notified of th[    7.162466] platform 79000000.r5f: configured R5F for remoteproc mode
    [    7.172727] tlv320aic3x 1-001b: supply IOVDD not found, using dummy regulator
    e dependent packages.  You should
          use the --force-removal[    7.175484] rtc-ti-k3 2b1f0000.rtc: Clock rate 32552 is not 32768! Could misbehave!
    -of-dependent-packages option to
          also remove the dependen[    7.183907] platform 79000000.r5f: assigned reserved memory node mcu-r5fss-dma-memory-region@9b800000
    t packages as well
    ********************************************[    7.209503] remoteproc remoteproc0: 79000000.r5f is available
    *******************
    ***************************************************************
    [    7.226266] remoteproc remoteproc0: powering up 79000000.r5f
    [    7.232925] remoteproc remoteproc0: Booting fw image am62p-mcu-r5f0_0-fw, size 59336
    [  OK  ] Started Getty on tty1.
    [    7.247746] tlv320aic3x 1-001b: supply DVDD not found, using dummy regulator
    [    7.259361] tlv320aic3x 1-001b: supply AVDD not found, using dummy regulator
    [    7.259618] rproc-virtio rproc-virtio.1.auto: assigned reserved memory node mcu-r5fss-dma-memory-region@9b800000
    [    7.267754] tlv320aic3x 1-001b: supply DRVDD not found, using dummy regulator
    [    7.276766] platform 78000000.r5f: R5F core may have been powered on by a different host, programmed state (0) != actual state (1)
    [    7.296286] tlv320aic3x 1-001b: Invalid supply voltage(s) AVDD: -22, DVDD: -22
    [    7.300650] platform 78000000.r5f: configured R5F for IPC-only mode
    [    7.319652] platform 78000000.r5f: assigned reserved memory node r5f-dma-memory@9c800000
    [    7.331586] rtc-ti-k3 2b1f0000.rtc: registered as rtc0
    [    7.399628] remoteproc remoteproc1: 78000000.r5f is available
    [    7.405652] remoteproc remoteproc1: attaching to 78000000.r5f
    [    7.410464] virtio_rpmsg_bus virtio0: rpmsg host is online
    [    7.411916] rproc-virtio rproc-virtio.3.auto: assigned reserved memory node r5f-dma-memory@9c800000
    [    7.417162] virtio_rpmsg_bus virtio0: creating channel rpmsg-client-sample addr 0xd
    [    7.436503] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0xe
    [    7.439490] virtio_rpmsg_bus virtio1: rpmsg host is online
    
    [    7.452898] virtio_rpmsg_bus virtio1: creating channel rpmsg-client-sample addr 0xd
    [    7.467945] rproc-virtio rproc-virtio.3.auto: registered virtio1 (type 7)
    
    [    7.467945] rproc-virtio rproc-virtio.1.auto: registered virtio0 (type 7)
    [    7.467966] remoteproc remoteproc1: remote processor 78000000.r5f is now attached
    [    7.477605] remoteproc remoteproc0: remote processor 79000000.r5f is now up
    [    7.509349] virtio_rpmsg_bus virtio1: creating channel rpmsg_chrdev addr 0xe
    [  OK  ] Finished Print notice about GPLv3 packages.
    [  OK  ] Reached target Hardware activated USB gadget.
    [    7.655937] sii902x 1-003b: supply iovcc not found, using dummy regulator
    [  OK  ] Started LLDP daemon.
    [    7.759924] sii902x 1-003b: supply cvcc12 not found, using dummy regulator
    [  OK  ] Created slice Slice /system/tee-supplicant.
    [    7.777362] i2c i2c-1: Added multiplexed i2c bus 3
             Starting Virtual Console Setup...
    [  OK  ] Started TEE Supplicant on teepriv0.
    [  OK  ] Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch.
    [  OK  ] Finished Virtual Console Setup.
    [    8.084648] [drm] Initialized tidss 1.0.0 for 30200000.dss on minor 0
    [    8.094094] tidss 30200000.dss: [drm] Cannot find any crtc or sizes
    [    8.101826] tidss 30200000.dss: [drm] Cannot find any crtc or sizes
             Starting Save/Restore Sound Card State...
    [  OK  ] Started containerd container runtime.
    [  OK  ] Reached target Multi-User System.
             Starting Record Runlevel Change in UTMP...
    [  OK  ] Finished Save/Restore Sound Card State.
    [  OK  ] Reached target Sound Card.
    [  OK  ] Finished Record Runlevel Change in UTMP.
    [  OK  ] Created slice Slice /system/systemd-fsck.
             Expecting device /dev/mmcblk1p1...
             Expecting device /dev/mmcblk1p2...
    [  OK  ] Found device /dev/mmcblk1p2.
             Starting File System Check on /dev/mmcblk1p2...
    [  OK  ] Found device /dev/mmcblk1p1.
             Starting File System Check on /dev/mmcblk1p1...
    [  OK  ] Finished File System Check on /dev/mmcblk1p2.
             Mounting /run/media/root-mmcblk1p2...
    [    8.770507] EXT4-fs (mmcblk1p2): mounted filesystem 793aa0ab-aa02-41f5-9eb5-ab4c5284245a r/w with ordered data mode. Quota mode: none.
    [  OK  ] Mounted /run/media/root-mmcblk1p2.
    [  OK  ] Finished File System Check on /dev/mmcblk1p1.
             Mounting /run/media/boot-mmcblk1p1...
    [  OK  ] Mounted /run/media/boot-mmcblk1p1.
    
     _____                    _____           _         _   
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_ 
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|  
                  |___|                    |___|            
    
    Arago Project am62pxx-evm ttyS2
    
    Arago 2025.01 am62pxx-evm ttyS2
    
    am62pxx-evm login: root
    [   19.099834] audit: type=1006 audit(1748544518.516:14): pid=706 uid=0 subj=kernel old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=1 res=1
    [   19.113357] audit: type=1300 audit(1748544518.516:14): arch=c00000b7 syscall=64 success=yes exit=1 a0=8 a1=ffffe146a3e8 a2=1 a3=1 items=0 ppid=1 pid=706 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=1 comm="(systemd)" exe="/usr/lib/systemd/systemd-executor" subj=kernel key=(null)
    [   19.140963] audit: type=1327 audit(1748544518.516:14): proctitle="(systemd)"
    [   19.211374] audit: type=1334 audit(1748544518.628:15): prog-id=18 op=LOAD
    [   19.218217] audit: type=1300 audit(1748544518.628:15): arch=c00000b7 syscall=280 success=yes exit=8 a0=5 a1=fffff729e7a8 a2=90 a3=0 items=0 ppid=1 pid=706 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=1 comm="systemd" exe="/usr/lib/systemd/systemd" subj=kernel key=(null)
    [   19.245053] audit: type=1327 audit(1748544518.628:15): proctitle="(systemd)"
    [   19.252202] audit: type=1334 audit(1748544518.628:16): prog-id=18 op=UNLOAD
    [   19.259229] audit: type=1300 audit(1748544518.628:16): arch=c00000b7 syscall=57 success=yes exit=0 a0=8 a1=1 a2=0 a3=ffff941433c0 items=0 ppid=1 pid=706 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=1 comm="systemd" exe="/usr/lib/systemd/systemd" subj=kernel key=(null)
    [   19.285851] audit: type=1327 audit(1748544518.628:16): proctitle="(systemd)"
    [   19.292949] audit: type=1334 audit(1748544518.628:17): prog-id=19 op=LOAD
    root@am62pxx-evm:~# 
    root@am62pxx-evm:~# 
    root@am62pxx-evm:~# 
    root@am62pxx-evm:~# 
    
    
    

    Can you share your steps to populate the eMMC rootfs?

    Regards,
    Vinu

  • Hi Vinu,

    Thanks for your help. I will try to solve tidss issue then.

    For one rootfs partition in eMMC, I just use fdisk to erase all partitions in /dev/mmcblk0 and create one ext4 partition.

    Thanks again.

    BR,

    Jeff

  • Hi Jeff,

    Please make sure you are using the correct kernel and dtb to create the fitimage.

    Please try this out.

    Right now, your falcon boot is completely fine. The issue seem to be solely on the kernel/dtb side. Try to use the same kernel that you have used in the SD boot, to create the fit-image.

    Regards,
    Vinu