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