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.

AM3358: Custom carrier Board not booting with BeagleBoneBlack Yocto source

Part Number: AM3358

Deat TI Team,

We are working on Beagle Bone Black EVK and designed a custom carrier board for one of our customers. Custom carrier board hardware design is almost same as Beagle Bone Black EVK. And the only difference is as belows:

1. DDR: Replaced MT41K256M16HA-125 512MB DDR3L with IS43TR16512B125KBLI 1GB DDR3L in the custom board

2. eMMC - Replaced MTFC4GLDEA 0M WT with SFEM4096B1EA1TO-I-GE-121-STD

3. Added few other peripherals like LCD, I2C devices and Battery etc.

4. Here, Power to custom board is 3.3V and then we are using Booster circuit to get 5V.

5. Removed EEPROM (which has Board specific information) from I2C0 Bus

When I boot the Beagle Bone Black images in the custom board, it boots SPL and started U-boot but not finished its execution completely, Hanged after print the U-boot Banner and CPU, Model and DDR information. And the log files are as follows:

Beagle Bone Black with EEPROM with Beagle Bone Black images

*************************** Beaglebone Black EVK with EEPROM and default images with debug prints enabled ***************************

Welcome to minicom 2.7.1

OPTIONS: I18n 
Compiled on Dec 23 2019, 02:06:26.
Port /dev/ttyUSB0, 18:52:11

Press CTRL-A Z for help on special keys

runscript: couldn't open "115200"
<debug_uart> [DEBUG]: Debug UART is configured
[DEBUG]: Calling do_board_detect function
[DEBUG]: I2C0 pin muxing
[DEBUG]: ti_i2c_eeprom_init success
DEBUG: Early_system_init function Ended
[DEBUG]: board_early_init_f function ended
[DEBUG]: Before sdram_init
[DEBUG]: sdram_init function called
[DEBUG]: A335BNLT is detected
[DEBUG]: Configuring BBB RAM
[DEBUG]: config_ddr function called
[DEBUG]: config_sdram fnction called
[DEBUG]: config_sdram function ended
[DEBUG]: config_ddr function ended
[DEBUG]: Finishing the sdram_init function
[DEBUG]: DDR size = 536870912
SPL: board_init_r() function called
SPL: spl_init function called
SPL: spl_init function ended
SPL: Before spl_board_init functioni
[DEBUG]: spl_board_init function called
SPL: preloader_console_init function called
SPL:  Printing U-BOOT SPL Banner

U-Boot SPL 2020.01 (Jan 06 2020 - 20:56:31 +0000)
SPL: Before bootcount_inc function
SPL: Fetching the board_boot_order from available bootable devices
SPL: Before boot_from_devices()
Trying to boot from MMC1
[DEBUG]: spl_load_image function called
[DEBUG]: Jumping to U-Boot
[DEBUG]: loaded - jumping to U-Boot...
[DEBUG]: board_init_f function called


U-Boot 2020.01 (Jan 06 2020 - 20:56:31 +0000)

CPU  : AM335X-GP rev 2.1
Model: TI AM335x BeagleBone Black
DRAM:  512 MiB
WDT:   Started with servicing (60s timeout)
NAND:  0 MiB
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
Loading Environment from FAT... *** Warning - bad CRC, using default environment

<ethaddr> not set. Validating first E-fuse MAC
Net:   eth0: ethernet@4a100000
Warning: usb_ether MAC addresses don't match:
Address in ROM is          de:ad:be:ef:00:01
Address in environment is  a0:f6:fd:8a:73:17
, eth1: usb_ether
Hit any key to stop autoboot:  0 
=> 
=> 
=> printenv 
addr_fit=0x90000000
arch=arm
args_mmc=run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} rw rootfstype=${mmcrootfstype}
baudrate=115200
board=am335x
board_name=A335BNLT
board_rev=00C0
board_serial=1116BBBK124E
boot_a_script=load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; source ${scriptaddr}
boot_efi_binary=if fdt addr ${fdt_addr_r}; then bootefi bootmgr ${fdt_addr_r};else bootefi bootmgr ${fdtcontroladdr};fi;load ${devtype} ${devnum}:${disi
boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}${boot_syslinux_conf}
boot_fdt=try
boot_fit=0
boot_net_usb_start=usb start
boot_prefixes=/ /boot/
boot_script_dhcp=boot.scr.uimg
boot_scripts=boot.scr.uimg boot.scr
boot_syslinux_conf=extlinux/extlinux.conf
boot_targets=mmc0 legacy_mmc0 mmc1 legacy_mmc1 nand0 pxe dhcp 
bootcmd=if test ${boot_fit} -eq 1; then run update_to_fit; fi; run findfdt; run init_console; run envboot; run distro_bootcmd
bootcmd_dhcp=run boot_net_usb_start; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi;setenv efi_fdtfile ${fdtfile}; if test -z;
bootcmd_legacy_mmc0=setenv mmcdev 0; setenv bootpart 0:2 ; run mmcboot
bootcmd_legacy_mmc1=setenv mmcdev 1; setenv bootpart 1:2 ; run mmcboot
bootcmd_mmc0=devnum=0; run mmc_boot
bootcmd_mmc1=devnum=1; run mmc_boot
bootcmd_nand=run nandboot
bootcmd_pxe=run boot_net_usb_start; dhcp; if pxe get; then pxe boot; fi
bootcount=1
bootdelay=2
bootdir=/boot
bootenvfile=uEnv.txt
bootfile=zImage
bootm_size=0x10000000
bootpart=0:2
bootscript=echo Running bootscript from mmc${mmcdev} ...; source ${loadaddr}
console=ttyO0,115200n8
cpu=armv7
dfu_alt_info_emmc=rawemmc raw 0 3751936;boot part 1 1;rootfs part 1 2;MLO fat 1 1;MLO.raw raw 0x100 0x100;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw1
dfu_alt_info_mmc=boot part 0 1;rootfs part 0 2;MLO fat 0 1;MLO.raw raw 0x100 0x100;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-ar1
dfu_alt_info_nand=SPL part 0 1;SPL.backup1 part 0 2;SPL.backup2 part 0 3;SPL.backup3 part 0 4;u-boot part 0 5;u-boot-spl-os part 0 6;kernel part 0 8;ro9
dfu_alt_info_ram=kernel ram 0x80200000 0x4000000;fdt ram 0x80f80000 0x80000;ramdisk ram 0x81000000 0x4000000
distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done
efi_dtb_prefixes=/ /dtb/ /dtb/current/
envboot=mmc dev ${mmcdev}; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadbootscript; then run bootscript;else if run loadbootenv;
eth1addr=a0:f6:fd:8a:73:17
ethaddr=a0:f6:fd:8a:73:15
fdt_addr_r=0x88000000
fdtaddr=0x88000000
fdtcontroladdr=9df38c70
fdtfile=undefined
findfdt=if test $board_name = A335BONE; then setenv fdtfile am335x-boneblack.dtb; fi; if test $board_name = A335BNLT; then setenv fdtfile am335x-bonebl 
finduuid=part uuid mmc ${bootpart} uuid
get_overlaystring=for overlay in $overlay_files;do;setenv overlaystring ${overlaystring}'#'${overlay};done;
importbootenv=echo Importing environment from mmc${mmcdev} ...; env import -t ${loadaddr} ${filesize}
init_console=if test $board_name = A335_ICE; then setenv console ttyO3,115200n8;else setenv console ttyO0,115200n8;fi;
kernel_addr_r=0x82000000
load_efi_dtb=load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile}
loadaddr=0x82000000
loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}
loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr
loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}
loadfit=run args_mmc; run run_fit;
loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}
loadramdisk=load mmc ${mmcdev} ${rdaddr} ramdisk.gz
mmc_boot=if mmc dev ${devnum}; then devtype=mmc; run scan_dev_for_boot_part; fi
mmcboot=mmc dev ${mmcdev}; devnum=${mmcdev}; setenv devtype mmc; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadimage; then if te;
mmcdev=0
mmcloados=run args_mmc; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootz ${loadaddr} - ${fdtaddr}; else if test ${b;
mmcrootfstype=ext4 rootwait
mtdids=nand0=nand.0
mtdparts=mtdparts=nand.0:128k(NAND.SPL),128k(NAND.SPL.backup1),128k(NAND.SPL.backup2),128k(NAND.SPL.backup3),256k(NAND.u-boot-spl-os),1m(NAND.u-boot),1)
name_fit=fitImage
nandargs=setenv bootargs console=${console} ${optargs} root=${nandroot} rootfstype=${nandrootfstype}
nandboot=echo Booting from nand ...; run nandargs; nand read ${fdtaddr} NAND.u-boot-spl-os; nand read ${loadaddr} NAND.kernel; bootz ${loadaddr} - ${fd}
nandroot=ubi0:rootfs rw ubi.mtd=NAND.file-system,2048
nandrootfstype=ubifs rootwait=1
netargs=setenv bootargs console=${console} ${optargs} root=/dev/nfs nfsroot=${serverip}:${rootpath},${nfsopts} rw ip=dhcp
netboot=echo Booting from network ...; setenv autoload no; dhcp; run netloadimage; run netloadfdt; run netargs; bootz ${loadaddr} - ${fdtaddr}
netloadfdt=tftp ${fdtaddr} ${fdtfile}
netloadimage=tftp ${loadaddr} ${bootfile}
nfsopts=nolock
partitions=uuid_disk=${uuid_gpt_disk};name=bootloader,start=384K,size=1792K,uuid=${uuid_gpt_bootloader};name=rootfs,start=2688K,size=-,uuid=${uuid_gpt_}
pxefile_addr_r=0x80100000
ramargs=setenv bootargs console=${console} ${optargs} root=${ramroot} rootfstype=${ramrootfstype}
ramboot=echo Booting from ramdisk ...; run ramargs; bootz ${loadaddr} ${rdaddr} ${fdtaddr}
ramdisk_addr_r=0x88080000
ramroot=/dev/ram0 rw
ramrootfstype=ext2
rdaddr=0x88080000
rootpath=/export/rootfs
run_fit=bootm ${addr_fit}#${fdtfile}${overlaystring}
scan_dev_for_boot=echo Scanning ${devtype} ${devnum}:${distro_bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_extlinux; run scan_dev_;
scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist};t
scan_dev_for_efi=setenv efi_fdtfile ${fdtfile}; if test -z "${fdtfile}" -a -n "${soc}"; then setenv efi_fdtfile ${soc}-${board}${boardver}.dtb; fi; fore
scan_dev_for_extlinux=if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${boot_syslinux_conf}; then echo Found ${prefix}${boot_syslinux_conf}i
scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot sce
scriptaddr=0x80000000
serial#=1116BBBK124E
soc=am33xx
spiargs=setenv bootargs console=${console} ${optargs} root=${spiroot} rootfstype=${spirootfstype}
spiboot=echo Booting from spi ...; run spiargs; sf probe ${spibusno}:0; sf read ${loadaddr} ${spisrcaddr} ${spiimgsize}; bootz ${loadaddr}
spibusno=0
spiimgsize=0x362000
spiroot=/dev/mtdblock4 rw
spirootfstype=jffs2
spisrcaddr=0xe0000
static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
stderr=serial@44e09000
stdin=serial@44e09000
stdout=serial@44e09000
update_to_fit=setenv loadaddr ${addr_fit}; setenv bootfile ${name_fit}
usb_boot=usb start; if usb dev ${devnum}; then devtype=usb; run scan_dev_for_boot_part; fi
usbnet_devaddr=de:ad:be:ef:00:01
vendor=ti
ver=U-Boot 2020.01 (Jan 06 2020 - 20:56:31 +0000)

