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.

AM4372: NAND Boot Failure with 2Gbit

Part Number: AM4372
Other Parts Discussed in Thread: AM4378

Hi TI Champs

There's request from Customer who uses 2Gbit NAND for boot device.

They have used 1Gb sucessfully. But their client requested to increase the memory capacity to 2Gb.

Therefore, AM4372 and AM4378s are testing 2Gbit, but they are still not NAND booting.
(With 1 Gbit NAND, NAND boot is working fine.)
As you can see in the log below, the Chip ID is being read as 0xda
This corresponds to the Supported NAND Devices specified in 5.2.6.4.2.3 Device Detection and Parameters in the AM4372 Technical Reference Manual.

U-Boot 2020.01 (Apr 20 2022 - 19:45:18 +0900)

CPU  : AM437X-GP rev 1.2
Model: ACROWELL AM437x AUM100
DRAM:  256 MiB
PMIC:  TPS65218
NAND:  nand_base: device found, Manufacturer ID: 0x01, Chip ID: 0xda
nand_base: AMD/Spansion S34ML02G1
nand_base: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
256 MiB
MMC:   OMAP SD/MMC: 0
Loading Environment from FAT... *** Warning - bad CRC, using default environment

Loading Environment from NAND... Scanning device for bad blocks
*** Warning - bad CRC, using default environment


AGAPAO>>get_ram_size=268435456
Net:   No ethernet found.
Hit any key to stop autoboot:  0
=>

As mentioned above, I think NAND support is correct, but I don't know why 1Gb can boot NAND and 2Gb can't boot.
I would like to ask for a detailed review of whether there is any error related to SYSBOOT.

For your information, MLO will proceed normally if you boot to MMC and then perform NAND boot from u-boot.
Therefore, you can verify that it is not written incorrectly to NAND.
(See logs below)

Therefore, it is judged that there is a problem in the process of entering NAND according to the SYSBOOT setting from the ROM code of the CPU.
I ask for your review.

U-Boot 2020.01 (Apr 20 2022 - 19:45:18 +0900)

CPU  : AM437X-GP rev 1.2
Model: ACROWELL AM437x AUM100
DRAM:  256 MiB
PMIC:  TPS65218
NAND:  nand_base: device found, Manufacturer ID: 0x01, Chip ID: 0xda
nand_base: AMD/Spansion S34ML02G1
nand_base: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
256 MiB
MMC:   OMAP SD/MMC: 0
Loading Environment from FAT... *** Warning - bad CRC, using default environment

Loading Environment from NAND... Scanning device for bad blocks
*** Warning - bad CRC, using default environment


AGAPAO>>get_ram_size=268435456
Net:   No ethernet found.
Hit any key to stop autoboot:  0
=>
=> run nandboot
Booting from nand ...

NAND read: device 0 offset 0x100000, size 0x80000
524288 bytes read: OK

NAND read: device 0 offset 0x300000, size 0x700000
7340032 bytes read: OK
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
   Loading Device Tree to 8df15000, end 8df29774 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.4.106-g023faefa70 (root@ubuntu) (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10))) #21 PREEMPT Tue Jul 19 10:51:10 KST 2022
