Part Number: AM62P
Hi Ti
Now I use AM62P SKEVM board ,the RAM is 8GB
But we want to use 1 GB RAM ,
How to change linux kernel RAM is 1GB?
Thanks
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.
Part Number: AM62P
Hi Ti
Now I use AM62P SKEVM board ,the RAM is 8GB
But we want to use 1 GB RAM ,
How to change linux kernel RAM is 1GB?
Thanks
Hi,
I’ve assigned your query to the concerned expert. Please note that responses may be delayed due to the Christmas and New Year holidays. Please feel free to ping this thread if you don't receive a response latest by Jan 1st week
Regards,
Johnson
Hi Pengfei,
Please refer the device tree: we reserve just 2GB out of 8GB
Please modify based on your customization.
Best Regards
Suren
Hi Pengfei,
Please refer to the below FAQ:
[FAQ] AM625: Memory node initialization for 1GB, 2GB, 4GB, 8GB size
Please see the device tree changes for each of these configurations.
Best Regards,
Suren
Hi Suren Porwar
I have already modify linux Memory is 1GB
I set bootargs ="console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait mem=1G"
there is the linux kernel log
Starting linux and RTOS/Baremetal applications NOTICE: BL31: v2.13.0(release):v2.13.0-259-ge0c4d3903b-dirty NOTICE: BL31: Built : 07:01:36, Jul 1 2025 [ 0.000000] Boot time to Start Kernel : 6475 ms [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034] [ 0.000000] Linux version 6.12.35-ti-00920-g78e6abff3220-dirty (oe-user@oe-host) (aarch64-oe-linux-gcc (GCC) 13.4.0, GNU ld (GNU Binutils) 2.42.0.20240723) #1 SMP PREEMPT Thu Jul 3 17:10:29 UTC 2025 [ 0.000000] KASLR disabled due to lack of seed [ 0.000000] Machine model: Texas Instruments AM62P5 SK [ 0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '') [ 0.000000] printk: legacy bootconsole [ns16550a0] enabled [ 0.000000] Memory limited to 1024MB [ 0.000000] efi: UEFI not found. [ 0.000000] OF: reserved mem: failed to allocate memory for node 'linux,cma': size 576 MiB [ 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] OF: reserved mem: 0x000000009e780000..0x000000009e7fffff (512 KiB) nomap non-reusable tfa@9e780000 [ 0.000000] OF: reserved mem: 0x000000009e800000..0x000000009fffffff (24576 KiB) nomap non-reusable optee@9e800000 [ 0.000000] OF: reserved mem: 0x0000000093500000..0x000000009b4fffff (131072 KiB) nomap non-reusable rtos-framebuffer-memory@93500000 [ 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-0x00000000934fffff] [ 0.000000] node 0: [mem 0x0000000093500000-0x000000009e6fffff] [ 0.000000] node 0: [mem 0x000000009e700000-0x000000009e77ffff] [ 0.000000] node 0: [mem 0x000000009e780000-0x000000009fffffff] [ 0.000000] node 0: [mem 0x00000000a0000000-0x00000000bfffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000bfffffff] [ 0.000000] cma: Reserved 32 MiB at 0x00000000bce00000 on node -1 [ 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 earlycon=ns16550a,mmio32,0x02800000 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait mem=1G [ 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 0x00000000bcc80000-0x00000000bcd80000] (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 @80800000 (flat, esz 8, psz 64K, shr 0) [ 0.000000] ITS: using cache flushing for cmd queue [ 0.000000] GICv3: using LPI property table @0x0000000080050000 [ 0.000000] GIC: using cache flushing for LPI property table [ 0.000000] GICv3: CPU0: using allocated LPI pending table @0x0000000080060000 [ 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.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
[ 0.000000] printk: legacy bootconsole [ns16550a0] enabled
[ 0.000000] Memory limited to 1024MB
But I found linux,cma have some errors
[ 0.000000] OF: reserved mem: failed to allocate memory for node 'linux,cma': size 576 MiB
Then kernel dead
I modify dts CMA memory is 200MB
the kernel also is dead
there is the log
Starting linux and RTOS/Baremetal applications NOTICE: BL31: v2.13.0(release):v2.13.0-259-ge0c4d3903b-dirty NOTICE: BL31: Built : 07:01:36, Jul 1 2025 [ 0.000000] Boot time to Start Kernel : 13624 ms [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034] [ 0.000000] Linux version 6.12.35-ti-00920-g78e6abff3220-dirty (oe-user@oe-host) (aarch64-oe-linux-gcc (GCC) 13.4.0, GNU ld (GNU Binutils) 2.42.0.20240723) #1 SMP PREEMPT Thu Jul 3 17:10:29 UTC 2025 [ 0.000000] KASLR disabled due to lack of seed [ 0.000000] Machine model: Texas Instruments AM62P5 SK [ 0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '') [ 0.000000] printk: legacy bootconsole [ns16550a0] enabled [ 0.000000] Memory limited to 1024MB [ 0.000000] efi: UEFI not found. [ 0.000000] Reserved memory: created CMA memory pool at 0x00000000b3800000, size 200 MiB [ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool [ 0.000000] OF: reserved mem: 0x00000000b3800000..0x00000000bfffffff (204800 KiB) map reusable linux,cma [ 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] OF: reserved mem: 0x000000009e780000..0x000000009e7fffff (512 KiB) nomap non-reusable tfa@9e780000 [ 0.000000] OF: reserved mem: 0x000000009e800000..0x000000009fffffff (24576 KiB) nomap non-reusable optee@9e800000 [ 0.000000] OF: reserved mem: 0x0000000093500000..0x000000009b4fffff (131072 KiB) nomap non-reusable rtos-framebuffer-memory@93500000 [ 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-0x00000000934fffff] [ 0.000000] node 0: [mem 0x0000000093500000-0x000000009e6fffff] [ 0.000000] node 0: [mem 0x000000009e700000-0x000000009e77ffff] [ 0.000000] node 0: [mem 0x000000009e780000-0x000000009fffffff] [ 0.000000] node 0: [mem 0x00000000a0000000-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 earlycon=ns16550a,mmio32,0x02800000 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait mem=1G [ 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 0x00000000b2480000-0x00000000b2580000] (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 @80800000 (flat, esz 8, psz 64K, shr 0) [ 0.000000] ITS: using cache flushing for cmd queue [ 0.000000] GICv3: using LPI property table @0x0000000080050000 [ 0.000000] GIC: using cache flushing for LPI property table [ 0.000000] GICv3: CPU0: using allocated LPI pending table @0x0000000080060000 [ 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
How to reslove the kernel dead issue ? when I modify Memory size 1GB
Best Regards
SUI
Hi Suren Porwar
How to reslove the kernel dead issue ? when I modify Memory size 1GB
Best Regards
SUI
Hi Pengfei Sui,
Can you share your device tree changes that you made for 1GB DDR?
Best Regards,
Suren
Hi Suren Porwar
I use AM62P SKEVM board , SDK is 11_01_05_03
There is my device tree
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree file for the AM62P5-SK
* Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/
*
* Schematics: https://www.ti.com/lit/zip/sprr487
*/
/dts-v1/;
#include <dt-bindings/leds/common.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/net/ti-dp83867.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include "k3-am62p5.dtsi"
/ {
compatible = "ti,am62p5-sk", "ti,am62p5";
model = "Texas Instruments AM62P5 SK";
aliases {
serial0 = &wkup_uart0;
serial1 = &mcu_uart0;
serial2 = &main_uart0;
serial3 = &main_uart1;
mmc0 = &sdhci0;
mmc1 = &sdhci1;
mmc2 = &sdhci2;
spi0 = &ospi0;
ethernet0 = &cpsw_port1;
ethernet1 = &cpsw_port2;
usb0 = &usb0;
usb1 = &usb1;
};
chosen {
#address-cells = <2>;
#size-cells = <2>;
ranges;
bootargs = "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait mem=1G";
stdout-path = &main_uart0;
framebuffer0: framebuffer@0 {
compatible = "simple-framebuffer";
power-domains = <&k3_pds 186 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 186 6>,
<&dss0_vp1_clk>,
<&k3_clks 186 2>;
display = <&dss0>;
status = "disabled";
};
};
memory@80000000 {
/* 8G RAM */
reg = <0x00000000 0x80000000 0x00000000 0x80000000>,
<0x00000008 0x80000000 0x00000001 0x80000000>;
device_type = "memory";
bootph-pre-ram;
};
reserved_memory: reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
linux,cma {
compatible = "shared-dma-pool";
reusable;
/********576 MB**********
size = <0x00 0x24000000>;
************************/
/*******200MB***********/
size = <0x00 0xc800000>;
linux,cma-default;
};
rtos_ipc_memory_region: rtos-ipc-memory@9b500000 {
compatible = "shared-dma-pool";
reg = <0x00 0x9b500000 0x00 0x00300000>;
no-map;
};
mcu_r5fss0_core0_dma_memory_region: mcu-r5fss-dma-memory-region@9b800000 {
compatible = "shared-dma-pool";
reg = <0x00 0x9b800000 0x00 0x100000>;
no-map;
};
mcu_r5fss0_core0_memory_region: mcu-r5fss-memory-region@9b900000 {
compatible = "shared-dma-pool";
reg = <0x00 0x9b900000 0x00 0xf00000>;
no-map;
};
wkup_r5fss0_core0_dma_memory_region: r5f-dma-memory@9c800000 {
compatible = "shared-dma-pool";
reg = <0x00 0x9c800000 0x00 0x100000>;
no-map;
};
wkup_r5fss0_core0_memory_region: r5f-memory@9c900000 {
compatible = "shared-dma-pool";
reg = <0x00 0x9c900000 0x00 0x1e00000>;
no-map;
};
secure_tfa_ddr: tfa@9e780000 {
reg = <0x00 0x9e780000 0x00 0x80000>;
no-map;
};
secure_ddr: optee@9e800000 {
reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
no-map;
};
rtos_framebuffer_memory_region: rtos-framebuffer-memory@93500000 {
reg = <0x00 0x93500000 0x00 0x08000000>;
no-map;
};
};
vmain_pd: regulator-0 {
/* TPS65988 PD CONTROLLER OUTPUT */
compatible = "regulator-fixed";
regulator-name = "vmain_pd";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-always-on;
regulator-boot-on;
bootph-all;
};
vcc_5v0: regulator-1 {
/* Output of TPS630702RNMR */
compatible = "regulator-fixed";
regulator-name = "vcc_5v0";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
vin-supply = <&vmain_pd>;
regulator-always-on;
regulator-boot-on;
bootph-all;
};
vdd_mmc1: regulator-2 {
/* TPS22918DBVR */
compatible = "regulator-fixed";
regulator-name = "vdd_mmc1";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
enable-active-high;
gpio = <&exp1 3 GPIO_ACTIVE_HIGH>;
bootph-all;
};
vddshv_sdio: regulator-3 {
compatible = "regulator-gpio";
regulator-name = "vddshv_sdio";
pinctrl-names = "default";
pinctrl-0 = <&vddshv_sdio_pins_default>;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
gpios = <&main_gpio0 31 GPIO_ACTIVE_HIGH>;
states = <1800000 0x0>,
<3300000 0x1>;
bootph-all;
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&usr_led_pins_default>;
led-0 {
label = "am62-sk:green:heartbeat";
gpios = <&main_gpio1 49 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
function = LED_FUNCTION_HEARTBEAT;
default-state = "off";
};
};
opp-table {
/* Requires VDD_CORE at 0v85 */
opp-1400000000 {
opp-hz = /bits/ 64 <1400000000>;
opp-supported-hw = <0x01 0x0004>;
clock-latency-ns = <6000000>;
};
};
tlv320_mclk: clk-0 {
#clock-cells = <0>;
compatible = "fixed-clock";
clock-frequency = <12288000>;
};
codec_audio: sound {
compatible = "simple-audio-card";
simple-audio-card,name = "AM62x-SKEVM";
simple-audio-card,widgets =
"Headphone", "Headphone Jack",
"Line", "Line In",
"Microphone", "Microphone Jack";
simple-audio-card,routing =
"Headphone Jack", "HPLOUT",
"Headphone Jack", "HPROUT",
"LINE1L", "Line In",
"LINE1R", "Line In",
"MIC3R", "Microphone Jack",
"Microphone Jack", "Mic Bias";
simple-audio-card,format = "dsp_b";
simple-audio-card,bitclock-master = <&sound_master>;
simple-audio-card,frame-master = <&sound_master>;
simple-audio-card,bitclock-inversion;
simple-audio-card,cpu {
sound-dai = <&mcasp1>;
};
sound_master: simple-audio-card,codec {
sound-dai = <&tlv320aic3106>;
clocks = <&tlv320_mclk>;
};
};
hdmi0: connector-hdmi {
compatible = "hdmi-connector";
label = "hdmi";
type = "a";
port {
hdmi_connector_in: endpoint {
remote-endpoint = <&sii9022_out>;
};
};
};
};
&main_gpio0 {
bootph-all;
};
&main_gpio1 {
bootph-all;
};
&main_pmx0 {
bootph-all;
main_i2c0_pins_default: main-i2c0-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x01e0, PIN_INPUT_PULLUP, 0) /* (B25) I2C0_SCL */
AM62PX_IOPAD(0x01e4, PIN_INPUT_PULLUP, 0) /* (A24) I2C0_SDA */
>;
};
main_i2c1_pins_default: main-i2c1-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x01e8, PIN_INPUT_PULLUP, 0) /* (C24) I2C1_SCL */
AM62PX_IOPAD(0x01ec, PIN_INPUT_PULLUP, 0) /* (B24) I2C1_SDA */
>;
bootph-all;
};
main_i2c2_pins_default: main-i2c2-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x00b0, PIN_INPUT_PULLUP, 1) /* (T22) GPMC0_CSn2.I2C2_SCL */
AM62PX_IOPAD(0x00b4, PIN_INPUT_PULLUP, 1) /* (U25) GPMC0_CSn3.I2C2_SDA */
>;
};
main_gpio1_ioexp_intr_pins_default: main-gpio1-ioexp-intr-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x01d4, PIN_INPUT, 7) /* (C22) UART0_RTSn.GPIO1_23 */
>;
};
main_mcasp1_pins_default: main-mcasp1-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0090, PIN_INPUT, 2) /* (U24) GPMC0_BE0n_CLE.MCASP1_ACLKX */
AM62PX_IOPAD(0x0098, PIN_INPUT, 2) /* (AA24) GPMC0_WAIT0.MCASP1_AFSX */
AM62PX_IOPAD(0x008c, PIN_OUTPUT, 2) /* (T25) GPMC0_WEn.MCASP1_AXR0 */
AM62PX_IOPAD(0x0084, PIN_INPUT, 2) /* (R25) GPMC0_ADVn_ALE.MCASP1_AXR2 */
>;
};
main_mdio1_pins_default: main-mdio1-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0160, PIN_OUTPUT, 0) /* (F17) MDIO0_MDC */
AM62PX_IOPAD(0x015c, PIN_INPUT, 0) /* (F16) MDIO0_MDIO */
>;
bootph-all;
};
main_mmc1_pins_default: main-mmc1-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x023c, PIN_INPUT, 0) /* (H20) MMC1_CMD */
AM62PX_IOPAD(0x0234, PIN_OUTPUT, 0) /* (J24) MMC1_CLK */
AM62PX_IOPAD(0x0230, PIN_INPUT, 0) /* (H21) MMC1_DAT0 */
AM62PX_IOPAD(0x022c, PIN_INPUT_PULLUP, 0) /* (H23) MMC1_DAT1 */
AM62PX_IOPAD(0x0228, PIN_INPUT_PULLUP, 0) /* (H22) MMC1_DAT2 */
AM62PX_IOPAD(0x0224, PIN_INPUT_PULLUP, 0) /* (H25) MMC1_DAT3 */
AM62PX_IOPAD(0x0240, PIN_INPUT, 0) /* (D23) MMC1_SDCD */
>;
bootph-all;
};
main_mmc2_pins_default: main-mmc2-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0120, PIN_INPUT, 0) /* (K24) MMC2_CMD */
AM62PX_IOPAD(0x0118, PIN_OUTPUT, 0) /* (K21) MMC2_CLK */
AM62PX_IOPAD(0x011C, PIN_INPUT, 0) /* () MMC2_CLKLB */
AM62PX_IOPAD(0x0114, PIN_INPUT, 0) /* (K23) MMC2_DAT0 */
AM62PX_IOPAD(0x0110, PIN_INPUT_PULLUP, 0) /* (K22) MMC2_DAT1 */
AM62PX_IOPAD(0x010c, PIN_INPUT_PULLUP, 0) /* (L20) MMC2_DAT2 */
AM62PX_IOPAD(0x0108, PIN_INPUT_PULLUP, 0) /* (L21) MMC2_DAT3 */
>;
bootph-all;
};
main_rgmii1_pins_default: main-rgmii1-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x014c, PIN_INPUT, 0) /* (B15) RGMII1_RD0 */
AM62PX_IOPAD(0x0150, PIN_INPUT, 0) /* (B16) RGMII1_RD1 */
AM62PX_IOPAD(0x0154, PIN_INPUT, 0) /* (A14) RGMII1_RD2 */
AM62PX_IOPAD(0x0158, PIN_INPUT, 0) /* (B14) RGMII1_RD3 */
AM62PX_IOPAD(0x0148, PIN_INPUT, 0) /* (A16) RGMII1_RXC */
AM62PX_IOPAD(0x0144, PIN_INPUT, 0) /* (A15) RGMII1_RX_CTL */
AM62PX_IOPAD(0x0134, PIN_INPUT, 0) /* (A18) RGMII1_TD0 */
AM62PX_IOPAD(0x0138, PIN_INPUT, 0) /* (C17) RGMII1_TD1 */
AM62PX_IOPAD(0x013c, PIN_INPUT, 0) /* (A17) RGMII1_TD2 */
AM62PX_IOPAD(0x0140, PIN_INPUT, 0) /* (C16) RGMII1_TD3 */
AM62PX_IOPAD(0x0130, PIN_INPUT, 0) /* (B17) RGMII1_TXC */
AM62PX_IOPAD(0x012c, PIN_INPUT, 0) /* (B18) RGMII1_TX_CTL */
>;
bootph-all;
};
main_rgmii2_pins_default: main-rgmii2-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0184, PIN_INPUT, 0) /* (E19) RGMII2_RD0 */
AM62PX_IOPAD(0x0188, PIN_INPUT, 0) /* (E16) RGMII2_RD1 */
AM62PX_IOPAD(0x018c, PIN_INPUT, 0) /* (E17) RGMII2_RD2 */
AM62PX_IOPAD(0x0190, PIN_INPUT, 0) /* (C19) RGMII2_RD3 */
AM62PX_IOPAD(0x0180, PIN_INPUT, 0) /* (D19) RGMII2_RXC */
AM62PX_IOPAD(0x017c, PIN_INPUT, 0) /* (F19) RGMII2_RX_CTL */
AM62PX_IOPAD(0x016c, PIN_INPUT, 0) /* (B19) RGMII2_TD0 */
AM62PX_IOPAD(0x0170, PIN_INPUT, 0) /* (A21) RGMII2_TD1 */
AM62PX_IOPAD(0x0174, PIN_INPUT, 0) /* (D17) RGMII2_TD2 */
AM62PX_IOPAD(0x0178, PIN_INPUT, 0) /* (A19) RGMII2_TD3 */
AM62PX_IOPAD(0x0168, PIN_INPUT, 0) /* (D16) RGMII2_TXC */
AM62PX_IOPAD(0x0164, PIN_INPUT, 0) /* (A20) RGMII2_TX_CTL */
>;
bootph-all;
};
main_uart0_pins_default: main-uart0-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x1c8, PIN_INPUT, 0) /* (A22) UART0_RXD */
AM62PX_IOPAD(0x1cc, PIN_OUTPUT, 0) /* (B22) UART0_TXD */
>;
bootph-all;
};
main_uart1_pins_default: main-uart1-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0194, PIN_INPUT, 2) /* (D25) MCASP0_AXR3.UART1_CTSn */
AM62PX_IOPAD(0x0198, PIN_OUTPUT, 2) /* (E25) MCASP0_AXR2.UART1_RTSn */
AM62PX_IOPAD(0x01ac, PIN_INPUT, 2) /* (G23) MCASP0_AFSR.UART1_RXD */
AM62PX_IOPAD(0x01b0, PIN_OUTPUT, 2) /* (G20) MCASP0_ACLKR.UART1_TXD */
>;
bootph-all;
};
main_usb1_pins_default: main-usb1-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0258, PIN_INPUT | PIN_DS_PULLUD_ENABLE | PIN_DS_PULL_UP, 0) /* (G21) USB1_DRVVBUS */
>;
};
main_wlirq_pins_default: main-wlirq-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0128, PIN_INPUT, 7) /* (K25) MMC2_SDWP.GPIO0_72 */
>;
};
ospi0_pins_default: ospi0-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0000, PIN_OUTPUT, 0) /* (P23) OSPI0_CLK */
AM62PX_IOPAD(0x002c, PIN_OUTPUT, 0) /* (M25) OSPI0_CSn0 */
AM62PX_IOPAD(0x000c, PIN_INPUT, 0) /* (L25) OSPI0_D0 */
AM62PX_IOPAD(0x0010, PIN_INPUT, 0) /* (N24) OSPI0_D1 */
AM62PX_IOPAD(0x0014, PIN_INPUT, 0) /* (N25) OSPI0_D2 */
AM62PX_IOPAD(0x0018, PIN_INPUT, 0) /* (M24) OSPI0_D3 */
AM62PX_IOPAD(0x001c, PIN_INPUT, 0) /* (N21) OSPI0_D4 */
AM62PX_IOPAD(0x0020, PIN_INPUT, 0) /* (N22) OSPI0_D5 */
AM62PX_IOPAD(0x0024, PIN_INPUT, 0) /* (P21) OSPI0_D6 */
AM62PX_IOPAD(0x0028, PIN_INPUT, 0) /* (N20) OSPI0_D7 */
AM62PX_IOPAD(0x0008, PIN_INPUT, 0) /* (P22) OSPI0_DQS */
>;
bootph-all;
};
usr_led_pins_default: usr-led-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0244, PIN_INPUT, 7) /* (D24) MMC1_SDWP.GPIO1_49 */
>;
};
vddshv_sdio_pins_default: vddshvr-sdio-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x007c, PIN_INPUT, 7) /* (Y25) GPMC0_CLK.GPIO0_31 */
>;
bootph-all;
};
wlan_en_pins_default: wlan-en-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0124, PIN_INPUT, 7) /* (J25) MMC2_SDCD.GPIO0_71 */
>;
};
main_dpi_pins_default: main-dpi-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0100, PIN_OUTPUT, 0) /* (W20) VOUT0_VSYNC */
AM62PX_IOPAD(0x00f8, PIN_OUTPUT, 0) /* (AC20) VOUT0_HSYNC */
AM62PX_IOPAD(0x0104, PIN_OUTPUT, 0) /* (Y21) VOUT0_PCLK */
AM62PX_IOPAD(0x00fc, PIN_OUTPUT, 0) /* (W21) VOUT0_DE */
AM62PX_IOPAD(0x00b8, PIN_OUTPUT, 0) /* (AE24) VOUT0_DATA0 */
AM62PX_IOPAD(0x00bc, PIN_OUTPUT, 0) /* (W23) VOUT0_DATA1 */
AM62PX_IOPAD(0x00c0, PIN_OUTPUT, 0) /* (AA23) VOUT0_DATA2 */
AM62PX_IOPAD(0x00c4, PIN_OUTPUT, 0) /* (Y23) VOUT0_DATA3 */
AM62PX_IOPAD(0x00c8, PIN_OUTPUT, 0) /* (AB23) VOUT0_DATA4 */
AM62PX_IOPAD(0x00cc, PIN_OUTPUT, 0) /* (AD23) VOUT0_DATA5 */
AM62PX_IOPAD(0x00d0, PIN_OUTPUT, 0) /* (AC23) VOUT0_DATA6 */
AM62PX_IOPAD(0x00d4, PIN_OUTPUT, 0) /* (AE23) VOUT0_DATA7 */
AM62PX_IOPAD(0x00d8, PIN_OUTPUT, 0) /* (AE22) VOUT0_DATA8 */
AM62PX_IOPAD(0x00dc, PIN_OUTPUT, 0) /* (AC22) VOUT0_DATA9 */
AM62PX_IOPAD(0x00e0, PIN_OUTPUT, 0) /* (W22) VOUT0_DATA10 */
AM62PX_IOPAD(0x00e4, PIN_OUTPUT, 0) /* (AE21) VOUT0_DATA11 */
AM62PX_IOPAD(0x00e8, PIN_OUTPUT, 0) /* (AD21) VOUT0_DATA12 */
AM62PX_IOPAD(0x00ec, PIN_OUTPUT, 0) /* (AC21) VOUT0_DATA13 */
AM62PX_IOPAD(0x00f0, PIN_OUTPUT, 0) /* (AA20) VOUT0_DATA14 */
AM62PX_IOPAD(0x00f4, PIN_OUTPUT, 0) /* (Y20) VOUT0_DATA15 */
AM62PX_IOPAD(0x005c, PIN_OUTPUT, 1) /* (AC25) GPMC0_AD8.VOUT0_DATA16 */
AM62PX_IOPAD(0x0060, PIN_OUTPUT, 1) /* (AB25) GPMC0_AD9.VOUT0_DATA17 */
AM62PX_IOPAD(0x0064, PIN_OUTPUT, 1) /* (AA25) GPMC0_AD10.VOUT0_DATA18 */
AM62PX_IOPAD(0x0068, PIN_OUTPUT, 1) /* (W24) GPMC0_AD11.VOUT0_DATA19 */
AM62PX_IOPAD(0x006c, PIN_OUTPUT, 1) /* (Y24) GPMC0_AD12.VOUT0_DATA20 */
AM62PX_IOPAD(0x0070, PIN_OUTPUT, 1) /* (AD25) GPMC0_AD13.VOUT0_DATA21 */
AM62PX_IOPAD(0x0074, PIN_OUTPUT, 1) /* (AB24) GPMC0_AD14.VOUT0_DATA22 */
AM62PX_IOPAD(0x0078, PIN_OUTPUT, 1) /* (AC24) GPMC0_AD15.VOUT0_DATA23 */
AM62PX_IOPAD(0x009c, PIN_OUTPUT, 1) /* (AD24) GPMC0_WAIT1.VOUT0_EXTPCLKIN */
>;
};
main_epwm0_pins_default: main_epwm0-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x01b4, PIN_OUTPUT, 2) /* (D20) SPI0_CS0.EHRPWM0_A */
AM62PX_IOPAD(0x01b8, PIN_OUTPUT, 2) /* (E20) SPI0_CS1.EHRPWM0_B */
>;
};
main_epwm1_pins_default: main_epwm1-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x01bc, PIN_OUTPUT, 2) /* (B21) SPI0_CLK.EHRPWM1_A */
AM62PX_IOPAD(0x01c0, PIN_OUTPUT, 2) /* (B20) SPI0_D0.EHRPWM1_B */
>;
};
main_ecap1_pins_default: main_ecap1-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x019c, PIN_OUTPUT, 2) /* (E24) MCASP0_AXR1.ECAP1_IN_APWM_OUT */
>;
};
main_ecap2_pins_default: main-ecap2-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x01a4, PIN_OUTPUT, 2) /* (F24) MCASP0_ACLKX.ECAP2_IN_APWM_OUT */
>;
};
};
&main_i2c0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_i2c0_pins_default>;
clock-frequency = <400000>;
typec_pd0: usb-power-controller@3f {
compatible = "ti,tps6598x";
reg = <0x3f>;
connector {
compatible = "usb-c-connector";
label = "USB-C";
self-powered;
data-role = "dual";
power-role = "sink";
port {
usb_con_hs: endpoint {
remote-endpoint = <&usb0_hs_ep>;
};
};
};
};
};
&main_i2c1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_i2c1_pins_default>;
clock-frequency = <100000>;
bootph-all;
tlv320aic3106: audio-codec@1b {
#sound-dai-cells = <0>;
compatible = "ti,tlv320aic3106";
reg = <0x1b>;
ai3x-micbias-vg = <1>; /* 2.0V */
};
exp1: gpio@22 {
compatible = "ti,tca6424";
reg = <0x22>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names = "OLDI_INT#", "x8_NAND_DETECT",
"UART1_FET_SEL", "MMC1_SD_EN",
"VPP_EN", "EXP_PS_3V3_EN",
"UART1_FET_BUF_EN", "EXP_HAT_DETECT",
"DSI_GPIO0", "DSI_GPIO1",
"OLDI_EDID", "BT_UART_WAKE_SOC_3V3",
"USB_TYPEA_OC_INDICATION", "CSI_GPIO0",
"CSI_GPIO1", "WLAN_ALERTn",
"HDMI_INTn", "TEST_GPIO2",
"MCASP1_FET_EN", "MCASP1_BUF_BT_EN",
"MCASP1_FET_SEL", "DSI_EDID",
"PD_I2C_IRQ", "IO_EXP_TEST_LED";
interrupt-parent = <&main_gpio1>;
interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
interrupt-controller;
#interrupt-cells = <2>;
pinctrl-names = "default";
pinctrl-0 = <&main_gpio1_ioexp_intr_pins_default>;
bootph-all;
};
exp2: gpio@23 {
compatible = "ti,tca6424";
reg = <0x23>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names = "BT_EN_SOC", "EXP_PS_5V0_EN",
"", "",
"", "",
"", "",
"WL_LT_EN", "",
"TP3", "TP6",
"TP4", "TP7",
"TP5", "TP8",
"SoC_I2C2_MCAN_SEL", "GPIO_HDMI_RSTn",
"GPIO_CPSW2_RST", "GPIO_CPSW1_RST",
"GPIO_OLDI_RSTn", "GPIO_AUD_RSTn",
"GPIO_eMMC_RSTn", "SoC_WLAN_SDIO_RST";
};
sii9022: bridge-hdmi@3b {
compatible = "sil,sii9022";
reg = <0x3b>;
interrupt-parent = <&exp1>;
interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
#sound-dai-cells = <0>;
sil,i2s-data-lanes = < 0 >;
hdmi_tx_ports: ports {
#address-cells = <1>;
#size-cells = <0>;
/*
* HDMI can be serviced with 3 potential VPs -
* (DSS0 VP1 / DSS1 VP0 / DSS1 VP1).
* For now, we will service it with DSS0 VP1.
*/
port@0 {
reg = <0>;
sii9022_in: endpoint {
remote-endpoint = <&dss0_dpi1_out>;
};
};
port@1 {
reg = <1>;
sii9022_out: endpoint {
remote-endpoint = <&hdmi_connector_in>;
};
};
};
};
};
&main_i2c2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_i2c2_pins_default>;
clock-frequency = <400000>;
};
&sdhci0 {
status = "okay";
ti,driver-strength-ohm = <50>;
disable-wp;
bootph-all;
};
&sdhci1 {
/* SD/MMC */
status = "disabled";
vmmc-supply = <&vdd_mmc1>;
vqmmc-supply = <&vddshv_sdio>;
pinctrl-names = "default";
pinctrl-0 = <&main_mmc1_pins_default>;
disable-wp;
bootph-all;
};
&cpsw3g {
pinctrl-names = "default";
pinctrl-0 = <&main_rgmii1_pins_default>,
<&main_rgmii2_pins_default>;
status = "okay";
};
&cpsw_port1 {
phy-mode = "rgmii-rxid";
phy-handle = <&cpsw3g_phy0>;
status = "okay";
};
&cpsw_port2 {
phy-mode = "rgmii-rxid";
phy-handle = <&cpsw3g_phy1>;
status = "okay";
};
&cpsw3g_mdio {
pinctrl-names = "default";
pinctrl-0 = <&main_mdio1_pins_default>;
status = "okay";
cpsw3g_phy0: ethernet-phy@0 {
reg = <0>;
bootph-all;
ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
ti,min-output-impedance;
};
cpsw3g_phy1: ethernet-phy@1 {
reg = <1>;
ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
ti,min-output-impedance;
};
};
&usbss0 {
status = "okay";
ti,vbus-divider;
};
&usbss1 {
status = "okay";
ti,vbus-divider;
};
&usb0 {
usb-role-switch;
port {
usb0_hs_ep: endpoint {
remote-endpoint = <&usb_con_hs>;
};
};
};
&usb1 {
dr_mode = "host";
pinctrl-names = "default";
pinctrl-0 = <&main_usb1_pins_default>;
};
&mcasp1 {
status = "okay";
#sound-dai-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&main_mcasp1_pins_default>;
op-mode = <0>; /* MCASP_IIS_MODE */
tdm-slots = <2>;
serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
1 0 2 0
0 0 0 0
0 0 0 0
0 0 0 0
>;
};
&fss {
bootph-all;
};
&ospi0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&ospi0_pins_default>;
bootph-all;
flash@0 {
compatible = "jedec,spi-nor";
reg = <0x0>;
spi-tx-bus-width = <8>;
spi-rx-bus-width = <8>;
spi-max-frequency = <25000000>;
cdns,tshsl-ns = <60>;
cdns,tsd2d-ns = <60>;
cdns,tchsh-ns = <60>;
cdns,tslch-ns = <60>;
cdns,read-delay = <4>;
cdns,phy-mode;
bootph-all;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
bootph-all;
partition@0 {
label = "sbl_ospi_linux_stage1.release.hs_fs.tiimage";
reg = <0x00 0x80000>;
};
partition@80000 {
label = "wkup-r5_stage2.release.appimage.hs_fs";
reg = <0x80000 0xa00000>;
};
partition@100000 {
label = "hsm_a.appimage.hs_fs";
reg = <0xa80000 0x40000>;
};
partition@140000 {
label = "mcu-r5_a.release.appimage.hs_fs";
reg = <0xac0000 0x200000>;
};
partition@340000 {
label = "linux.falcon_a.appimage.hs_fs";
reg = <0xcc0000 0x1100000>;
};
partition@1440000 {
label = "hsm_b.appimage.hs_fs";
reg = <0x1dc0000 0x40000>;
};
partition@1480000 {
label = "mcu-r5_b.release.appimage.hs_fs";
reg = <0x1e00000 0x200000>;
};
partition@1680000 {
label = "linux.falcon_b.appimage.hs_fs";
reg = <0x2000000 0x1100000>;
};
partition@2780000 {
label = "slot_partition";
reg = <0x3100000 0x40000>;
};
partition@27c0000 {
label = "backup1";
reg = <0x3140000 0xa00000>;
};
partition@3fc0000 {
label = "ospi_phy_pattern";
reg = <0x3fc0000 0x40000>;
bootph-all;
};
};
};
};
&mailbox0_cluster0 {
status = "okay";
mbox_r5_0: mbox-r5-0 {
ti,mbox-rx = <0 0 0>;
ti,mbox-tx = <1 0 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>;
};
};
&wkup_r5fss0 {
status = "okay";
};
&wkup_r5fss0_core0 {
mboxes = <&mailbox0_cluster0 &mbox_r5_0>;
memory-region = <&wkup_r5fss0_core0_dma_memory_region>,
<&wkup_r5fss0_core0_memory_region>;
};
&mcu_r5fss0 {
status = "okay";
};
&mcu_r5fss0_core0 {
mboxes = <&mailbox0_cluster1 &mbox_mcu_r5_0>;
memory-region = <&mcu_r5fss0_core0_dma_memory_region>,
<&mcu_r5fss0_core0_memory_region>;
};
&main_uart0 {
pinctrl-names = "default";
pinctrl-0 = <&main_uart0_pins_default>;
interrupts-extended = <&gic500 GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>,
<&main_pmx0 0x1c8>; /* (D14) UART0_RXD PADCONFIG114 */
interrupt-names = "irq", "wakeup";
status = "okay";
bootph-all;
};
&main_uart1 {
pinctrl-names = "default";
pinctrl-0 = <&main_uart1_pins_default>;
/* Main UART1 is used by TIFS firmware */
status = "reserved";
bootph-all;
};
&mcu_pmx0 {
bootph-all;
wkup_uart0_pins_default: wkup-uart0-default-pins {
pinctrl-single,pins = <
AM62PX_MCU_IOPAD(0x024, PIN_INPUT, 0) /* (D8) WKUP_UART0_RXD */
AM62PX_MCU_IOPAD(0x028, PIN_OUTPUT, 0) /* (D7) WKUP_UART0_TXD */
>;
bootph-all;
};
};
&wkup_uart0 {
/* WKUP UART0 is used by DM firmware */
pinctrl-names = "default";
pinctrl-0 = <&wkup_uart0_pins_default>;
status = "reserved";
bootph-all;
};
/* mcu_gpio0 and mcu_gpio_intr are reserved for mcu firmware usage */
&mcu_gpio0 {
status = "reserved";
};
&mcu_gpio_intr {
status = "reserved";
};
&dss_oldi_io_ctrl {
bootph-all;
};
&dss0 {
ti,dss-shared-mode;
ti,dss-shared-mode-vp = "vp1";
ti,dss-shared-mode-vp-owned = <0>;
ti,dss-shared-mode-common = "common1";
ti,dss-shared-mode-planes = "vid";
ti,dss-shared-mode-plane-zorder = <0>;
interrupt-parent = <&gic500>;
interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
};
&dss0 {
bootph-all;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_dpi_pins_default>;
};
&dss0_ports {
/* DSS0-VP2: DPI/HDMI Output */
hdmi0_dss: port@1 {
reg = <1>;
dss0_dpi1_out: endpoint {
remote-endpoint = <&sii9022_in>;
};
};
};
&epwm0 {
/* Pin 24/26 of J4 */
pinctrl-names = "default";
pinctrl-0 = <&main_epwm0_pins_default>;
status = "okay";
};
&epwm1 {
/* Pin 23/19 of J4 */
pinctrl-names = "default";
pinctrl-0 = <&main_epwm1_pins_default>;
status = "okay";
};
&ecap1 {
/* ECAP1 in APWM mode */
/* Pin 36 of J4 */
pinctrl-names = "default";
pinctrl-0 = <&main_ecap1_pins_default>;
status = "okay";
};
&ecap2 {
/* ECAP2 in APWM mode */
/* Pin 11 of J4 */
pinctrl-names = "default";
pinctrl-0 = <&main_ecap2_pins_default>;
status = "okay";
};
&{/} {
display {
compatible = "microtips,mf-101hiebcaf0", "panel-simple";
/*
* Note that the OLDI TX 0 transmits the odd set of pixels
* while the OLDI TX 1 transmits the even set. This is a
* fixed configuration in the IP integration and is not
* changeable. The properties, "dual-lvds-odd-pixels" and
* "dual-lvds-even-pixels" have been used to merely
* identify if a Dual Link configuration is required.
* Swapping them will cause an error in the dss oldi driver.
*/
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
dual-lvds-odd-pixels;
lcd_in0: endpoint {
remote-endpoint = <&oldi0_dss0_out>;
};
};
port@1 {
reg = <1>;
dual-lvds-even-pixels;
lcd_in1: endpoint {
remote-endpoint = <&oldi1_dss0_out>;
};
};
};
};
};
&dss0 {
status = "okay";
};
&oldi0_dss0 {
status = "okay";
ti,companion-oldi = <&oldi1_dss0>;
};
&oldi1_dss0 {
status = "okay";
ti,secondary-oldi;
};
&oldi0_dss0_ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
oldi0_dss0_in: endpoint {
remote-endpoint = <&dss0_dpi0_out0>;
};
};
port@1 {
reg = <1>;
oldi0_dss0_out: endpoint {
remote-endpoint = <&lcd_in0>;
};
};
};
&oldi1_dss0_ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
oldi1_dss0_in: endpoint {
remote-endpoint = <&dss0_dpi0_out1>;
};
};
port@1 {
reg = <1>;
oldi1_dss0_out: endpoint {
remote-endpoint = <&lcd_in1>;
};
};
};
&dss0_ports {
#address-cells = <1>;
#size-cells = <0>;
/* VP1: Output to OLDI */
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
dss0_dpi0_out0: endpoint@0 {
reg = <0>;
remote-endpoint = <&oldi0_dss0_in>;
};
dss0_dpi0_out1: endpoint@1 {
reg = <1>;
remote-endpoint = <&oldi1_dss0_in>;
};
};
};
&main_i2c0 {
#address-cells = <1>;
#size-cells = <0>;
touchscreen@41 {
compatible = "ilitek,ili251x";
reg = <0x41>;
interrupt-parent = <&exp1>;
interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&exp2 20 GPIO_ACTIVE_LOW>;
};
};
And there is the device tree changes
From 40bdfbf29d8b2a020cd7044b33e1ec48a0d04f8f Mon Sep 17 00:00:00 2001
From: suipengfei <suipengfei01@163.com>
Date: Fri, 16 Jan 2026 08:20:44 +0800
Subject: [PATCH] modify-k3-am62p5-sk.dts
---
arch/arm64/boot/dts/ti/k3-am62p5-sk.dts | 211 ++++++++++++++++++++++--
1 file changed, 193 insertions(+), 18 deletions(-)
diff --git a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
index ddcbdee853e6..393d078318e2 100644
--- a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
@@ -10,7 +10,9 @@
#include <dt-bindings/leds/common.h>
#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/net/ti-dp83867.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
#include "k3-am62p5.dtsi"
/ {
@@ -36,7 +38,7 @@ chosen {
#address-cells = <2>;
#size-cells = <2>;
ranges;
-
+ bootargs = "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait mem=1G";
stdout-path = &main_uart0;
framebuffer0: framebuffer@0 {
@@ -66,7 +68,12 @@ reserved_memory: reserved-memory {
linux,cma {
compatible = "shared-dma-pool";
reusable;
+ /********576 MB**********
size = <0x00 0x24000000>;
+ ************************/
+ /*******200MB***********/
+ size = <0x00 0xc800000>;
+
linux,cma-default;
};
@@ -109,6 +116,11 @@ secure_ddr: optee@9e800000 {
reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
no-map;
};
+
+ rtos_framebuffer_memory_region: rtos-framebuffer-memory@93500000 {
+ reg = <0x00 0x93500000 0x00 0x08000000>;
+ no-map;
+ };
};
vmain_pd: regulator-0 {
@@ -613,7 +625,7 @@ &sdhci0 {
&sdhci1 {
/* SD/MMC */
- status = "okay";
+ status = "disabled";
vmmc-supply = <&vdd_mmc1>;
vqmmc-supply = <&vddshv_sdio>;
pinctrl-names = "default";
@@ -737,40 +749,61 @@ partitions {
bootph-all;
partition@0 {
- label = "ospi.tiboot3";
+ label = "sbl_ospi_linux_stage1.release.hs_fs.tiimage";
reg = <0x00 0x80000>;
};
partition@80000 {
- label = "ospi.tispl";
- reg = <0x80000 0x200000>;
+ label = "wkup-r5_stage2.release.appimage.hs_fs";
+ reg = <0x80000 0xa00000>;
+ };
+
+ partition@100000 {
+ label = "hsm_a.appimage.hs_fs";
+ reg = <0xa80000 0x40000>;
+ };
+
+ partition@140000 {
+ label = "mcu-r5_a.release.appimage.hs_fs";
+ reg = <0xac0000 0x200000>;
};
- partition@280000 {
- label = "ospi.u-boot";
- reg = <0x280000 0x400000>;
+ partition@340000 {
+ label = "linux.falcon_a.appimage.hs_fs";
+ reg = <0xcc0000 0x1100000>;
};
- partition@680000 {
- label = "ospi.env";
- reg = <0x680000 0x40000>;
+ partition@1440000 {
+ label = "hsm_b.appimage.hs_fs";
+ reg = <0x1dc0000 0x40000>;
};
- partition@6c0000 {
- label = "ospi.env.backup";
- reg = <0x6c0000 0x40000>;
+ partition@1480000 {
+ label = "mcu-r5_b.release.appimage.hs_fs";
+ reg = <0x1e00000 0x200000>;
};
- partition@800000 {
- label = "ospi.rootfs";
- reg = <0x800000 0x37c0000>;
+ partition@1680000 {
+ label = "linux.falcon_b.appimage.hs_fs";
+ reg = <0x2000000 0x1100000>;
+ };
+
+ partition@2780000 {
+ label = "slot_partition";
+ reg = <0x3100000 0x40000>;
+ };
+
+ partition@27c0000 {
+ label = "backup1";
+ reg = <0x3140000 0xa00000>;
};
partition@3fc0000 {
- label = "ospi.phypattern";
+ label = "ospi_phy_pattern";
reg = <0x3fc0000 0x40000>;
bootph-all;
};
+
};
};
};
@@ -864,6 +897,17 @@ &dss_oldi_io_ctrl {
bootph-all;
};
+&dss0 {
+ ti,dss-shared-mode;
+ ti,dss-shared-mode-vp = "vp1";
+ ti,dss-shared-mode-vp-owned = <0>;
+ ti,dss-shared-mode-common = "common1";
+ ti,dss-shared-mode-planes = "vid";
+ ti,dss-shared-mode-plane-zorder = <0>;
+ interrupt-parent = <&gic500>;
+ interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
+};
+
&dss0 {
bootph-all;
status = "okay";
@@ -911,3 +955,134 @@ &ecap2 {
pinctrl-0 = <&main_ecap2_pins_default>;
status = "okay";
};
+
+
+&{/} {
+ display {
+ compatible = "microtips,mf-101hiebcaf0", "panel-simple";
+
+ /*
+ * Note that the OLDI TX 0 transmits the odd set of pixels
+ * while the OLDI TX 1 transmits the even set. This is a
+ * fixed configuration in the IP integration and is not
+ * changeable. The properties, "dual-lvds-odd-pixels" and
+ * "dual-lvds-even-pixels" have been used to merely
+ * identify if a Dual Link configuration is required.
+ * Swapping them will cause an error in the dss oldi driver.
+ */
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ dual-lvds-odd-pixels;
+
+ lcd_in0: endpoint {
+ remote-endpoint = <&oldi0_dss0_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ dual-lvds-even-pixels;
+
+ lcd_in1: endpoint {
+ remote-endpoint = <&oldi1_dss0_out>;
+ };
+ };
+ };
+ };
+};
+
+&dss0 {
+ status = "okay";
+};
+
+&oldi0_dss0 {
+ status = "okay";
+ ti,companion-oldi = <&oldi1_dss0>;
+};
+
+&oldi1_dss0 {
+ status = "okay";
+ ti,secondary-oldi;
+};
+
+&oldi0_dss0_ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ oldi0_dss0_in: endpoint {
+ remote-endpoint = <&dss0_dpi0_out0>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ oldi0_dss0_out: endpoint {
+ remote-endpoint = <&lcd_in0>;
+ };
+ };
+};
+
+&oldi1_dss0_ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ oldi1_dss0_in: endpoint {
+ remote-endpoint = <&dss0_dpi0_out1>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ oldi1_dss0_out: endpoint {
+ remote-endpoint = <&lcd_in1>;
+ };
+ };
+};
+
+&dss0_ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* VP1: Output to OLDI */
+ port@0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ dss0_dpi0_out0: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&oldi0_dss0_in>;
+ };
+
+ dss0_dpi0_out1: endpoint@1 {
+ reg = <1>;
+ remote-endpoint = <&oldi1_dss0_in>;
+ };
+ };
+};
+
+&main_i2c0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ touchscreen@41 {
+ compatible = "ilitek,ili251x";
+ reg = <0x41>;
+ interrupt-parent = <&exp1>;
+ interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
+ reset-gpios = <&exp2 20 GPIO_ACTIVE_LOW>;
+ };
+};
+
--
2.34.1
Best Regards
SUI
Hi Suren Porwar
How to reslove the kernel dead issue ? when I modify Memory size 1GB
Best Regards
SUI
Hi Pengfei,
Based on the device tree changes this is our observations:
The system is making several memory reservations:
If possible, increase the system memory beyond 1GB to accommodate all these reservations and let us know if it works? Or does reducing the CMA pool to 128MB help
Best Regards,
Suren
Hi Suren Porwar
1、Now I increase the system memory 2GB accommodate all these reservations the linux kernel start failed , there is 2GB log
Starting linux and RTOS/Baremetal applications
NOTICE: BL31: v2.13.0(release):v2.13.0-259-ge0c4d3903b-dirty
NOTICE: BL31: Built : 07:01:36, Jul 1 2025
Booting Linux on physical CPU 0x0000000000 [0x410fd034]
Linux version 6.12.35-ti-00921-g40bdfbf29d8b-dirty (oe-user@oe-host) (aarch64-oe-linux-gcc (GCC) 13.4.0, GNU ld (GNU Binutils) 2.42.0.20240723) #1 SMP PREEMPT Thu Jul 3 17:10:29 UTC 2025
KASLR disabled due to lack of seed
Machine model: Texas Instruments AM62P5 SK
earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
printk: legacy bootconsole [ns16550a0] enabled
efi: UEFI not found.
Reserved memory: created CMA memory pool at 0x00000000dc000000, size 576 MiB
OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
OF: reserved mem: 0x00000000dc000000..0x00000000ffffffff (589824 KiB) map reusable linux,cma
Reserved memory: created DMA memory pool at 0x000000009b500000, size 3 MiB
OF: reserved mem: initialized node rtos-ipc-memory@9b500000, compatible id shared-dma-pool
OF: reserved mem: 0x000000009b500000..0x000000009b7fffff (3072 KiB) nomap non-reusable rtos-ipc-memory@9b500000
Reserved memory: created DMA memory pool at 0x000000009b800000, size 1 MiB
OF: reserved mem: initialized node mcu-r5fss-dma-memory-region@9b800000, compatible id shared-dma-pool
OF: reserved mem: 0x000000009b800000..0x000000009b8fffff (1024 KiB) nomap non-reusable mcu-r5fss-dma-memory-region@9b800000
Reserved memory: created DMA memory pool at 0x000000009b900000, size 15 MiB
OF: reserved mem: initialized node mcu-r5fss-memory-region@9b900000, compatible id shared-dma-pool
OF: reserved mem: 0x000000009b900000..0x000000009c7fffff (15360 KiB) nomap non-reusable mcu-r5fss-memory-region@9b900000
Reserved memory: created DMA memory pool at 0x000000009c800000, size 1 MiB
OF: reserved mem: initialized node r5f-dma-memory@9c800000, compatible id shared-dma-pool
OF: reserved mem: 0x000000009c800000..0x000000009c8fffff (1024 KiB) nomap non-reusable r5f-dma-memory@9c800000
Reserved memory: created DMA memory pool at 0x000000009c900000, size 30 MiB
OF: reserved mem: initialized node r5f-memory@9c900000, compatible id shared-dma-pool
OF: reserved mem: 0x000000009c900000..0x000000009e6fffff (30720 KiB) nomap non-reusable r5f-memory@9c900000
OF: reserved mem: 0x000000009e780000..0x000000009e7fffff (512 KiB) nomap non-reusable tfa@9e780000
OF: reserved mem: 0x000000009e800000..0x000000009fffffff (24576 KiB) nomap non-reusable optee@9e800000
OF: reserved mem: 0x0000000093500000..0x000000009b4fffff (131072 KiB) nomap non-reusable rtos-framebuffer-memory@93500000
Zone ranges:
DMA [mem 0x0000000080000000-0x00000000ffffffff]
DMA32 empty
Normal empty
Movable zone start for each node
Early memory node ranges
node 0: [mem 0x0000000080000000-0x00000000934fffff]
node 0: [mem 0x0000000093500000-0x000000009e6fffff]
node 0: [mem 0x000000009e700000-0x000000009e77ffff]
node 0: [mem 0x000000009e780000-0x000000009fffffff]
node 0: [mem 0x00000000a0000000-0x00000000ffffffff]
Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffffff]
psci: probing for conduit method from DT.
psci: PSCIv1.1 detected in firmware.
psci: Using standard PSCI v0.2 function IDs
psci: Trusted OS migration not required
psci: SMC Calling Convention v1.5
percpu: Embedded 22 pages/cpu s50520 r8192 d31400 u90112
Detected VIPT I-cache on CPU0
CPU features: detected: GIC system register CPU interface
CPU features: detected: ARM erratum 845719
alternatives: applying boot alternatives
Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait
Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
Built 1 zonelists, mobility grouping on. Total pages: 524288
mem auto-init: stack:all(zero), heap alloc:off, heap free:off
software IO TLB: SWIOTLB bounce buffer size adjusted to 2MB
software IO TLB: area num 4.
software IO TLB: mapped [mem 0x00000000d9a00000-0x00000000d9c00000] (2MB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
rcu: Preemptible hierarchical RCU implementation.
rcu: RCU restricting CPUs from NR_CPUS=512 to nr_cpu_ids=4.
Trampoline variant of Tasks RCU enabled.
Tracing variant of Tasks RCU enabled.
rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
RCU Tasks: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4.
RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4.
NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
GICv3: GIC: Using split EOI/Deactivate mode
GICv3: 256 SPIs implemented
GICv3: 0 Extended SPIs implemented
Root IRQ handler: gic_handle_irq
GICv3: GICv3 features: 16 PPIs
GICv3: GICD_CTRL.DS=0, SCR_EL3.FIQ=1
GICv3: CPU0: found redistributor 0 region 0:0x0000000001880000
ITS [mem 0x01820000-0x0182ffff]
ITS@0x0000000001820000: Devices Table too large, reduce ids 20->19
ITS@0x0000000001820000: allocated 524288 Devices @80800000 (flat, esz 8, psz 64K, shr 0)
ITS: using cache flushing for cmd queue
GICv3: using LPI property table @0x0000000080050000
GIC: using cache flushing for LPI property table
GICv3: CPU0: using allocated LPI pending table @0x0000000080060000
rcu: srcu_init: Setting srcu_struct sizes based on contention.
arch_timer: cp15 timer(s) running at 200.00MHz (phys).
clocksource: arch_sys_counter: mask: 0x3ffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
sched_clock: 58 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
2、I reducing the CMA pool to 128MB , And DDR memory use 2GB the linux kernel start failed , there is DDR 2GB CAM 128MB log
Starting linux and RTOS/Baremetal applications
NOTICE: BL31: v2.13.0(release):v2.13.0-259-ge0c4d3903b-dirty
NOTICE: BL31: Built : 07:01:36, Jul 1 2025
Booting Linux on physical CPU 0x0000000000 [0x410fd034]
Linux version 6.12.35-ti-00921-g40bdfbf29d8b-dirty (oe-user@oe-host) (aarch64-oe-linux-gcc (GCC) 13.4.0, GNU ld (GNU Binutils) 2.42.0.20240723) #1 SMP PREEMPT Thu Jul 3 17:10:29 UTC 2025
KASLR disabled due to lack of seed
Machine model: Texas Instruments AM62P5 SK
earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
printk: legacy bootconsole [ns16550a0] enabled
efi: UEFI not found.
Reserved memory: created CMA memory pool at 0x00000000f8000000, size 128 MiB
OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
OF: reserved mem: 0x00000000f8000000..0x00000000ffffffff (131072 KiB) map reusable linux,cma
Reserved memory: created DMA memory pool at 0x000000009b500000, size 3 MiB
OF: reserved mem: initialized node rtos-ipc-memory@9b500000, compatible id shared-dma-pool
OF: reserved mem: 0x000000009b500000..0x000000009b7fffff (3072 KiB) nomap non-reusable rtos-ipc-memory@9b500000
Reserved memory: created DMA memory pool at 0x000000009b800000, size 1 MiB
OF: reserved mem: initialized node mcu-r5fss-dma-memory-region@9b800000, compatible id shared-dma-pool
OF: reserved mem: 0x000000009b800000..0x000000009b8fffff (1024 KiB) nomap non-reusable mcu-r5fss-dma-memory-region@9b800000
Reserved memory: created DMA memory pool at 0x000000009b900000, size 15 MiB
OF: reserved mem: initialized node mcu-r5fss-memory-region@9b900000, compatible id shared-dma-pool
OF: reserved mem: 0x000000009b900000..0x000000009c7fffff (15360 KiB) nomap non-reusable mcu-r5fss-memory-region@9b900000
Reserved memory: created DMA memory pool at 0x000000009c800000, size 1 MiB
OF: reserved mem: initialized node r5f-dma-memory@9c800000, compatible id shared-dma-pool
OF: reserved mem: 0x000000009c800000..0x000000009c8fffff (1024 KiB) nomap non-reusable r5f-dma-memory@9c800000
Reserved memory: created DMA memory pool at 0x000000009c900000, size 30 MiB
OF: reserved mem: initialized node r5f-memory@9c900000, compatible id shared-dma-pool
OF: reserved mem: 0x000000009c900000..0x000000009e6fffff (30720 KiB) nomap non-reusable r5f-memory@9c900000
OF: reserved mem: 0x000000009e780000..0x000000009e7fffff (512 KiB) nomap non-reusable tfa@9e780000
OF: reserved mem: 0x000000009e800000..0x000000009fffffff (24576 KiB) nomap non-reusable optee@9e800000
OF: reserved mem: 0x0000000093500000..0x000000009b4fffff (131072 KiB) nomap non-reusable rtos-framebuffer-memory@93500000
Zone ranges:
DMA [mem 0x0000000080000000-0x00000000ffffffff]
DMA32 empty
Normal empty
Movable zone start for each node
Early memory node ranges
node 0: [mem 0x0000000080000000-0x00000000934fffff]
node 0: [mem 0x0000000093500000-0x000000009e6fffff]
node 0: [mem 0x000000009e700000-0x000000009e77ffff]
node 0: [mem 0x000000009e780000-0x000000009fffffff]
node 0: [mem 0x00000000a0000000-0x00000000ffffffff]
Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffffff]
psci: probing for conduit method from DT.
psci: PSCIv1.1 detected in firmware.
psci: Using standard PSCI v0.2 function IDs
psci: Trusted OS migration not required
psci: SMC Calling Convention v1.5
percpu: Embedded 22 pages/cpu s50520 r8192 d31400 u90112
Detected VIPT I-cache on CPU0
CPU features: detected: GIC system register CPU interface
CPU features: detected: ARM erratum 845719
alternatives: applying boot alternatives
Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait
Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
Built 1 zonelists, mobility grouping on. Total pages: 524288
mem auto-init: stack:all(zero), heap alloc:off, heap free:off
software IO TLB: SWIOTLB bounce buffer size adjusted to 2MB
software IO TLB: area num 4.
software IO TLB: mapped [mem 0x00000000f5a00000-0x00000000f5c00000] (2MB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
rcu: Preemptible hierarchical RCU implementation.
rcu: RCU restricting CPUs from NR_CPUS=512 to nr_cpu_ids=4.
Trampoline variant of Tasks RCU enabled.
Tracing variant of Tasks RCU enabled.
rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
RCU Tasks: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4.
RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4.
NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
GICv3: GIC: Using split EOI/Deactivate mode
GICv3: 256 SPIs implemented
GICv3: 0 Extended SPIs implemented
Root IRQ handler: gic_handle_irq
GICv3: GICv3 features: 16 PPIs
GICv3: GICD_CTRL.DS=0, SCR_EL3.FIQ=1
GICv3: CPU0: found redistributor 0 region 0:0x0000000001880000
ITS [mem 0x01820000-0x0182ffff]
ITS@0x0000000001820000: Devices Table too large, reduce ids 20->19
ITS@0x0000000001820000: allocated 524288 Devices @80800000 (flat, esz 8, psz 64K, shr 0)
ITS: using cache flushing for cmd queue
GICv3: using LPI property table @0x0000000080050000
GIC: using cache flushing for LPI property table
GICv3: CPU0: using allocated LPI pending table @0x0000000080060000
rcu: srcu_init: Setting srcu_struct sizes based on contention.
arch_timer: cp15 timer(s) running at 200.00MHz (phys).
clocksource: arch_sys_counter: mask: 0x3ffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
sched_clock: 58 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
3、 I use DDR memory use 8GB accommodate all these reservations the linux kernel start is ok there is the log
Starting linux and RTOS/Baremetal applications
NOTICE: BL31: v2.13.0(release):v2.13.0-259-ge0c4d3903b-dirty
NOTICE: BL31: Built : 07:01:36, Jul 1 2025
Booting Linux on physical CPU 0x0000000000 [0x410fd034]
Linux version 6.12.35-ti-00921-g40bdfbf29d8b-dirty (oe-user@oe-host) (aarch64-oe-linux-gcc (GCC) 13.4.0, GNU ld (GNU Binutils) 2.42.0.20240723) #1 SMP PREEMPT Thu Jul 3 17:10:29 UTC 2025
KASLR disabled due to lack of seed
Machine model: Texas Instruments AM62P5 SK
earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
printk: legacy bootconsole [ns16550a0] enabled
efi: UEFI not found.
Reserved memory: created CMA memory pool at 0x00000009dc000000, size 576 MiB
OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
OF: reserved mem: 0x00000009dc000000..0x00000009ffffffff (589824 KiB) map reusable linux,cma
Reserved memory: created DMA memory pool at 0x000000009b500000, size 3 MiB
OF: reserved mem: initialized node rtos-ipc-memory@9b500000, compatible id shared-dma-pool
OF: reserved mem: 0x000000009b500000..0x000000009b7fffff (3072 KiB) nomap non-reusable rtos-ipc-memory@9b500000
Reserved memory: created DMA memory pool at 0x000000009b800000, size 1 MiB
OF: reserved mem: initialized node mcu-r5fss-dma-memory-region@9b800000, compatible id shared-dma-pool
OF: reserved mem: 0x000000009b800000..0x000000009b8fffff (1024 KiB) nomap non-reusable mcu-r5fss-dma-memory-region@9b800000
Reserved memory: created DMA memory pool at 0x000000009b900000, size 15 MiB
OF: reserved mem: initialized node mcu-r5fss-memory-region@9b900000, compatible id shared-dma-pool
OF: reserved mem: 0x000000009b900000..0x000000009c7fffff (15360 KiB) nomap non-reusable mcu-r5fss-memory-region@9b900000
Reserved memory: created DMA memory pool at 0x000000009c800000, size 1 MiB
OF: reserved mem: initialized node r5f-dma-memory@9c800000, compatible id shared-dma-pool
OF: reserved mem: 0x000000009c800000..0x000000009c8fffff (1024 KiB) nomap non-reusable r5f-dma-memory@9c800000
Reserved memory: created DMA memory pool at 0x000000009c900000, size 30 MiB
OF: reserved mem: initialized node r5f-memory@9c900000, compatible id shared-dma-pool
OF: reserved mem: 0x000000009c900000..0x000000009e6fffff (30720 KiB) nomap non-reusable r5f-memory@9c900000
OF: reserved mem: 0x000000009e780000..0x000000009e7fffff (512 KiB) nomap non-reusable tfa@9e780000
OF: reserved mem: 0x000000009e800000..0x000000009fffffff (24576 KiB) nomap non-reusable optee@9e800000
OF: reserved mem: 0x0000000093500000..0x000000009b4fffff (131072 KiB) nomap non-reusable rtos-framebuffer-memory@93500000
Zone ranges:
DMA [mem 0x0000000080000000-0x00000000ffffffff]
DMA32 empty
Normal [mem 0x0000000100000000-0x00000009ffffffff]
Movable zone start for each node
Early memory node ranges
node 0: [mem 0x0000000080000000-0x00000000934fffff]
node 0: [mem 0x0000000093500000-0x000000009e6fffff]
node 0: [mem 0x000000009e700000-0x000000009e77ffff]
node 0: [mem 0x000000009e780000-0x000000009fffffff]
node 0: [mem 0x00000000a0000000-0x00000000ffffffff]
node 0: [mem 0x0000000880000000-0x00000009ffffffff]
Initmem setup node 0 [mem 0x0000000080000000-0x00000009ffffffff]
psci: probing for conduit method from DT.
psci: PSCIv1.1 detected in firmware.
psci: Using standard PSCI v0.2 function IDs
psci: Trusted OS migration not required
psci: SMC Calling Convention v1.5
percpu: Embedded 22 pages/cpu s50520 r8192 d31400 u90112
Detected VIPT I-cache on CPU0
CPU features: detected: GIC system register CPU interface
CPU features: detected: ARM erratum 845719
alternatives: applying boot alternatives
Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait
Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear)
Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
Built 1 zonelists, mobility grouping on. Total pages: 2097152
mem auto-init: stack:all(zero), heap alloc:off, heap free:off
software IO TLB: area num 4.
software IO TLB: mapped [mem 0x00000000fbfff000-0x00000000fffff000] (64MB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
rcu: Preemptible hierarchical RCU implementation.
rcu: RCU restricting CPUs from NR_CPUS=512 to nr_cpu_ids=4.
Trampoline variant of Tasks RCU enabled.
Tracing variant of Tasks RCU enabled.
rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
RCU Tasks: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4.
RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4.
NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
GICv3: GIC: Using split EOI/Deactivate mode
GICv3: 256 SPIs implemented
GICv3: 0 Extended SPIs implemented
Root IRQ handler: gic_handle_irq
GICv3: GICv3 features: 16 PPIs
GICv3: GICD_CTRL.DS=0, SCR_EL3.FIQ=1
GICv3: CPU0: found redistributor 0 region 0:0x0000000001880000
ITS [mem 0x01820000-0x0182ffff]
ITS@0x0000000001820000: Devices Table too large, reduce ids 20->19
ITS@0x0000000001820000: allocated 524288 Devices @880800000 (flat, esz 8, psz 64K, shr 0)
ITS: using cache flushing for cmd queue
GICv3: using LPI property table @0x0000000880050000
GIC: using cache flushing for LPI property table
GICv3: CPU0: using allocated LPI pending table @0x0000000880060000
rcu: srcu_init: Setting srcu_struct sizes based on contention.
arch_timer: cp15 timer(s) running at 200.00MHz (phys).
clocksource: arch_sys_counter: mask: 0x3ffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
sched_clock: 58 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
Console: colour dummy device 80x25
Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
pid_max: default: 32768 minimum: 301
LSM: initializing lsm=capability
Mount-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
Mountpoint-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
rcu: Hierarchical SRCU implementation.
rcu: Max phase no-delay instances is 1000.
Timer migration: 1 hierarchy levels; 8 children per group; 1 crossnode level
EFI services will not be available.
smp: Bringing up secondary CPUs ...
Detected VIPT I-cache on CPU1
GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000
GICv3: CPU1: using allocated LPI pending table @0x0000000880070000
CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
Detected VIPT I-cache on CPU2
GICv3: CPU2: found redistributor 2 region 0:0x00000000018c0000
GICv3: CPU2: using allocated LPI pending table @0x0000000880080000
CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
Detected VIPT I-cache on CPU3
GICv3: CPU3: found redistributor 3 region 0:0x00000000018e0000
GICv3: CPU3: using allocated LPI pending table @0x0000000880090000
CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
smp: Brought up 1 node, 4 CPUs
SMP: Total of 4 processors activated.
CPU: All CPU(s) started at EL2
CPU features: detected: 32-bit EL0 Support
CPU features: detected: CRC32 instructions
alternatives: applying system-wide alternatives
Memory: 7355352K/8388608K available (10048K kernel code, 1068K rwdata, 2872K rodata, 1920K init, 573K bss, 434508K reserved, 589824K cma-reserved)
devtmpfs: initialized
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
28592 pages in range for non-PLT usage
520112 pages in range for PLT usage
pinctrl core: initialized pinctrl subsystem
DMI not present or invalid.
NET: Registered PF_NETLINK/PF_ROUTE protocol family
DMA: preallocated 1024 KiB GFP_KERNEL pool for atomic allocations
DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
audit: initializing netlink subsys (disabled)
audit: type=2000 audit(0.156:1): state=initialized audit_enabled=0 res=1
cpuidle: using governor menu
hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
ASID allocator initialised with 65536 entries
/bus@f0000/interrupt-controller@1800000: Fixed dependency cycle(s) with /bus@f0000/interrupt-controller@1800000
/bus@f0000/i2c@20000000/usb-power-controller@3f/connector: Fixed dependency cycle(s) with /bus@f0000/usb@f900000/usb@31000000
/bus@f0000/i2c@20010000/bridge-hdmi@3b: Fixed dependency cycle(s) with /bus@f0000/dss@30200000
/bus@f0000/usb@f900000/usb@31000000: Fixed dependency cycle(s) with /bus@f0000/i2c@20000000/usb-power-controller@3f/connector
/bus@f0000/dss@30200000: Fixed dependency cycle(s) with /bus@f0000/dss@30200000/oldi-transmitters/oldi@1
/bus@f0000/dss@30200000: Fixed dependency cycle(s) with /bus@f0000/dss@30200000/oldi-transmitters/oldi@0
/bus@f0000/dss@30200000: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/bridge-hdmi@3b
/bus@f0000/dss@30200000/oldi-transmitters/oldi@0: Fixed dependency cycle(s) with /bus@f0000/dss@30200000
/bus@f0000/dss@30200000/oldi-transmitters/oldi@1: Fixed dependency cycle(s) with /bus@f0000/dss@30200000
/bus@f0000/i2c@20000000/usb-power-controller@3f/connector: Fixed dependency cycle(s) with /bus@f0000/usb@f900000/usb@31000000
/bus@f0000/i2c@20010000/bridge-hdmi@3b: Fixed dependency cycle(s) with /bus@f0000/dss@30200000
/bus@f0000/usb@f900000/usb@31000000: Fixed dependency cycle(s) with /bus@f0000/i2c@20000000/usb-power-controller@3f/connector
/bus@f0000/i2c@20010000/bridge-hdmi@3b: Fixed dependency cycle(s) with /bus@f0000/dss@30200000
/bus@f0000/dss@30200000: Fixed dependency cycle(s) with /bus@f0000/dss@30200000/oldi-transmitters/oldi@1
/bus@f0000/dss@30200000: Fixed dependency cycle(s) with /bus@f0000/dss@30200000/oldi-transmitters/oldi@0
/bus@f0000/dss@30200000: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/bridge-hdmi@3b
/bus@f0000/dss@30200000/oldi-transmitters/oldi@0: Fixed dependency cycle(s) with /bus@f0000/dss@30200000
/bus@f0000/dss@30200000/oldi-transmitters/oldi@1: Fixed dependency cycle(s) with /bus@f0000/dss@30200000
/bus@f0000/i2c@20010000/bridge-hdmi@3b: Fixed dependency cycle(s) with /connector-hdmi
/connector-hdmi: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/bridge-hdmi@3b
/bus@f0000/dss@30200000/oldi-transmitters/oldi@1: Fixed dependency cycle(s) with /display
/bus@f0000/dss@30200000/oldi-transmitters/oldi@0: Fixed dependency cycle(s) with /display
/display: Fixed dependency cycle(s) with /bus@f0000/dss@30200000/oldi-transmitters/oldi@1
/display: Fixed dependency cycle(s) with /bus@f0000/dss@30200000/oldi-transmitters/oldi@0
HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
k3-chipinfo 43000014.chipid: Family:AM62PX rev:SR1.0 JTAGID[0x0bb9d02f] Detected
iommu: Default domain type: Translated
iommu: DMA domain TLB invalidation policy: strict mode
EDAC MC: Ver: 3.0.0
scmi_core: SCMI protocol bus registered
clocksource: Switched to clocksource arch_sys_counter
NET: Registered PF_INET protocol family
IP idents hash table entries: 131072 (order: 8, 1048576 bytes, linear)
tcp_listen_portaddr_hash hash table entries: 4096 (order: 4, 65536 bytes, linear)
Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
TCP established hash table entries: 65536 (order: 7, 524288 bytes, linear)
TCP bind hash table entries: 65536 (order: 9, 2097152 bytes, linear)
TCP: Hash tables configured (established 65536 bind 65536)
UDP hash table entries: 4096 (order: 5, 131072 bytes, linear)
UDP-Lite hash table entries: 4096 (order: 5, 131072 bytes, linear)
NET: Registered PF_UNIX/PF_LOCAL protocol family
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp-with-tls transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Initialise system trusted keyrings
workingset: timestamp_bits=46 max_order=21 bucket_order=0
NFS: Registering the id_resolver key type
Key type id_resolver registered
Key type id_legacy registered
nfs4filelayout_init: NFSv4 File Layout Driver Registering...
nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
Key type asymmetric registered
Asymmetric key parser 'x509' registered
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
io scheduler mq-deadline registered
io scheduler kyber registered
io scheduler bfq registered
pinctrl-single 4084000.pinctrl: 34 pins, size 136
pinctrl-single f4000.pinctrl: 171 pins, size 684
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
panel-simple display: supply power not found, using dummy regulator
loop: module loaded
i2c_dev: i2c /dev entries driver
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 (0,8000003f) counters available
optee: probing for conduit method.
optee: revision 4.6 (71785645fa6ce42d)
optee: dynamic shared memory is enabled
optee: initialized driver
random: crng init done
NET: Registered PF_PACKET protocol family
Key type dns_resolver registered
Loading compiled-in X.509 certificates
ti-sci 44043000.system-controller: ABI: 4.0 (firmware rev 0x000b '11.0.7--v11.00.07 (Fancy Rat)')
/bus@f0000/i2c@20000000/usb-power-controller@3f/connector: Fixed dependency cycle(s) with /bus@f0000/usb@f900000/usb@31000000
omap_i2c 20000000.i2c: bus 0 rev0.12 at 400 kHz
pca953x 1-0023: supply vcc not found, using dummy regulator
pca953x 1-0023: using AI
/bus@f0000/dss@30200000: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/bridge-hdmi@3b
/bus@f0000/i2c@20010000/bridge-hdmi@3b: Fixed dependency cycle(s) with /bus@f0000/dss@30200000
omap_i2c 20010000.i2c: bus 1 rev0.12 at 100 kHz
omap_i2c 20020000.i2c: bus 2 rev0.12 at 400 kHz
ti-sci-intr bus@f0000:interrupt-controller@a00000: Interrupt Router 3 domain created
ti-sci-inta 48000000.interrupt-controller: Interrupt Aggregator domain 28 created
ti-sci-inta 4e400000.interrupt-controller: Interrupt Aggregator domain 200 created
ti-udma 485c0100.dma-controller: Number of rings: 82
ti-udma 485c0100.dma-controller: Channels: 48 (bchan: 18, tchan: 12, rchan: 18)
ti-udma 485c0000.dma-controller: Number of rings: 150
ti-udma 485c0000.dma-controller: Channels: 35 (tchan: 20, rchan: 15)
ti-udma 4e230000.dma-controller: Number of rings: 6
ti-udma 4e230000.dma-controller: Channels: 6 (bchan: 0, tchan: 0, rchan: 6)
printk: legacy console [ttyS2] disabled
2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 250, base_baud = 3000000) is a 8250
printk: legacy console [ttyS2] enabled
printk: legacy console [ttyS2] enabled
printk: legacy bootconsole [ns16550a0] disabled
printk: legacy bootconsole [ns16550a0] disabled
[drm] Initialized tidss 1.0.0 for 30200000.dss on minor 0
tidss 30200000.dss: [drm] fb0: tidssdrmfb frame buffer device
11 fixed-partitions partitions found on MTD device fc40000.spi.0
Creating 11 MTD partitions on "fc40000.spi.0":
0x000000000000-0x000000080000 : "sbl_ospi_linux_stage1.release.hs_fs.tiimage"
0x000000080000-0x000000a80000 : "wkup-r5_stage2.release.appimage.hs_fs"
0x000000a80000-0x000000ac0000 : "hsm_a.appimage.hs_fs"
0x000000ac0000-0x000000cc0000 : "mcu-r5_a.release.appimage.hs_fs"
0x000000cc0000-0x000001dc0000 : "linux.falcon_a.appimage.hs_fs"
0x000001dc0000-0x000001e00000 : "hsm_b.appimage.hs_fs"
0x000001e00000-0x000002000000 : "mcu-r5_b.release.appimage.hs_fs"
0x000002000000-0x000003100000 : "linux.falcon_b.appimage.hs_fs"
0x000003100000-0x000003140000 : "slot_partition"
0x000003140000-0x000003b40000 : "backup1"
0x000003fc0000-0x000004000000 : "ospi_phy_pattern"
mmc0: CQHCI version 5.10
pca953x 1-0022: supply vcc not found, using dummy regulator
pca953x 1-0022: using AI
sii902x 1-003b: supply iovcc not found, using dummy regulator
sii902x 1-003b: supply cvcc12 not found, using dummy regulator
i2c i2c-1: Added multiplexed i2c bus 3
clk: Disabling unused clocks
PM: genpd: Disabling unused power domains
mmc0: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit
Waiting for root device /dev/mmcblk0p2...
mmc0: Command Queue Engine enabled
mmc0: new HS200 MMC card at address 0001
mmcblk0: mmc0:0001 G1M15L 29.6 GiB
mmcblk0: p1 p2 p3
mmcblk0boot0: mmc0:0001 G1M15L 31.5 MiB
mmcblk0boot1: mmc0:0001 G1M15L 31.5 MiB
mmcblk0rpmb: mmc0:0001 G1M15L 4.00 MiB, chardev (248:0)
EXT4-fs (mmcblk0p2): mounted filesystem 250c7601-3093-4771-8754-4397d737c0be r/w with ordered data mode. Quota mode: disabled.
VFS: Mounted root (ext4 filesystem) on device 179:2.
devtmpfs: mounted
Freeing unused kernel memory: 1920K
Run /sbin/init as init process
INIT: version 3.04 booting
Starting udev
udevd[107]: starting version 3.2.14
udevd[107]: specified group 'tee' unknown
udevd[107]: specified group 'teepriv' unknown
udevd[108]: starting eudev-3.2.14
EXT4-fs (mmcblk0p1): mounted filesystem 250c7601-3093-4771-8754-4397d737c0be r/w with ordered data mode. Quota mode: disabled.
EXT4-fs (mmcblk0p3): mounted filesystem ce530488-b9cf-40bc-a313-28eea26ec700 r/w with ordered data mode. Quota mode: disabled.
EXT4-fs (mmcblk0p2): re-mounted 250c7601-3093-4771-8754-4397d737c0be.
hwclock: can't open '/dev/misc/rtc': No such file or directory
Fri Mar 9 13:46:42 UTC 2018
hwclock: can't open '/dev/misc/rtc': No such file or directory
INIT: Entering runlevel: 5misc/rtc': No such file or directory
Configuring network interfaces... ifup: interface lo already configured
ip: SIOCGIFFLAGS: No such device
done.
Starting OP-TEE Supplicant: tee-supplicant.
Starting syslogd/klogd: done
_____ _____ _ _
| _ |___ ___ ___ ___ | _ |___ ___ |_|___ ___| |_
| | _| .'| . | . | | __| _| . | | | -_| _| _|
|__|__|_| |__,|_ |___| |__| |_| |___|_| |___|___|_|
|___| |___|
Arago Project am62pxx-evm /dev/ttyS2
Arago 2025.01 am62pxx-evm /dev/ttyS2
am62pxx-evm login: vdd_mmc1: disabling
Why I increase the system memory , the linux kernel start failed ?
why I reducing the CMA pool to 128MB , the linux kernel start failed ?
Best Regards
SUI
Hi Pengfei,
This thread also can be referred.
except change in pervious post, CMA need be put in 1GB range.
BR,
Biao
Hi Pengfei,
can you help share the Mem map in your system(2GB/1GB) just like this?
BR,
Biao
Hi Biao
There is my the Mem map in our system
CMA memory pool at 0xb3800000, size 200 MiB
rtos-ipc-memory at 0x9b500000, size 3 MiB
mcu-r5fss-dma-memory-region at 0x9b800000, size 1 MiB
mcu-r5fss-memory-region at 0x9b900000, size 15 MiB
r5f-dma-memory at 0x9c800000, size 1 MiB
r5f-memory at 0x9c900000, size 30 MiB
tfa at 0x9e780000 512 KiB
optee at 0x9e800000 24576 KiB
rtos-framebuffer-memory at 0x93500000 131072 KiB
But the kernel start failed , there is my modify dts
memory@80000000 {
/* 1G RAM */
reg = <0x00000000 0x80000000 0x00000000 0x40000000>;
device_type = "memory";
bootph-pre-ram;
};
reserved_memory: reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
linux,cma {
compatible = "shared-dma-pool";
reusable;
/*******200MB***********/
size = <0x00 0xc800000>;
reg = <0x00 0xb3800000 0x00 0xc800000>;
linux,cma-default;
};
there is my kernel start log , you can check
Starting linux and RTOS/Baremetal applications NOTICE: BL31: v2.13.0(release):v2.13.0-259-ge0c4d3903b-dirty NOTICE: BL31: Built : 07:01:36, Jul 1 2025 Booting Linux on physical CPU 0x0000000000 [0x410fd034] Linux version 6.12.35-ti-00921-g40bdfbf29d8b-dirty (oe-user@oe-host) (aarch64-oe-linux-gcc (GCC) 13.4.0, GNU ld (GNU Binutils) 2.42.0.20240723) #1 SMP PREEMPT Thu Jul 3 17:10:29 UTC 2025 KASLR disabled due to lack of seed Machine model: Texas Instruments AM62P5 SK earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '') printk: legacy bootconsole [ns16550a0] enabled efi: UEFI not found. Reserved memory: created CMA memory pool at 0x00000000b3800000, size 200 MiB OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool OF: reserved mem: 0x00000000b3800000..0x00000000bfffffff (204800 KiB) map reusable linux,cma Reserved memory: created DMA memory pool at 0x000000009b500000, size 3 MiB OF: reserved mem: initialized node rtos-ipc-memory@9b500000, compatible id shared-dma-pool OF: reserved mem: 0x000000009b500000..0x000000009b7fffff (3072 KiB) nomap non-reusable rtos-ipc-memory@9b500000 Reserved memory: created DMA memory pool at 0x000000009b800000, size 1 MiB OF: reserved mem: initialized node mcu-r5fss-dma-memory-region@9b800000, compatible id shared-dma-pool OF: reserved mem: 0x000000009b800000..0x000000009b8fffff (1024 KiB) nomap non-reusable mcu-r5fss-dma-memory-region@9b800000 Reserved memory: created DMA memory pool at 0x000000009b900000, size 15 MiB OF: reserved mem: initialized node mcu-r5fss-memory-region@9b900000, compatible id shared-dma-pool OF: reserved mem: 0x000000009b900000..0x000000009c7fffff (15360 KiB) nomap non-reusable mcu-r5fss-memory-region@9b900000 Reserved memory: created DMA memory pool at 0x000000009c800000, size 1 MiB OF: reserved mem: initialized node r5f-dma-memory@9c800000, compatible id shared-dma-pool OF: reserved mem: 0x000000009c800000..0x000000009c8fffff (1024 KiB) nomap non-reusable r5f-dma-memory@9c800000 Reserved memory: created DMA memory pool at 0x000000009c900000, size 30 MiB OF: reserved mem: initialized node r5f-memory@9c900000, compatible id shared-dma-pool OF: reserved mem: 0x000000009c900000..0x000000009e6fffff (30720 KiB) nomap non-reusable r5f-memory@9c900000 OF: reserved mem: 0x000000009e780000..0x000000009e7fffff (512 KiB) nomap non-reusable tfa@9e780000 OF: reserved mem: 0x000000009e800000..0x000000009fffffff (24576 KiB) nomap non-reusable optee@9e800000 OF: reserved mem: 0x0000000093500000..0x000000009b4fffff (131072 KiB) nomap non-reusable rtos-framebuffer-memory@93500000 Zone ranges: DMA [mem 0x0000000080000000-0x00000000bfffffff] DMA32 empty Normal empty Movable zone start for each node Early memory node ranges node 0: [mem 0x0000000080000000-0x00000000934fffff] node 0: [mem 0x0000000093500000-0x000000009e6fffff] node 0: [mem 0x000000009e700000-0x000000009e77ffff] node 0: [mem 0x000000009e780000-0x000000009fffffff] node 0: [mem 0x00000000a0000000-0x00000000bfffffff] Initmem setup node 0 [mem 0x0000000080000000-0x00000000bfffffff] psci: probing for conduit method from DT. psci: PSCIv1.1 detected in firmware. psci: Using standard PSCI v0.2 function IDs psci: Trusted OS migration not required psci: SMC Calling Convention v1.5 percpu: Embedded 22 pages/cpu s50520 r8192 d31400 u90112 Detected VIPT I-cache on CPU0 CPU features: detected: GIC system register CPU interface CPU features: detected: ARM erratum 845719 alternatives: applying boot alternatives Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear) Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear) Built 1 zonelists, mobility grouping on. Total pages: 262144 mem auto-init: stack:all(zero), heap alloc:off, heap free:off software IO TLB: SWIOTLB bounce buffer size adjusted to 1MB software IO TLB: area num 4. software IO TLB: mapped [mem 0x00000000b2480000-0x00000000b2580000] (1MB) SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 rcu: Preemptible hierarchical RCU implementation. rcu: RCU restricting CPUs from NR_CPUS=512 to nr_cpu_ids=4. Trampoline variant of Tasks RCU enabled. Tracing variant of Tasks RCU enabled. rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4 RCU Tasks: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4. RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4. NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 GICv3: GIC: Using split EOI/Deactivate mode GICv3: 256 SPIs implemented GICv3: 0 Extended SPIs implemented Root IRQ handler: gic_handle_irq GICv3: GICv3 features: 16 PPIs GICv3: GICD_CTRL.DS=0, SCR_EL3.FIQ=1 GICv3: CPU0: found redistributor 0 region 0:0x0000000001880000 ITS [mem 0x01820000-0x0182ffff] ITS@0x0000000001820000: Devices Table too large, reduce ids 20->19 ITS@0x0000000001820000: allocated 524288 Devices @80800000 (flat, esz 8, psz 64K, shr 0) ITS: using cache flushing for cmd queue GICv3: using LPI property table @0x0000000080050000 GIC: using cache flushing for LPI property table GICv3: CPU0: using allocated LPI pending table @0x0000000080060000 rcu: srcu_init: Setting srcu_struct sizes based on contention. arch_timer: cp15 timer(s) running at 200.00MHz (phys). clocksource: arch_sys_counter: mask: 0x3ffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns sched_clock: 58 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
Best Regards
SUI
Hi Suren,
Can you help check this thread? do you have a try on your EVM?
BR,
Biao
Hi Biao,
I tried to change the exisiting Linux kernel DTS file with the below changes:
diff --git a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
index 740c25d92..dbec925eb 100644
--- a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
@@ -52,8 +52,7 @@ framebuffer0: framebuffer@0 {
memory@80000000 {
/* 8G RAM */
- reg = <0x00000000 0x80000000 0x00000000 0x80000000>,
- <0x00000008 0x80000000 0x00000001 0x80000000>;
+ reg = <0x00000000 0x80000000 0x00000000 0x40000000>;
device_type = "memory";
bootph-pre-ram;
};
@@ -66,7 +65,7 @@ reserved_memory: reserved-memory {
linux,cma {
compatible = "shared-dma-pool";
reusable;
- size = <0x00 0x24000000>;
+ size = <0x00 0x10000000>;
linux,cma-default;
};
As you can see I have configured the DDR memory to be 1GB and reduced the CMA memory to 256MB and still able to boot my AM62P EVM.
Attached is the device tree blob if the customer wants to test on our EVM with this.
https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/908/k3_2D00_am62p5_2D00_sk_2D00_256mb.dtb
Best Regards,
Suren
Hi Suren
Yes When I use CMA memory to 256MB , AM62P EVM board boot is ok
But the DDR memory is 8GB , I want use DDR 1GB
you can check

Best Regards
SUI
Hi I changed the DDR memory to be 1GB as you can see in the patch that I shared in my last reply.
Best Regards,
Suren
Hi Suren
I use the the patch that you shared in your last reply, the AM62P EVM board can not boot , the kernel boot failed .
Best Regards
SUI
Have you changed the u-boot as well or just linux kernel?
Best Regards,
Suren
Hi Suren
Now I use SBL boot mode , R5 SPL -> ATF -> OP-TEE -> Linux
So I remove uboot , I only modify linux kernel dts file
Best Regards
SUI
Hi Suren
Now I use falcon boot mode , R5 SPL -> ATF -> OP-TEE -> Linux
So I remove uboot , I only modify linux kernel dts file
Best Regards
SUI
Hi Pengfei,
So what's the observation on when you use Falcon boot mode?
Best Regards
Suren
Hi Suren
R5 SPL -> ATF -> OP-TEE is ok
But When I use 1GB ddr the linux can not boot ,and boot failed , if I use 8GB ddr the linux boot is ok
How to use 1GB ddr at linux and boot is ok ?
How to change linux kernel RAM is 1GB?
Best Regards
SUI
Please share your changes in order to replicate the issue on my end.
Best Regards
Suren
Hi Suren
If you want replicate the issue , you must use falcon boot mode , R5 SPL -> ATF -> OP-TEE -> Linux
there is my modify DTS file
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree file for the AM62P5-SK
* Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/
*
* Schematics: https://www.ti.com/lit/zip/sprr487
*/
/dts-v1/;
#include <dt-bindings/leds/common.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/net/ti-dp83867.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include "k3-am62p5.dtsi"
/ {
compatible = "ti,am62p5-sk", "ti,am62p5";
model = "Texas Instruments AM62P5 SK";
aliases {
serial0 = &wkup_uart0;
serial1 = &mcu_uart0;
serial2 = &main_uart0;
serial3 = &main_uart1;
mmc0 = &sdhci0;
mmc1 = &sdhci1;
mmc2 = &sdhci2;
spi0 = &ospi0;
ethernet0 = &cpsw_port1;
ethernet1 = &cpsw_port2;
usb0 = &usb0;
usb1 = &usb1;
};
chosen {
#address-cells = <2>;
#size-cells = <2>;
ranges;
bootargs = "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait mem=1G";
stdout-path = &main_uart0;
framebuffer0: framebuffer@0 {
compatible = "simple-framebuffer";
power-domains = <&k3_pds 186 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 186 6>,
<&dss0_vp1_clk>,
<&k3_clks 186 2>;
display = <&dss0>;
status = "disabled";
};
};
memory@80000000 {
/* 8G RAM */
reg = <0x00000000 0x80000000 0x00000000 0x80000000>,
<0x00000008 0x80000000 0x00000001 0x80000000>;
device_type = "memory";
bootph-pre-ram;
};
reserved_memory: reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
linux,cma {
compatible = "shared-dma-pool";
reusable;
/********576 MB**********
size = <0x00 0x24000000>;
************************/
/*******200MB***********/
size = <0x00 0xc800000>;
linux,cma-default;
};
rtos_ipc_memory_region: rtos-ipc-memory@9b500000 {
compatible = "shared-dma-pool";
reg = <0x00 0x9b500000 0x00 0x00300000>;
no-map;
};
mcu_r5fss0_core0_dma_memory_region: mcu-r5fss-dma-memory-region@9b800000 {
compatible = "shared-dma-pool";
reg = <0x00 0x9b800000 0x00 0x100000>;
no-map;
};
mcu_r5fss0_core0_memory_region: mcu-r5fss-memory-region@9b900000 {
compatible = "shared-dma-pool";
reg = <0x00 0x9b900000 0x00 0xf00000>;
no-map;
};
wkup_r5fss0_core0_dma_memory_region: r5f-dma-memory@9c800000 {
compatible = "shared-dma-pool";
reg = <0x00 0x9c800000 0x00 0x100000>;
no-map;
};
wkup_r5fss0_core0_memory_region: r5f-memory@9c900000 {
compatible = "shared-dma-pool";
reg = <0x00 0x9c900000 0x00 0x1e00000>;
no-map;
};
secure_tfa_ddr: tfa@9e780000 {
reg = <0x00 0x9e780000 0x00 0x80000>;
no-map;
};
secure_ddr: optee@9e800000 {
reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
no-map;
};
rtos_framebuffer_memory_region: rtos-framebuffer-memory@93500000 {
reg = <0x00 0x93500000 0x00 0x08000000>;
no-map;
};
};
vmain_pd: regulator-0 {
/* TPS65988 PD CONTROLLER OUTPUT */
compatible = "regulator-fixed";
regulator-name = "vmain_pd";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-always-on;
regulator-boot-on;
bootph-all;
};
vcc_5v0: regulator-1 {
/* Output of TPS630702RNMR */
compatible = "regulator-fixed";
regulator-name = "vcc_5v0";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
vin-supply = <&vmain_pd>;
regulator-always-on;
regulator-boot-on;
bootph-all;
};
vdd_mmc1: regulator-2 {
/* TPS22918DBVR */
compatible = "regulator-fixed";
regulator-name = "vdd_mmc1";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
enable-active-high;
gpio = <&exp1 3 GPIO_ACTIVE_HIGH>;
bootph-all;
};
vddshv_sdio: regulator-3 {
compatible = "regulator-gpio";
regulator-name = "vddshv_sdio";
pinctrl-names = "default";
pinctrl-0 = <&vddshv_sdio_pins_default>;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
gpios = <&main_gpio0 31 GPIO_ACTIVE_HIGH>;
states = <1800000 0x0>,
<3300000 0x1>;
bootph-all;
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&usr_led_pins_default>;
led-0 {
label = "am62-sk:green:heartbeat";
gpios = <&main_gpio1 49 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
function = LED_FUNCTION_HEARTBEAT;
default-state = "off";
};
};
opp-table {
/* Requires VDD_CORE at 0v85 */
opp-1400000000 {
opp-hz = /bits/ 64 <1400000000>;
opp-supported-hw = <0x01 0x0004>;
clock-latency-ns = <6000000>;
};
};
tlv320_mclk: clk-0 {
#clock-cells = <0>;
compatible = "fixed-clock";
clock-frequency = <12288000>;
};
codec_audio: sound {
compatible = "simple-audio-card";
simple-audio-card,name = "AM62x-SKEVM";
simple-audio-card,widgets =
"Headphone", "Headphone Jack",
"Line", "Line In",
"Microphone", "Microphone Jack";
simple-audio-card,routing =
"Headphone Jack", "HPLOUT",
"Headphone Jack", "HPROUT",
"LINE1L", "Line In",
"LINE1R", "Line In",
"MIC3R", "Microphone Jack",
"Microphone Jack", "Mic Bias";
simple-audio-card,format = "dsp_b";
simple-audio-card,bitclock-master = <&sound_master>;
simple-audio-card,frame-master = <&sound_master>;
simple-audio-card,bitclock-inversion;
simple-audio-card,cpu {
sound-dai = <&mcasp1>;
};
sound_master: simple-audio-card,codec {
sound-dai = <&tlv320aic3106>;
clocks = <&tlv320_mclk>;
};
};
hdmi0: connector-hdmi {
compatible = "hdmi-connector";
label = "hdmi";
type = "a";
port {
hdmi_connector_in: endpoint {
remote-endpoint = <&sii9022_out>;
};
};
};
};
&main_gpio0 {
bootph-all;
};
&main_gpio1 {
bootph-all;
};
&main_pmx0 {
bootph-all;
main_i2c0_pins_default: main-i2c0-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x01e0, PIN_INPUT_PULLUP, 0) /* (B25) I2C0_SCL */
AM62PX_IOPAD(0x01e4, PIN_INPUT_PULLUP, 0) /* (A24) I2C0_SDA */
>;
};
main_i2c1_pins_default: main-i2c1-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x01e8, PIN_INPUT_PULLUP, 0) /* (C24) I2C1_SCL */
AM62PX_IOPAD(0x01ec, PIN_INPUT_PULLUP, 0) /* (B24) I2C1_SDA */
>;
bootph-all;
};
main_i2c2_pins_default: main-i2c2-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x00b0, PIN_INPUT_PULLUP, 1) /* (T22) GPMC0_CSn2.I2C2_SCL */
AM62PX_IOPAD(0x00b4, PIN_INPUT_PULLUP, 1) /* (U25) GPMC0_CSn3.I2C2_SDA */
>;
};
main_gpio1_ioexp_intr_pins_default: main-gpio1-ioexp-intr-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x01d4, PIN_INPUT, 7) /* (C22) UART0_RTSn.GPIO1_23 */
>;
};
main_mcasp1_pins_default: main-mcasp1-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0090, PIN_INPUT, 2) /* (U24) GPMC0_BE0n_CLE.MCASP1_ACLKX */
AM62PX_IOPAD(0x0098, PIN_INPUT, 2) /* (AA24) GPMC0_WAIT0.MCASP1_AFSX */
AM62PX_IOPAD(0x008c, PIN_OUTPUT, 2) /* (T25) GPMC0_WEn.MCASP1_AXR0 */
AM62PX_IOPAD(0x0084, PIN_INPUT, 2) /* (R25) GPMC0_ADVn_ALE.MCASP1_AXR2 */
>;
};
main_mdio1_pins_default: main-mdio1-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0160, PIN_OUTPUT, 0) /* (F17) MDIO0_MDC */
AM62PX_IOPAD(0x015c, PIN_INPUT, 0) /* (F16) MDIO0_MDIO */
>;
bootph-all;
};
main_mmc1_pins_default: main-mmc1-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x023c, PIN_INPUT, 0) /* (H20) MMC1_CMD */
AM62PX_IOPAD(0x0234, PIN_OUTPUT, 0) /* (J24) MMC1_CLK */
AM62PX_IOPAD(0x0230, PIN_INPUT, 0) /* (H21) MMC1_DAT0 */
AM62PX_IOPAD(0x022c, PIN_INPUT_PULLUP, 0) /* (H23) MMC1_DAT1 */
AM62PX_IOPAD(0x0228, PIN_INPUT_PULLUP, 0) /* (H22) MMC1_DAT2 */
AM62PX_IOPAD(0x0224, PIN_INPUT_PULLUP, 0) /* (H25) MMC1_DAT3 */
AM62PX_IOPAD(0x0240, PIN_INPUT, 0) /* (D23) MMC1_SDCD */
>;
bootph-all;
};
main_mmc2_pins_default: main-mmc2-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0120, PIN_INPUT, 0) /* (K24) MMC2_CMD */
AM62PX_IOPAD(0x0118, PIN_OUTPUT, 0) /* (K21) MMC2_CLK */
AM62PX_IOPAD(0x011C, PIN_INPUT, 0) /* () MMC2_CLKLB */
AM62PX_IOPAD(0x0114, PIN_INPUT, 0) /* (K23) MMC2_DAT0 */
AM62PX_IOPAD(0x0110, PIN_INPUT_PULLUP, 0) /* (K22) MMC2_DAT1 */
AM62PX_IOPAD(0x010c, PIN_INPUT_PULLUP, 0) /* (L20) MMC2_DAT2 */
AM62PX_IOPAD(0x0108, PIN_INPUT_PULLUP, 0) /* (L21) MMC2_DAT3 */
>;
bootph-all;
};
main_rgmii1_pins_default: main-rgmii1-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x014c, PIN_INPUT, 0) /* (B15) RGMII1_RD0 */
AM62PX_IOPAD(0x0150, PIN_INPUT, 0) /* (B16) RGMII1_RD1 */
AM62PX_IOPAD(0x0154, PIN_INPUT, 0) /* (A14) RGMII1_RD2 */
AM62PX_IOPAD(0x0158, PIN_INPUT, 0) /* (B14) RGMII1_RD3 */
AM62PX_IOPAD(0x0148, PIN_INPUT, 0) /* (A16) RGMII1_RXC */
AM62PX_IOPAD(0x0144, PIN_INPUT, 0) /* (A15) RGMII1_RX_CTL */
AM62PX_IOPAD(0x0134, PIN_INPUT, 0) /* (A18) RGMII1_TD0 */
AM62PX_IOPAD(0x0138, PIN_INPUT, 0) /* (C17) RGMII1_TD1 */
AM62PX_IOPAD(0x013c, PIN_INPUT, 0) /* (A17) RGMII1_TD2 */
AM62PX_IOPAD(0x0140, PIN_INPUT, 0) /* (C16) RGMII1_TD3 */
AM62PX_IOPAD(0x0130, PIN_INPUT, 0) /* (B17) RGMII1_TXC */
AM62PX_IOPAD(0x012c, PIN_INPUT, 0) /* (B18) RGMII1_TX_CTL */
>;
bootph-all;
};
main_rgmii2_pins_default: main-rgmii2-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0184, PIN_INPUT, 0) /* (E19) RGMII2_RD0 */
AM62PX_IOPAD(0x0188, PIN_INPUT, 0) /* (E16) RGMII2_RD1 */
AM62PX_IOPAD(0x018c, PIN_INPUT, 0) /* (E17) RGMII2_RD2 */
AM62PX_IOPAD(0x0190, PIN_INPUT, 0) /* (C19) RGMII2_RD3 */
AM62PX_IOPAD(0x0180, PIN_INPUT, 0) /* (D19) RGMII2_RXC */
AM62PX_IOPAD(0x017c, PIN_INPUT, 0) /* (F19) RGMII2_RX_CTL */
AM62PX_IOPAD(0x016c, PIN_INPUT, 0) /* (B19) RGMII2_TD0 */
AM62PX_IOPAD(0x0170, PIN_INPUT, 0) /* (A21) RGMII2_TD1 */
AM62PX_IOPAD(0x0174, PIN_INPUT, 0) /* (D17) RGMII2_TD2 */
AM62PX_IOPAD(0x0178, PIN_INPUT, 0) /* (A19) RGMII2_TD3 */
AM62PX_IOPAD(0x0168, PIN_INPUT, 0) /* (D16) RGMII2_TXC */
AM62PX_IOPAD(0x0164, PIN_INPUT, 0) /* (A20) RGMII2_TX_CTL */
>;
bootph-all;
};
main_uart0_pins_default: main-uart0-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x1c8, PIN_INPUT, 0) /* (A22) UART0_RXD */
AM62PX_IOPAD(0x1cc, PIN_OUTPUT, 0) /* (B22) UART0_TXD */
>;
bootph-all;
};
main_uart1_pins_default: main-uart1-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0194, PIN_INPUT, 2) /* (D25) MCASP0_AXR3.UART1_CTSn */
AM62PX_IOPAD(0x0198, PIN_OUTPUT, 2) /* (E25) MCASP0_AXR2.UART1_RTSn */
AM62PX_IOPAD(0x01ac, PIN_INPUT, 2) /* (G23) MCASP0_AFSR.UART1_RXD */
AM62PX_IOPAD(0x01b0, PIN_OUTPUT, 2) /* (G20) MCASP0_ACLKR.UART1_TXD */
>;
bootph-all;
};
main_usb1_pins_default: main-usb1-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0258, PIN_INPUT | PIN_DS_PULLUD_ENABLE | PIN_DS_PULL_UP, 0) /* (G21) USB1_DRVVBUS */
>;
};
main_wlirq_pins_default: main-wlirq-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0128, PIN_INPUT, 7) /* (K25) MMC2_SDWP.GPIO0_72 */
>;
};
ospi0_pins_default: ospi0-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0000, PIN_OUTPUT, 0) /* (P23) OSPI0_CLK */
AM62PX_IOPAD(0x002c, PIN_OUTPUT, 0) /* (M25) OSPI0_CSn0 */
AM62PX_IOPAD(0x000c, PIN_INPUT, 0) /* (L25) OSPI0_D0 */
AM62PX_IOPAD(0x0010, PIN_INPUT, 0) /* (N24) OSPI0_D1 */
AM62PX_IOPAD(0x0014, PIN_INPUT, 0) /* (N25) OSPI0_D2 */
AM62PX_IOPAD(0x0018, PIN_INPUT, 0) /* (M24) OSPI0_D3 */
AM62PX_IOPAD(0x001c, PIN_INPUT, 0) /* (N21) OSPI0_D4 */
AM62PX_IOPAD(0x0020, PIN_INPUT, 0) /* (N22) OSPI0_D5 */
AM62PX_IOPAD(0x0024, PIN_INPUT, 0) /* (P21) OSPI0_D6 */
AM62PX_IOPAD(0x0028, PIN_INPUT, 0) /* (N20) OSPI0_D7 */
AM62PX_IOPAD(0x0008, PIN_INPUT, 0) /* (P22) OSPI0_DQS */
>;
bootph-all;
};
usr_led_pins_default: usr-led-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0244, PIN_INPUT, 7) /* (D24) MMC1_SDWP.GPIO1_49 */
>;
};
vddshv_sdio_pins_default: vddshvr-sdio-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x007c, PIN_INPUT, 7) /* (Y25) GPMC0_CLK.GPIO0_31 */
>;
bootph-all;
};
wlan_en_pins_default: wlan-en-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0124, PIN_INPUT, 7) /* (J25) MMC2_SDCD.GPIO0_71 */
>;
};
main_dpi_pins_default: main-dpi-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0100, PIN_OUTPUT, 0) /* (W20) VOUT0_VSYNC */
AM62PX_IOPAD(0x00f8, PIN_OUTPUT, 0) /* (AC20) VOUT0_HSYNC */
AM62PX_IOPAD(0x0104, PIN_OUTPUT, 0) /* (Y21) VOUT0_PCLK */
AM62PX_IOPAD(0x00fc, PIN_OUTPUT, 0) /* (W21) VOUT0_DE */
AM62PX_IOPAD(0x00b8, PIN_OUTPUT, 0) /* (AE24) VOUT0_DATA0 */
AM62PX_IOPAD(0x00bc, PIN_OUTPUT, 0) /* (W23) VOUT0_DATA1 */
AM62PX_IOPAD(0x00c0, PIN_OUTPUT, 0) /* (AA23) VOUT0_DATA2 */
AM62PX_IOPAD(0x00c4, PIN_OUTPUT, 0) /* (Y23) VOUT0_DATA3 */
AM62PX_IOPAD(0x00c8, PIN_OUTPUT, 0) /* (AB23) VOUT0_DATA4 */
AM62PX_IOPAD(0x00cc, PIN_OUTPUT, 0) /* (AD23) VOUT0_DATA5 */
AM62PX_IOPAD(0x00d0, PIN_OUTPUT, 0) /* (AC23) VOUT0_DATA6 */
AM62PX_IOPAD(0x00d4, PIN_OUTPUT, 0) /* (AE23) VOUT0_DATA7 */
AM62PX_IOPAD(0x00d8, PIN_OUTPUT, 0) /* (AE22) VOUT0_DATA8 */
AM62PX_IOPAD(0x00dc, PIN_OUTPUT, 0) /* (AC22) VOUT0_DATA9 */
AM62PX_IOPAD(0x00e0, PIN_OUTPUT, 0) /* (W22) VOUT0_DATA10 */
AM62PX_IOPAD(0x00e4, PIN_OUTPUT, 0) /* (AE21) VOUT0_DATA11 */
AM62PX_IOPAD(0x00e8, PIN_OUTPUT, 0) /* (AD21) VOUT0_DATA12 */
AM62PX_IOPAD(0x00ec, PIN_OUTPUT, 0) /* (AC21) VOUT0_DATA13 */
AM62PX_IOPAD(0x00f0, PIN_OUTPUT, 0) /* (AA20) VOUT0_DATA14 */
AM62PX_IOPAD(0x00f4, PIN_OUTPUT, 0) /* (Y20) VOUT0_DATA15 */
AM62PX_IOPAD(0x005c, PIN_OUTPUT, 1) /* (AC25) GPMC0_AD8.VOUT0_DATA16 */
AM62PX_IOPAD(0x0060, PIN_OUTPUT, 1) /* (AB25) GPMC0_AD9.VOUT0_DATA17 */
AM62PX_IOPAD(0x0064, PIN_OUTPUT, 1) /* (AA25) GPMC0_AD10.VOUT0_DATA18 */
AM62PX_IOPAD(0x0068, PIN_OUTPUT, 1) /* (W24) GPMC0_AD11.VOUT0_DATA19 */
AM62PX_IOPAD(0x006c, PIN_OUTPUT, 1) /* (Y24) GPMC0_AD12.VOUT0_DATA20 */
AM62PX_IOPAD(0x0070, PIN_OUTPUT, 1) /* (AD25) GPMC0_AD13.VOUT0_DATA21 */
AM62PX_IOPAD(0x0074, PIN_OUTPUT, 1) /* (AB24) GPMC0_AD14.VOUT0_DATA22 */
AM62PX_IOPAD(0x0078, PIN_OUTPUT, 1) /* (AC24) GPMC0_AD15.VOUT0_DATA23 */
AM62PX_IOPAD(0x009c, PIN_OUTPUT, 1) /* (AD24) GPMC0_WAIT1.VOUT0_EXTPCLKIN */
>;
};
main_epwm0_pins_default: main_epwm0-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x01b4, PIN_OUTPUT, 2) /* (D20) SPI0_CS0.EHRPWM0_A */
AM62PX_IOPAD(0x01b8, PIN_OUTPUT, 2) /* (E20) SPI0_CS1.EHRPWM0_B */
>;
};
main_epwm1_pins_default: main_epwm1-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x01bc, PIN_OUTPUT, 2) /* (B21) SPI0_CLK.EHRPWM1_A */
AM62PX_IOPAD(0x01c0, PIN_OUTPUT, 2) /* (B20) SPI0_D0.EHRPWM1_B */
>;
};
main_ecap1_pins_default: main_ecap1-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x019c, PIN_OUTPUT, 2) /* (E24) MCASP0_AXR1.ECAP1_IN_APWM_OUT */
>;
};
main_ecap2_pins_default: main-ecap2-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x01a4, PIN_OUTPUT, 2) /* (F24) MCASP0_ACLKX.ECAP2_IN_APWM_OUT */
>;
};
};
&main_i2c0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_i2c0_pins_default>;
clock-frequency = <400000>;
typec_pd0: usb-power-controller@3f {
compatible = "ti,tps6598x";
reg = <0x3f>;
connector {
compatible = "usb-c-connector";
label = "USB-C";
self-powered;
data-role = "dual";
power-role = "sink";
port {
usb_con_hs: endpoint {
remote-endpoint = <&usb0_hs_ep>;
};
};
};
};
};
&main_i2c1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_i2c1_pins_default>;
clock-frequency = <100000>;
bootph-all;
tlv320aic3106: audio-codec@1b {
#sound-dai-cells = <0>;
compatible = "ti,tlv320aic3106";
reg = <0x1b>;
ai3x-micbias-vg = <1>; /* 2.0V */
};
exp1: gpio@22 {
compatible = "ti,tca6424";
reg = <0x22>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names = "OLDI_INT#", "x8_NAND_DETECT",
"UART1_FET_SEL", "MMC1_SD_EN",
"VPP_EN", "EXP_PS_3V3_EN",
"UART1_FET_BUF_EN", "EXP_HAT_DETECT",
"DSI_GPIO0", "DSI_GPIO1",
"OLDI_EDID", "BT_UART_WAKE_SOC_3V3",
"USB_TYPEA_OC_INDICATION", "CSI_GPIO0",
"CSI_GPIO1", "WLAN_ALERTn",
"HDMI_INTn", "TEST_GPIO2",
"MCASP1_FET_EN", "MCASP1_BUF_BT_EN",
"MCASP1_FET_SEL", "DSI_EDID",
"PD_I2C_IRQ", "IO_EXP_TEST_LED";
interrupt-parent = <&main_gpio1>;
interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
interrupt-controller;
#interrupt-cells = <2>;
pinctrl-names = "default";
pinctrl-0 = <&main_gpio1_ioexp_intr_pins_default>;
bootph-all;
};
exp2: gpio@23 {
compatible = "ti,tca6424";
reg = <0x23>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names = "BT_EN_SOC", "EXP_PS_5V0_EN",
"", "",
"", "",
"", "",
"WL_LT_EN", "",
"TP3", "TP6",
"TP4", "TP7",
"TP5", "TP8",
"SoC_I2C2_MCAN_SEL", "GPIO_HDMI_RSTn",
"GPIO_CPSW2_RST", "GPIO_CPSW1_RST",
"GPIO_OLDI_RSTn", "GPIO_AUD_RSTn",
"GPIO_eMMC_RSTn", "SoC_WLAN_SDIO_RST";
};
sii9022: bridge-hdmi@3b {
compatible = "sil,sii9022";
reg = <0x3b>;
interrupt-parent = <&exp1>;
interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
#sound-dai-cells = <0>;
sil,i2s-data-lanes = < 0 >;
hdmi_tx_ports: ports {
#address-cells = <1>;
#size-cells = <0>;
/*
* HDMI can be serviced with 3 potential VPs -
* (DSS0 VP1 / DSS1 VP0 / DSS1 VP1).
* For now, we will service it with DSS0 VP1.
*/
port@0 {
reg = <0>;
sii9022_in: endpoint {
remote-endpoint = <&dss0_dpi1_out>;
};
};
port@1 {
reg = <1>;
sii9022_out: endpoint {
remote-endpoint = <&hdmi_connector_in>;
};
};
};
};
};
&main_i2c2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_i2c2_pins_default>;
clock-frequency = <400000>;
};
&sdhci0 {
status = "okay";
ti,driver-strength-ohm = <50>;
disable-wp;
bootph-all;
};
&sdhci1 {
/* SD/MMC */
status = "disabled";
vmmc-supply = <&vdd_mmc1>;
vqmmc-supply = <&vddshv_sdio>;
pinctrl-names = "default";
pinctrl-0 = <&main_mmc1_pins_default>;
disable-wp;
bootph-all;
};
&cpsw3g {
pinctrl-names = "default";
pinctrl-0 = <&main_rgmii1_pins_default>,
<&main_rgmii2_pins_default>;
status = "okay";
};
&cpsw_port1 {
phy-mode = "rgmii-rxid";
phy-handle = <&cpsw3g_phy0>;
status = "okay";
};
&cpsw_port2 {
phy-mode = "rgmii-rxid";
phy-handle = <&cpsw3g_phy1>;
status = "okay";
};
&cpsw3g_mdio {
pinctrl-names = "default";
pinctrl-0 = <&main_mdio1_pins_default>;
status = "okay";
cpsw3g_phy0: ethernet-phy@0 {
reg = <0>;
bootph-all;
ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
ti,min-output-impedance;
};
cpsw3g_phy1: ethernet-phy@1 {
reg = <1>;
ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
ti,min-output-impedance;
};
};
&usbss0 {
status = "okay";
ti,vbus-divider;
};
&usbss1 {
status = "okay";
ti,vbus-divider;
};
&usb0 {
usb-role-switch;
port {
usb0_hs_ep: endpoint {
remote-endpoint = <&usb_con_hs>;
};
};
};
&usb1 {
dr_mode = "host";
pinctrl-names = "default";
pinctrl-0 = <&main_usb1_pins_default>;
};
&mcasp1 {
status = "okay";
#sound-dai-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&main_mcasp1_pins_default>;
op-mode = <0>; /* MCASP_IIS_MODE */
tdm-slots = <2>;
serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
1 0 2 0
0 0 0 0
0 0 0 0
0 0 0 0
>;
};
&fss {
bootph-all;
};
&ospi0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&ospi0_pins_default>;
bootph-all;
flash@0 {
compatible = "jedec,spi-nor";
reg = <0x0>;
spi-tx-bus-width = <8>;
spi-rx-bus-width = <8>;
spi-max-frequency = <25000000>;
cdns,tshsl-ns = <60>;
cdns,tsd2d-ns = <60>;
cdns,tchsh-ns = <60>;
cdns,tslch-ns = <60>;
cdns,read-delay = <4>;
cdns,phy-mode;
bootph-all;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
bootph-all;
partition@0 {
label = "sbl_ospi_linux_stage1.release.hs_fs.tiimage";
reg = <0x00 0x80000>;
};
partition@80000 {
label = "wkup-r5_stage2.release.appimage.hs_fs";
reg = <0x80000 0xa00000>;
};
partition@100000 {
label = "hsm_a.appimage.hs_fs";
reg = <0xa80000 0x40000>;
};
partition@140000 {
label = "mcu-r5_a.release.appimage.hs_fs";
reg = <0xac0000 0x200000>;
};
partition@340000 {
label = "linux.falcon_a.appimage.hs_fs";
reg = <0xcc0000 0x1100000>;
};
partition@1440000 {
label = "hsm_b.appimage.hs_fs";
reg = <0x1dc0000 0x40000>;
};
partition@1480000 {
label = "mcu-r5_b.release.appimage.hs_fs";
reg = <0x1e00000 0x200000>;
};
partition@1680000 {
label = "linux.falcon_b.appimage.hs_fs";
reg = <0x2000000 0x1100000>;
};
partition@2780000 {
label = "slot_partition";
reg = <0x3100000 0x40000>;
};
partition@27c0000 {
label = "backup1";
reg = <0x3140000 0xa00000>;
};
partition@3fc0000 {
label = "ospi_phy_pattern";
reg = <0x3fc0000 0x40000>;
bootph-all;
};
};
};
};
&mailbox0_cluster0 {
status = "okay";
mbox_r5_0: mbox-r5-0 {
ti,mbox-rx = <0 0 0>;
ti,mbox-tx = <1 0 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>;
};
};
&wkup_r5fss0 {
status = "okay";
};
&wkup_r5fss0_core0 {
mboxes = <&mailbox0_cluster0 &mbox_r5_0>;
memory-region = <&wkup_r5fss0_core0_dma_memory_region>,
<&wkup_r5fss0_core0_memory_region>;
};
&mcu_r5fss0 {
status = "okay";
};
&mcu_r5fss0_core0 {
mboxes = <&mailbox0_cluster1 &mbox_mcu_r5_0>;
memory-region = <&mcu_r5fss0_core0_dma_memory_region>,
<&mcu_r5fss0_core0_memory_region>;
};
&main_uart0 {
pinctrl-names = "default";
pinctrl-0 = <&main_uart0_pins_default>;
interrupts-extended = <&gic500 GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>,
<&main_pmx0 0x1c8>; /* (D14) UART0_RXD PADCONFIG114 */
interrupt-names = "irq", "wakeup";
status = "okay";
bootph-all;
};
&main_uart1 {
pinctrl-names = "default";
pinctrl-0 = <&main_uart1_pins_default>;
/* Main UART1 is used by TIFS firmware */
status = "reserved";
bootph-all;
};
&mcu_pmx0 {
bootph-all;
wkup_uart0_pins_default: wkup-uart0-default-pins {
pinctrl-single,pins = <
AM62PX_MCU_IOPAD(0x024, PIN_INPUT, 0) /* (D8) WKUP_UART0_RXD */
AM62PX_MCU_IOPAD(0x028, PIN_OUTPUT, 0) /* (D7) WKUP_UART0_TXD */
>;
bootph-all;
};
};
&wkup_uart0 {
/* WKUP UART0 is used by DM firmware */
pinctrl-names = "default";
pinctrl-0 = <&wkup_uart0_pins_default>;
status = "reserved";
bootph-all;
};
/* mcu_gpio0 and mcu_gpio_intr are reserved for mcu firmware usage */
&mcu_gpio0 {
status = "reserved";
};
&mcu_gpio_intr {
status = "reserved";
};
&dss_oldi_io_ctrl {
bootph-all;
};
&dss0 {
ti,dss-shared-mode;
ti,dss-shared-mode-vp = "vp1";
ti,dss-shared-mode-vp-owned = <0>;
ti,dss-shared-mode-common = "common1";
ti,dss-shared-mode-planes = "vid";
ti,dss-shared-mode-plane-zorder = <0>;
interrupt-parent = <&gic500>;
interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
};
&dss0 {
bootph-all;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_dpi_pins_default>;
};
&dss0_ports {
/* DSS0-VP2: DPI/HDMI Output */
hdmi0_dss: port@1 {
reg = <1>;
dss0_dpi1_out: endpoint {
remote-endpoint = <&sii9022_in>;
};
};
};
&epwm0 {
/* Pin 24/26 of J4 */
pinctrl-names = "default";
pinctrl-0 = <&main_epwm0_pins_default>;
status = "okay";
};
&epwm1 {
/* Pin 23/19 of J4 */
pinctrl-names = "default";
pinctrl-0 = <&main_epwm1_pins_default>;
status = "okay";
};
&ecap1 {
/* ECAP1 in APWM mode */
/* Pin 36 of J4 */
pinctrl-names = "default";
pinctrl-0 = <&main_ecap1_pins_default>;
status = "okay";
};
&ecap2 {
/* ECAP2 in APWM mode */
/* Pin 11 of J4 */
pinctrl-names = "default";
pinctrl-0 = <&main_ecap2_pins_default>;
status = "okay";
};
&{/} {
display {
compatible = "microtips,mf-101hiebcaf0", "panel-simple";
/*
* Note that the OLDI TX 0 transmits the odd set of pixels
* while the OLDI TX 1 transmits the even set. This is a
* fixed configuration in the IP integration and is not
* changeable. The properties, "dual-lvds-odd-pixels" and
* "dual-lvds-even-pixels" have been used to merely
* identify if a Dual Link configuration is required.
* Swapping them will cause an error in the dss oldi driver.
*/
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
dual-lvds-odd-pixels;
lcd_in0: endpoint {
remote-endpoint = <&oldi0_dss0_out>;
};
};
port@1 {
reg = <1>;
dual-lvds-even-pixels;
lcd_in1: endpoint {
remote-endpoint = <&oldi1_dss0_out>;
};
};
};
};
};
&dss0 {
status = "okay";
};
&oldi0_dss0 {
status = "okay";
ti,companion-oldi = <&oldi1_dss0>;
};
&oldi1_dss0 {
status = "okay";
ti,secondary-oldi;
};
&oldi0_dss0_ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
oldi0_dss0_in: endpoint {
remote-endpoint = <&dss0_dpi0_out0>;
};
};
port@1 {
reg = <1>;
oldi0_dss0_out: endpoint {
remote-endpoint = <&lcd_in0>;
};
};
};
&oldi1_dss0_ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
oldi1_dss0_in: endpoint {
remote-endpoint = <&dss0_dpi0_out1>;
};
};
port@1 {
reg = <1>;
oldi1_dss0_out: endpoint {
remote-endpoint = <&lcd_in1>;
};
};
};
&dss0_ports {
#address-cells = <1>;
#size-cells = <0>;
/* VP1: Output to OLDI */
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
dss0_dpi0_out0: endpoint@0 {
reg = <0>;
remote-endpoint = <&oldi0_dss0_in>;
};
dss0_dpi0_out1: endpoint@1 {
reg = <1>;
remote-endpoint = <&oldi1_dss0_in>;
};
};
};
&main_i2c0 {
#address-cells = <1>;
#size-cells = <0>;
touchscreen@41 {
compatible = "ilitek,ili251x";
reg = <0x41>;
interrupt-parent = <&exp1>;
interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&exp2 20 GPIO_ACTIVE_LOW>;
};
};
Best Regards
SUI
Hi Pengfei,
Give me couple of days to replicate the setup. If you don't hear back by Monday of next week, please ping again.
Best Regards
Suren
Hi Pengfei,
Can you give a try to modify the TFA addr (9e780000) to 80000000 in the device tree and let me know how it goes with falcon mode setup?
From:
secure_tfa_ddr: tfa@9e780000 {
reg = <0x00 0x9e780000 0x00 0x80000>;
no-map;
};
To:
secure_tfa_ddr: tfa@80000000 {
reg = <0x00 0x80000000 0x00 0x80000>;
no-map;
};
Best Regards
Suren
Hi Suren Porwar
Now I modify TFA addr use 0x80000000 , the AM62P board boot is ok ,
But the DDR is 8GB
How to reduce DDR size use 1GB ?
Hi,
Have you modified the Linux kernel memory to 1GB?
Please share the DTS changes you have made for us to review.
Best Regards
Suren
Hi Suren Porwar
I modify DTS
bootargs = "console=ttyS2,115200n8 quiet earlycon=ns16550a,mmio32,0x02800000 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait mem=1G";
memory@80000000 {
/* 1G RAM */
reg = <0x00000000 0x80000000 0x00000000 0x40000000>;
device_type = "memory";
bootph-pre-ram;
};
linux,cma {
compatible = "shared-dma-pool";
reusable;
/* 256 MiB */
size = <0x00 0x10000000>;
linux,cma-default;
};
we can not upload my DTS , E2E have some errors
We apologize, but an unexpected issue prevented the page you requested from being available. We've logged the issue so the site administrator can resolve the problem.
Best Regards
SUI
Hi Suren Porwar
There is my dts file you can check
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree file for the AM62P5-SK
* Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/
*
* Schematics: https://www.ti.com/lit/zip/sprr487
*/
/dts-v1/;
#include <dt-bindings/leds/common.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/net/ti-dp83867.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include "k3-am62p5.dtsi"
/ {
compatible = "ti,am62p5-sk", "ti,am62p5";
model = "Texas Instruments AM62P5 SK";
aliases {
serial0 = &wkup_uart0;
serial1 = &mcu_uart0;
serial2 = &main_uart0;
serial3 = &main_uart1;
mmc0 = &sdhci0;
mmc1 = &sdhci1;
mmc2 = &sdhci2;
spi0 = &ospi0;
ethernet0 = &cpsw_port1;
ethernet1 = &cpsw_port2;
usb0 = &usb0;
usb1 = &usb1;
};
chosen {
#address-cells = <2>;
#size-cells = <2>;
ranges;
bootargs = "console=ttyS2,115200n8 quiet earlycon=ns16550a,mmio32,0x02800000 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait mem=1G";
stdout-path = &main_uart0;
framebuffer0: framebuffer@0 {
compatible = "simple-framebuffer";
power-domains = <&k3_pds 186 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 186 6>,
<&dss0_vp1_clk>,
<&k3_clks 186 2>;
display = <&dss0>;
status = "disabled";
};
};
memory@80000000 {
/* 1G RAM */
reg = <0x00000000 0x80000000 0x00000000 0x40000000>;
device_type = "memory";
bootph-pre-ram;
};
reserved_memory: reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
linux,cma {
compatible = "shared-dma-pool";
reusable;
/* 256 MiB */
size = <0x00 0x10000000>;
linux,cma-default;
};
rtos_ipc_memory_region: rtos-ipc-memory@9b500000 {
compatible = "shared-dma-pool";
reg = <0x00 0x9b500000 0x00 0x00300000>;
no-map;
};
mcu_r5fss0_core0_dma_memory_region: mcu-r5fss-dma-memory-region@9b800000 {
compatible = "shared-dma-pool";
reg = <0x00 0x9b800000 0x00 0x100000>;
no-map;
};
mcu_r5fss0_core0_memory_region: mcu-r5fss-memory-region@9b900000 {
compatible = "shared-dma-pool";
reg = <0x00 0x9b900000 0x00 0xf00000>;
no-map;
};
wkup_r5fss0_core0_dma_memory_region: r5f-dma-memory@9c800000 {
compatible = "shared-dma-pool";
reg = <0x00 0x9c800000 0x00 0x100000>;
no-map;
};
wkup_r5fss0_core0_memory_region: r5f-memory@9c900000 {
compatible = "shared-dma-pool";
reg = <0x00 0x9c900000 0x00 0x1e00000>;
no-map;
};
secure_tfa_ddr: tfa@9e780000 {
reg = <0x00 0x9e780000 0x00 0x80000>;
no-map;
};
secure_ddr: optee@9e800000 {
reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
no-map;
};
rtos_framebuffer_memory_region: rtos-framebuffer-memory@93500000 {
reg = <0x00 0x93500000 0x00 0x08000000>;
no-map;
};
};
vmain_pd: regulator-0 {
/* TPS65988 PD CONTROLLER OUTPUT */
compatible = "regulator-fixed";
regulator-name = "vmain_pd";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-always-on;
regulator-boot-on;
bootph-all;
};
vcc_5v0: regulator-1 {
/* Output of TPS630702RNMR */
compatible = "regulator-fixed";
regulator-name = "vcc_5v0";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
vin-supply = <&vmain_pd>;
regulator-always-on;
regulator-boot-on;
bootph-all;
};
vdd_mmc1: regulator-2 {
/* TPS22918DBVR */
compatible = "regulator-fixed";
regulator-name = "vdd_mmc1";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
enable-active-high;
gpio = <&exp1 3 GPIO_ACTIVE_HIGH>;
bootph-all;
};
vddshv_sdio: regulator-3 {
compatible = "regulator-gpio";
regulator-name = "vddshv_sdio";
pinctrl-names = "default";
pinctrl-0 = <&vddshv_sdio_pins_default>;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
gpios = <&main_gpio0 31 GPIO_ACTIVE_HIGH>;
states = <1800000 0x0>,
<3300000 0x1>;
bootph-all;
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&usr_led_pins_default>;
led-0 {
label = "am62-sk:green:heartbeat";
gpios = <&main_gpio1 49 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
function = LED_FUNCTION_HEARTBEAT;
default-state = "off";
};
};
opp-table {
/* Requires VDD_CORE at 0v85 */
opp-1400000000 {
opp-hz = /bits/ 64 <1400000000>;
opp-supported-hw = <0x01 0x0004>;
clock-latency-ns = <6000000>;
};
};
tlv320_mclk: clk-0 {
#clock-cells = <0>;
compatible = "fixed-clock";
clock-frequency = <12288000>;
};
codec_audio: sound {
compatible = "simple-audio-card";
simple-audio-card,name = "AM62x-SKEVM";
simple-audio-card,widgets =
"Headphone", "Headphone Jack",
"Line", "Line In",
"Microphone", "Microphone Jack";
simple-audio-card,routing =
"Headphone Jack", "HPLOUT",
"Headphone Jack", "HPROUT",
"LINE1L", "Line In",
"LINE1R", "Line In",
"MIC3R", "Microphone Jack",
"Microphone Jack", "Mic Bias";
simple-audio-card,format = "dsp_b";
simple-audio-card,bitclock-master = <&sound_master>;
simple-audio-card,frame-master = <&sound_master>;
simple-audio-card,bitclock-inversion;
simple-audio-card,cpu {
sound-dai = <&mcasp1>;
};
sound_master: simple-audio-card,codec {
sound-dai = <&tlv320aic3106>;
clocks = <&tlv320_mclk>;
};
};
hdmi0: connector-hdmi {
compatible = "hdmi-connector";
label = "hdmi";
type = "a";
port {
hdmi_connector_in: endpoint {
remote-endpoint = <&sii9022_out>;
};
};
};
};
&main_gpio0 {
bootph-all;
};
&main_gpio1 {
bootph-all;
};
&main_pmx0 {
bootph-all;
main_i2c0_pins_default: main-i2c0-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x01e0, PIN_INPUT_PULLUP, 0) /* (B25) I2C0_SCL */
AM62PX_IOPAD(0x01e4, PIN_INPUT_PULLUP, 0) /* (A24) I2C0_SDA */
>;
};
main_i2c1_pins_default: main-i2c1-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x01e8, PIN_INPUT_PULLUP, 0) /* (C24) I2C1_SCL */
AM62PX_IOPAD(0x01ec, PIN_INPUT_PULLUP, 0) /* (B24) I2C1_SDA */
>;
bootph-all;
};
main_i2c2_pins_default: main-i2c2-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x00b0, PIN_INPUT_PULLUP, 1) /* (T22) GPMC0_CSn2.I2C2_SCL */
AM62PX_IOPAD(0x00b4, PIN_INPUT_PULLUP, 1) /* (U25) GPMC0_CSn3.I2C2_SDA */
>;
};
main_gpio1_ioexp_intr_pins_default: main-gpio1-ioexp-intr-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x01d4, PIN_INPUT, 7) /* (C22) UART0_RTSn.GPIO1_23 */
>;
};
main_mcasp1_pins_default: main-mcasp1-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0090, PIN_INPUT, 2) /* (U24) GPMC0_BE0n_CLE.MCASP1_ACLKX */
AM62PX_IOPAD(0x0098, PIN_INPUT, 2) /* (AA24) GPMC0_WAIT0.MCASP1_AFSX */
AM62PX_IOPAD(0x008c, PIN_OUTPUT, 2) /* (T25) GPMC0_WEn.MCASP1_AXR0 */
AM62PX_IOPAD(0x0084, PIN_INPUT, 2) /* (R25) GPMC0_ADVn_ALE.MCASP1_AXR2 */
>;
};
main_mdio1_pins_default: main-mdio1-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0160, PIN_OUTPUT, 0) /* (F17) MDIO0_MDC */
AM62PX_IOPAD(0x015c, PIN_INPUT, 0) /* (F16) MDIO0_MDIO */
>;
bootph-all;
};
main_mmc1_pins_default: main-mmc1-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x023c, PIN_INPUT, 0) /* (H20) MMC1_CMD */
AM62PX_IOPAD(0x0234, PIN_OUTPUT, 0) /* (J24) MMC1_CLK */
AM62PX_IOPAD(0x0230, PIN_INPUT, 0) /* (H21) MMC1_DAT0 */
AM62PX_IOPAD(0x022c, PIN_INPUT_PULLUP, 0) /* (H23) MMC1_DAT1 */
AM62PX_IOPAD(0x0228, PIN_INPUT_PULLUP, 0) /* (H22) MMC1_DAT2 */
AM62PX_IOPAD(0x0224, PIN_INPUT_PULLUP, 0) /* (H25) MMC1_DAT3 */
AM62PX_IOPAD(0x0240, PIN_INPUT, 0) /* (D23) MMC1_SDCD */
>;
bootph-all;
};
main_mmc2_pins_default: main-mmc2-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0120, PIN_INPUT, 0) /* (K24) MMC2_CMD */
AM62PX_IOPAD(0x0118, PIN_OUTPUT, 0) /* (K21) MMC2_CLK */
AM62PX_IOPAD(0x011C, PIN_INPUT, 0) /* () MMC2_CLKLB */
AM62PX_IOPAD(0x0114, PIN_INPUT, 0) /* (K23) MMC2_DAT0 */
AM62PX_IOPAD(0x0110, PIN_INPUT_PULLUP, 0) /* (K22) MMC2_DAT1 */
AM62PX_IOPAD(0x010c, PIN_INPUT_PULLUP, 0) /* (L20) MMC2_DAT2 */
AM62PX_IOPAD(0x0108, PIN_INPUT_PULLUP, 0) /* (L21) MMC2_DAT3 */
>;
bootph-all;
};
main_rgmii1_pins_default: main-rgmii1-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x014c, PIN_INPUT, 0) /* (B15) RGMII1_RD0 */
AM62PX_IOPAD(0x0150, PIN_INPUT, 0) /* (B16) RGMII1_RD1 */
AM62PX_IOPAD(0x0154, PIN_INPUT, 0) /* (A14) RGMII1_RD2 */
AM62PX_IOPAD(0x0158, PIN_INPUT, 0) /* (B14) RGMII1_RD3 */
AM62PX_IOPAD(0x0148, PIN_INPUT, 0) /* (A16) RGMII1_RXC */
AM62PX_IOPAD(0x0144, PIN_INPUT, 0) /* (A15) RGMII1_RX_CTL */
AM62PX_IOPAD(0x0134, PIN_INPUT, 0) /* (A18) RGMII1_TD0 */
AM62PX_IOPAD(0x0138, PIN_INPUT, 0) /* (C17) RGMII1_TD1 */
AM62PX_IOPAD(0x013c, PIN_INPUT, 0) /* (A17) RGMII1_TD2 */
AM62PX_IOPAD(0x0140, PIN_INPUT, 0) /* (C16) RGMII1_TD3 */
AM62PX_IOPAD(0x0130, PIN_INPUT, 0) /* (B17) RGMII1_TXC */
AM62PX_IOPAD(0x012c, PIN_INPUT, 0) /* (B18) RGMII1_TX_CTL */
>;
bootph-all;
};
main_rgmii2_pins_default: main-rgmii2-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0184, PIN_INPUT, 0) /* (E19) RGMII2_RD0 */
AM62PX_IOPAD(0x0188, PIN_INPUT, 0) /* (E16) RGMII2_RD1 */
AM62PX_IOPAD(0x018c, PIN_INPUT, 0) /* (E17) RGMII2_RD2 */
AM62PX_IOPAD(0x0190, PIN_INPUT, 0) /* (C19) RGMII2_RD3 */
AM62PX_IOPAD(0x0180, PIN_INPUT, 0) /* (D19) RGMII2_RXC */
AM62PX_IOPAD(0x017c, PIN_INPUT, 0) /* (F19) RGMII2_RX_CTL */
AM62PX_IOPAD(0x016c, PIN_INPUT, 0) /* (B19) RGMII2_TD0 */
AM62PX_IOPAD(0x0170, PIN_INPUT, 0) /* (A21) RGMII2_TD1 */
AM62PX_IOPAD(0x0174, PIN_INPUT, 0) /* (D17) RGMII2_TD2 */
AM62PX_IOPAD(0x0178, PIN_INPUT, 0) /* (A19) RGMII2_TD3 */
AM62PX_IOPAD(0x0168, PIN_INPUT, 0) /* (D16) RGMII2_TXC */
AM62PX_IOPAD(0x0164, PIN_INPUT, 0) /* (A20) RGMII2_TX_CTL */
>;
bootph-all;
};
main_uart0_pins_default: main-uart0-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x1c8, PIN_INPUT, 0) /* (A22) UART0_RXD */
AM62PX_IOPAD(0x1cc, PIN_OUTPUT, 0) /* (B22) UART0_TXD */
>;
bootph-all;
};
main_uart1_pins_default: main-uart1-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0194, PIN_INPUT, 2) /* (D25) MCASP0_AXR3.UART1_CTSn */
AM62PX_IOPAD(0x0198, PIN_OUTPUT, 2) /* (E25) MCASP0_AXR2.UART1_RTSn */
AM62PX_IOPAD(0x01ac, PIN_INPUT, 2) /* (G23) MCASP0_AFSR.UART1_RXD */
AM62PX_IOPAD(0x01b0, PIN_OUTPUT, 2) /* (G20) MCASP0_ACLKR.UART1_TXD */
>;
bootph-all;
};
main_usb1_pins_default: main-usb1-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0258, PIN_INPUT | PIN_DS_PULLUD_ENABLE | PIN_DS_PULL_UP, 0) /* (G21) USB1_DRVVBUS */
>;
};
main_wlirq_pins_default: main-wlirq-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0128, PIN_INPUT, 7) /* (K25) MMC2_SDWP.GPIO0_72 */
>;
};
ospi0_pins_default: ospi0-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0000, PIN_OUTPUT, 0) /* (P23) OSPI0_CLK */
AM62PX_IOPAD(0x002c, PIN_OUTPUT, 0) /* (M25) OSPI0_CSn0 */
AM62PX_IOPAD(0x000c, PIN_INPUT, 0) /* (L25) OSPI0_D0 */
AM62PX_IOPAD(0x0010, PIN_INPUT, 0) /* (N24) OSPI0_D1 */
AM62PX_IOPAD(0x0014, PIN_INPUT, 0) /* (N25) OSPI0_D2 */
AM62PX_IOPAD(0x0018, PIN_INPUT, 0) /* (M24) OSPI0_D3 */
AM62PX_IOPAD(0x001c, PIN_INPUT, 0) /* (N21) OSPI0_D4 */
AM62PX_IOPAD(0x0020, PIN_INPUT, 0) /* (N22) OSPI0_D5 */
AM62PX_IOPAD(0x0024, PIN_INPUT, 0) /* (P21) OSPI0_D6 */
AM62PX_IOPAD(0x0028, PIN_INPUT, 0) /* (N20) OSPI0_D7 */
AM62PX_IOPAD(0x0008, PIN_INPUT, 0) /* (P22) OSPI0_DQS */
>;
bootph-all;
};
usr_led_pins_default: usr-led-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0244, PIN_INPUT, 7) /* (D24) MMC1_SDWP.GPIO1_49 */
>;
};
vddshv_sdio_pins_default: vddshvr-sdio-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x007c, PIN_INPUT, 7) /* (Y25) GPMC0_CLK.GPIO0_31 */
>;
bootph-all;
};
wlan_en_pins_default: wlan-en-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0124, PIN_INPUT, 7) /* (J25) MMC2_SDCD.GPIO0_71 */
>;
};
main_dpi_pins_default: main-dpi-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0100, PIN_OUTPUT, 0) /* (W20) VOUT0_VSYNC */
AM62PX_IOPAD(0x00f8, PIN_OUTPUT, 0) /* (AC20) VOUT0_HSYNC */
AM62PX_IOPAD(0x0104, PIN_OUTPUT, 0) /* (Y21) VOUT0_PCLK */
AM62PX_IOPAD(0x00fc, PIN_OUTPUT, 0) /* (W21) VOUT0_DE */
AM62PX_IOPAD(0x00b8, PIN_OUTPUT, 0) /* (AE24) VOUT0_DATA0 */
AM62PX_IOPAD(0x00bc, PIN_OUTPUT, 0) /* (W23) VOUT0_DATA1 */
AM62PX_IOPAD(0x00c0, PIN_OUTPUT, 0) /* (AA23) VOUT0_DATA2 */
AM62PX_IOPAD(0x00c4, PIN_OUTPUT, 0) /* (Y23) VOUT0_DATA3 */
AM62PX_IOPAD(0x00c8, PIN_OUTPUT, 0) /* (AB23) VOUT0_DATA4 */
AM62PX_IOPAD(0x00cc, PIN_OUTPUT, 0) /* (AD23) VOUT0_DATA5 */
AM62PX_IOPAD(0x00d0, PIN_OUTPUT, 0) /* (AC23) VOUT0_DATA6 */
AM62PX_IOPAD(0x00d4, PIN_OUTPUT, 0) /* (AE23) VOUT0_DATA7 */
AM62PX_IOPAD(0x00d8, PIN_OUTPUT, 0) /* (AE22) VOUT0_DATA8 */
AM62PX_IOPAD(0x00dc, PIN_OUTPUT, 0) /* (AC22) VOUT0_DATA9 */
AM62PX_IOPAD(0x00e0, PIN_OUTPUT, 0) /* (W22) VOUT0_DATA10 */
AM62PX_IOPAD(0x00e4, PIN_OUTPUT, 0) /* (AE21) VOUT0_DATA11 */
AM62PX_IOPAD(0x00e8, PIN_OUTPUT, 0) /* (AD21) VOUT0_DATA12 */
AM62PX_IOPAD(0x00ec, PIN_OUTPUT, 0) /* (AC21) VOUT0_DATA13 */
AM62PX_IOPAD(0x00f0, PIN_OUTPUT, 0) /* (AA20) VOUT0_DATA14 */
AM62PX_IOPAD(0x00f4, PIN_OUTPUT, 0) /* (Y20) VOUT0_DATA15 */
AM62PX_IOPAD(0x005c, PIN_OUTPUT, 1) /* (AC25) GPMC0_AD8.VOUT0_DATA16 */
AM62PX_IOPAD(0x0060, PIN_OUTPUT, 1) /* (AB25) GPMC0_AD9.VOUT0_DATA17 */
AM62PX_IOPAD(0x0064, PIN_OUTPUT, 1) /* (AA25) GPMC0_AD10.VOUT0_DATA18 */
AM62PX_IOPAD(0x0068, PIN_OUTPUT, 1) /* (W24) GPMC0_AD11.VOUT0_DATA19 */
AM62PX_IOPAD(0x006c, PIN_OUTPUT, 1) /* (Y24) GPMC0_AD12.VOUT0_DATA20 */
AM62PX_IOPAD(0x0070, PIN_OUTPUT, 1) /* (AD25) GPMC0_AD13.VOUT0_DATA21 */
AM62PX_IOPAD(0x0074, PIN_OUTPUT, 1) /* (AB24) GPMC0_AD14.VOUT0_DATA22 */
AM62PX_IOPAD(0x0078, PIN_OUTPUT, 1) /* (AC24) GPMC0_AD15.VOUT0_DATA23 */
AM62PX_IOPAD(0x009c, PIN_OUTPUT, 1) /* (AD24) GPMC0_WAIT1.VOUT0_EXTPCLKIN */
>;
};
main_epwm0_pins_default: main_epwm0-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x01b4, PIN_OUTPUT, 2) /* (D20) SPI0_CS0.EHRPWM0_A */
AM62PX_IOPAD(0x01b8, PIN_OUTPUT, 2) /* (E20) SPI0_CS1.EHRPWM0_B */
>;
};
main_epwm1_pins_default: main_epwm1-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x01bc, PIN_OUTPUT, 2) /* (B21) SPI0_CLK.EHRPWM1_A */
AM62PX_IOPAD(0x01c0, PIN_OUTPUT, 2) /* (B20) SPI0_D0.EHRPWM1_B */
>;
};
main_ecap1_pins_default: main_ecap1-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x019c, PIN_OUTPUT, 2) /* (E24) MCASP0_AXR1.ECAP1_IN_APWM_OUT */
>;
};
main_ecap2_pins_default: main-ecap2-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x01a4, PIN_OUTPUT, 2) /* (F24) MCASP0_ACLKX.ECAP2_IN_APWM_OUT */
>;
};
};
&main_i2c0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_i2c0_pins_default>;
clock-frequency = <400000>;
typec_pd0: usb-power-controller@3f {
compatible = "ti,tps6598x";
reg = <0x3f>;
connector {
compatible = "usb-c-connector";
label = "USB-C";
self-powered;
data-role = "dual";
power-role = "sink";
port {
usb_con_hs: endpoint {
remote-endpoint = <&usb0_hs_ep>;
};
};
};
};
};
&main_i2c1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_i2c1_pins_default>;
clock-frequency = <100000>;
bootph-all;
tlv320aic3106: audio-codec@1b {
#sound-dai-cells = <0>;
compatible = "ti,tlv320aic3106";
reg = <0x1b>;
ai3x-micbias-vg = <1>; /* 2.0V */
};
exp1: gpio@22 {
compatible = "ti,tca6424";
reg = <0x22>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names = "OLDI_INT#", "x8_NAND_DETECT",
"UART1_FET_SEL", "MMC1_SD_EN",
"VPP_EN", "EXP_PS_3V3_EN",
"UART1_FET_BUF_EN", "EXP_HAT_DETECT",
"DSI_GPIO0", "DSI_GPIO1",
"OLDI_EDID", "BT_UART_WAKE_SOC_3V3",
"USB_TYPEA_OC_INDICATION", "CSI_GPIO0",
"CSI_GPIO1", "WLAN_ALERTn",
"HDMI_INTn", "TEST_GPIO2",
"MCASP1_FET_EN", "MCASP1_BUF_BT_EN",
"MCASP1_FET_SEL", "DSI_EDID",
"PD_I2C_IRQ", "IO_EXP_TEST_LED";
interrupt-parent = <&main_gpio1>;
interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
interrupt-controller;
#interrupt-cells = <2>;
pinctrl-names = "default";
pinctrl-0 = <&main_gpio1_ioexp_intr_pins_default>;
bootph-all;
};
exp2: gpio@23 {
compatible = "ti,tca6424";
reg = <0x23>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names = "BT_EN_SOC", "EXP_PS_5V0_EN",
"", "",
"", "",
"", "",
"WL_LT_EN", "",
"TP3", "TP6",
"TP4", "TP7",
"TP5", "TP8",
"SoC_I2C2_MCAN_SEL", "GPIO_HDMI_RSTn",
"GPIO_CPSW2_RST", "GPIO_CPSW1_RST",
"GPIO_OLDI_RSTn", "GPIO_AUD_RSTn",
"GPIO_eMMC_RSTn", "SoC_WLAN_SDIO_RST";
};
sii9022: bridge-hdmi@3b {
compatible = "sil,sii9022";
reg = <0x3b>;
interrupt-parent = <&exp1>;
interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
#sound-dai-cells = <0>;
sil,i2s-data-lanes = < 0 >;
hdmi_tx_ports: ports {
#address-cells = <1>;
#size-cells = <0>;
/*
* HDMI can be serviced with 3 potential VPs -
* (DSS0 VP1 / DSS1 VP0 / DSS1 VP1).
* For now, we will service it with DSS0 VP1.
*/
port@0 {
reg = <0>;
sii9022_in: endpoint {
remote-endpoint = <&dss0_dpi1_out>;
};
};
port@1 {
reg = <1>;
sii9022_out: endpoint {
remote-endpoint = <&hdmi_connector_in>;
};
};
};
};
};
&main_i2c2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_i2c2_pins_default>;
clock-frequency = <400000>;
};
&sdhci0 {
status = "okay";
ti,driver-strength-ohm = <50>;
disable-wp;
bootph-all;
};
&sdhci1 {
/* SD/MMC */
status = "disabled";
vmmc-supply = <&vdd_mmc1>;
vqmmc-supply = <&vddshv_sdio>;
pinctrl-names = "default";
pinctrl-0 = <&main_mmc1_pins_default>;
disable-wp;
bootph-all;
};
&cpsw3g {
pinctrl-names = "default";
pinctrl-0 = <&main_rgmii1_pins_default>,
<&main_rgmii2_pins_default>;
status = "okay";
};
&cpsw_port1 {
phy-mode = "rgmii-rxid";
phy-handle = <&cpsw3g_phy0>;
status = "okay";
};
&cpsw_port2 {
phy-mode = "rgmii-rxid";
phy-handle = <&cpsw3g_phy1>;
status = "okay";
};
&cpsw3g_mdio {
pinctrl-names = "default";
pinctrl-0 = <&main_mdio1_pins_default>;
status = "okay";
cpsw3g_phy0: ethernet-phy@0 {
reg = <0>;
bootph-all;
ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
ti,min-output-impedance;
};
cpsw3g_phy1: ethernet-phy@1 {
reg = <1>;
ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
ti,min-output-impedance;
};
};
&usbss0 {
status = "okay";
ti,vbus-divider;
};
&usbss1 {
status = "okay";
ti,vbus-divider;
};
&usb0 {
usb-role-switch;
port {
usb0_hs_ep: endpoint {
remote-endpoint = <&usb_con_hs>;
};
};
};
&usb1 {
dr_mode = "host";
pinctrl-names = "default";
pinctrl-0 = <&main_usb1_pins_default>;
};
&mcasp1 {
status = "okay";
#sound-dai-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&main_mcasp1_pins_default>;
op-mode = <0>; /* MCASP_IIS_MODE */
tdm-slots = <2>;
serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
1 0 2 0
0 0 0 0
0 0 0 0
0 0 0 0
>;
};
&fss {
bootph-all;
};
&ospi0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&ospi0_pins_default>;
bootph-all;
flash@0 {
compatible = "jedec,spi-nor";
reg = <0x0>;
spi-tx-bus-width = <8>;
spi-rx-bus-width = <8>;
spi-max-frequency = <25000000>;
cdns,tshsl-ns = <60>;
cdns,tsd2d-ns = <60>;
cdns,tchsh-ns = <60>;
cdns,tslch-ns = <60>;
cdns,read-delay = <4>;
cdns,phy-mode;
bootph-all;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
bootph-all;
partition@0 {
label = "sbl_ospi_linux_stage1.release.hs_fs.tiimage";
reg = <0x00 0x80000>;
};
partition@80000 {
label = "wkup-r5_stage2.release.appimage.hs_fs";
reg = <0x80000 0xa00000>;
};
partition@100000 {
label = "hsm_a.appimage.hs_fs";
reg = <0xa80000 0x40000>;
};
partition@140000 {
label = "mcu-r5_a.release.appimage.hs_fs";
reg = <0xac0000 0x200000>;
};
partition@340000 {
label = "linux.falcon_a.appimage.hs_fs";
reg = <0xcc0000 0x1100000>;
};
partition@1440000 {
label = "hsm_b.appimage.hs_fs";
reg = <0x1dc0000 0x40000>;
};
partition@1480000 {
label = "mcu-r5_b.release.appimage.hs_fs";
reg = <0x1e00000 0x200000>;
};
partition@1680000 {
label = "linux.falcon_b.appimage.hs_fs";
reg = <0x2000000 0x1100000>;
};
partition@2780000 {
label = "slot_partition";
reg = <0x3100000 0x40000>;
};
partition@27c0000 {
label = "backup1";
reg = <0x3140000 0xa00000>;
};
partition@3fc0000 {
label = "ospi_phy_pattern";
reg = <0x3fc0000 0x40000>;
bootph-all;
};
};
};
};
&mailbox0_cluster0 {
status = "okay";
mbox_r5_0: mbox-r5-0 {
ti,mbox-rx = <0 0 0>;
ti,mbox-tx = <1 0 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>;
};
};
&wkup_r5fss0 {
status = "okay";
};
&wkup_r5fss0_core0 {
mboxes = <&mailbox0_cluster0 &mbox_r5_0>;
memory-region = <&wkup_r5fss0_core0_dma_memory_region>,
<&wkup_r5fss0_core0_memory_region>;
};
&mcu_r5fss0 {
status = "okay";
};
&mcu_r5fss0_core0 {
mboxes = <&mailbox0_cluster1 &mbox_mcu_r5_0>;
memory-region = <&mcu_r5fss0_core0_dma_memory_region>,
<&mcu_r5fss0_core0_memory_region>;
};
&main_uart0 {
pinctrl-names = "default";
pinctrl-0 = <&main_uart0_pins_default>;
interrupts-extended = <&gic500 GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>,
<&main_pmx0 0x1c8>; /* (D14) UART0_RXD PADCONFIG114 */
interrupt-names = "irq", "wakeup";
status = "okay";
bootph-all;
};
&main_uart1 {
pinctrl-names = "default";
pinctrl-0 = <&main_uart1_pins_default>;
/* Main UART1 is used by TIFS firmware */
status = "reserved";
bootph-all;
};
&mcu_pmx0 {
bootph-all;
wkup_uart0_pins_default: wkup-uart0-default-pins {
pinctrl-single,pins = <
AM62PX_MCU_IOPAD(0x024, PIN_INPUT, 0) /* (D8) WKUP_UART0_RXD */
AM62PX_MCU_IOPAD(0x028, PIN_OUTPUT, 0) /* (D7) WKUP_UART0_TXD */
>;
bootph-all;
};
};
&wkup_uart0 {
/* WKUP UART0 is used by DM firmware */
pinctrl-names = "default";
pinctrl-0 = <&wkup_uart0_pins_default>;
status = "reserved";
bootph-all;
};
/* mcu_gpio0 and mcu_gpio_intr are reserved for mcu firmware usage */
&mcu_gpio0 {
status = "reserved";
};
&mcu_gpio_intr {
status = "reserved";
};
&dss_oldi_io_ctrl {
bootph-all;
};
&dss0 {
ti,dss-shared-mode;
ti,dss-shared-mode-vp = "vp1";
ti,dss-shared-mode-vp-owned = <0>;
ti,dss-shared-mode-common = "common1";
ti,dss-shared-mode-planes = "vid";
ti,dss-shared-mode-plane-zorder = <0>;
interrupt-parent = <&gic500>;
interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
};
&dss0 {
bootph-all;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_dpi_pins_default>;
};
&dss0_ports {
/* DSS0-VP2: DPI/HDMI Output */
hdmi0_dss: port@1 {
reg = <1>;
dss0_dpi1_out: endpoint {
remote-endpoint = <&sii9022_in>;
};
};
};
&epwm0 {
/* Pin 24/26 of J4 */
pinctrl-names = "default";
pinctrl-0 = <&main_epwm0_pins_default>;
status = "okay";
};
&epwm1 {
/* Pin 23/19 of J4 */
pinctrl-names = "default";
pinctrl-0 = <&main_epwm1_pins_default>;
status = "okay";
};
&ecap1 {
/* ECAP1 in APWM mode */
/* Pin 36 of J4 */
pinctrl-names = "default";
pinctrl-0 = <&main_ecap1_pins_default>;
status = "okay";
};
&ecap2 {
/* ECAP2 in APWM mode */
/* Pin 11 of J4 */
pinctrl-names = "default";
pinctrl-0 = <&main_ecap2_pins_default>;
status = "okay";
};
&{/} {
display {
compatible = "microtips,mf-101hiebcaf0", "panel-simple";
/*
* Note that the OLDI TX 0 transmits the odd set of pixels
* while the OLDI TX 1 transmits the even set. This is a
* fixed configuration in the IP integration and is not
* changeable. The properties, "dual-lvds-odd-pixels" and
* "dual-lvds-even-pixels" have been used to merely
* identify if a Dual Link configuration is required.
* Swapping them will cause an error in the dss oldi driver.
*/
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
dual-lvds-odd-pixels;
lcd_in0: endpoint {
remote-endpoint = <&oldi0_dss0_out>;
};
};
port@1 {
reg = <1>;
dual-lvds-even-pixels;
lcd_in1: endpoint {
remote-endpoint = <&oldi1_dss0_out>;
};
};
};
};
};
&dss0 {
status = "okay";
};
&oldi0_dss0 {
status = "okay";
ti,companion-oldi = <&oldi1_dss0>;
};
&oldi1_dss0 {
status = "okay";
ti,secondary-oldi;
};
&oldi0_dss0_ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
oldi0_dss0_in: endpoint {
remote-endpoint = <&dss0_dpi0_out0>;
};
};
port@1 {
reg = <1>;
oldi0_dss0_out: endpoint {
remote-endpoint = <&lcd_in0>;
};
};
};
&oldi1_dss0_ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
oldi1_dss0_in: endpoint {
remote-endpoint = <&dss0_dpi0_out1>;
};
};
port@1 {
reg = <1>;
oldi1_dss0_out: endpoint {
remote-endpoint = <&lcd_in1>;
};
};
};
&dss0_ports {
#address-cells = <1>;
#size-cells = <0>;
/* VP1: Output to OLDI */
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
dss0_dpi0_out0: endpoint@0 {
reg = <0>;
remote-endpoint = <&oldi0_dss0_in>;
};
dss0_dpi0_out1: endpoint@1 {
reg = <1>;
remote-endpoint = <&oldi1_dss0_in>;
};
};
};
&main_i2c0 {
#address-cells = <1>;
#size-cells = <0>;
touchscreen@41 {
compatible = "ilitek,ili251x";
reg = <0x41>;
interrupt-parent = <&exp1>;
interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&exp2 20 GPIO_ACTIVE_LOW>;
};
};
There is am62p-sk boot log
[BOOTLOADER_PROFILE] Boot Media : FLASH
[BOOTLOADER_PROFILE] Boot Media Clock : 166.667 MHz
[BOOTLOADER_PROFILE] Boot Image Size : 1059 KB
[BOOTLOADER_PROFILE] Cores present :
wkup-r5f0-0
[BOOTLOADER PROFILE] System_init : 37850us
[BOOTLOADER PROFILE] App_waitForMcuPbist : 2us
[BOOTLOADER PROFILE] Board_init : 0us
[BOOTLOADER PROFILE] Drivers_open : 0us
[BOOTLOADER PROFILE] SBL Drivers_open : 151us
[BOOTLOADER PROFILE] Board_driversOpen : 9us
[BOOTLOADER PROFILE] SBL Board_driversOpen : 1253us
[BOOTLOADER PROFILE] App_loadSelfcoreImage : 10008us
[BOOTLOADER_PROFILE] SBL Total Time Taken : 49275us
Image loading done, switching to application ...
Starting 2nd stage bootloader
[BOOTLOADER_PROFILE] Boot Media : FLASH
[BOOTLOADER_PROFILE] Boot Media Clock : 166.667 MHz
[BOOTLOADER_PROFILE] Boot Image Size : 16841 KB
[BOOTLOADER_PROFILE] Cores present :
hsm-m4f0-0
mcu-r5f0-0
a530-0
[BOOTLOADER PROFILE] System_init : 2749us
[BOOTLOADER PROFILE] Board_init : 4us
[BOOTLOADER PROFILE] FreeRtosTask Create : 303us
[BOOTLOADER PROFILE] SBL Drivers_open : 1390us
[BOOTLOADER PROFILE] SBL Board_driversOpen : 132us
[BOOTLOADER PROFILE] Read FLASH SUCCESS : 120us
[BOOTLOADER PROFILE] Flash Read SLOT bb : 21us
[BOOTLOADER PROFILE] slot part B : 0us
[BOOTLOADER PROFILE] HSM Image Load : 3643us
[BOOTLOADER PROFILE] MCU R5 Image Load : 4140us
[BOOTLOADER PROFILE] A53 Image Load : 139600us
[BOOTLOADER_PROFILE] SBL Total Time Taken : 152106us
Image loading done, switching to application ...
Starting linux and RTOS/Baremetal applications
NOTICE: BL31: v2.13.0(release):v2.13.0-259-ge0c4d3903b-dirty
NOTICE: BL31: Built : 07:01:36, Jul 1 2025
[ 0.000000] Boot time to Start Kernel : 11093 ms
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 6.12.35-ti-00920-g78e6abff3220-dirty (oe-user@oe-host) (aarch64-oe-linux-gcc (GCC) 13.4.0, GNU ld (GNU Binutils) 2.42.0.20240723) #1 SMP PREEMPT Thu Jul 3 17:10:29 UTC 2025
[ 0.000000] KASLR disabled due to lack of seed
[ 0.000000] Machine model: Texas Instruments AM62P5 SK
[ 0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
[ 0.000000] printk: legacy bootconsole [ns16550a0] enabled
[ 0.000000] Memory limited to 1024MB
[ 0.000000] efi: UEFI not found.
[ 0.000000] Reserved memory: created CMA memory pool at 0x00000000b0000000, size 256 MiB
[ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[ 0.000000] OF: reserved mem: 0x00000000b0000000..0x00000000bfffffff (262144 KiB) map reusable linux,cma
[ 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] OF: reserved mem: 0x0000000080000000..0x000000008007ffff (512 KiB) nomap non-reusable tfa@80000000
[ 0.000000] OF: reserved mem: 0x000000009e800000..0x000000009fffffff (24576 KiB) nomap non-reusable optee@9e800000
[ 0.000000] OF: reserved mem: 0x0000000093500000..0x000000009b4fffff (131072 KiB) nomap non-reusable rtos-framebuffer-memory@93500000
[ 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-0x00000000934fffff]
[ 0.000000] node 0: [mem 0x0000000093500000-0x000000009e6fffff]
[ 0.000000] node 0: [mem 0x000000009e700000-0x000000009e7fffff]
[ 0.000000] node 0: [mem 0x000000009e800000-0x000000009fffffff]
[ 0.000000] node 0: [mem 0x00000000a0000000-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 earlycon=ns16550a,mmio32,0x02800000 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait mem=1G
[ 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 0x00000000aec80000-0x00000000aed80000] (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.008638] Console: colour dummy device 80x25
[ 0.013222] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
[ 0.023892] pid_max: default: 32768 minimum: 301
[ 0.028672] LSM: initializing lsm=capability
[ 0.033137] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[ 0.040700] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[ 0.050557] rcu: Hierarchical SRCU implementation.
[ 0.055486] rcu: Max phase no-delay instances is 1000.
[ 0.060980] Timer migration: 1 hierarchy levels; 8 children per group; 1 crossnode level
[ 0.069686] EFI services will not be available.
[ 0.074534] smp: Bringing up secondary CPUs ...
[ 0.079704] Detected VIPT I-cache on CPU1
[ 0.079776] GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000
[ 0.079792] GICv3: CPU1: using allocated LPI pending table @0x0000000080470000
[ 0.079835] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[ 0.080463] Detected VIPT I-cache on CPU2
[ 0.080519] GICv3: CPU2: found redistributor 2 region 0:0x00000000018c0000
[ 0.080533] GICv3: CPU2: using allocated LPI pending table @0x0000000080480000
[ 0.080565] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[ 0.081168] Detected VIPT I-cache on CPU3
[ 0.081219] GICv3: CPU3: found redistributor 3 region 0:0x00000000018e0000
[ 0.081232] GICv3: CPU3: using allocated LPI pending table @0x0000000080490000
[ 0.081261] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[ 0.081361] smp: Brought up 1 node, 4 CPUs
[ 0.160994] SMP: Total of 4 processors activated.
[ 0.165801] CPU: All CPU(s) started at EL2
[ 0.169998] CPU features: detected: 32-bit EL0 Support
[ 0.175249] CPU features: detected: CRC32 instructions
[ 0.180538] alternatives: applying system-wide alternatives
[ 0.186577] Memory: 534800K/1048576K available (9856K kernel code, 984K rwdata, 3260K rodata, 1792K init, 573K bss, 243796K reserved, 262144K cma-reserved)
[ 0.201458] devtmpfs: initialized
[ 0.211487] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.221478] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[ 0.234439] 28592 pages in range for non-PLT usage
[ 0.234462] 520112 pages in range for PLT usage
[ 0.239623] pinctrl core: initialized pinctrl subsystem
[ 0.249908] DMI not present or invalid.
[ 0.255533] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 0.262404] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
[ 0.269897] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[ 0.278144] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[ 0.286249] audit: initializing netlink subsys (disabled)
[ 0.291963] audit: type=2000 audit(0.180:1): state=initialized audit_enabled=0 res=1
[ 0.299903] cpuidle: using governor menu
[ 0.303996] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[ 0.311006] ASID allocator initialised with 65536 entries
[ 0.321818] /bus@f0000/interrupt-controller@1800000: Fixed dependency cycle(s) with /bus@f0000/interrupt-controller@1800000
[ 0.333301] /bus@f0000/i2c@20000000/usb-power-controller@3f/connector: Fixed dependency cycle(s) with /bus@f0000/usb@f900000/usb@31000000
[ 0.345947] /bus@f0000/i2c@20010000/bridge-hdmi@3b: Fixed dependency cycle(s) with /bus@f0000/dss@30200000
[ 0.355856] /bus@f0000/usb@f900000/usb@31000000: Fixed dependency cycle(s) with /bus@f0000/i2c@20000000/usb-power-controller@3f/connector
[ 0.368577] /bus@f0000/dss@30200000: Fixed dependency cycle(s) with /bus@f0000/dss@30200000/oldi-transmitters/oldi@1
[ 0.379340] /bus@f0000/dss@30200000: Fixed dependency cycle(s) with /bus@f0000/dss@30200000/oldi-transmitters/oldi@0
[ 0.390102] /bus@f0000/dss@30200000: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/bridge-hdmi@3b
[ 0.399983] /bus@f0000/dss@30200000/oldi-transmitters/oldi@0: Fixed dependency cycle(s) with /bus@f0000/dss@30200000
[ 0.410755] /bus@f0000/dss@30200000/oldi-transmitters/oldi@1: Fixed dependency cycle(s) with /bus@f0000/dss@30200000
[ 0.425441] /bus@f0000/i2c@20000000/usb-power-controller@3f/connector: Fixed dependency cycle(s) with /bus@f0000/usb@f900000/usb@31000000
[ 0.438212] /bus@f0000/i2c@20010000/bridge-hdmi@3b: Fixed dependency cycle(s) with /bus@f0000/dss@30200000
[ 0.448667] /bus@f0000/usb@f900000/usb@31000000: Fixed dependency cycle(s) with /bus@f0000/i2c@20000000/usb-power-controller@3f/connector
[ 0.462889] /bus@f0000/i2c@20010000/bridge-hdmi@3b: Fixed dependency cycle(s) with /bus@f0000/dss@30200000
[ 0.472811] /bus@f0000/dss@30200000: Fixed dependency cycle(s) with /bus@f0000/dss@30200000/oldi-transmitters/oldi@1
[ 0.483572] /bus@f0000/dss@30200000: Fixed dependency cycle(s) with /bus@f0000/dss@30200000/oldi-transmitters/oldi@0
[ 0.494347] /bus@f0000/dss@30200000: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/bridge-hdmi@3b
[ 0.504239] /bus@f0000/dss@30200000/oldi-transmitters/oldi@0: Fixed dependency cycle(s) with /bus@f0000/dss@30200000
[ 0.515017] /bus@f0000/dss@30200000/oldi-transmitters/oldi@1: Fixed dependency cycle(s) with /bus@f0000/dss@30200000
[ 0.526978] /bus@f0000/i2c@20010000/bridge-hdmi@3b: Fixed dependency cycle(s) with /connector-hdmi
[ 0.536208] /connector-hdmi: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/bridge-hdmi@3b
[ 0.545516] /bus@f0000/dss@30200000/oldi-transmitters/oldi@1: Fixed dependency cycle(s) with /display
[ 0.555003] /bus@f0000/dss@30200000/oldi-transmitters/oldi@0: Fixed dependency cycle(s) with /display
[ 0.564465] /display: Fixed dependency cycle(s) with /bus@f0000/dss@30200000/oldi-transmitters/oldi@1
[ 0.573927] /display: Fixed dependency cycle(s) with /bus@f0000/dss@30200000/oldi-transmitters/oldi@0
[ 0.583977] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
[ 0.590940] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
[ 0.597353] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
[ 0.604291] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
[ 0.610694] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.617625] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
[ 0.624028] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
[ 0.630961] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
[ 0.638632] k3-chipinfo 43000014.chipid: Family:AM62PX rev:SR1.0 JTAGID[0x0bb9d02f] Detected
[ 0.647694] iommu: Default domain type: Translated
[ 0.652616] iommu: DMA domain TLB invalidation policy: strict mode
[ 0.659472] EDAC MC: Ver: 3.0.0
[ 0.662971] scmi_core: SCMI protocol bus registered
[ 0.668990] clocksource: Switched to clocksource arch_sys_counter
[ 0.681160] NET: Registered PF_INET protocol family
[ 0.686279] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
[ 0.694631] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)
[ 0.703223] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[ 0.711150] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)
[ 0.719110] TCP bind hash table entries: 8192 (order: 6, 262144 bytes, linear)
[ 0.726675] TCP: Hash tables configured (established 8192 bind 8192)
[ 0.733269] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[ 0.740061] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
[ 0.747397] NET: Registered PF_UNIX/PF_LOCAL protocol family
[ 0.753562] RPC: Registered named UNIX socket transport module.
[ 0.759625] RPC: Registered udp transport module.
[ 0.764433] RPC: Registered tcp transport module.
[ 0.769238] RPC: Registered tcp-with-tls transport module.
[ 0.774842] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.782546] Initialise system trusted keyrings
[ 0.787250] workingset: timestamp_bits=46 max_order=18 bucket_order=0
[ 0.794730] NFS: Registering the id_resolver key type
[ 0.799931] Key type id_resolver registered
[ 0.804203] Key type id_legacy registered
[ 0.808313] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 0.815164] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[ 0.869803] Key type asymmetric registered
[ 0.873991] Asymmetric key parser 'x509' registered
[ 0.879020] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[ 0.886580] io scheduler mq-deadline registered
[ 0.891219] io scheduler kyber registered
[ 0.895341] io scheduler bfq registered
[ 0.901264] pinctrl-single 4084000.pinctrl: 34 pins, size 136
[ 0.907655] pinctrl-single f4000.pinctrl: 171 pins, size 684
[ 0.917752] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 0.928733] panel-simple display: supply power not found, using dummy regulator
[ 0.940147] loop: module loaded
[ 0.945359] i2c_dev: i2c /dev entries driver
[ 0.950433] sdhci: Secure Digital Host Controller Interface driver
[ 0.956761] sdhci: Copyright(c) Pierre Ossman
[ 0.961395] sdhci-pltfm: SDHCI platform and OF driver helper
[ 0.967690] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
[ 0.975542] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 (0,8000003f) counters available
[ 0.985709] optee: probing for conduit method.
[ 0.990277] optee: revision 4.6 (71785645fa6ce42d)
[ 0.990557] optee: dynamic shared memory is enabled
[ 1.001069] optee: initialized driver
[ 1.001142] random: crng init done
[ 1.005295] NET: Registered PF_PACKET protocol family
[ 1.013504] Key type dns_resolver registered
[ 1.022251] Loading compiled-in X.509 certificates
[ 1.034819] ti-sci 44043000.system-controller: ABI: 4.0 (firmware rev 0x000b '11.0.7--v11.00.07 (Fancy Rat)')
[ 1.077531] /bus@f0000/i2c@20000000/usb-power-controller@3f/connector: Fixed dependency cycle(s) with /bus@f0000/usb@f900000/usb@31000000
[ 1.090365] omap_i2c 20000000.i2c: bus 0 rev0.12 at 400 kHz
[ 1.097534] pca953x 1-0023: supply vcc not found, using dummy regulator
[ 1.104363] pca953x 1-0023: using AI
[ 1.123082] /bus@f0000/dss@30200000: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/bridge-hdmi@3b
[ 1.133064] /bus@f0000/i2c@20010000/bridge-hdmi@3b: Fixed dependency cycle(s) with /bus@f0000/dss@30200000
[ 1.143063] omap_i2c 20010000.i2c: bus 1 rev0.12 at 100 kHz
[ 1.149841] omap_i2c 20020000.i2c: bus 2 rev0.12 at 400 kHz
[ 1.155746] ti-sci-intr bus@f0000:interrupt-controller@a00000: Interrupt Router 3 domain created
[ 1.164968] ti-sci-inta 48000000.interrupt-controller: Interrupt Aggregator domain 28 created
[ 1.174962] ti-sci-inta 4e400000.interrupt-controller: Interrupt Aggregator domain 200 created
[ 1.184288] ti-udma 485c0100.dma-controller: Number of rings: 82
[ 1.193573] ti-udma 485c0100.dma-controller: Channels: 48 (bchan: 18, tchan: 12, rchan: 18)
[ 1.204095] ti-udma 485c0000.dma-controller: Number of rings: 150
[ 1.214326] ti-udma 485c0000.dma-controller: Channels: 35 (tchan: 20, rchan: 15)
[ 1.223462] ti-udma 4e230000.dma-controller: Number of rings: 6
[ 1.230031] ti-udma 4e230000.dma-controller: Channels: 6 (bchan: 0, tchan: 0, rchan: 6)
[ 1.239230] printk: legacy console [ttyS2] disabled
[ 1.244578] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 250, base_baud = 3000000) is a 8250
[ 1.253458] printk: legacy console [ttyS2] enabled
[ 1.253458] printk: legacy console [ttyS2] enabled
[ 1.263137] printk: legacy bootconsole [ns16550a0] disabled
[ 1.263137] printk: legacy bootconsole [ns16550a0] disabled
[ 1.278698] [drm] Initialized tidss 1.0.0 for 30200000.dss on minor 0
[ 1.288725] tidss 30200000.dss: [drm] fb0: tidssdrmfb frame buffer device
[ 1.299292] 11 fixed-partitions partitions found on MTD device fc40000.spi.0
[ 1.306389] Creating 11 MTD partitions on "fc40000.spi.0":
[ 1.311872] 0x000000000000-0x000000080000 : "sbl_ospi_linux_stage1.release.hs_fs.tiimage"
[ 1.320389] 0x000000080000-0x000000a80000 : "wkup-r5_stage2.release.appimage.hs_fs"
[ 1.328350] 0x000000a80000-0x000000ac0000 : "hsm_a.appimage.hs_fs"
[ 1.335168] 0x000000ac0000-0x000000cc0000 : "mcu-r5_a.release.appimage.hs_fs"
[ 1.342596] 0x000000cc0000-0x000001dc0000 : "linux.falcon_a.appimage.hs_fs"
[ 1.349788] 0x000001dc0000-0x000001e00000 : "hsm_b.appimage.hs_fs"
[ 1.356178] 0x000001e00000-0x000002000000 : "mcu-r5_b.release.appimage.hs_fs"
[ 1.363541] 0x000002000000-0x000003100000 : "linux.falcon_b.appimage.hs_fs"
[ 1.370731] 0x000003100000-0x000003140000 : "slot_partition"
[ 1.376597] 0x000003140000-0x000003b40000 : "backup1"
[ 1.381851] 0x000003fc0000-0x000004000000 : "ospi_phy_pattern"
[ 1.389252] mmc0: CQHCI version 5.10
[ 1.394185] pca953x 1-0022: supply vcc not found, using dummy regulator
[ 1.400906] pca953x 1-0022: using AI
[ 1.407594] sii902x 1-003b: supply iovcc not found, using dummy regulator
[ 1.414468] sii902x 1-003b: supply cvcc12 not found, using dummy regulator
[ 1.423786] i2c i2c-1: Added multiplexed i2c bus 3
[ 1.429541] clk: Disabling unused clocks
[ 1.433492] mmc0: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit
[ 1.438572] PM: genpd: Disabling unused power domains
[ 1.446764] Waiting for root device /dev/mmcblk0p2...
[ 1.526232] mmc0: Command Queue Engine enabled
[ 1.530723] mmc0: new HS200 MMC card at address 0001
[ 1.536229] mmcblk0: mmc0:0001 G1M15L 29.6 GiB
[ 1.543396] mmcblk0: p1 p2 p3
[ 1.546984] mmcblk0boot0: mmc0:0001 G1M15L 31.5 MiB
[ 1.552421] mmcblk0boot1: mmc0:0001 G1M15L 31.5 MiB
[ 1.557757] mmcblk0rpmb: mmc0:0001 G1M15L 4.00 MiB, chardev (248:0)
[ 1.839523] EXT4-fs (mmcblk0p2): recovery complete
[ 1.858423] EXT4-fs (mmcblk0p2): mounted filesystem 01d7ad0b-33d8-416a-acc7-141c1b205b76 r/w with ordered data mode. Quota mode: disabled.
[ 1.870929] VFS: Mounted root (ext4 filesystem) on device 179:2.
[ 1.877411] devtmpfs: mounted
[ 1.880839] Freeing unused kernel memory: 1792K
[ 1.885443] Boot time to Kernel Done : 13629 ms
[ 1.889970] Run /sbin/init as init process
[ 1.987180] systemd[1]: System time before build time, advancing clock.
[ 2.012502] NET: Registered PF_INET6 protocol family
[ 2.018318] Segment Routing with IPv6
[ 2.022037] In-situ OAM (IOAM) with IPv6
[ 2.043503] 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.075598] systemd[1]: Detected architecture arm64.
Welcome to Arago 2025.01!
[ 2.090509] systemd[1]: Hostname set to <am62pxx-evm>.
[ 2.172631] pvrsrvkm: loading out-of-tree module taints kernel.
[ 2.200874] PVR_K: 89: Device: fd80000.gpu
[ 2.206754] PVR_K: 89: Read BVNC 36.53.104.796 from HW device registers
[ 2.213582] PVR_K: 89: RGX Device registered BVNC 36.53.104.796 with 1 core in the system
[ 2.222443] [drm] Initialized pvr 24.2.6643903 for fd80000.gpu on minor 1
[ 2.454550] systemd[1]: Queued start job for default target Multi-User System.
[ 2.488817] systemd[1]: Created slice Slice /system/getty.
[ OK ] Created slice Slice /system/getty.
[ 2.506646] systemd[1]: Created slice Slice /system/modprobe.
[ OK ] Created slice Slice /system/modprobe.
[ 2.526559] systemd[1]: Created slice Slice /system/serial-getty.
[ OK ] Created slice Slice /system/serial-getty.
[ 2.546223] systemd[1]: Created slice User and Session Slice.
[ OK ] Created slice User and Session Slice.
[ 2.565395] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[ OK ] Started Dispatch Password Requests to Console Directory Watch.
[ 2.585278] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[ OK ] Started Forward Password Requests to Wall Directory Watch.
[ 2.605158] systemd[1]: Expecting device /dev/ttyS2...
Expecting device /dev/ttyS2...
[ 2.617217] systemd[1]: Reached target Path Units.
[ OK ] Reached target Path Units.
[ 2.633125] systemd[1]: Reached target Remote File Systems.
[ OK ] Reached target Remote File Systems.
[ 2.649089] systemd[1]: Reached target Slice Units.
[ OK ] Reached target Slice Units.
[ 2.661130] systemd[1]: Reached target Swaps.
[ OK ] Reached target Swaps.
[ 2.673875] systemd[1]: Listening on Syslog Socket.
[ OK ] Listening on Syslog Socket.
[ 2.695116] systemd[1]: Listening on Process Core Dump Socket.
[ OK ] Listening on Process Core Dump Socket.
[ 2.713472] systemd[1]: Listening on initctl Compatibility Named Pipe.
[ OK ] Listening on initctl Compatibility Named Pipe.
[ 2.734113] systemd[1]: Listening on Journal Audit Socket.
[ OK ] Listening on Journal Audit Socket.
[ 2.753639] systemd[1]: Listening on Journal Socket (/dev/log).
[ OK ] Listening on Journal Socket (/dev/log).
[ 2.773681] systemd[1]: Listening on Journal Socket.
[ OK ] Listening on Journal Socket.
[ 2.789791] systemd[1]: Listening on Network Service Netlink Socket.
[ OK ] Listening on Network Service Netlink Socket.
[ 2.809773] systemd[1]: Listening on udev Control Socket.
[ OK ] Listening on udev Control Socket.
[ 2.825550] systemd[1]: Listening on udev Kernel Socket.
[ OK ] Listening on udev Kernel Socket.
[ 2.841642] systemd[1]: Listening on User Database Manager Socket.
[ OK ] Listening on User Database Manager Socket.
[ 2.889322] systemd[1]: Mounting Huge Pages File System...
Mounting Huge Pages File System...
[ 2.905548] systemd[1]: POSIX Message Queue File System was skipped because of an unmet condition check (ConditionPathExists=/proc/sys/fs/mqueue).
[ 2.919104] systemd[1]: Kernel Debug File System was skipped because of an unmet condition check (ConditionPathExists=/sys/kernel/debug).
[ 2.931737] systemd[1]: Kernel Trace File System was skipped because of an unmet condition check (ConditionPathExists=/sys/kernel/tracing).
[ 2.947936] systemd[1]: Mounting Temporary Directory /tmp...
Mounting Temporary Directory /tmp...
[ 2.965480] systemd[1]: Create List of Static Device Nodes was skipped because of an unmet condition check (ConditionFileNotEmpty=/lib/modules/6.12.35-ti-00920-g78e6abff3220-dirty/modules.devname).
[ 2.987121] systemd[1]: Starting Load Kernel Module configfs...
Starting Load Kernel Module configfs...
[ 3.005163] systemd[1]: Starting Load Kernel Module drm...
Starting Load Kernel Module drm...
[ 3.021160] systemd[1]: Starting Load Kernel Module fuse...
Starting Load Kernel Module fuse...
[ 3.033441] systemd[1]: File System Check on Root Device was skipped because of an unmet condition check (ConditionPathIsReadWrite=!/).
[ 3.052616] systemd[1]: Starting Journal Service...
Starting Journal Service...
[ 3.066650] systemd[1]: Load Kernel Modules was skipped because no trigger condition checks were met.
[ 3.079749] systemd[1]: Starting Generate network units from Kernel command line...
Starting Generate network units from Kernel command line...
[ 3.105316] systemd[1]: Starting Remount Root and Kernel File Systems...
Starting Remount Root and Kernel File Systems...
[ 3.129346] systemd[1]: Starting Apply Kernel Variables...
Starting Apply Kernel Variables...
[ 3.144092] systemd-journald[113]: Collecting audit messages is enabled.
[ 3.153863] systemd[1]: Starting Create Static Device Nodes in /dev gracefully...
Starting Create Static Device Nodes in /dev gracefully...
[ 3.179431] systemd[1]: Starting Coldplug All udev Devices...
[ 3.189661] EXT4-fs (mmcblk0p2): re-mounted 01d7ad0b-33d8-416a-acc7-141c1b205b76.
Starting Coldplug All udev Devices...
[ 3.211327] systemd[1]: Started Journal Service.
[ OK ] Started Journal Service.
[ OK ] Mounted Huge Pages File System.
[ OK ] Mounted Temporary Directory /tmp.
[ OK ] Finished Load Kernel Module configfs.
[ OK ] Finished Load Kernel Module drm.
[ OK ] Finished Load Kernel Module fuse.
[ OK ] Finished Generate network units from Kernel command line.
[ OK ] Finished Remount Root and Kernel File Systems.
[ OK ] Finished Apply Kernel Variables.
[ OK ] Finished Create Static Device Nodes in /dev gracefully.
[ OK ] Reached target Preparation for Network.
Mounting Kernel Configuration File System...
Starting Flush Journal to Persistent Storage...
Starting Create Static Device Nodes in /dev...
[ 3.455260] systemd-journald[113]: Received client request to flush runtime journal.
[ OK ] Mounted Kernel Configuration File System.
[ OK ] Finished Flush Journal to Persistent Storage.
[ OK ] Finished Create Static Device Nodes in /dev.
[ OK ] Reached target Preparation for Local File Systems.
Mounting /var/volatile...
[ 3.579030] audit: type=1334 audit(1748544503.588:2): prog-id=6 op=LOAD
[ 3.585752] audit: type=1334 audit(1748544503.596:3): prog-id=7 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 Create System Files and Directories...
[ OK ] Finished Coldplug All udev Devices.
[ OK ] Finished Load/Save OS Random Seed.
[ OK ] Finished Create System Files and Directories.
[ 3.934605] audit: type=1334 audit(1748544503.944:4): prog-id=8 op=LOAD
Starting Network Name Resolution...
[ 3.976099] audit: type=1334 audit(1748544503.984:5): prog-id=9 op=LOAD
Starting Network Time Synchronization...
Starting Record System Boot/Shutdown in UTMP...
[ 4.015993] audit: type=1334 audit(1748544504.024:6): prog-id=10 op=LOAD
[ 4.022861] audit: type=1334 audit(1748544504.032:7): prog-id=11 op=LOAD
[ 4.029781] audit: type=1334 audit(1748544504.040:8): prog-id=12 op=LOAD
Starting User Database Manager...
[ OK ] Finished Record System Boot/Shutdown in UTMP.
[ OK ] Started User Database Manager.
[ OK ] Started Rule-based Manager for Device Events and Files.
[ 4.187469] audit: type=1334 audit(1748544504.196:9): prog-id=13 op=LOAD
Starting Network Configuration...
[ OK ] Started Network Name Resolution.
[ OK ] Started Network Time Synchronization.
[ OK ] Found device /dev/ttyS2.
[ OK ] Reached target Host and Network Name Lookups.
[ OK ] Reached target System Initialization.
[ OK ] Started Daily Cleanup of Temporary Directories.
[ OK ] Reached target System Time Set.
[ OK ] Reached target Timer Units.
[ OK ] Listening on D-Bus System Message Bus Socket.
[ OK ] Reached target Socket Units.
[ OK ] Reached target Basic System.
[ OK ] Started Kernel Logging Service.
[ OK ] Started System Logging Service.
Starting D-Bus System Message Bus...
[ 4.668129] audit: type=1334 audit(1748544504.734:10): prog-id=14 op=LOAD
Starting User Login Management...
[ OK ] Started Network Configuration.
[ OK ] Started D-Bus System Message Bus.
[ OK ] Reached target Network.
Starting Permit User Sessions...
[ OK ] Finished Permit User Sessions.
[ OK ] Started Getty on tty1.
[ OK ] Started Serial Getty on ttyS2.
[ 5.070747] /bus@f0000/i2c@20000000/usb-power-controller@3f/connector: Fixed dependency cycle(s) with /bus@f0000/usb@f900000/usb@31000000
[ 5.090669] /bus@f0000/usb@f900000/usb@31000000: Fixed dependency cycle(s) with /bus@f0000/i2c@20000000/usb-power-controller@3f/connector
[ OK ] Reached target Multi-User System.
Starting Record Runlevel Change in UTMP...
[ OK ] Finished Record Runlevel Change in UTMP.
[ 5.370939] usbcore: registered new interface driver usbfs
[ 5.376675] usbcore: registered new interface driver hub
[ 5.382470] usbcore: registered new device driver usb
[ 5.432356] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[ 5.438719] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 1
[ 5.447657] xhci-hcd xhci-hcd.1.auto: USB3 root hub has no ports
[ 5.454981] xhci-hcd xhci-hcd.1.auto: hcc params 0x0258fe6d hci version 0x110 quirks 0x0000808020000010
[ 5.464746] xhci-hcd xhci-hcd.1.auto: irq 413, io mem 0x31100000
[ 5.473293] hub 1-0:1.0: USB hub found
[ 5.477164] hub 1-0:1.0: 1 port detected
[ 6.029236] EXT4-fs (mmcblk0p1): mounted filesystem 01d7ad0b-33d8-416a-acc7-141c1b205b76 r/w with ordered data mode. Quota mode: disabled.
[ 6.123686] EXT4-fs (mmcblk0p3): mounted filesystem b5a6e2d3-1dc1-418c-9b7a-e311cdf4c782 r/w with ordered data mode. Quota mode: disabled.
_____ _____ _ _
| _ |___ ___ ___ ___ | _ |___ ___ |_|___ ___| |_
| | _| .'| . | . | | __| _| . | | | -_| _| _|
|__|__|_| |__,|_ |___| |__| |_| |___|_| |___|___|_|
|___| |___|
Arago Project am62pxx-evm ttyS2
Arago 2025.01 am62pxx-evm ttyS2
am62pxx-evm login: root
[ 9.293578] kauditd_printk_skb: 2 callbacks suppressed
[ 9.293595] audit: type=1006 audit(1748544509.362:13): pid=458 uid=0 old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=1 res=1
[ 9.311204] audit: type=1300 audit(1748544509.362:13): arch=c00000b7 syscall=64 success=yes exit=1 a0=8 a1=ffffd709aec8 a2=1 a3=1 items=0 ppid=1 pid=458 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" key=(null)
[ 9.337730] audit: type=1327 audit(1748544509.362:13): proctitle="(systemd)"
[ 9.365891] audit: type=1334 audit(1748544509.434:14): prog-id=17 op=LOAD
[ 9.372731] audit: type=1300 audit(1748544509.434:14): arch=c00000b7 syscall=280 success=yes exit=8 a0=5 a1=ffffdbbabc98 a2=90 a3=0 items=0 ppid=1 pid=458 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" key=(null)
[ 9.398489] audit: type=1327 audit(1748544509.434:14): proctitle="(systemd)"
[ 9.405596] audit: type=1334 audit(1748544509.434:15): prog-id=17 op=UNLOAD
[ 9.412608] audit: type=1300 audit(1748544509.434:15): arch=c00000b7 syscall=57 success=yes exit=0 a0=8 a1=1 a2=0 a3=ffff88b28c60 items=0 ppid=1 pid=458 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" key=(null)
[ 9.438163] audit: type=1327 audit(1748544509.434:15): proctitle="(systemd)"
[ 9.445261] audit: type=1334 audit(1748544509.434:16): prog-id=18 op=LOAD
root@am62pxx-evm:~# free -m
total used free shared buff/cache available
Mem: 806572 99884 649828 8956 56860 639972
Swap: 0 0 0
root@am62pxx-evm:~# free -h
total used free shared buff/cache available
Mem: 806572 94584 655116 8956 56872 645280
Swap: 0 0 0
root@am62pxx-evm:~# [ 32.025016] vdd_mmc1: disabling
The last you can see RAM is 8GB
root@am62pxx-evm:~# free -m
total used free shared buff/cache available
Mem: 806572 99884 649828 8956 56860 639972
Swap: 0
Best Regards
SUI
Hi Pengfei,
Does changing to any other memory work? 2GB or something?
Can we get on a call to debug the issue?
Best Regards
Suren
Hi Suren Porwar
Now I only use 1GB
How to modify 2GB RAM ?
YES , my telephone number : 13889665973 at china
Best Regards
SUI
Hi Suren Porwar
Now I use Falcon boot mode , it remove uboot,
Maybe the DDR init at R5 SPL and ATF , so if we only modify kernel memory size can not reslove the problem , is it right ?
Best Regards
SUI
Hi Pengfei,
Please follow the below step to run the Falcon boot mode. it ran successfully on AM62P EVM board with SD boot mode.
#1
the load address of Linux kernel image and dtb is 0x82000000 and 0x88000000.
it can be found in u-boot log
do_load: /boot/Image to addr: 0x82000000
22323712 bytes read in 281 ms (75.8 MiB/s)
do_load: /boot/dtb/ti/k3-am62p5-sk.dtb to addr: 0x88000000
while changing to Falcon boot mode it should update the right Kernel and DTB load address in BL31(ATF).
please follow below step to rebuild ATF(bl31.bin)
diff --git a/plat/ti/k3/platform.mk b/plat/ti/k3/platform.mk
index 347a08894..a5f45982c 100644
--- a/plat/ti/k3/platform.mk
+++ b/plat/ti/k3/platform.mk
@@ -13,10 +13,10 @@ include ${PLAT_PATH}/board/${TARGET_BOARD}/board.mk
BL32_BASE ?= 0x9e800000
$(eval $(call add_define,BL32_BASE))
-PRELOADED_BL33_BASE ?= 0x80080000
+PRELOADED_BL33_BASE ?= 0x82000000
$(eval $(call add_define,PRELOADED_BL33_BASE))
-K3_HW_CONFIG_BASE ?= 0x82000000
+K3_HW_CONFIG_BASE ?= 0x88000000
$(eval $(call add_define,K3_HW_CONFIG_BASE))
PLAT_INCLUDES += -Iplat/ti/k3/board/${TARGET_BOARD}/include \
=============
export CROSS_COMPILE_64=ti-processor-sdk-linux-am62pxx-evm-11.01.05.03/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-oe-linux/aarch64-oe-linux-
export SYSROOT_64=ti-processor-sdk-linux-am62pxx-evm-11.01.05.03/linux-devkit/sysroots/x86_64-arago-linux
export CC_64="${CROSS_COMPILE_64}gcc --sysroot=${SYSROOT_64}"
export CROSS_COMPILE_32="${SDK_INSTALL_DIR}/k3r5-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-oe-eabi/arm-oe-eabi-"
make ARCH=aarch64 CROSS_COMPILE="$CROSS_COMPILE_64" PLAT=k3 TARGET_BOARD=lite SPD=opteed
copy the output (build/k3/lite/release/bl31.bin) into folder which is used to generate linux.appimage.hs_fs
#2
refer to the below change to update the 1GB DDR and kernel command line
diff --git a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
index ddcbdee85..243b678f0 100644
--- a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
@@ -37,6 +37,8 @@ chosen {
#size-cells = <2>;
ranges;
+ bootargs = "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=/dev/mmcblk1p2 rw rootfstype=ext4 rootwait";
+
stdout-path = &main_uart0;
framebuffer0: framebuffer@0 {
@@ -52,8 +54,7 @@ framebuffer0: framebuffer@0 {
memory@80000000 {
/* 8G RAM */
- reg = <0x00000000 0x80000000 0x00000000 0x80000000>,
- <0x00000008 0x80000000 0x00000001 0x80000000>;
+ reg = <0x00000000 0x80000000 0x00000000 0x40000000>;
device_type = "memory";
bootph-pre-ram;
};
@@ -66,7 +67,7 @@ reserved_memory: reserved-memory {
linux,cma {
compatible = "shared-dma-pool";
reusable;
- size = <0x00 0x24000000>;
+ size = <0x00 0x4000000>;
linux,cma-default;
};
rebuild and generate the DTB file k3-am62p5-sk.dtb then copy to folder which is used to generate linux.appimage.hs_fs
#3
refer to below changes to generate the linux.appimage.hs_fs
diff --git a/tools/boot/linuxAppimageGen/board/am62px-sk/config.mak b/tools/boot/linuxAppimageGen/board/am62px-sk/config.mak
index 089520d..22268cb 100644
--- a/tools/boot/linuxAppimageGen/board/am62px-sk/config.mak
+++ b/tools/boot/linuxAppimageGen/board/am62px-sk/config.mak
@@ -2,10 +2,10 @@ export MCU_PLUS_SDK_PATH?=$(abspath ../../..)
include $(MCU_PLUS_SDK_PATH)/imports.mak
#Processor SDK linux install path
-PSDK_LINUX_PATH=$(TOOLS_PATH)/ti-processor-sdk-linux-am62pxx-evm-11.01.05.03
+PSDK_LINUX_PATH=/home/cnh20399/worksource/am62p-11.1/ti-processor-sdk-linux-am62pxx-evm-11.01.05.03
#Path for prebuit images in Processor SDK linux
-PSDK_LINUX_PREBUILT_IMAGES?=$(PSDK_LINUX_PATH)/board-support/prebuilt-images/am62pxx-evm-display-cluster
+PSDK_LINUX_PREBUILT_IMAGES?=$(PSDK_LINUX_PATH)/board-support/prebuilt-images/am62pxx-evm
FALCON_MODE?=0
@@ -30,8 +30,8 @@ OPTEE_LOAD_ADDR=0x9e800000
SPL_LOAD_ADDR=0x80080000
ifeq ($(FALCON_MODE), 1)
-KERN_LOAD_ADDR=0x80080000
-FDT_LOAD_ADDR=0x82000000
+KERN_LOAD_ADDR=0x82000000
+FDT_LOAD_ADDR=0x88000000
endif
make BOARD=am62px-sk all FALCON_MODE=1
please check the load address in compile log
#4
the boot log and ddr usage is below, all updated image is also attached. it can try on EVM board
SYSFW Firmware Version 11.1.2--v11.01.02 (Fancy Rat)
SYSFW Firmware revision 0xb
SYSFW ABI revision 4.0
[BOOTLOADER_PROFILE] Boot Media : SD Card
[BOOTLOADER_PROFILE] Boot Image Size : 263 KB
[BOOTLOADER_PROFILE] Cores present :
mcu-r5f0-0
wkup-r5f0-0
a530-0
[BOOTLOADER PROFILE] System_init : 28199us
[BOOTLOADER PROFILE] Drivers_open : 12671us
[BOOTLOADER PROFILE] Board_driversOpen : 0us
[BOOTLOADER PROFILE] Sciclient Get Version : 10054us
[BOOTLOADER PROFILE] MCU R5 Image Load : 264178us
[BOOTLOADER PROFILE] WKUP R5 Image Load : 275308us
[BOOTLOADER PROFILE] A53 Image Load : 2645905us
[BOOTLOADER_PROFILE] SBL Total Time Taken : 3236317us
Image loading done, switching to application ...
Starting linux and RTOS/Baremetal applications
NOTICE: BL31: v2.13.0(release):v2.13.0-240-gd90bb650f-dirty
NOTICE: BL31: Built : 03:14:24, Mar 11 2026
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 6.12.35-ti-00915-ge3e551586dfa (oe-user@oe-host) (aarch64-oe-linux-gcc (GCC) 13.4.0, GNU ld (GNU Binutils) 2.42.0.20240723) #1 SMP PREEMPT Tue Jul 1 21:17:52 UTC 2025
[ 0.000000] KASLR disabled due to lack of seed
.........
sgid=0 fsgid=0 tty=(none) ses=2 comm="systemd" exe="/usr/lib/systemd/systemd" subj=kernel key=(null)
[ 26.666435] audit: type=1327 audit(1748545070.244:17): proctitle="(systemd)"
[ 26.673538] audit: type=1334 audit(1748545070.244:18): prog-id=19 op=LOAD
root@am62pxx-evm:~# free -m
total used free shared buff/cache available
Mem: 909 358 249 68 439 550
Swap: 0 0 0
root@am62pxx-evm:~# cat /proc/meminfo
MemTotal: 930940 kB
MemFree: 254932 kB
MemAvailable: 563480 kB
Buffers: 12872 kB
Regards
Joe
Hi Pengfei,
there is free -m log, I cannot upload the image and log, please help share your email. I will send the image to you.
root@am62pxx-evm:~# free -m
total used free shared buff/cache available
Mem: 909 358 249 68 439 550
Swap: 0 0 0
root@am62pxx-evm:~# cat /proc/meminfo
MemTotal: 930940 kB
MemFree: 254932 kB
MemAvailable: 563480 kB
Buffers: 12872 kB
Regards
Joe
Hi Pengfei,
I sent the image and full log to you by email. It is SD card boot mode. please try to replicate it on your site.
I think OSPI boot will be the same as SD boot in this case.
Regards
Joe
Hi Pengfei,
Image is sent at 14:08 PM, please use ubuntu 22.04 Linux machine to create SD card.
ti-processor-sdk-linux-am62pxx-evm-11.01.05.03/bin/create-sdcard.sh
Regards
Joe
Hi Suren Porwar
I am so sorry , I have already modify dts is ok ,But free -m have some errors at my rootfs
Best Regards
SUI