Environment size: 9914/131068 bytes
=> boot
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
119 bytes read in 4 ms (28.3 KiB/s)
1:      Yocto
Retrieving file: /zImage
7014608 bytes read in 453 ms (14.8 MiB/s)
append: root=PARTUUID=14e806d2-02 rootwait console=ttyS0,115200
Retrieving file: /am335x-boneblack.dtb
58300 bytes read in 7 ms (7.9 MiB/s)
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
   Loading Device Tree to 8ffee000, end 8ffff3bb ... OK

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 5.4.58-yocto-standard (oe-user@oe-host) (gcc version 9.5.0 (GCC)) #1 PREEMPT Sun Aug 16 22:40:50 UTC 2020
CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
OF: fdt: Machine model: TI AM335x BeagleBone Black
Memory policy: Data cache writeback
cma: Reserved 16 MiB at 0x9e800000
CPU: All CPU(s) started in SVC mode.
AM335X ES2.1 (sgx neon)
Built 1 zonelists, mobility grouping on.  Total pages: 129666
Kernel command line: root=PARTUUID=14e806d2-02 rootwait console=ttyS0,115200
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
mem auto-init: stack:off, heap alloc:off, heap free:off
Memory: 484692K/523264K available (10240K kernel code, 938K rwdata, 3512K rodata, 1024K init, 584K bss, 22188K reserved, 16384K cma-reserved, 0K highme)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
ftrace: allocating 35891 entries in 71 pages
rcu: Preemptible hierarchical RCU implementation.
        Tasks RCU enabled.
rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
IRQ: Found an INTC at 0x(ptrval) (revision 5.0) with 128 interrupts
random: get_random_bytes called from start_kernel+0x2bc/0x4f0 with crng_init=0
OMAP clockevent source: timer2 at 24000000 Hz
sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
OMAP clocksource: timer1 at 24000000 Hz
timer_probe: no matching timers found
Console: colour dummy device 80x30
Calibrating delay loop... 996.14 BogoMIPS (lpj=4980736)
pid_max: default: 32768 minimum: 301
LSM: Security Framework initializing
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
CPU: Testing write buffer coherency: ok
CPU0: Spectre v2: using BPIALL workaround
Setting up static identity map for 0x80100000 - 0x80100060
rcu: Hierarchical SRCU implementation.
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
futex hash table entries: 256 (order: -1, 3072 bytes, linear)
xor: measuring software checksum speed
   arm4regs  :  1221.600 MB/sec
   8regs     :   905.200 MB/sec
   32regs    :  1174.800 MB/sec
xor: using function: arm4regs (1221.600 MB/sec)
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
l3-aon-clkctrl:0000:0: failed to disable
cpuidle: using governor ladder
cpuidle: using governor menu
hw-breakpoint: debug architecture 0x4 unsupported.
Serial: AMBA PL011 UART driver
raid6: int32x8  gen()   151 MB/s
raid6: int32x8  xor()   102 MB/s
raid6: int32x4  gen()   160 MB/s
raid6: int32x4  xor()   113 MB/s
raid6: int32x2  gen()   270 MB/s
raid6: int32x2  xor()   190 MB/s
raid6: int32x1  gen()   226 MB/s
raid6: int32x1  xor()   161 MB/s
raid6: using algorithm int32x2 gen() 270 MB/s
raid6: .... xor() 190 MB/s, rmw enabled
raid6: using intx1 recovery algorithm
edma 49000000.edma: TI EDMA DMA engine driver
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
clocksource: Switched to clocksource timer1
NET: Registered protocol family 2
tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes, linear)
TCP: Hash tables configured (established 4096 bind 4096)
UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
Initialise system trusted keyrings
workingset: timestamp_bits=14 max_order=17 bucket_order=3
NFS: Registering the id_resolver key type
Key type id_resolver registered
Key type id_legacy registered
Key type cifs.idmap registered
Key type asymmetric registered
Asymmetric key parser 'x509' registered
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250)
io scheduler mq-deadline registered
io scheduler kyber registered
OMAP GPIO hardware version 0.1
ti-sysc 4a101200.target-module: OCP softreset timed out
ti-sysc 4a101200.target-module: OCP softreset timed out
pinctrl-single 44e10800.pinmux: 142 pins, size 568
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
printk: console [ttyS0] disabled
44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 29, base_baud = 3000000) is a 8250
random: fast init done
printk: console [ttyS0] enabled
omap_rng 48310000.rng: Random Number Generator ver. 20
random: crng init done
brd: module loaded
mtdoops: mtd device (mtddev=name/number) must be supplied
libphy: Fixed MDIO Bus: probed
ti-sysc 4a101200.target-module: OCP softreset timed out
davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 1000000
libphy: 4a101000.mdio: probed
davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver SMSC LAN8710/LAN8720
cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
cpsw 4a100000.ethernet: ALE Table size 1024
cpsw 4a100000.ethernet: Detected MACID = a0:f6:fd:8a:73:15
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-omap: OMAP-EHCI Host Controller driver
usbcore: registered new interface driver usb-storage
am335x-phy-driver 47401300.usb-phy: 47401300.usb-phy supply vcc not found, using dummy regulator
am335x-phy-driver 47401b00.usb-phy: 47401b00.usb-phy supply vcc not found, using dummy regulator
omap_rtc 44e3e000.rtc: registered as rtc0
i2c /dev entries driver
omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
omap_gpio 44e07000.gpio: Could not set line 6 debounce to 200000 microseconds (-22)
omap_hsmmc 48060000.mmc: Got CD GPIO
omap_hsmmc 47810000.mmc: RX DMA channel request failed
usbcore: registered new interface driver usbhid
mmc0: host does not support reading read-only switch, assuming write-enable
usbhid: USB HID core driver
oprofile: using arm/armv7
u32 classifier
    input device check on
mmc0: Problem switching card into high-speed mode!
    Actions configured
NET: Registered protocol family 10
mmc0: new SDHC card at address 0001
mmcblk0: mmc0:0001 SD16G 14.5 GiB 
Segment Routing with IPv6
sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
 mmcblk0: p1 p2
NET: Registered protocol family 17
Key type dns_resolver registered
ThumbEE CPU extension supported.
omap_voltage_late_init: Voltage driver support not added
Loading compiled-in X.509 certificates
Key type ._fscrypt registered
Key type .fscrypt registered
Btrfs loaded, crc32c=crc32c-generic
Key type encrypted registered
mmc1: new high speed MMC card at address 0001
mmcblk1: mmc1:0001 S10004 3.56 GiB 
mmcblk1boot0: mmc1:0001 S10004 partition 1 4.00 MiB
mmcblk1boot1: mmc1:0001 S10004 partition 2 4.00 MiB
mmcblk1rpmb: mmc1:0001 S10004 partition 3 4.00 MiB, chardev (249:0)
 mmcblk1: p1 p2
tps65217 0-0024: TPS65217 ID 0xe version 1.2
tda998x 0-0070: found TDA19988
tilcdc 4830e000.lcdc: bound 0-0070 (ops tda998x_ops)
[drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[drm] No driver support for vblank timestamp query.
[drm] Initialized tilcdc 1.0.0 20121205 for 4830e000.lcdc on minor 0
[drm] Cannot find any crtc or sizes
omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[drm] Cannot find any crtc or sizes
omap_i2c 4819c000.i2c: bus 2 rev0.11 at 100 kHz
musb-hdrc musb-hdrc.1: MUSB HDRC host driver
musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 1
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
printk: console [netcon0] enabled
netconsole: network logging started
omap_rtc 44e3e000.rtc: setting system clock to 2000-01-01T00:00:00 UTC (946684800)
cfg80211: Loading compiled-in X.509 certificates for regulatory database
cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
cfg80211: failed to load regulatory.db
EXT4-fs (mmcblk0p2): INFO: recovery required on readonly filesystem
EXT4-fs (mmcblk0p2): write access will be enabled during recovery
EXT4-fs (mmcblk0p2): recovery complete
EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
VFS: Mounted root (ext4 filesystem) readonly on device 179:2.
devtmpfs: mounted
Freeing unused kernel memory: 1024K
Run /sbin/init as init process
INIT: version 2.96 booting
FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
Starting udev
udevd[109]: starting version 3.2.9
udevd[110]: starting eudev-3.2.9
EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
Fri Mar  9 12:34:56 UTC 2018
INIT: Entering runlevel: 5
Configuring network interfaces... ti-sysc 4a101200.target-module: OCP softreset timed out
cpsw 4a100000.ethernet: initializing cpsw version 1.12 (0)
SMSC LAN8710/LAN8720 4a101000.mdio:00: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=4a101000.mdio:00, irq=POLL)
udhcpc: started, v1.31.1
udhcpc: sending discover
cpsw 4a100000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
udhcpc: sending discover
udhcpc: sending select for 172.16.15.14
udhcpc: lease of 172.16.15.14 obtained, lease time 691200
/etc/udhcpc.d/50default: Adding DNS 172.16.5.2
/etc/udhcpc.d/50default: Adding DNS 172.16.5.3
done.
Starting syslogd/klogd: done

