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.

AM3354: Beaglebone Black - Linux kernel fails to start on AM3354

Part Number: AM3354
Other Parts Discussed in Thread: AM3358,

Hi,

Our customized board is based on Beaglebone Black. Due to parts shortage, we had to use both AM3358 and AM3354.
We encountered an issue that Linux crashes when starting up, and it happens only on AM3354, not on AM3358.

TI has previously confirmed there is no software change needed to use AM3354 and AM3358 interchangeably.

So here are my questions:
1. Is this a known issue that has been fixed? If yes, which commits from the dunfell branches contain the fix?
2. Or anything needs to be modified (in device tree?) for the Linux kernel to be able to boot from both AM3354 and AM3358?

Please help. Thank you!


Here are the TI kernel information:
TI kernel ti-linux-5.10.y branch, tag: cicd.2022.10.28.09.04.44.
Kernel is built using Yocto build system:
poky branch dunfell 4ddc26f4e4c7       (~10/17/2022)
meta-ti branch dunfell 4d6de396af24    (~11/04/2022)

I also attached the kernel start up log here.

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.10.145-000-g8b51d20b6e (oe-user@oe-host) (arm-poky-linux-gnueabi-gcc (GCC) 9.3.0, GNU ld (GNU Binutils) 2.34.0.20200220) #1 PREEMPT Fri Oct 28 12:41:58 UTC 2022
[    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: TI AM335x BeagleBone Black
[    0.000000] Memory policy: Data cache writeback
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Failed to reserve 512 MiB
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000080000000-0x000000009fdfffff]
[    0.000000]   HighMem  empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000080000000-0x000000009fdfffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x000000009fdfffff]
[    0.000000] CPU: All CPU(s) started in SVC mode.
[    0.000000] AM335X ES2.1 (sgx neon)
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 129412
[    0.000000] Kernel command line: console=ttyS0,115200 root=/dev/mmcblk1p3 rootwait rw ip=dhcp
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 502600K/522240K available (8192K kernel code, 735K rwdata, 2956K rodata, 1024K init, 239K bss, 19640K reserved, 0K cma-reserved, 0K highmem)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000]  Trampoline variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] IRQ: Found an INTC at 0x(ptrval) (revision 5.0) with 128 interrupts
[    0.000000] TI gptimer clocksource: always-on /ocp/interconnect@44c00000/segment@200000/target-module@31000
[    0.000009] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[    0.000028] clocksource: dmtimer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.000390] TI gptimer clockevent: 24000000 Hz at /ocp/interconnect@48000000/segment@0/target-module@40000
[    0.001710] Console: colour dummy device 80x30
[    0.001795] Calibrating delay loop... 996.14 BogoMIPS (lpj=4980736)
[    0.090466] pid_max: default: 32768 minimum: 301
[    0.090624] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.090639] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.091480] CPU: Testing write buffer coherency: ok
[    0.091553] CPU0: Spectre v2: using BPIALL workaround
[    0.092512] Setting up static identity map for 0x80100000 - 0x80100060
[    0.092666] rcu: Hierarchical SRCU implementation.
[    0.092770] EFI services will not be available.
[    0.093157] devtmpfs: initialized
[    0.104433] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[    0.104685] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.104710] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.104846] pinctrl core: initialized pinctrl subsystem
[    0.105647] DMI not present or invalid.
[    0.106357] NET: Registered protocol family 16
[    0.106892] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.124876] l3-aon-clkctrl:0000:0: failed to disable
[    0.125980] thermal_sys: Registered thermal governor 'fair_share'
[    0.125992] thermal_sys: Registered thermal governor 'bang_bang'
[    0.126005] thermal_sys: Registered thermal governor 'step_wise'
[    0.126013] thermal_sys: Registered thermal governor 'user_space'
[    0.126608] cpuidle: using governor ladder
[    0.126654] cpuidle: using governor menu
[    1.260946] No ATAGs?
[    1.260975] hw-breakpoint: debug architecture 0x4 unsupported.
[    1.285772] iommu: Default domain type: Translated
[    1.287895] SCSI subsystem initialized
[    1.288431] pps_core: LinuxPPS API ver. 1 registered
[    1.288445] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    1.288469] PTP clock support registered
[    1.290420] clocksource: Switched to clocksource dmtimer
[    1.297600] NET: Registered protocol family 2
[    1.297892] IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    1.298967] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    1.299028] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
[    1.299070] TCP bind hash table entries: 4096 (order: 2, 16384 bytes, linear)
[    1.299109] TCP: Hash tables configured (established 4096 bind 4096)
[    1.299221] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    1.299242] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    1.299378] NET: Registered protocol family 1
[    1.300382] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
[    1.301953] Initialise system trusted keyrings
[    1.302364] workingset: timestamp_bits=14 max_order=17 bucket_order=3
[    1.305995] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    1.306110] ntfs: driver 2.1.32 [Flags: R/O].
[    1.306864] Key type asymmetric registered
[    1.306885] Asymmetric key parser 'x509' registered
[    1.306935] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[    1.306947] io scheduler mq-deadline registered
[    1.306955] io scheduler kyber registered
[    1.594660] ti-sysc: probe of 44e31000.target-module failed with error -16
[    1.644098] ti-sysc: probe of 48040000.target-module failed with error -16
[    1.738347] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
[    1.868188] debugfs: Directory '49000000.dma' with parent 'dmaengine' already present!
[    1.868233] edma 49000000.dma: TI EDMA DMA engine driver
[    1.888750] pinctrl-single 44e10800.pinmux: 142 pins, size 568
[    1.937557] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
[    1.941907] printk: console [ttyS0] disabled
[    1.942094] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 20, base_baud = 3000000) is a 8250
[    2.523136] printk: console [ttyS0] enabled
[    2.530532] omap_rng 48310000.rng: Random Number Generator ver. 20
[    2.540784] random: crng init done
[    2.558057] brd: module loaded
[    2.567834] loop: module loaded
[    2.640459] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 1000000
[    2.650659] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver SMSC LAN8710/LAN8720
[    2.660626] cpsw-switch 4a100000.switch: initialized cpsw ale version 1.4
[    2.667457] cpsw-switch 4a100000.switch: ALE Table size 1024
[    2.673312] cpsw-switch 4a100000.switch: cpts: overflow check period 500 (jiffies)
[    2.680959] cpsw-switch 4a100000.switch: CPTS: ref_clk_freq:250000000 calc_mult:2147483648 calc_shift:29 error:0 nsec/sec
[    2.692073] cpsw-switch 4a100000.switch: Detected MACID = cc:33:31:32:73:63
[    2.699917] cpsw-switch 4a100000.switch: initialized (regs 0x4a100000, pool size 256) hw_ver:0019010C 1.12 (0)
[    2.711145] i2c /dev entries driver
[    2.717341] cpuidle: enable-method property 'ti,am3352' found operations
[    2.724790] sdhci: Secure Digital Host Controller Interface driver
[    2.731049] sdhci: Copyright(c) Pierre Ossman
[    2.736432] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.744478] sdhci-omap 481d8000.mmc: supply vqmmc not found, using dummy regulator
[    2.753089] ledtrig-cpu: registered to indicate activity on CPUs
[    2.773250] NET: Registered protocol family 10
[    2.790931] Segment Routing with IPv6
[    2.794692] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    2.801384] NET: Registered protocol family 17
[    2.805906] Key type dns_resolver registered
[    2.814500] omap_voltage_late_init: Voltage driver support not added
[    2.821990] Loading compiled-in X.509 certificates
[    2.839327] OMAP GPIO hardware version 0.1
[    2.846807] mmc1: SDHCI controller on 481d8000.mmc [481d8000.mmc] using External DMA
[    2.871417] tps65217-pmic: Failed to locate of_node [id: -1]
[    2.893900] tps65217-bl: Failed to locate of_node [id: -1]
[    2.904794] tps65217 0-0024: TPS65217 ID 0xe version 1.2
[    2.910655] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 100 kHz
[    2.918318] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 400 kHz
[    2.926836] mmc1: new high speed MMC card at address 0001
[    2.933391] omap_i2c 4819c000.i2c: bus 2 rev0.11 at 400 kHz
[    2.940580] mmcblk1: mmc1:0001 IN004G 3.64 GiB
[    2.945413] mmcblk1boot0: mmc1:0001 IN004G partition 1 2.00 MiB
[    2.952947] 8<--- cut here ---
[    2.956028] Unhandled fault: external abort on non-linefetch (0x1008) at 0xe0366000
[    2.963722] pgd = 0f009b8b
[    2.966436] [e0366000] *pgd=8204d811, *pte=4a326653, *ppte=4a326453
[    2.972750] Internal error: : 1008 [#1] PREEMPT ARM
[    2.977647] Modules linked in:
[    2.980721] CPU: 0 PID: 40 Comm: kworker/0:2 Not tainted 5.10.145-000-g8b51d20b6e #1
[    2.989889] Hardware name: Generic AM33XX (Flattened Device Tree)
[    2.996023] Workqueue: events deferred_probe_work_func
[    3.001197] PC is at sysc_probe+0xd04/0x1568
[    3.005491] LR is at omap_reset_deassert+0x1ac/0x318
[    3.010474] pc : [<c047b250>]    lr : [<c04d5cfc>]    psr: 60000013
[    3.016764] sp : c1345e28  ip : 00000000  fp : c092a124
[    3.022008] r10: 00000028  r9 : 00000000  r8 : c092a5e4
[    3.027251] r7 : c1172210  r6 : 00000000  r5 : c0ee9170  r4 : c20e4c40
[    3.033803] r3 : e0366000  r2 : 00000000  r1 : 00026000  r0 : 00000000
[    3.040358] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
[    3.047521] Control: 10c5387d  Table: 80004019  DAC: 00000051
[    3.053289] Process kworker/0:2 (pid: 40, stack limit = 0x37e1ae70)
[    3.059581] Stack: (0xc1345e28 to 0xc1346000)
[    3.063958] 5e20:                   00000001 00000000 c0e12158 c0b2725c 00000000 c0ee9170
[    3.072171] 5e40: c1172210 c0b2713c 00000001 00000001 00000030 c0e04048 00000000 00000000
[    3.080384] 5e60: c1172210 c0e8bbd4 00000000 c0eed3ec c0e8bbd4 0000000b c1311720 c05b3c14
[    3.088597] 5e80: c1172210 c0eed3e4 00000000 00000000 c0eed3ec c05b1ad0 00000000 c1172210
[    3.096810] 5ea0: c0e8bbd4 c05b1fe4 c0e9bc58 00000000 00000000 c0e9bc7c c1311720 c05b1ee4
[    3.105024] 5ec0: 00000000 c1345ef4 c05b1fe4 c05afdc8 00000000 c113205c c1210434 c0e04048
[    3.113238] 5ee0: c1172210 00000001 c1172254 c05b1934 c1172210 c1172210 00000001 c0e04048
[    3.121453] 5f00: c1172210 c1172210 c0e9bec8 c05b0c3c c1172210 c0e9bc4c c0e9bc4c c05b10f4
[    3.129668] 5f20: c0e9bc78 c132d600 00000000 df941200 00000000 c0141e98 c1344000 c0e7f260
[    3.137881] 5f40: c132d600 c0e14954 c132d614 c1344000 c0e7f260 c0e14968 c0e14954 c0142364
[    3.146094] 5f60: 00000000 c1311700 c1328d40 c1344000 00000000 c0142130 c132d600 c106fed0
[    3.154308] 5f80: c1311720 c0146ce8 00000000 c1328d40 c0146ba8 00000000 00000000 00000000
[    3.162521] 5fa0: 00000000 00000000 00000000 c0100148 00000000 00000000 00000000 00000000
[    3.170734] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    3.178947] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[    3.187180] [<c047b250>] (sysc_probe) from [<c05b3c14>] (platform_drv_probe+0x48/0x98)
[    3.195135] [<c05b3c14>] (platform_drv_probe) from [<c05b1ad0>] (really_probe+0xf0/0x398)
[    3.203350] [<c05b1ad0>] (really_probe) from [<c05b1ee4>] (driver_probe_device+0x5c/0xb4)
[    3.211574] [<c05b1ee4>] (driver_probe_device) from [<c05afdc8>] (bus_for_each_drv+0x84/0xd0)
[    3.220137] [<c05afdc8>] (bus_for_each_drv) from [<c05b1934>] (__device_attach+0x104/0x1a8)
[    3.228527] [<c05b1934>] (__device_attach) from [<c05b0c3c>] (bus_probe_device+0x84/0x8c)
[    3.236742] [<c05b0c3c>] (bus_probe_device) from [<c05b10f4>] (deferred_probe_work_func+0x7c/0xa8)
[    3.245745] [<c05b10f4>] (deferred_probe_work_func) from [<c0141e98>] (process_one_work+0x1b8/0x450)
[    3.254919] [<c0141e98>] (process_one_work) from [<c0142364>] (worker_thread+0x234/0x5cc)
[    3.263138] [<c0142364>] (worker_thread) from [<c0146ce8>] (kthread+0x140/0x184)
[    3.270569] [<c0146ce8>] (kthread) from [<c0100148>] (ret_from_fork+0x14/0x2c)
[    3.277818] Exception stack(0xc1345fb0 to 0xc1345ff8)
[    3.282890] 5fa0:                                     00000000 00000000 00000000 00000000
[    3.291102] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    3.299315] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[    3.305962] Code: e3130004 1a0000e0 e5943014 e0833001 (e593c000)
[    3.312085] ---[ end trace 0d6b56e9dbf07e83 ]---
[    3.317207] mmcblk1boot1: mmc1:0001 IN004G partition 2 2.00 MiB
[    3.323438] mmcblk1rpmb: mmc1:0001 IN004G partition 3 512 KiB, chardev (244:0)