[    0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: ACROWELL AM437x AUM100
[    0.000000] Memory policy: Data cache writeback
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Reserved 48 MiB at 0x8ac00000
[    0.000000] CPU: All CPU(s) started in SVC mode.
[    0.000000] AM437x ES1.2 (neon)
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 64960
[    0.000000] Kernel command line: console=ttyS0,115200n8 root=ubi0:am437x-aum100-rootfs rw ubi.mtd=NAND.file-system,2048 rootfstype=ubifs rootwait=1
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 195148K/262144K available (9216K kernel code, 318K rwdata, 3292K rodata, 1024K init, 260K bss, 17844K reserved, 49152K 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]  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] L2C: platform modifies aux control register: 0x0e030000 -> 0x3e430000
[    0.000000] L2C: DT/platform modifies aux control register: 0x0e030000 -> 0x3e430000
[    0.000000] L2C-310 enabling early BRESP for Cortex-A9
[    0.000000] OMAP L2C310: ROM does not support power control setting
[    0.000000] L2C-310 dynamic clock gating disabled, standby mode disabled
[    0.000000] L2C-310 cache controller enabled, 16 ways, 256 kB
[    0.000000] L2C-310: CACHE_ID 0x410000c9, AUX_CTRL 0x4e430000
[    0.000000] random: get_random_bytes called from start_kernel+0x2b4/0x470 with crng_init=0
[    0.000000] /ocp@44000000/interconnect@44c00000/segment@100000/target-module@f0000/prcm@0/l4-rtc-cm@8500/l4-rtc-clkctrl@20 not found from clkctrl data.
[    0.000000] OMAP clockevent source: timer2 at 24000000 Hz
[    0.000017] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[    0.000041] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.000053] OMAP clocksource: timer1 at 24000000 Hz
[    0.000681] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
[    0.000694] OMAP clocksource: 32k_counter at 32768 Hz
[    0.001400] Console: colour dummy device 80x30
[    0.001472] Calibrating delay loop... 1196.85 BogoMIPS (lpj=5984256)
[    0.090276] pid_max: default: 32768 minimum: 301
[    0.090517] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.090537] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.091665] CPU: Testing write buffer coherency: ok
[    0.091737] CPU0: Spectre v2: using BPIALL workaround
[    0.092781] Setting up static identity map for 0x80100000 - 0x80100060
[    0.092970] rcu: Hierarchical SRCU implementation.
[    0.093074] EFI services will not be available.
[    0.093510] devtmpfs: initialized
[    0.110029] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[    0.110574] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.110603] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.114623] pinctrl core: initialized pinctrl subsystem
[    0.115559] DMI not present or invalid.
[    0.116086] NET: Registered protocol family 16
[    0.118334] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.151087] cpuidle: using governor ladder
[    0.151133] cpuidle: using governor menu
[    0.180283] No ATAGs?
[    0.180310] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[    0.180331] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.203338] debugfs: Directory '49000000.edma' with parent 'dmaengine' already present!
[    0.203375] edma 49000000.edma: TI EDMA DMA engine driver
[    0.206170] iommu: Default domain type: Translated
[    0.209388] SCSI subsystem initialized
[    0.209679] usbcore: registered new interface driver usbfs
[    0.209758] usbcore: registered new interface driver hub
[    0.209820] usbcore: registered new device driver usb
[    0.210749] mc: Linux media interface: v0.10
[    0.210807] videodev: Linux video capture interface: v2.00
[    0.210923] pps_core: LinuxPPS API ver. 1 registered
[    0.210933] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.210961] PTP clock support registered
[    0.211005] EDAC MC: Ver: 3.0.0
[    0.212490] Advanced Linux Sound Architecture Driver Initialized.
[    0.213939] clocksource: Switched to clocksource timer1
[    0.224196] thermal_sys: Registered thermal governor 'fair_share'
[    0.224205] thermal_sys: Registered thermal governor 'bang_bang'
[    0.224221] thermal_sys: Registered thermal governor 'step_wise'
[    0.224229] thermal_sys: Registered thermal governor 'user_space'
[    0.224236] thermal_sys: Registered thermal governor 'power_allocator'
[    0.225040] NET: Registered protocol family 2
[    0.225944] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.225985] TCP established hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    0.226019] TCP bind hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    0.226057] TCP: Hash tables configured (established 2048 bind 2048)
[    0.226199] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.226226] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.226436] NET: Registered protocol family 1
[    0.227129] RPC: Registered named UNIX socket transport module.
[    0.227145] RPC: Registered udp transport module.
[    0.227152] RPC: Registered tcp transport module.
[    0.227159] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.227176] PCI: CLS 0 bytes, default 64
[    0.229543] Initialise system trusted keyrings
[    0.229905] workingset: timestamp_bits=14 max_order=16 bucket_order=2
[    0.236410] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.237332] NFS: Registering the id_resolver key type
[    0.237378] Key type id_resolver registered
[    0.237387] Key type id_legacy registered
[    0.237449] ntfs: driver 2.1.32 [Flags: R/O].
[    0.238373] Key type asymmetric registered
[    0.238390] Asymmetric key parser 'x509' registered
[    0.238452] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[    0.238464] io scheduler mq-deadline registered
[    0.238473] io scheduler kyber registered
[    0.244992] OMAP GPIO hardware version 0.1
[    0.251016] ti-sysc 44e3e074.target-module: clock get error for fck: -517
[    0.274068] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
[    0.299086] ti-sysc 48322000.target-module: dts flag should be at module level for ti,no-reset-on-init
[    0.313180] pinctrl-single 44e10800.pinmux: 199 pins, size 796
[    0.380846] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
[    0.385902] omap8250 44e09000.serial: No clock speed specified: using default: 48000000
[    0.386879] printk: console [ttyS0] disabled
[    0.386996] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 67, base_baud = 3000000) is a 8250
[    1.085980] printk: console [ttyS0] enabled
[    1.093676] omap_rng 48310000.rng: Random Number Generator ver. 20
[    1.100101] random: fast init done
[    1.103751] random: crng init done
[    1.131683] brd: module loaded
[    1.146450] loop: module loaded
[    1.157091] libphy: Fixed MDIO Bus: probed
[    1.162332] usbcore: registered new interface driver cdc_ether
[    1.168364] usbcore: registered new interface driver cdc_eem
[    1.174149] usbcore: registered new interface driver cdc_ncm
[    1.182128] dwc3 48390000.usb: Failed to get clk 'ref': -2
[    1.194287] dwc3 483d0000.usb: Failed to get clk 'ref': -2
[    1.204367] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[    1.209959] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
[    1.218368] xhci-hcd xhci-hcd.0.auto: hcc params 0x0238f06d hci version 0x100 quirks 0x0000000002010010
[    1.227903] xhci-hcd xhci-hcd.0.auto: irq 86, io mem 0x483d0000
[    1.234338] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04
[    1.242651] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.249941] usb usb1: Product: xHCI Host Controller
[    1.254859] usb usb1: Manufacturer: Linux 5.4.106-g023faefa70 xhci-hcd
[    1.261418] usb usb1: SerialNumber: xhci-hcd.0.auto
[    1.267106] hub 1-0:1.0: USB hub found
[    1.270928] hub 1-0:1.0: 1 port detected
[    1.275437] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[    1.280972] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
[    1.288757] xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0 SuperSpeed
[    1.295434] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    1.303691] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.04
[    1.312022] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.319294] usb usb2: Product: xHCI Host Controller
[    1.324210] usb usb2: Manufacturer: Linux 5.4.106-g023faefa70 xhci-hcd
[    1.330767] usb usb2: SerialNumber: xhci-hcd.0.auto
[    1.336405] hub 2-0:1.0: USB hub found
[    1.340235] hub 2-0:1.0: 1 port detected
[    1.344929] usbcore: registered new interface driver cdc_acm
[    1.350619] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[    1.358817] usbcore: registered new interface driver usbtest
[    1.366011] gadgetfs: USB Gadget filesystem, version 24 Aug 2004
[    1.372565] i2c /dev entries driver
[    1.380848] cpuidle: enable-method property 'ti,am4372' found operations
[    1.388759] sdhci: Secure Digital Host Controller Interface driver
[    1.395024] sdhci: Copyright(c) Pierre Ossman
[    1.401229] omap_gpio 44e07000.gpio: Could not set line 6 debounce to 200000 microseconds (-22)
[    1.410024] omap_hsmmc 48060000.mmc: Got CD GPIO
[    1.441525] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.449406] ledtrig-cpu: registered to indicate activity on CPUs
[    1.456827] usbcore: registered new interface driver usbhid
[    1.462695] usbhid: USB HID core driver
[    1.470729] davinci-mcasp 4803c000.mcasp: IRQ common not found
[    1.478565] NET: Registered protocol family 10
[    1.484498] Segment Routing with IPv6
[    1.488353] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    1.495242] NET: Registered protocol family 17
[    1.500197] Key type dns_resolver registered
[    1.504871] omap_voltage_late_init: Voltage driver support not added
[    1.512073] Loading compiled-in X.509 certificates
[    1.523419] mmc0: host does not support reading read-only switch, assuming write-enable
[    1.545742] omap-gpmc 50000000.gpmc: GPMC revision 6.0
[    1.551083] mmc0: new high speed SDHC card at address 59b4
[    1.557124] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
[    1.564094] mmcblk0: mmc0:59b4 USD00 14.8 GiB
[    1.570390] nand: device found, Manufacturer ID: 0x01, Chip ID: 0xda
[    1.576842] nand: AMD/Spansion S34ML02G1
[    1.580787] nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    1.588598] nand: using OMAP_ECC_BCH8_CODE_HW ECC scheme
[    1.594081] 10 fixed-partitions partitions found on MTD device omap2-nand.0
[    1.601077] Creating 10 MTD partitions on "omap2-nand.0":
[    1.606541] 0x000000000000-0x000000040000 : "NAND.SPL"
[    1.614635] 0x000000040000-0x000000080000 : "NAND.SPL.backup1"
[    1.622435]  mmcblk0: p1 p2
[    1.627473] 0x000000080000-0x0000000c0000 : "NAND.SPL.backup2"
[    1.635262] 0x0000000c0000-0x000000100000 : "NAND.SPL.backup3"
[    1.642881] 0x000000100000-0x000000180000 : "NAND.u-boot-spl-os"
[    1.650926] 0x000000180000-0x000000280000 : "NAND.u-boot"
[    1.658656] 0x000000280000-0x0000002c0000 : "NAND.u-boot-env"
[    1.666204] 0x0000002c0000-0x000000300000 : "NAND.u-boot-env.backup1"
[    1.674451] 0x000000300000-0x000000a00000 : "NAND.kernel"
[    1.685894] 0x000000a00000-0x000020000000 : "NAND.file-system"
[    1.691768] mtd: partition "NAND.file-system" extends beyond the end of device "omap2-nand.0" -- size truncated to 0xf600000
[    1.902178] AGAPAO>> DCDC4 PWM
[    1.913543] omap_i2c 44e0b000.i2c: bus 0 rev0.12 at 50 kHz
[    1.919619] ti-sysc 44e3e074.target-module: clock get error for fck: -517
[    1.928712] omap_i2c 4802a000.i2c: bus 1 rev0.12 at 300 kHz
[    1.945888] omap_reset_deassert: timedout waiting for gfx:0
[    1.951548] ti-sysc: probe of 44000000.ocp:target-module@56000000 failed with error -110
[    1.960986] core: _opp_supported_by_regulators: OPP minuV: 931000 maxuV: 969000, not supported by regulator
[    1.970904] cpu cpu0: _opp_add: OPP not supported by regulators (300000000)
[    1.979305] ti-sysc 44e3e074.target-module: clock get error for fck: -517
[    1.987174] ti-sysc 44e3e074.target-module: clock get error for fck: -517
[    1.994925] ubi0: attaching mtd9
[    2.772049] ubi0: scanning is finished
[    2.784339] ubi0: attached mtd9 (name "NAND.file-system", size 246 MiB)
[    2.791004] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    2.797950] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 512
[    2.804750] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[    2.811747] ubi0: good PEBs: 1968, bad PEBs: 0, corrupted PEBs: 0
[    2.817887] ubi0: user volume: 1, internal volumes: 1, max. volumes count: 128
[    2.825160] ubi0: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 1832327117
[    2.834371] ubi0: available PEBs: 0, total reserved PEBs: 1968, PEBs reserved for bad PEB handling: 40
[    2.843732] ubi0: background thread "ubi_bgt0d" started, PID 60
[    2.851026] ALSA device list:
[    2.854134]   No soundcards found.
[    2.859290] UBIFS (ubi0:0): Mounting in unauthenticated mode
[    2.874052] UBIFS (ubi0:0): background thread "ubifs_bgt0_0" started, PID 61
[    2.895540] UBIFS (ubi0:0): recovery needed
[    2.976028] UBIFS (ubi0:0): recovery completed
[    2.980918] UBIFS (ubi0:0): UBIFS: mounted UBI device 0, volume 0, name "am437x-aum100-rootfs"
[    2.989662] UBIFS (ubi0:0): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[    2.999650] UBIFS (ubi0:0): FS size: 242905088 bytes (231 MiB, 1913 LEBs), journal size 9023488 bytes (8 MiB, 72 LEBs)
[    3.010435] UBIFS (ubi0:0): reserved for root: 0 bytes (0 KiB)
[    3.016319] UBIFS (ubi0:0): media format: w4/r0 (latest is w5/r0), UUID F56A4EB3-84AD-4FE7-A8F8-95B2CA8F6833, small LPT model
[    3.028763] VFS: Mounted root (ubifs filesystem) on device 0:16.
[    3.036033] devtmpfs: mounted
[    3.040976] Freeing unused kernel memory: 1024K
[    3.045808] Run /sbin/init as init process
INIT: version 2.96 booting
INIT: Entering runlevel: 5
Starting syslogd/klogd: done