Poky (Yocto Project Reference Distro) 3.1.25 beaglebone-yocto /dev/ttyS0

beaglebone-yocto login: root
root@beaglebone-yocto:~# 
CTRL-A Z for help | 115200 8N1 | NOR | Minicom 2.7.1 | VT102 | Offline | ttyUSB0                     

and Custom Board with EEPROM with Beagle Bone black images

*************************** Custom Board with EEPROM and default images of BBB with debug prints enabled ***************************

Welcome to minicom 2.7.1

OPTIONS: I18n 
Compiled on Dec 23 2019, 02:06:26.
Port /dev/ttyUSB0, 19:35:07

Press CTRL-A Z for help on special keys

<debug_uart> [DEBUG]: Debug UART is configured
[DEBUG]: Calling do_board_detect function
[DEBUG]: I2C0 pin muxing
[DEBUG]: ti_i2c_eeprom_init success
DEBUG: Early_system_init function Ended
[DEBUG]: board_early_init_f function ended
[DEBUG]: Before sdram_init
[DEBUG]: sdram_init function called
[DEBUG]: A335BNLT is detected
[DEBUG]: Configuring BBB RAM
[DEBUG]: config_ddr function called
[DEBUG]: config_sdram fnction called
[DEBUG]: config_sdram function ended
[DEBUG]: config_ddr function ended
[DEBUG]: Finishing the sdram_init function
[DEBUG]: DDR size = 1073741824
SPL: board_init_r() function called
SPL: spl_init function called
SPL: spl_init function ended
SPL: Before spl_board_init functioni
[DEBUG]: spl_board_init function called
SPL: preloader_console_init function called
SPL:  Printing U-BOOT SPL Banner

U-Boot SPL 2020.01 (Jan 06 2020 - 20:56:31 +0000)
SPL: Before bootcount_inc function
SPL: Fetching the board_boot_order from available bootable devices
SPL: Before boot_from_devices()
Trying to boot from MMC1
[DEBUG]: spl_load_image function called
[DEBUG]: Jumping to U-Boot
[DEBUG]: loaded - jumping to U-Boot...
[DEBUG]: board_init_f function called


U-Boot 2020.01 (Jan 06 2020 - 20:56:31 +0000)

CPU  : AM335X-GP rev 2.1
Model: TI AM335x BeagleBone Black
DRAM:  1 GiB

************************************* Hanged at this stage *************************************






<debug_uart> [DEBUG]: Debug UART is configured
[DEBUG]: Calling do_board_detect function
[DEBUG]: I2C0 pin muxing
[DEBUG]: ti_i2c_eeprom_init success
DEBUG: Early_system_init function Ended
[DEBUG]: board_early_init_f function ended
[DEBUG]: Before sdram_init
[DEBUG]: sdram_init function called
[DEBUG]: A335BNLT is detected
[DEBUG]: Configuring BBB RAM
[DEBUG]: config_ddr function called
[DEBUG]: config_sdram fnction called
[DEBUG]: config_sdram function ended
[DEBUG]: config_ddr function ended
[DEBUG]: Finishing the sdram_init function
[DEBUG]: DDR size = 1073741824
SPL: board_init_r() function called
SPL: spl_init function called
SPL: spl_init function ended
SPL: Before spl_board_init functioni
[DEBUG]: spl_board_init function called
SPL: preloader_console_init function called
SPL:  Printing U-BOOT SPL Banner

U-Boot SPL 2020.01 (Jan 06 2020 - 20:56:31 +0000)
SPL: Before bootcount_inc function
SPL: Fetching the board_boot_order from available bootable devices
SPL: Before boot_from_devices()
Trying to boot from MMC1
[DEBUG]: spl_load_image function called
[DEBUG]: Jumping to U-Boot
[DEBUG]: loaded - jumping to U-Boot...
[DEBUG]: board_init_f function called


U-Boot 2020.01 (Jan 06 2020 - 20:56:31 +0000)

CPU  : AM335X-GP rev 2.1
Model: TI AM335x BeagleBone Black
DRAM:  1 GiB
WDT:   Started with servicing (60s timeout)
NAND:  0 MiB
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
Loading Environment from FAT... *** Warning - bad CRC, using default environment

<ethaddr> not set. Validating first E-fuse MAC
Net:   Could not get PHY for ethernet@4a100000: addr 0
eth0: ethernet@4a100000
Warning: usb_ether MAC addresses don't match:
Address in ROM is          de:ad:be:ef:00:01
Address in environment is  0c:b2:b7:d8:bf:46
, eth1: usb_ether
Hit any key to stop autoboot:  0 
=> 
=> 
=> printenv 
addr_fit=0x90000000
arch=arm
args_mmc=run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} rw rootfstype=${mmcrootfstype}
baudrate=115200
board=am335x
board_name=A335BNLT
board_rev=00C0
board_serial=2222SBB36825
boot_a_script=load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; source ${scriptaddr}
boot_efi_binary=if fdt addr ${fdt_addr_r}; then bootefi bootmgr ${fdt_addr_r};else bootefi bootmgr ${fdtcontroladdr};fi;load ${devtype} ${devnum}:${disi
boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}${boot_syslinux_conf}
boot_fdt=try
boot_fit=0
boot_net_usb_start=usb start
boot_prefixes=/ /boot/
boot_script_dhcp=boot.scr.uimg
boot_scripts=boot.scr.uimg boot.scr
boot_syslinux_conf=extlinux/extlinux.conf
boot_targets=mmc0 legacy_mmc0 mmc1 legacy_mmc1 nand0 pxe dhcp 
bootcmd=if test ${boot_fit} -eq 1; then run update_to_fit; fi; run findfdt; run init_console; run envboot; run distro_bootcmd
bootcmd_dhcp=run boot_net_usb_start; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi;setenv efi_fdtfile ${fdtfile}; if test -z;
bootcmd_legacy_mmc0=setenv mmcdev 0; setenv bootpart 0:2 ; run mmcboot
bootcmd_legacy_mmc1=setenv mmcdev 1; setenv bootpart 1:2 ; run mmcboot
bootcmd_mmc0=devnum=0; run mmc_boot
bootcmd_mmc1=devnum=1; run mmc_boot
bootcmd_nand=run nandboot
bootcmd_pxe=run boot_net_usb_start; dhcp; if pxe get; then pxe boot; fi
bootcount=1
bootdelay=2
bootdir=/boot
bootenvfile=uEnv.txt
bootfile=zImage
bootm_size=0x10000000
bootpart=0:2
bootscript=echo Running bootscript from mmc${mmcdev} ...; source ${loadaddr}
console=ttyO0,115200n8
cpu=armv7
dfu_alt_info_emmc=rawemmc raw 0 3751936;boot part 1 1;rootfs part 1 2;MLO fat 1 1;MLO.raw raw 0x100 0x100;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw1
dfu_alt_info_mmc=boot part 0 1;rootfs part 0 2;MLO fat 0 1;MLO.raw raw 0x100 0x100;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-ar1
dfu_alt_info_nand=SPL part 0 1;SPL.backup1 part 0 2;SPL.backup2 part 0 3;SPL.backup3 part 0 4;u-boot part 0 5;u-boot-spl-os part 0 6;kernel part 0 8;ro9
dfu_alt_info_ram=kernel ram 0x80200000 0x4000000;fdt ram 0x80f80000 0x80000;ramdisk ram 0x81000000 0x4000000
distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done
efi_dtb_prefixes=/ /dtb/ /dtb/current/
envboot=mmc dev ${mmcdev}; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadbootscript; then run bootscript;else if run loadbootenv;
eth1addr=0c:b2:b7:d8:bf:46
ethaddr=0c:b2:b7:d8:bf:44
fdt_addr_r=0x88000000
fdtaddr=0x88000000
fdtcontroladdr=bdf38c70
fdtfile=undefined
findfdt=if test $board_name = A335BONE; then setenv fdtfile am335x-boneblack.dtb; fi; if test $board_name = A335BNLT; then setenv fdtfile am335x-bonebl 
finduuid=part uuid mmc ${bootpart} uuid
get_overlaystring=for overlay in $overlay_files;do;setenv overlaystring ${overlaystring}'#'${overlay};done;
importbootenv=echo Importing environment from mmc${mmcdev} ...; env import -t ${loadaddr} ${filesize}
init_console=if test $board_name = A335_ICE; then setenv console ttyO3,115200n8;else setenv console ttyO0,115200n8;fi;
kernel_addr_r=0x82000000
load_efi_dtb=load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile}
loadaddr=0x82000000
loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}
loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr
loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}
loadfit=run args_mmc; run run_fit;
loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}
loadramdisk=load mmc ${mmcdev} ${rdaddr} ramdisk.gz
mmc_boot=if mmc dev ${devnum}; then devtype=mmc; run scan_dev_for_boot_part; fi
mmcboot=mmc dev ${mmcdev}; devnum=${mmcdev}; setenv devtype mmc; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadimage; then if te;
mmcdev=0
mmcloados=run args_mmc; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootz ${loadaddr} - ${fdtaddr}; else if test ${b;
mmcrootfstype=ext4 rootwait
mtdids=nand0=nand.0
mtdparts=mtdparts=nand.0:128k(NAND.SPL),128k(NAND.SPL.backup1),128k(NAND.SPL.backup2),128k(NAND.SPL.backup3),256k(NAND.u-boot-spl-os),1m(NAND.u-boot),1)
name_fit=fitImage
nandargs=setenv bootargs console=${console} ${optargs} root=${nandroot} rootfstype=${nandrootfstype}
nandboot=echo Booting from nand ...; run nandargs; nand read ${fdtaddr} NAND.u-boot-spl-os; nand read ${loadaddr} NAND.kernel; bootz ${loadaddr} - ${fd}
nandroot=ubi0:rootfs rw ubi.mtd=NAND.file-system,2048
nandrootfstype=ubifs rootwait=1
netargs=setenv bootargs console=${console} ${optargs} root=/dev/nfs nfsroot=${serverip}:${rootpath},${nfsopts} rw ip=dhcp
netboot=echo Booting from network ...; setenv autoload no; dhcp; run netloadimage; run netloadfdt; run netargs; bootz ${loadaddr} - ${fdtaddr}
netloadfdt=tftp ${fdtaddr} ${fdtfile}
netloadimage=tftp ${loadaddr} ${bootfile}
nfsopts=nolock
partitions=uuid_disk=${uuid_gpt_disk};name=bootloader,start=384K,size=1792K,uuid=${uuid_gpt_bootloader};name=rootfs,start=2688K,size=-,uuid=${uuid_gpt_}
pxefile_addr_r=0x80100000
ramargs=setenv bootargs console=${console} ${optargs} root=${ramroot} rootfstype=${ramrootfstype}
ramboot=echo Booting from ramdisk ...; run ramargs; bootz ${loadaddr} ${rdaddr} ${fdtaddr}
ramdisk_addr_r=0x88080000
ramroot=/dev/ram0 rw
ramrootfstype=ext2
rdaddr=0x88080000
rootpath=/export/rootfs
run_fit=bootm ${addr_fit}#${fdtfile}${overlaystring}
scan_dev_for_boot=echo Scanning ${devtype} ${devnum}:${distro_bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_extlinux; run scan_dev_;
scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist};t
scan_dev_for_efi=setenv efi_fdtfile ${fdtfile}; if test -z "${fdtfile}" -a -n "${soc}"; then setenv efi_fdtfile ${soc}-${board}${boardver}.dtb; fi; fore
scan_dev_for_extlinux=if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${boot_syslinux_conf}; then echo Found ${prefix}${boot_syslinux_conf}i
scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot sce
scriptaddr=0x80000000
serial#=2222SBB36825
soc=am33xx
spiargs=setenv bootargs console=${console} ${optargs} root=${spiroot} rootfstype=${spirootfstype}
spiboot=echo Booting from spi ...; run spiargs; sf probe ${spibusno}:0; sf read ${loadaddr} ${spisrcaddr} ${spiimgsize}; bootz ${loadaddr}
spibusno=0
spiimgsize=0x362000
spiroot=/dev/mtdblock4 rw
spirootfstype=jffs2
spisrcaddr=0xe0000
static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
stderr=serial@44e09000
stdin=serial@44e09000
stdout=serial@44e09000
update_to_fit=setenv loadaddr ${addr_fit}; setenv bootfile ${name_fit}
usb_boot=usb start; if usb dev ${devnum}; then devtype=usb; run scan_dev_for_boot_part; fi
usbnet_devaddr=de:ad:be:ef:00:01
vendor=ti
ver=U-Boot 2020.01 (Jan 06 2020 - 20:56:31 +0000)

Environment size: 9914/131068 bytes
=> mmc
  mmc mmcinfo
=> mmcinfo 
Device: OMAP SD/MMC
Manufacturer ID: 41
OEM: 3432
Name: SD16G 
Bus Speed: 48000000
Mode: SD High Speed (50MHz)
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 14.5 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes
=> mmc list
OMAP SD/MMC: 0 (SD)
OMAP SD/MMC: 1
=> mmc dev
switch to partitions #0, OK
mmc0 is current device
=> mmc part

Partition Map for MMC device 0  --   Partition Type: DOS

Part    Start Sector    Num Sectors     UUID            Type
  1     8               47112           14e806d2-01     0c Boot
  2     47120           61588           14e806d2-02     83
=> fatls 
fatls - list files in a directory (default /)

Usage:
fatls <interface> [<dev[:part]>] [directory]
    - list files from 'dev' on 'interface' in a 'directory'
=> fatls mmc 0
   109644   MLO
    56484   am335x-bone.dtb
    
   
***************** It hanged at fatls mmc 0 command and never come back ********************





******************* Tried again and checked the same behaviour. This time it is restarted ************************

<debug_uart> [DEBUG]: Debug UART is configured
[DEBUG]: Calling do_board_detect function
[DEBUG]: I2C0 pin muxing
[DEBUG]: ti_i2c_eeprom_init success
DEBUG: Early_system_init function Ended
[DEBUG]: board_early_init_f function ended
[DEBUG]: Before sdram_init
[DEBUG]: sdram_init function called
[DEBUG]: A335BNLT is detected
[DEBUG]: Configuring BBB RAM
[DEBUG]: config_ddr function called
[DEBUG]: config_sdram fnction called
[DEBUG]: config_sdram function ended
[DEBUG]: config_ddr function ended
[DEBUG]: Finishing the sdram_init function
[DEBUG]: DDR size = 1073741824
SPL: board_init_r() function called
SPL: spl_init function called
SPL: spl_init function ended
SPL: Before spl_board_init functioni
[DEBUG]: spl_board_init function called
SPL: preloader_console_init function called
SPL:  Printing U-BOOT SPL Banner

U-Boot SPL 2020.01 (Jan 06 2020 - 20:56:31 +0000)
SPL: Before bootcount_inc function
SPL: Fetching the board_boot_order from available bootable devices
SPL: Before boot_from_devices()
Trying to boot from MMC1
[DEBUG]: spl_load_image function called
[DEBUG]: Jumping to U-Boot
[DEBUG]: loaded - jumping to U-Boot...
[DEBUG]: board_init_f function called


U-Boot 2020.01 (Jan 06 2020 - 20:56:31 +0000)

CPU  : AM335X-GP rev 2.1
Model: TI AM335x BeagleBone Black
DRAM:  1 GiB
WDT:   Started with servicing (60s timeout)
NAND:  0 MiB
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
Loading Environment from FAT... *** Warning - bad CRC, using default environment

<ethaddr> not set. Validating first E-fuse MAC
Net:   Could not get PHY for ethernet@4a100000: addr 0
eth0: ethernet@4a100000
Warning: usb_ether MAC addresses don't match:
Address in ROM is          de:ad:be:ef:00:01
Address in environment is  0c:b2:b7:d8:bf:46
, eth1: usb_ether
Hit any key to stop autoboot:  0 
=> 
=> mmcinfo
Device: OMAP SD/MMC
Manufacturer ID: 41
OEM: 3432
Name: SD16G 
Bus Speed: 48000000
Mode: SD High Speed (50MHz)
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 14.5 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes
=> mmc dev    
switch to partitions #0, OK
mmc0 is current device
=> mmc list
OMAP SD/MMC: 0 (SD)
OMAP SD/MMC: 1
=> fatl
  fatload fatls
=> fatls mmc 0
   109644   MLO
    56484   am335x-bone.dtb
    58300   am335x-boneblack.dtb
    56740   am335x-bonegreen.dtb
            extlinux/
   764704   u-boot.img
data abort
pc : [<bff86b8c>]          lr : [<bff7b0c3>]
reloc pc : [<80824b8c>]    lr : [<808190c3>]
sp : bdf387f8  ip : 00000000     fp : 00000000
r10: bdf428b8  r9 : bdf41eb0     r8 : 00000001
r7 : bdf38a60  r6 : bffdbd40     r5 : bdf428b8  r4 : bffdbd40
r3 : bdf38840  r2 : 00000001     r1 : 00000000  r0 : 00000001
Flags: nzcv  IRQs off  FIQs on  Mode SVC_32 (T)
Code: b002 bd10 e92d 45f7 (6f85) 4698 
Resetting CPU ...

resetting ...
<debug_uart> [DEBUG]: Debug UART is configured
[DEBUG]: Calling do_board_detect function
[DEBUG]: I2C0 pin muxing
[DEBUG]: ti_i2c_eeprom_init success
DEBUG: Early_system_init function Ended
[DEBUG]: board_early_init_f function ended
[DEBUG]: Before sdram_init
[DEBUG]: sdram_init function called
[DEBUG]: A335BNLT is detected
[DEBUG]: Configuring BBB RAM
[DEBUG]: config_ddr function called
[DEBUG]: config_sdram fnction called
[DEBUG]: config_sdram function ended
[DEBUG]: config_ddr function ended
[DEBUG]: Finishing the sdram_init function
[DEBUG]: DDR size = 1073741824
SPL: board_init_r() function called
SPL: spl_init function called
SPL: spl_init function ended
SPL: Before spl_board_init functioni
[DEBUG]: spl_board_init function called
SPL: preloader_console_init function called
SPL:  Printing U-BOOT SPL Banner

U-Boot SPL 2020.01 (Jan 06 2020 - 20:56:31 +0000)
SPL: Before bootcount_inc function
SPL: Fetching the board_boot_order from available bootable devices
SPL: Before boot_from_devices()
Trying to boot from MMC1
[DEBUG]: spl_load_image function called
[DEBUG]: Jumping to U-Boot
[DEBUG]: loaded - jumping to U-Boot...
[DEBUG]: board_init_f function called


U-Boot 2020.01 (Jan 06 2020 - 20:56:31 +0000)

CPU  : AM335X-GP rev 2.1
Model: TI AM335x BeagleBone Black
DRAM:  1 GiB
WDT:   Started with servicing (60s timeout)
NAND:  0 MiB
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
Loading Environment from FAT... *** Warning - bad CRC, using default environment

<ethaddr> not set. Validating first E-fuse MAC
Net:   Could not get PHY for ethernet@4a100000: addr 0
eth0: ethernet@4a100000
Warning: usb_ether MAC addresses don't match:
Address in ROM is          de:ad:be:ef:00:01
Address in environment is  0c:b2:b7:d8:bf:46
, eth1: usb_ether
Hit any key to stop autoboot:  0 
data abort
pc : [<bff75ff6>]          lr : [<bff7028f>]
reloc pc : [<80813ff6>]    lr : [<8080e28f>]
sp : bdf38a10  ip : bff6da39     fp : 00000006
r10: 00000000  r9 : bdf41eb0     r8 : ffffffff
r7 : 00000000  r6 : bdf545a8     r5 : 00000000  r4 : e0c00000
r3 : 00012383  r2 : ffffffff     r1 : 00000003  r0 : ffffffff
Flags: NzCv  IRQs off  FIQs on  Mode SVC_32 (T)
Code: 059c d561 2800 d05f (f850) 2c04 
Resetting CPU ...