_____                    _____           _         _
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
              |___|                    |___|

Arago Project http://arago-project.org am437x-aum100 /dev/ttyS0

Arago 2020.09 am437x-aum100 /dev/ttyS0

am437x-aum100 login: root
root@am437x-aum100:~#

Thanks.

Regards, 

Jack

  • Hello Jack,
    What is printout from "nand info" @u-boot prompt after booting from SD card?
    Best,
    -Hong

  • Hi Hong

    Please find the print out log as below.

    U-Boot 2020.01 (Apr 20 2022 - 19:45:18 +0900)
    
    CPU  : AM437X-GP rev 1.2
    Model: ACROWELL AM437x AUM100
    DRAM:  256 MiB
    PMIC:  TPS65218
    NAND:  nand_base: device found, Manufacturer ID: 0x01, Chip ID: 0xda
    nand_base: AMD/Spansion S34ML02G1
    nand_base: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
    256 MiB
    MMC:   OMAP SD/MMC: 0
    Loading Environment from FAT... *** Warning - bad CRC, using default environment
    
    Loading Environment from NAND... Scanning device for bad blocks
    *** Warning - bad CRC, using default environment
    
    
    AGAPAO>>get_ram_size=1073741824
    Net:   No ethernet found.
    Hit any key to stop autoboot:  0
    =>
    =>
    =>
    => nand info
    
    Device 0: nand0, sector size 128 KiB
      Page size       2048 b
      OOB size          64 b
      Erase size    131072 b
      subpagesize      512 b
      options     0x4000400c
      bbt options 0x00008000
    => mtdparts
    
    device nand0 <nand.0>, # parts = 10
    #: name                size            offset          mask_flags
    0: NAND.SPL            0x00040000      0x00000000      0
    1: NAND.SPL.backup1    0x00040000      0x00040000      0
    2: NAND.SPL.backup2    0x00040000      0x00080000      0
    3: NAND.SPL.backup3    0x00040000      0x000c0000      0
    4: NAND.u-boot-spl-os  0x00080000      0x00100000      0
    5: NAND.u-boot         0x00100000      0x00180000      0
    6: NAND.u-boot-env     0x00040000      0x00280000      0
    7: NAND.u-boot-env.backup10x00040000   0x002c0000      0
    8: NAND.kernel         0x00700000      0x00300000      0
    9: NAND.file-system    0x0f600000      0x00a00000      0
    
    active partition: nand0,0 - (NAND.SPL) 0x00040000 @ 0x00000000
    
    defaults:
    mtdids  : nand0=nand.0
    mtdparts: mtdparts=nand.0:256k(NAND.SPL),256k(NAND.SPL.backup1),256k(NAND.SPL.backup2),256k(NAND.SPL.backup3),512k(NAND.u-boot-spl-os),1m(NAND.u-boot),256k(NAND.u-boot-env),256k(NAND.u-boot-env.backup1),7m(NAND.kernel),-(NAND.file-system)
    =>
    
    

    Thanks.

    Regards, 

    Jack

  • Hello Jack,
    I'm assuming the last log for "nand info" is from the 2Gb NAND part?
    If yes, do you have the log for "nand info" from the 1Gb NAND part?
    Best,
    -Hong

  • Yes, I will get back to you with 1GB log shortly.

  • Hi Hong

    Please find the log of 1GB Nand Boot success. 

    U-Boot 2020.01 (Apr 20 2022 - 19:45:18 +0900)
    
    CPU  : AM437X-GP rev 1.2
    Model: ACROWELL AM437x AUM100
    DRAM:  256 MiB
    PMIC:  TPS65218
    NAND:  nand_base: device found, Manufacturer ID: 0x01, Chip ID: 0xf1
    nand_base: AMD/Spansion S34ML01G2
    nand_base: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
    128 MiB
    MMC:   OMAP SD/MMC: 0
    Loading Environment from FAT... MMC: no card present
    mmc_init: -123, time 2
    Loading Environment from NAND... Scanning device for bad blocks
    OK
    
    AGAPAO>>get_ram_size=268435456
    Net:   No ethernet found.
    Hit any key to stop autoboot:  0
    Booting from nand ...
    
    NAND read: device 0 offset 0x100000, size 0x80000
    524288 bytes read: OK
    
    NAND read: device 0 offset 0x300000, size 0x700000
    7340032 bytes read: OK
    ## Flattened Device Tree blob at 88000000
       Booting using the fdt blob at 0x88000000
       Loading Device Tree to 8df15000, end 8df29774 ... OK
    
    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 5.4.106-g023faefa70 (root@ubuntu) (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10))) #21 PREEMPT Tue Jul 19 10:51:10 KST 2022
    [    0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] OF: fdt: Machine model: ACROWELL AM437x AUM100
    [    0.000000] Memory policy: Data cache writeback
    [    0.000000] efi: Getting EFI parameters from FDT:
    [    0.000000] efi: UEFI not found.
    [    0.000000] cma: Reserved 48 MiB at 0x8ac00000
    [    0.000000] CPU: All CPU(s) started in SVC mode.
    [    0.000000] AM437x ES1.2 (neon)
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 64960
    [    0.000000] Kernel command line: console=ttyS0,115200n8 root=ubi0:am437x-aum100-rootfs rw ubi.mtd=NAND.file-system,2048 rootfstype=ubifs rootwait=1
    [    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
    [    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
    [    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
    [    0.000000] Memory: 195148K/262144K available (9216K kernel code, 318K rwdata, 3292K rodata, 1024K init, 260K bss, 17844K reserved, 49152K 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]  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] L2C: platform modifies aux control register: 0x0e030000 -> 0x3e430000
    [    0.000000] L2C: DT/platform modifies aux control register: 0x0e030000 -> 0x3e430000
    [    0.000000] L2C-310 enabling early BRESP for Cortex-A9
    [    0.000000] OMAP L2C310: ROM does not support power control setting
    [    0.000000] L2C-310 dynamic clock gating disabled, standby mode disabled
    [    0.000000] L2C-310 cache controller enabled, 16 ways, 256 kB
    [    0.000000] L2C-310: CACHE_ID 0x410000c9, AUX_CTRL 0x4e430000
    [    0.000000] random: get_random_bytes called from start_kernel+0x2b4/0x470 with crng_init=0
    [    0.000000] /ocp@44000000/interconnect@44c00000/segment@100000/target-module@f0000/prcm@0/l4-rtc-cm@8500/l4-rtc-clkctrl@20 not found from clkctrl data.
    [    0.000000] OMAP clockevent source: timer2 at 24000000 Hz
    [    0.000018] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
    [    0.000042] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
    [    0.000054] OMAP clocksource: timer1 at 24000000 Hz
    [    0.000687] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
    [    0.000698] OMAP clocksource: 32k_counter at 32768 Hz
    [    0.001417] Console: colour dummy device 80x30
    [    0.001490] Calibrating delay loop... 1196.85 BogoMIPS (lpj=5984256)
    [    0.090280] pid_max: default: 32768 minimum: 301
    [    0.090519] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
    [    0.090541] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
    [    0.091681] CPU: Testing write buffer coherency: ok
    [    0.091753] CPU0: Spectre v2: using BPIALL workaround
    [    0.092782] Setting up static identity map for 0x80100000 - 0x80100060
    [    0.092970] rcu: Hierarchical SRCU implementation.
    [    0.093073] EFI services will not be available.
    [    0.093505] devtmpfs: initialized
    [    0.109977] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
    [    0.110522] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.110551] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
    [    0.114557] pinctrl core: initialized pinctrl subsystem
    [    0.115494] DMI not present or invalid.
    [    0.116025] NET: Registered protocol family 16
    [    0.118283] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.150928] cpuidle: using governor ladder
    [    0.150972] cpuidle: using governor menu
    [    0.180026] No ATAGs?
    [    0.180052] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
    [    0.180072] hw-breakpoint: maximum watchpoint size is 4 bytes.
    [    0.203148] debugfs: Directory '49000000.edma' with parent 'dmaengine' already present!
    [    0.203184] edma 49000000.edma: TI EDMA DMA engine driver
    [    0.205964] iommu: Default domain type: Translated
    [    0.209175] SCSI subsystem initialized
    [    0.209466] usbcore: registered new interface driver usbfs
    [    0.209544] usbcore: registered new interface driver hub
    [    0.209607] usbcore: registered new device driver usb
    [    0.210168] mc: Linux media interface: v0.10
    [    0.210217] videodev: Linux video capture interface: v2.00
    [    0.210696] pps_core: LinuxPPS API ver. 1 registered
    [    0.210709] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.210737] PTP clock support registered
    [    0.210782] EDAC MC: Ver: 3.0.0
    [    0.212278] Advanced Linux Sound Architecture Driver Initialized.
    [    0.213721] clocksource: Switched to clocksource timer1
    [    0.223964] thermal_sys: Registered thermal governor 'fair_share'
    [    0.223973] thermal_sys: Registered thermal governor 'bang_bang'
    [    0.223989] thermal_sys: Registered thermal governor 'step_wise'
    [    0.223997] thermal_sys: Registered thermal governor 'user_space'
    [    0.224005] thermal_sys: Registered thermal governor 'power_allocator'
    [    0.224809] NET: Registered protocol family 2
    [    0.225718] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
    [    0.225756] TCP established hash table entries: 2048 (order: 1, 8192 bytes, linear)
    [    0.225790] TCP bind hash table entries: 2048 (order: 1, 8192 bytes, linear)
    [    0.225828] TCP: Hash tables configured (established 2048 bind 2048)
    [    0.225969] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
    [    0.225996] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
    [    0.226203] NET: Registered protocol family 1
    [    0.226899] RPC: Registered named UNIX socket transport module.
    [    0.226915] RPC: Registered udp transport module.
    [    0.226922] RPC: Registered tcp transport module.
    [    0.226929] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.226946] PCI: CLS 0 bytes, default 64
    [    0.229304] Initialise system trusted keyrings
    [    0.229665] workingset: timestamp_bits=14 max_order=16 bucket_order=2
    [    0.236156] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.237078] NFS: Registering the id_resolver key type
    [    0.237120] Key type id_resolver registered
    [    0.237129] Key type id_legacy registered
    [    0.237192] ntfs: driver 2.1.32 [Flags: R/O].
    [    0.238118] Key type asymmetric registered
    [    0.238135] Asymmetric key parser 'x509' registered
    [    0.238196] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
    [    0.238208] io scheduler mq-deadline registered
    [    0.238216] io scheduler kyber registered
    [    0.244753] OMAP GPIO hardware version 0.1
    [    0.250796] ti-sysc 44e3e074.target-module: clock get error for fck: -517
    [    0.273837] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
    [    0.298848] ti-sysc 48322000.target-module: dts flag should be at module level for ti,no-reset-on-init
    [    0.312985] pinctrl-single 44e10800.pinmux: 199 pins, size 796
    [    0.380623] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [    0.385697] omap8250 44e09000.serial: No clock speed specified: using default: 48000000
    [    0.386669] printk: console [ttyS0] disabled
    [    0.386783] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 67, base_baud = 3000000) is a 8250
    [    1.085778] printk: console [ttyS0] enabled
    [    1.093487] omap_rng 48310000.rng: Random Number Generator ver. 20
    [    1.099914] random: fast init done
    [    1.103567] random: crng init done
    [    1.131413] brd: module loaded
    [    1.146191] loop: module loaded
    [    1.156825] libphy: Fixed MDIO Bus: probed
    [    1.162055] usbcore: registered new interface driver cdc_ether
    [    1.168086] usbcore: registered new interface driver cdc_eem
    [    1.173873] usbcore: registered new interface driver cdc_ncm
    [    1.181868] dwc3 48390000.usb: Failed to get clk 'ref': -2
    [    1.194012] dwc3 483d0000.usb: Failed to get clk 'ref': -2
    [    1.204013] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
    [    1.209605] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
    [    1.218015] xhci-hcd xhci-hcd.0.auto: hcc params 0x0238f06d hci version 0x100 quirks 0x0000000002010010
    [    1.227552] xhci-hcd xhci-hcd.0.auto: irq 86, io mem 0x483d0000
    [    1.233989] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04
    [    1.242304] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [    1.249593] usb usb1: Product: xHCI Host Controller
    [    1.254510] usb usb1: Manufacturer: Linux 5.4.106-g023faefa70 xhci-hcd
    [    1.261068] usb usb1: SerialNumber: xhci-hcd.0.auto
    [    1.266755] hub 1-0:1.0: USB hub found
    [    1.270575] hub 1-0:1.0: 1 port detected
    [    1.275083] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
    [    1.280619] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
    [    1.288406] xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0 SuperSpeed
    [    1.295087] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
    [    1.303346] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.04
    [    1.311677] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [    1.318949] usb usb2: Product: xHCI Host Controller
    [    1.323864] usb usb2: Manufacturer: Linux 5.4.106-g023faefa70 xhci-hcd
    [    1.330421] usb usb2: SerialNumber: xhci-hcd.0.auto
    [    1.336069] hub 2-0:1.0: USB hub found
    [    1.339897] hub 2-0:1.0: 1 port detected
    [    1.344584] usbcore: registered new interface driver cdc_acm
    [    1.350273] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
    [    1.358468] usbcore: registered new interface driver usbtest
    [    1.365669] gadgetfs: USB Gadget filesystem, version 24 Aug 2004
    [    1.372220] i2c /dev entries driver
    [    1.380485] cpuidle: enable-method property 'ti,am4372' found operations
    [    1.388410] sdhci: Secure Digital Host Controller Interface driver
    [    1.394674] sdhci: Copyright(c) Pierre Ossman
    [    1.400895] omap_gpio 44e07000.gpio: Could not set line 6 debounce to 200000 microseconds (-22)
    [    1.409689] omap_hsmmc 48060000.mmc: Got CD GPIO
    [    1.441191] sdhci-pltfm: SDHCI platform and OF driver helper
    [    1.448799] ledtrig-cpu: registered to indicate activity on CPUs
    [    1.456211] usbcore: registered new interface driver usbhid
    [    1.461816] usbhid: USB HID core driver
    [    1.469215] davinci-mcasp 4803c000.mcasp: IRQ common not found
    [    1.476994] NET: Registered protocol family 10
    [    1.482748] Segment Routing with IPv6
    [    1.486667] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [    1.493447] NET: Registered protocol family 17
    [    1.498505] Key type dns_resolver registered
    [    1.503042] omap_voltage_late_init: Voltage driver support not added
    [    1.510228] Loading compiled-in X.509 certificates
    [    1.535099] omap-gpmc 50000000.gpmc: GPMC revision 6.0
    [    1.540285] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
    [    1.548547] nand: device found, Manufacturer ID: 0x01, Chip ID: 0xf1
    [    1.555001] nand: AMD/Spansion S34ML01G2
    [    1.558948] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
    [    1.566762] nand: using OMAP_ECC_BCH8_CODE_HW ECC scheme
    [    1.572218] 10 fixed-partitions partitions found on MTD device omap2-nand.0
    [    1.579242] Creating 10 MTD partitions on "omap2-nand.0":
    [    1.584688] 0x000000000000-0x000000040000 : "NAND.SPL"
    [    1.592066] 0x000000040000-0x000000080000 : "NAND.SPL.backup1"
    [    1.599793] 0x000000080000-0x0000000c0000 : "NAND.SPL.backup2"
    [    1.607466] 0x0000000c0000-0x000000100000 : "NAND.SPL.backup3"
    [    1.615089] 0x000000100000-0x000000180000 : "NAND.u-boot-spl-os"
    [    1.623078] 0x000000180000-0x000000280000 : "NAND.u-boot"
    [    1.630797] 0x000000280000-0x0000002c0000 : "NAND.u-boot-env"
    [    1.638369] 0x0000002c0000-0x000000300000 : "NAND.u-boot-env.backup1"
    [    1.646604] 0x000000300000-0x000000a00000 : "NAND.kernel"
    [    1.658355] 0x000000a00000-0x000020000000 : "NAND.file-system"
    [    1.664285] mtd: partition "NAND.file-system" extends beyond the end of device "omap2-nand.0" -- size truncated to 0x7600000
    [    1.801971] AGAPAO>> DCDC4 PWM
    [    1.813326] omap_i2c 44e0b000.i2c: bus 0 rev0.12 at 50 kHz
    [    1.819385] ti-sysc 44e3e074.target-module: clock get error for fck: -517
    [    1.828537] omap_i2c 4802a000.i2c: bus 1 rev0.12 at 300 kHz
    [    1.845697] omap_reset_deassert: timedout waiting for gfx:0
    [    1.851362] ti-sysc: probe of 44000000.ocp:target-module@56000000 failed with error -110
    [    1.860816] core: _opp_supported_by_regulators: OPP minuV: 931000 maxuV: 969000, not supported by regulator
    [    1.870733] cpu cpu0: _opp_add: OPP not supported by regulators (300000000)
    [    1.879133] ti-sysc 44e3e074.target-module: clock get error for fck: -517
    [    1.887008] ti-sysc 44e3e074.target-module: clock get error for fck: -517
    [    1.894809] ubi0: attaching mtd9
    [    2.278217] ubi0: scanning is finished
    [    2.288825] ubi0: attached mtd9 (name "NAND.file-system", size 118 MiB)
    [    2.295587] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
    [    2.302497] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 512
    [    2.309252] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
    [    2.316286] ubi0: good PEBs: 944, bad PEBs: 0, corrupted PEBs: 0
    [    2.322324] ubi0: user volume: 1, internal volumes: 1, max. volumes count: 128
    [    2.329598] ubi0: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 1115211609
    [    2.338808] ubi0: available PEBs: 0, total reserved PEBs: 944, PEBs reserved for bad PEB handling: 20
    [    2.348098] ubi0: background thread "ubi_bgt0d" started, PID 57
    [    2.355378] ALSA device list:
    [    2.358375]   No soundcards found.
    [    2.363527] UBIFS (ubi0:0): Mounting in unauthenticated mode
    [    2.373816] UBIFS (ubi0:0): background thread "ubifs_bgt0_0" started, PID 58
    [    2.399948] UBIFS (ubi0:0): recovery needed
    [    2.481407] UBIFS (ubi0:0): recovery completed
    [    2.486438] UBIFS (ubi0:0): UBIFS: mounted UBI device 0, volume 0, name "am437x-aum100-rootfs"
    [    2.495129] UBIFS (ubi0:0): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
    [    2.505143] UBIFS (ubi0:0): FS size: 115421184 bytes (110 MiB, 909 LEBs), journal size 9023488 bytes (8 MiB, 72 LEBs)
    [    2.515820] UBIFS (ubi0:0): reserved for root: 0 bytes (0 KiB)
    [    2.521688] UBIFS (ubi0:0): media format: w4/r0 (latest is w5/r0), UUID 2BE5D652-2046-49BE-8E1D-6E211BAECEB5, small LPT model
    [    2.534362] VFS: Mounted root (ubifs filesystem) on device 0:16.
    [    2.541548] devtmpfs: mounted
    [    2.546568] Freeing unused kernel memory: 1024K
    [    2.551362] Run /sbin/init as init process
    INIT: version 2.96 booting
    INIT: Entering runlevel: 5
    Starting syslogd/klogd: done
    
    _____                    _____           _         _
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
                  |___|                    |___|
    
    Arago Project http://arago-project.org am437x-aum100 /dev/ttyS0
    
    Arago 2020.09 am437x-aum100 /dev/ttyS0
    
    am437x-aum100 login: root
    root@am437x-aum100:~#
    
    

    Thanks.

    Regards, 

    Jack

  • Hello Jack,
    Have we cross-checked the SYSBOOT pin setting are the same for NAND boot on both boards (256MiB NAND and 128MiB NAND)?
    Do we have JTAG access on the customer board?
    If yes, can we try "attaching" JTAG to the board to pinpoint to which point code is running up to?
    where "attaching" means attach/connect JTAG without target reset.
    Let's use JTAG debugger to find out if SPL starts to run on the board.
    a). if yes, SPL needs to be debugged further to see where lock-up is.
    b). if no, check SYSBOOT[] latched in CM CTRL_STS register @0x44E10040 to see if it is matching SYSBOOT pin configured on the board.
    Additionally bootrom boot progress can be checked via reading trace vector as described in "5.2.3.2.5 Tracing Data" of the TRM.
    Best,
    -Hong

  • Hi Hong, 

    Customer informed us the issue could be resolved by fixing their H/W change. 
    I asked about changes applied. I'll get back to you if available. 

    Regards, 

    Jack

  • Hi Hong

    Please fiond the details of thier changes to fix issue below.

    Cause:
    SYSBOOT (08) Option Setting Error

    Details:
    "0" Wait Mux option 0 / "1" Wait Mux option 1
    -> Circuit Wait Mux option 0 designed
    Debugging while changing "0" < -> "1" due to NAND Access/Programming/Booting error at the time of sample bridging up
    -> Last hardware sample with "1" (the other sample returned to its original state)
    -> "1" -> It should be changed to "0", but it was not recognized (the related relationship could not be checked because the parts were small)
    -> Identify symptoms that fail to perform the following actions after NAND Reset Command during current debugging
    -> Guessing symptoms not recognized by AM4378 after Wait signal is generated
    -> Error encountered while checking Pin MUX option

    Conclusion:
    Human error that failed to confirm hardware changes

    Thanks 

    Regards, 

    Jack

  • Jack, we do appreciate you closing the loop back here with the solution. Thanks, Andreas.

  • You're welcome. I always appreciate your kind support. Andreas !