resetting ...
CCCCCCCCCCCCCCCC<debug_uart> [DEBUG]: Debug UART is configured
[DEBUG]: Calling do_board_detect function
[DEBUG]: I2C0 pin muxing
[DEBUG]: ti_i2c_eeprom_init success
DEBUG: Early_system_init function Ended
[DEBUG]: board_early_init_f function ended
[DEBUG]: Before sdram_init
[DEBUG]: sdram_init function called
[DEBUG]: A335BNLT is detected
[DEBUG]: Configuring BBB RAM
[DEBUG]: config_ddr function called
[DEBUG]: config_sdram fnction called
[DEBUG]: config_sdram function ended
[DEBUG]: config_ddr function ended
[DEBUG]: Finishing the sdram_init function
[DEBUG]: DDR size = 1073741824
SPL: board_init_r() function called
SPL: spl_init function called
SPL: spl_init function ended
SPL: Before spl_board_init functioni
[DEBUG]: spl_board_init function called
SPL: preloader_console_init function called
SPL:  Printing U-BOOT SPL Banner

U-Boot SPL 2020.01 (Jan 06 2020 - 20:56:31 +0000)
SPL: Before bootcount_inc function
SPL: Fetching the board_boot_order from available bootable devices
SPL: Before boot_from_devices()
Trying to boot from MMC1
[DEBUG]: spl_load_image function called
[DEBUG]: Jumping to U-Boot
[DEBUG]: loaded - jumping to U-Boot...
[DEBUG]: board_init_f function called


U-Boot 2020.01 (Jan 06 2020 - 20:56:31 +0000)

CPU  : AM335X-GP rev 2.1
Model: TI AM335x BeagleBone Black
DRAM:  1 GiB
WDT:   Started with servicing (60s timeout)
NAND:  0 MiB
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
Loading Environment from FAT... *** Warning - bad CRC, using default environment

<ethaddr> not set. Validating first E-fuse MAC
Net:   Could not get PHY for ethernet@4a100000: addr 0
eth0: ethernet@4a100000
Warning: usb_ether MAC addresses don't match:
Address in ROM is          de:ad:be:ef:00:01
Address in environment is  0c:b2:b7:d8:bf:46
, eth1: usb_ether
Hit any key to stop autoboot:  0 
ERROR : memory not allocated
                                                                     

************************************************ This is time Device tree node failed ************************************


<debug_uart> [DEBUG]: Debug UART is configured
[DEBUG]: Calling do_board_detect function
[DEBUG]: I2C0 pin muxing
i2c_write: error waiting for data ACK (status=0x116)
ti_i2c_eeprom_init failed
DEBUG: Early_system_init function Ended
Bad EEPROM or unknown board, cannot configure pinmux.[DEBUG]: board_early_init_f function ended
[DEBUG]: Before sdram_init
[DEBUG]: sdram_init function called
[DEBUG]: No Board is detected. Configuring default RAM setting
[DEBUG]: config_ddr function called
[DEBUG]: config_sdram fnction called
[DEBUG]: config_sdram function ended
[DEBUG]: config_ddr function ended
[DEBUG]: Finishing the sdram_init function
[DEBUG]: DDR size = 1073741824
SPL: board_init_r() function called
SPL: spl_init function called
SPL: Before spl_board_init functioni
spl_board_init

U-Boot SPL 2020.01 (Jan 06 2020 - 20:56:31 +0000)
After U-BOOT SPL Banner
SPL: Before bootcount_inc functioni
SPL: Before boot_from_devices()
Trying to boot from MMC1


U-Boot 2020.01 (Jan 06 2020 - 20:56:31 +0000)

CPU  : AM335X-GP rev 2.1
Model: TI AM335x EVM
DRAM:  1 GiB
No serial driver found
Device tree error at node '<NULL>'
Device tree error at node '<NULL>'
Device tree error at node '<NULL>'
resetting ...
Device tree error at node '<NULL>'
Device tree error at node '<NULL>'
Device tree error at node '<NULL>'�<debug_uart> [DEBUG]: Debug UART is configured
[DEBUG]: Calling do_board_detect function
[DEBUG]: I2C0 pin muxing
i2c_write: error waiting for data ACK (status=0x116)
ti_i2c_eeprom_init failed
DEBUG: Early_system_init function Ended
Bad EEPROM or unknown board, cannot configure pinmux.[DEBUG]: board_early_init_f function ended
[DEBUG]: Before sdram_init
[DEBUG]: sdram_init function called
[DEBUG]: No Board is detected. Configuring default RAM setting
[DEBUG]: config_ddr function called
[DEBUG]: config_sdram fnction called
[DEBUG]: config_sdram function ended
[DEBUG]: config_ddr function ended
[DEBUG]: Finishing the sdram_init function
[DEBUG]: DDR size = 1073741824
SPL: board_init_r() function called
SPL: spl_init function called
SPL: Before spl_board_init functioni
spl_board_init

U-Boot SPL 2020.01 (Jan 06 2020 - 20:56:31 +0000)
After U-BOOT SPL Banner
SPL: Before bootcount_inc functioni
SPL: Before boot_from_devices()
Trying to boot from MMC1


U-Boot 2020.01 (Jan 06 2020 - 20:56:31 +0000)

CPU  : AM335X-GP rev 2.1
Model: TI AM335x EVM
DRAM:  1 GiB
WDT:   Started with servicing (60s timeout)
NAND:  0 MiB
MMC:   OMAP SD/MMC: 0
Loading Environment from FAT... *** Warning - bad CRC, using default environment

<ethaddr> not set. Validating first E-fuse MAC
Net:   No ethernet found.
Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc0 is current device
data abort
pc : [<bff70fa8>]	   lr : [<bff70fa5>]
reloc pc : [<8080efa8>]	   lr : [<8080efa5>]
sp : bdf374c0  ip : 00000b80	 fp : 00000000
r10: bdf537d0  r9 : bdf41eb0	 r8 : 00000004
r7 : bdf44c58  r6 : bdf5377c	 r5 : bdf536a0  r4 : 00000002
r3 : bdf53778  r2 : 00000000	 r1 : bdf537d7  r0 : bdf44c58
Flags: Nzcv  IRQs off  FIQs on  Mode SVC_32 (T)
Code: f03c f8b6 9b0d 3604 (681b) b11b 
Resetting CPU ...

resetting ...

Here, we are using Yocto Dunfell Version  for our Development.

But strange thing is custom board is able to boot up with PHYTEC AM335X PD19 version images. And it is consistently booting 100% is the success rate.

With this we are suspecting the issue could be from BSP side. And the log is as below.

************************* custom board without EEPROM and phytec prebuild images of PD19.1.0 **************************************

barebox 2018.11.0-bsp-yocto-am335x-pd19.1.0 #1 Wed Mar 13 16:23:05 UTC 2019

 

 

Board: Phytec phyCORE AM335x
omap-hsmmc 48060000.mmc: registered as 48060000.mmc
booting from MMC
mmc0: detected SD card version 2.0
mmc0: registered mmc0

 

 

barebox 2018.11.0-bsp-yocto-am335x-pd19.1.0 #1 Wed Mar 13 16:23:05 UTC 2019

 

 

Board: Phytec phyCORE AM335x
cpsw 4a100000.ethernet: no live phy, scanning all
mdio_bus: miibus0: probed
Unable to find a PHY (unknown ID?)
cpsw 4a100000.ethernet: Failed to setup slave 0: I/O error
am335x-phy-driver 47401b00.usb-phy: am_usbphy 9ff35664 enabled
musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0 
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
m25p80 m25p80@00: unrecognized JEDEC id bytes: 00,  0,  0
m25p80 m25p80@00: probe failed: No such file or directory
i2c-omap 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
omap-hsmmc 48060000.mmc: registered as 48060000.mmc
mmc0: detected SD card version 2.0
mmc0: registered mmc0
am335x_phytec_mac_state: New state registered 'am335x_phytec_mac_state'
am335x_phytec_mac_state: Failed to read meta data from file, -110
am335x_phytec_mac_state: Failed to read meta data from file, -110
am335x_phytec_mac_state: Failed to read meta data from file, -110
am335x_phytec_mac_state: Failed to find any valid state copy in any bucket
am335x_phytec_mac_state: Failed to read state with format raw, -2
state am335x_phytec_mac_state.4: Failed to load persistent state, continuing with defaults, -2
state: New state registered 'state'
state: Failed to read meta data from file, -110
state: Failed to read meta data from file, -110
state: Failed to read meta data from file, -110
state: Failed to find any valid state copy in any bucket
state: Failed to read state with format raw, -2
state am335x_phytec_boot_state.5: Failed to load persistent state, continuing with defaults, -2
omap_wdt 44e35000.wdt: OMAP Watchdog Timer Rev 0x01
nand: No NAND device found
gpmc_nand gpmc_nand0: probe failed: No such device or address
netconsole: registered as netconsole-1
malloc space: 0x9fefee60 -> 0xbfdfdcbf (size 511 MiB)
environment load /mnt/mmc0.0/barebox.env: No such file or directory
Maybe you have to create the partition.
running /env/bin/init...

 

Hit m for menu or any key to stop autoboot:    1
booting 'mmc'

 

Loading ARM Linux zImage '/mnt/mmc0.0/zImage'
Loading devicetree from '/mnt/mmc0.0/oftree'
commandline: consoleblank=0 console=ttyO0,115200n8  root=/dev/mmcblk0p2 rootflags=data=journal rootwait ro fsck.repair=yes
am335x_phytec_mac_state: Failed to write metadata to file, -110
am335x_phytec_mac_state: Failed to write state backend bucket, -110
am335x_phytec_mac_state: Failed to write metadata to file, -110
am335x_phytec_mac_state: Failed to write state backend bucket, -110
am335x_phytec_mac_state: Failed to write metadata to file, -110
am335x_phytec_mac_state: Failed to write state backend bucket, -110
am335x_phytec_mac_state: Failed to write state to at least 1 buckets. Successfully written to 0 buckets
am335x_phytec_mac_state: Failed to write packed state, -5
state: Failed to write metadata to file, -110
state: Failed to write state backend bucket, -110
state: Failed to write metadata to file, -110
state: Failed to write state backend bucket, -110
state: Failed to write metadata to file, -110
state: Failed to write state backend bucket, -110
state: Failed to write state to at least 1 buckets. Successfully written to 0 buckets
state: Failed to write packed state, -5
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.14.78-bsp-yocto-am335x-pd19.1.0 (oe-user@oe-host) (gcc version 7.3.0 (GCC)) #1 Wed Mar 13 14:51:56 UTC 2019
[    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: Phytec AM335x phyBOARD-WEGA
[    0.000000] Memory policy: Data cache writeback
[    0.000000] cma: Reserved 16 MiB at 0xbf000000
[    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: 260416
[    0.000000] Kernel command line: consoleblank=0 console=ttyO0,115200n8  root=/dev/mmcblk0p2 rootflags=data=journal rootwait ro fsck.repair=yes
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Memory: 1007532K/1048576K available (8192K kernel code, 737K rwdata, 2836K rodata, 1024K init, 266K bss, 24660K reserved, 16384K cma-reserved, 245760K h)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0900000   (9184 kB)
[    0.000000]       .init : 0xc0d00000 - 0xc0e00000   (1024 kB)
[    0.000000]       .data : 0xc0e00000 - 0xc0eb8508   ( 738 kB)
[    0.000000]        .bss : 0xc0eba000 - 0xc0efc8cc   ( 267 kB)
[    0.000000] ftrace: allocating 29725 entries in 88 pages
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
[    0.000000] OMAP clockevent source: timer2 at 24000000 Hz
[    0.000021] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[    0.000051] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.000067] OMAP clocksource: timer1 at 24000000 Hz
[    0.000762] timer_probe: no matching timers found
[    0.001234] Console: colour dummy device 80x30
[    0.001291] Calibrating delay loop... 597.60 BogoMIPS (lpj=2988032)
[    0.118483] pid_max: default: 32768 minimum: 301
[    0.118711] Security Framework initialized
[    0.118804] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.118829] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.119914] CPU: Testing write buffer coherency: ok
[    0.120002] CPU0: Spectre v2: using BPIALL workaround
[    0.120998] Setting up static identity map for 0x80100000 - 0x80100078
[    0.126924] devtmpfs: initialized
[    0.142026] random: get_random_u32 called from bucket_table_alloc+0xe8/0x248 with crng_init=0
[    0.142692] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[    0.143141] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.143176] futex hash table entries: 256 (order: 0, 7168 bytes)
[    0.144917] pinctrl core: initialized pinctrl subsystem
[    0.146675] NET: Registered protocol family 16
[    0.150096] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.177092] omap_hwmod: debugss: _wait_target_disable failed
[    0.232125] cpuidle: using governor menu
[    0.239768] OMAP GPIO hardware version 0.1
[    0.253627] omap-gpmc 50000000.gpmc: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_nandflash, deferring probe
[    0.259177] No ATAGs?
[    0.259189] hw-breakpoint: debug architecture 0x4 unsupported.
[    0.281350] edma 49000000.edma: TI EDMA DMA engine driver
[    0.286362] SCSI subsystem initialized
[    0.287211] usbcore: registered new interface driver usbfs
[    0.287309] usbcore: registered new interface driver hub
[    0.287443] usbcore: registered new device driver usb
[    0.288073] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c0, deferring probe
[    0.288316] Linux video capture interface: v2.00
[    0.288396] pps_core: LinuxPPS API ver. 1 registered
[    0.288408] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.288548] PTP clock support registered
[    0.290279] clocksource: Switched to clocksource timer1
[    0.409881] VFS: Disk quotas dquot_6.6.0
[    0.410026] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.424658] NET: Registered protocol family 2
[    0.425652] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[    0.425803] TCP bind hash table entries: 8192 (order: 5, 163840 bytes)
[    0.426250] TCP: Hash tables configured (established 8192 bind 8192)
[    0.426423] UDP hash table entries: 512 (order: 2, 24576 bytes)
[    0.426512] UDP-Lite hash table entries: 512 (order: 2, 24576 bytes)
[    0.426789] NET: Registered protocol family 1
[    0.427443] RPC: Registered named UNIX socket transport module.
[    0.427463] RPC: Registered udp transport module.
[    0.427473] RPC: Registered tcp transport module.
[    0.427483] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.429005] hw perfevents: no interrupt-affinity property for /pmu, guessing.
[    0.429167] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
[    0.432743] audit: initializing netlink subsys (disabled)
[    0.434021] audit: type=2000 audit(0.430:1): state=initialized audit_enabled=0 res=1
[    0.434175] workingset: timestamp_bits=14 max_order=18 bucket_order=4
[    0.434855] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.435383] NFS: Registering the id_resolver key type
[    0.435441] Key type id_resolver registered
[    0.435454] Key type id_legacy registered
[    0.435518] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    0.443957] NET: Registered protocol family 38
[    0.444085] bounce: pool size: 64 pages
[    0.444123] io scheduler noop registered
[    0.444135] io scheduler deadline registered
[    0.444239] io scheduler cfq registered (default)
[    0.444253] io scheduler mq-deadline registered
[    0.444264] io scheduler kyber registered
[    0.446097] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
[    0.452489] Serial: 8250/16550 driver, 6 ports, IRQ sharing enabled
[    0.455977] omap_uart 44e09000.serial: no wakeirq for uart0
[    0.456238] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 30, base_baud = 3000000) is a OMAP UART0
[    1.102504] console [ttyO0] enabled
[    1.107076] omap_uart 48022000.serial: no wakeirq for uart1
[    1.113211] 48022000.serial: ttyO1 at MMIO 0x48022000 (irq = 31, base_baud = 3000000) is a OMAP UART1
[    1.124638] omap_rng 48310000.rng: Random Number Generator ver. 20
[    1.133632] tilcdc 4830e000.lcdc: no encoders/connectors found
[    1.154657] brd: module loaded
[    1.168698] loop: module loaded
[    1.176946] libphy: Fixed MDIO Bus: probed
[    1.182324] CAN device driver interface
[    1.187858] c_can_platform 481d0000.can: c_can_platform device registered (regs=fa1d0000, irq=35)
[    1.270389] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 1000000
[    1.278457] libphy: 4a101000.mdio: probed
[    1.283276] davinci_mdio: probe of 4a101000.mdio failed with error -5
[    1.291094] cpsw 4a100000.ethernet: Detected MACID = 0c:b2:b7:d8:bf:44
[    1.298111] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies)
[    1.306847] cpsw 4a100000.ethernet: cpsw: Detected MACID = 0c:b2:b7:d8:bf:46
[    1.316319] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.323323] ehci-platform: EHCI generic platform driver
[    1.329125] ehci-omap: OMAP-EHCI Host Controller driver
[    1.334849] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.341511] usbcore: registered new interface driver usb-storage
[    1.350947] am335x-phy-driver 47401300.usb-phy: 47401300.usb-phy supply vcc not found, using dummy regulator
[    1.367605] am335x-phy-driver 47401b00.usb-phy: 47401b00.usb-phy supply vcc not found, using dummy regulator
[    1.393447] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc1
[    1.401621] i2c /dev entries driver
[    1.407007] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[    1.417158] omap_hsmmc 48060000.mmc: Got CD GPIO
[    1.482894] ledtrig-cpu: registered to indicate activity on CPUs
[    1.491870] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
[    1.498324] omap-aes 53500000.aes: will run requests pump with realtime priority
[    1.508966] omap-sham 53100000.sham: hw accel on OMAP rev 4.3
[    1.521340] oprofile: using arm/armv7
[    1.525631] Initializing XFRM netlink socket
[    1.530625] NET: Registered protocol family 10
[    1.537001] Segment Routing with IPv6
[    1.541122] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    1.548464] NET: Registered protocol family 17
[    1.553237] NET: Registered protocol family 15
[    1.557908] can: controller area network core (rev 20170425 abi 9)
[    1.564529] NET: Registered protocol family 29
[    1.569328] Key type dns_resolver registered
[    1.574052] omap_voltage_late_init: Voltage driver support not added
[    1.581216] ThumbEE CPU extension supported.
[    1.595312] omap-gpmc 50000000.gpmc: GPMC revision 6.0
[    1.600822] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
[    1.607256] mmc0: host does not support reading read-only switch, assuming write-enable
[    1.618130] nand: No NAND device found
[    1.622254] omap2-nand 8000000.nand: scan failed, may be bus-width mismatch
[    1.632223] mmc0: new high speed SDHC card at address aaaa
[    1.638832] mmcblk0: mmc0:aaaa SS32G 29.7 GiB 
[    1.645525]  mmcblk0: p1 p2
[    1.660599] tps65910 0-002d: No interrupt support, no core IRQ
[    1.668007] tps65910 0-002d: Error in configuring external control EN1
[    1.674890] tps65910 0-002d: Failed to initialise ext control config
[    1.681686] vrtc: supplied by vcc5v
[    1.685569] vrtc: failed to enable
[    1.689136] tps65910 0-002d: failed to register tps65910-pmic regulator
[    1.696128] tps65910-pmic: probe of tps65910-pmic failed with error -121
[    1.703560] tps65910-rtc tps65910-rtc: No interrupt support, not created
[    1.710667] tps65910-rtc: probe of tps65910-rtc failed with error -22
[    1.741026] rtc-m41t80 0-0068: Can't clear HT bit
[    1.746011] rtc-m41t80: probe of 0-0068 failed with error -121
[    1.753554] edt_ft5x06 0-0038: touchscreen probe failed
[    1.759100] edt_ft5x06: probe of 0-0038 failed with error -121
[    1.765399] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[    1.784564] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
[    1.790196] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
[    1.798323] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    1.805499] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.813104] random: fast init done
[    1.816684] usb usb1: Product: MUSB HDRC host driver
[    1.821921] usb usb1: Manufacturer: Linux 4.14.78-bsp-yocto-am335x-pd19.1.0 musb-hcd
[    1.830052] usb usb1: SerialNumber: musb-hdrc.0
[    1.835892] hub 1-0:1.0: USB hub found
[    1.839870] hub 1-0:1.0: 1 port detected
[    1.856353] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
[    1.862020] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2
[    1.870094] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[    1.877272] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.884888] usb usb2: Product: MUSB HDRC host driver
[    1.890104] usb usb2: Manufacturer: Linux 4.14.78-bsp-yocto-am335x-pd19.1.0 musb-hcd
[    1.898253] usb usb2: SerialNumber: musb-hdrc.1
[    1.904008] hub 2-0:1.0: USB hub found
[    1.908003] hub 2-0:1.0: 1 port detected
[    1.915757] hctosys: unable to open rtc device (rtc0)
[    1.922005] lcd_3v3: disabling
[    1.929328] EXT4-fs: Warning: mounting with data=journal disables delayed allocation and O_DIRECT support!
[    1.953016] EXT4-fs (mmcblk0p2): mounted filesystem with journalled data mode. Opts: data=journal
[    1.962547] VFS: Mounted root (ext4 filesystem) readonly on device 179:2.
[    1.973882] devtmpfs: mounted
[    1.983325] Freeing unused kernel memory: 1024K
[    2.261777] systemd[1]: System time before build time, advancing clock.
[    2.349767] systemd[1]: systemd 237 running in system mode. (-PAM -AUDIT -SELINUX -IMA -APPARMOR -SMACK +SYSVINIT -UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS -ACL -XZ +LZ4)
[    2.373311] systemd[1]: Detected architecture arm.

 

Welcome to The Yogurt Distribution BSP-Yocto-AM335x-PD19.1.0!

 

[    2.421909] systemd[1]: Set hostname to <phyboard-wega-am335x-1>.
[    2.522196] musb-hdrc musb-hdrc.1: VBUS_ERROR in a_wait_vrise (80, <SessEnd), retry #3, port1 0008010c
[    2.960271] random: systemd: uninitialized urandom read (16 bytes read)
[    2.971564] systemd[1]: Created slice System Slice.
[  OK  ] Created slice System Slice.
[    3.001340] random: systemd: uninitialized urandom read (16 bytes read)
[    3.008930] systemd[1]: Listening on Journal Audit Socket.
[  OK  ] Listening on Journal Audit Socket.
[    3.040876] random: systemd: uninitialized urandom read (16 bytes read)
[    3.049817] systemd[1]: Created slice system-serial\x2dgetty.slice.
[  OK  ] Created slice system-serial\x2dgetty.slice.
[    3.080815] systemd[1]: Reached target Slices.
[  OK  ] Reached target Slices.
[    3.110711] systemd[1]: Reached target Remote File Systems.
[  OK  ] Reached target Remote File Systems.
[    3.141593] systemd[1]: Listening on Network Service Netlink Socket.
[  OK  ] Listening on Network Service Netlink Socket.
[    3.180840] systemd[1]: Reached target Swap.
[  OK  ] Reached target Swap.
[  OK  ] Listening on udev Kernel Socket.
[  OK  ] Started Forward Password Requests to Wall Directory Watch.
[  OK  ] Created slice system-getty.slice.
[  OK  ] Listening on udev Control Socket.
[  OK  ] Listening on /dev/initctl Compatibility Named Pipe.
[  OK  ] Listening on Journal Socket.
         Starting Load Kernel Modules...
[    3.439207] cryptodev: loading out-of-tree module taints kernel.
[    3.455673] cryptodev: driver 1.9 loaded.
         Mounting POSIX Message Queue File System...
         Starting udev Coldplug all Devices...
         Mounting Temporary Directory (/tmp)...
         Starting File System Check on Root Device...
         Mounting Kernel Debug File System...
[  OK  ] Started Dispatch Password Requests to Console Directory Watch.
[  OK  ] Reached target Paths.
[  OK  ] Listening on Journal Socket (/dev/log).
         Starting Journal Service...
         Starting Create list of required st…ce nodes for the current kernel...
[  OK  ] Started Load Kernel Modules.
[  OK  ] Mounted POSIX Message Queue File System.
[  OK  ] Mounted Temporary Directory (/tmp).
[  OK  ] Mounted Kernel Debug File System.
[  OK  ] Started Create list of required sta…vice nodes for the current kernel.
         Starting Apply Kernel Variables...
         Mounting Kernel Configuration File System...
[  OK  ] Started File System Check on Root Device.
[  OK  ] Mounted Kernel Configuration File System.
[  OK  ] Started Apply Kernel Variables.
         Starting Remount Root and Kernel File Systems...
[    4.359322] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[  OK  ] Started Remount Root and Kernel File Systems.
         Starting Create System Users...
[  OK  ] Started Create System Users.
         Starting Create Static Device Nodes in /dev...
[  OK  ] Started Create Static Device Nodes in /dev.
[  OK  ] Reached target Local File Systems (Pre).
         Mounting /var/volatile...
         Starting udev Kernel Device Manager...
[  OK  ] Mounted /var/volatile.
[  OK  ] Reached target Local File Systems.
         Starting Rebuild Journal Catalog...
[  OK  ] Started udev Kernel Device Manager.
         Starting Network Service...
[  OK  ] Started Journal Service.
[  OK  ] Started Rebuild Journal Catalog.
         Starting Update is Completed...
         Starting Flush Journal to Persistent Storage...
[  OK  ] Started Update is Completed.
[  OK  ] Started Network Service.
[    5.928449] systemd-journald[96]: Received request to flush runtime journal from PID 1
[  OK  ] Started Flush Journal to Persistent Storage.
         Starting Create Volatile Files and Directories...
[  OK  ] Started Create Volatile Files and Directories.
         Starting Network Name Resolution...
[  OK  ] Started udev Coldplug all Devices.
[  OK  ] Reached target System Initialization.
[  OK  ] Listening on D-Bus System Message Bus Socket.
         Starting sshd.socket.
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Reached target Timers.
[  OK  ] Listening on sshd.socket.
[  OK  ] Found device /dev/ttyO0.
[  OK  ] Reached target Sockets.
[  OK  ] Reached target Basic System.
[  OK  ] Started Serial Getty on ttyO0.
[    7.024770] tlv320aic3x-codec 0-0018: Failed to get supply 'DVDD': -517
[  OK  ] Started can0 interface setup.
[[    7.110735] tlv320aic3x-codec 0-0018: Failed to request supplies: -517
  OK  ] Started D-Bus System Message Bus.
[    7.224285] c_can_platform 481d0000.can can0: setting BTR=1c02 BRPE=0000
[    7.295067] IPv6: ADDRCONF(NETDEV_CHANGE): can0: link becomes ready
[    7.550913] tlv320aic3x-codec 0-0018: Failed to get supply 'DVDD': -517
[    7.598230] tlv320aic3x-codec 0-0018: Failed to request supplies: -517
[  OK  ] Started Getty on tty1.
[  OK  ] Reached target Login Prompts.
[  OK  ] Started Rauc Good-marking Service.
[  OK  ] Reached target Multi-User System.
[  OK  ] Started Network Name Resolution.
[    8.592608] davinci_evm sound_iface: ASoC: CODEC DAI tlv320aic3x-hifi not registered
[    8.600911] davinci_evm sound_iface: snd_soc_register_card failed (-517)
[    8.754379] [drm] Initialized pvr 1.14.3699939 20110701 for 56000000.sgx on minor 0
[    8.832201] tlv320aic3x-codec 0-0018: Failed to get supply 'DVDD': -517
[    8.916120] tlv320aic3x-codec 0-0018: Failed to request supplies: -517
[    8.970189] davinci_evm sound_iface: ASoC: CODEC DAI tlv320aic3x-hifi not registered
[    8.978483] davinci_evm sound_iface: snd_soc_register_card failed (-517)
[    9.200982] net eth0: initializing cpsw version 1.12 (0)
[    9.206595] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
[    9.213335] cpsw 4a100000.ethernet: ALE Table size 1024
[    9.221598] net eth0: phy "/ocp/ethernet@4a100000/mdio@4a101000/ethernet-phy@0" not found on slave 0
[    9.448859] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    9.698610] net eth1: initializing cpsw version 1.12 (0)
[    9.707099] net eth1: phy "/ocp/ethernet@4a100000/mdio@4a101000/ethernet-phy@1" not found on slave 1
[    9.799844] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[  OK  ] Reached target Network.
[  OK  ] Reached target Host and Network Name Lookups.

 

____   _   _ __   __ _____  _____   ____
|  _ \ | | | |\ \ / /|_   _|| ____| / ___|
| |_) || |_| | \ V /   | |  |  _|  | |
|  __/ |  _  |  | |    | |  | |___ | |___
|_|    |_| |_|  |_|    |_|  |_____| \____|

 

__   __  ___    ____  _   _  ____   _____
\ \ / / / _ \  / ___|| | | ||  _ \ |_   _|
\ V / | | | || |  _ | | | || |_) |  | |
  | |  | |_| || |_| || |_| ||  _ <   | |
  |_|   \___/  \____| \___/ |_| \_\  |_|

 

 

Yogurt (Phytec Example Distribution) BSP-Yocto-AM335x-PD19.1.0 phyboard-wega-am335x-1 ttyO0

 

phyboard-wega-am335x-1 login: root
root@phyboard-wega-am335x-1:~#

PHYTEC images link: https://download.phytec.de/Software/Linux/BSP-Yocto-AM335x/BSP-Yocto-AM335x-PD19.1.1/

After doing the RAM configurations same as like the above phytec AM335X images, still no luck with Beagle Bone Black source on the custom board. Even we are connecting the Beagle Bone Black EEPROM on custom board just like Beagle Bone Black EVK

Every time when I boot the custom board with Beagle Bone Black source, U-boot is hanging at different stages every time. Its a random behavior. Rarely we get U-boot console and when we run boot command. Data abort error is throwing. You can observe in the above attached log files. I feel in the U-boot it is not able to load the images from SDcard into RAM

And we do not have JTAG support in custom board.

Please help us in this regard.

Thanks and Regards,

saikrishna

  • Dear TI Team,

    For reference, DDR configuration details are as follows.

    From f9f660162e5e9c9eb313b7894ea30a9bdbde33b8 Mon Sep 17 00:00:00 2001
    From: saikrishna <saikrishna.v@mindteck.com>
    Date: Fri, 28 Jul 2023 12:35:26 +0530
    Subject: [PATCH] DDR configuration for IS43TR16512B125KBLI RAM
    
    * IS43TR16512B125KBLI DDR RAM config parameters are added
    * If no board is detected, default RAM config will be IS43TR16512B125KBLI RAM
    ---
     arch/arm/include/asm/arch-am33xx/ddr_defs.h | 16 ++++++++
     board/ti/am335x/board.c                     | 44 ++++++++++++++++++++-
     2 files changed, 58 insertions(+), 2 deletions(-)
    
    diff --git a/arch/arm/include/asm/arch-am33xx/ddr_defs.h b/arch/arm/include/asm/arch-am33xx/ddr_defs.h
    index 15a5b641ff..a7b2e02344 100644
    --- a/arch/arm/include/asm/arch-am33xx/ddr_defs.h
    +++ b/arch/arm/include/asm/arch-am33xx/ddr_defs.h
    @@ -138,6 +138,22 @@
     #define MT41K256M16HA125E_PHY_FIFO_WE		0x94
     #define MT41K256M16HA125E_IOCTRL_VALUE		0x18B
     
    +/* Micron MT41K512M16HA-125IT PHYTEC 1GB RAM config used as IS43TR16512B125KBLI RAM config */
    +#define IS43TR16512B125KBLI_EMIF_READ_LATENCY        0x7
    +#define IS43TR16512B125KBLI_EMIF_TIM1                0x0AAAD4DB
    +#define IS43TR16512B125KBLI_EMIF_TIM2                0x268F7FDA
    +#define IS43TR16512B125KBLI_EMIF_TIM3                0x501F88BF
    +#define IS43TR16512B125KBLI_EMIF_SDCFG           0x61C053B2
    +#define IS43TR16512B125KBLI_EMIF_SDREF           0x00000C30
    +#define IS43TR16512B125KBLI_ZQ_CFG               0x50074BE4
    +#define IS43TR16512B125KBLI_RATIO                    0x80
    +#define IS43TR16512B125KBLI_INVERT_CLKOUT            0x0
    +#define IS43TR16512B125KBLI_RD_DQS               0x38
    +#define IS43TR16512B125KBLI_WR_DQS               0x4d
    +#define IS43TR16512B125KBLI_PHY_FIFO_WE          0x9d
    +#define IS43TR16512B125KBLI_PHY_WR_DATA          0x82
    +#define IS43TR16512B125KBLI_IOCTRL_VALUE         0x18B
    +
     /* Micron MT41J512M8RH-125 on EVM v1.5 */
     #define MT41J512M8RH125_EMIF_READ_LATENCY	0x100006
     #define MT41J512M8RH125_EMIF_TIM1		0x0888A39B
    diff --git a/board/ti/am335x/board.c b/board/ti/am335x/board.c
    index 3d7f73843c..e226b35fef 100644
    --- a/board/ti/am335x/board.c
    +++ b/board/ti/am335x/board.c
    @@ -138,6 +138,13 @@ static const struct ddr_data ddr3_beagleblack_data = {
     	.datawrsratio0 = MT41K256M16HA125E_PHY_WR_DATA,
     };
     
    +static const struct ddr_data ddr3_st_cpu_board_data = {
    +	.datardsratio0 = IS43TR16512B125KBLI_RD_DQS,
    +	.datawdsratio0 = IS43TR16512B125KBLI_WR_DQS,
    +	.datafwsratio0 = IS43TR16512B125KBLI_PHY_FIFO_WE,
    +	.datawrsratio0 = IS43TR16512B125KBLI_PHY_WR_DATA,
    +};
    +
     static const struct ddr_data ddr3_evm_data = {
     	.datardsratio0 = MT41J512M8RH125_RD_DQS,
     	.datawdsratio0 = MT41J512M8RH125_WR_DQS,
    @@ -174,6 +181,17 @@ static const struct cmd_control ddr3_beagleblack_cmd_ctrl_data = {
     	.cmd2iclkout = MT41K256M16HA125E_INVERT_CLKOUT,
     };
     
    +static const struct cmd_control ddr3_st_cpu_board_cmd_ctrl_data = {
    +	.cmd0csratio = IS43TR16512B125KBLI_RATIO,
    +	.cmd0iclkout = IS43TR16512B125KBLI_INVERT_CLKOUT,
    +
    +	.cmd1csratio = IS43TR16512B125KBLI_RATIO,
    +	.cmd1iclkout = IS43TR16512B125KBLI_INVERT_CLKOUT,
    +
    +	.cmd2csratio = IS43TR16512B125KBLI_RATIO,
    +	.cmd2iclkout = IS43TR16512B125KBLI_INVERT_CLKOUT,
    +};
    +
     static const struct cmd_control ddr3_evm_cmd_ctrl_data = {
     	.cmd0csratio = MT41J512M8RH125_RATIO,
     	.cmd0iclkout = MT41J512M8RH125_INVERT_CLKOUT,
    @@ -218,6 +236,16 @@ static struct emif_regs ddr3_beagleblack_emif_reg_data = {
     	.emif_ddr_phy_ctlr_1 = MT41K256M16HA125E_EMIF_READ_LATENCY,
     };
     
    +static struct emif_regs ddr3_st_cpu_board_emif_reg_data= {
    +	.sdram_config	=	IS43TR16512B125KBLI_EMIF_SDCFG,
    +	.ref_ctrl		=	IS43TR16512B125KBLI_EMIF_SDREF,
    +	.sdram_tim1		=	IS43TR16512B125KBLI_EMIF_TIM1,
    +	.sdram_tim2		=	IS43TR16512B125KBLI_EMIF_TIM2,
    +	.sdram_tim3		=	IS43TR16512B125KBLI_EMIF_TIM3,
    +	.ocp_config		=	EMIF_OCP_CONFIG_AM335X_EVM,
    +	.zq_config		=	IS43TR16512B125KBLI_ZQ_CFG,
    +	.emif_ddr_phy_ctlr_1 = MT41K256M16HA125E_EMIF_READ_LATENCY,
    +};
     static struct emif_regs ddr3_evm_emif_reg_data = {
     	.sdram_config = MT41J512M8RH125_EMIF_SDCFG,
     	.ref_ctrl = MT41J512M8RH125_EMIF_SDREF,
    @@ -522,6 +550,13 @@ const struct ctrl_ioregs ioregs_bonelt = {
     	.dt1ioctl		= MT41K256M16HA125E_IOCTRL_VALUE,
     };
     
    +const struct ctrl_ioregs ioregs_st_cpu_board = {
    +	.cm0ioctl		= IS43TR16512B125KBLI_IOCTRL_VALUE,
    +	.cm1ioctl		= IS43TR16512B125KBLI_IOCTRL_VALUE,
    +	.cm2ioctl		= IS43TR16512B125KBLI_IOCTRL_VALUE,
    +	.dt0ioctl		= IS43TR16512B125KBLI_IOCTRL_VALUE,
    +	.dt1ioctl		= IS43TR16512B125KBLI_IOCTRL_VALUE,
    +};
     const struct ctrl_ioregs ioregs_evm15 = {
     	.cm0ioctl		= MT41J512M8RH125_IOCTRL_VALUE,
     	.cm1ioctl		= MT41J512M8RH125_IOCTRL_VALUE,
    @@ -573,8 +608,13 @@ void sdram_init(void)
     		config_ddr(266, &ioregs, &ddr2_data,
     			   &ddr2_cmd_ctrl_data, &ddr2_evm_emif_reg_data, 0);
     	else
    -		config_ddr(266, &ioregs, &ddr2_data,
    -			   &ddr2_cmd_ctrl_data, &ddr2_emif_reg_data, 0);
    +		/*config_ddr(266, &ioregs, &ddr2_data,
    +			   &ddr2_cmd_ctrl_data, &ddr2_emif_reg_data, 0);*/
    +		config_ddr(400, &ioregs_st_cpu_board,
    +               &ddr3_st_cpu_board_data,
    +               &ddr3_st_cpu_board_cmd_ctrl_data,
    +               &ddr3_st_cpu_board_emif_reg_data, 0);
    +
     }
     #endif
     
    -- 
    2.25.1
    

    Thanks and Regards,

    saikrishna

  • But strange thing is custom board is able to boot up with PHYTEC AM335X PD19 version images. And it is consistently booting 100% is the success rate.

    So are you saying there is an image with U-Boot/Kernel etc. that works perfectly fine with _your_ custom board?

    If so, we need to analyze what is different of that configuration vs. your own.

    Regards, Andreas

  • Hi Andreas,

    PHYTEC images has Barebox as bootloader whereas Beaglebonblack is U-boot. To be true we don't know the bootloader and kernel configuration of PHYTEC source.

    Is there anything else that Beaglebonblack U-boot and kernel is checking to boot the board? If YES, What is that? For you information, I have removed the EEPROM form the BeagleBonBlack and mounted on my Custom board also, still no luck.

    Can you please look into Custom Board with EEPROM with Beagle Bone black images logs which are pasted in the above comment and let us know your comments on it.

    On the custom board, sometimes sdcard (MMC0) and eMMC(MMC1) are detecting and sometimes not detecting at U-boot stage. And getting data abort issues.

    FYI: I'm using the default beagleBoneBlack images(which are generated from 5.4 kernel Dunfel Yocto). Only the change is I have added RAM configuration, the respective patch is attached in the above comment and enabling early debug uart and added some debug prints in the SPL code.

    Thanks and Regards,

    Saikrishna

  • Can you please look into Custom Board with EEPROM with Beagle Bone black images logs which are pasted in the above comment and let us know your comments on it.

    The random failures do look like a DDR setup issue to me. And I understand what you have been doing is trying to work the PHYCORE_R2_MT41K512M16HA125IT_1024MB configuration from the Phytec Barebox sources into U-Boot. I had a quick look at those Barebox sources but it's not something I'd be readily and easily able to check/confirm that this is where the issue is.

    But I see two paths forward for you to further debug this:

    1) Start from scratch with your DDR configuration, using TI's https://www.ti.com/tool/SITARA-DDR-CONFIG-TOOL tool for AM335x. There's also an associated app note here: https://www.ti.com/lit/pdf/sprack4   This way it is made sure that the resulting configuration is incorporated in a known-good manner, as there are detailed instructions on how/where U-Boot needs to be modified. You can also double-check that you touched all the registers.

    or

    2) Try to get the board with your custom image to boot up and then dump all the DDR-related device registers, either through the U-Boot console (use the `md` command) or through JTAG. And then do the same after booting with Barebox. Then you compare those two register dumps, and any differences you see may provide clues as to what code/values you perhaps still need to incorporate into your U-Boot code, or if something perhaps wasn't ported over correctly.

    Regards, Andreas

  • Hi Andreas,

    Yes. I copied the PHYCORE_R2_MT41K512M16HA125IT_1024MB  configuration parameter values from Barebox into U-boot.

    I'll check the DDR configuration and the register dump and then come back to you.

    Thanks and Regards,

    saikrishna