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.

AM437X启动时出现当把BOOT Sequence改为MMC0<USB1<USB0<NAND_I2C时发现无法加载到内核,当采用MMC1<USB1<USB0<MMC0启动时,系统能够加载内核,请问这是哪里出问题了?

Other Parts Discussed in Thread: TPS65216, TPS65218, AM4372

当采用MMC1<USB1<USB0<MMC0启动时,系统能够加载内核,打印串口如下:

[15:31:22.278]收←◆
U-Boot SPL 2019.01-gc67eee0d75-dirty (Dec 19 2019 - 13:20:22 +0800)
Trying to boot from MMC1

[15:31:22.317]收←◆SPL: Please implement spl_start_uboot() for your board
SPL: Direct Linux boot not active!

[15:31:22.615]收←◆

U-Boot 2019.01-gc67eee0d75-dirty (Dec 19 2019 - 13:20:22 +0800)

CPU : AM437X-GP rev 1.2
Model: Edan MPM AM43xx
DRAM: 256 MiB

[15:31:23.147]收←◆PMIC: TPS65218/TPS65216
MMC: OMAP SD/MMC: 0
Loading Environment from FAT...
[15:31:23.189]收←◆*** Warning - bad CRC, using default environment

Net:
Warning: ethernet@4a100000 using MAC address from ROM
eth0: ethernet@4a100000
Warning: usb_ether using MAC address from ROM
, eth1: usb_ether
Hit any key to stop autoboot: 2
[15:31:24.230]收←◆ 1
[15:31:25.232]收←◆ 0

[15:31:25.263]收←◆switch to partitions #0, OK
mmc0(part 0) is current device

[15:31:25.300]收←◆SD/MMC found on device 0
** Unable to read file boot.scr **
714 bytes read in 2 ms (348.6 KiB/s)
Loaded env from uEnv.txt
Importing environment from mmc0 ...
switch to partitions #0, OK
mmc0(part 0) is current device

[15:31:25.384]收←◆SD/MMC found on device 0

[15:31:25.612]收←◆4248064 bytes read in 225 ms (18 MiB/s)
46638 bytes read in 4 ms (11.1 MiB/s)
## Flattened Device Tree blob at 88000000
Booting using the fdt blob at 0x88000000
Loading Device Tree to 8df2c000, end 8df3a62d ... OK

Starting kernel ...


[15:31:28.563]收←◆[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.19.59-g5f8c1c6121 (weiwenhong@jh-weiwenhong) (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #53 PREEMPT Sat Dec 21 20:20:09 CST 2019
[ 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: EDAN MPM AM43xx
[ 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] random: get_random_bytes called from start_kernel+0xa4/0x434 with crng_init=0
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 64960
[ 0.000000] Kernel command line: console=ttyO0,115200n8 root=PARTUUID=64eba8f3-02 rw rootfstype=ext4 rootwait
[ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Memory: 196256K/262144K available (9216K kernel code, 318K rwdata, 2708K rodata, 1024K init, 254K bss, 16736K reserved, 49152K cma-reserved, 0K highmem)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xd0800000 - 0xff800000 ( 752 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xd0000000 ( 256 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0x(ptrval) - 0x(ptrval) (10208 kB)
[ 0.000000] .init : 0x(ptrval) - 0x(ptrval) (1024 kB)
[ 0.000000] .data : 0x(ptrval) - 0x(ptrval) ( 319 kB)
[ 0.000000] .bss : 0x(ptrval) - 0x(ptrval) ( 255 kB)
[ 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] 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] OMAP clockevent source: timer2 at 24000000 Hz
[ 0.000013] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[ 0.000032] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000043] OMAP clocksource: timer1 at 24000000 Hz
[ 0.000492] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
[ 0.000504] OMAP clocksource: 32k_counter at 32768 Hz
[ 0.000892] Console: colour dummy device 80x30
[ 0.000920] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
[ 0.000927] This ensures that you still see kernel messages. Please
[ 0.000933] update your kernel commandline.
[ 0.000974] Calibrating delay loop... 1594.16 BogoMIPS (lpj=7970816)
[ 0.090209] pid_max: default: 32768 minimum: 301
[ 0.090392] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.090408] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.091198] CPU: Testing write buffer coherency: ok
[ 0.091252] CPU0: Spectre v2: using BPIALL workaround
[ 0.092050] Setting up static identity map for 0x80100000 - 0x80100060
[ 0.092199] rcu: Hierarchical SRCU implementation.
[ 0.092549] EFI services will not be available.
[ 0.093419] devtmpfs: initialized
[ 0.102776] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[ 0.103160] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.103183] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.106507] pinctrl core: initialized pinctrl subsystem
[ 0.107169] DMI not present or invalid.
[ 0.107547] NET: Registered protocol family 16
[ 0.109114] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.186365] cpuidle: using governor ladder
[ 0.186406] cpuidle: using governor menu
[ 0.194684] OMAP GPIO hardware version 0.1
[ 0.204286] No ATAGs?
[ 0.204311] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[ 0.204328] hw-breakpoint: maximum watchpoint size is 4 bytes.
[ 0.219085] edma 49000000.edma: TI EDMA DMA engine driver
[
[15:31:29.026]收←◆ 0.222509] SCSI subsystem initialized
[ 0.223066] media: Linux media interface: v0.10
[ 0.223110] videodev: Linux video capture interface: v2.00
[ 0.223206] pps_core: LinuxPPS API ver. 1 registered
[ 0.223215] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.223237] PTP clock support registered
[ 0.223270] EDAC MC: Ver: 3.0.0
[ 0.224284] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
[ 0.224911] Advanced Linux Sound Architecture Driver Initialized.
[ 0.226045] clocksource: Switched to clocksource timer1
[ 0.234530] NET: Registered protocol family 2
[ 0.235303] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes)
[ 0.235340] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.235366] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.235397] TCP: Hash tables configured (established 2048 bind 2048)
[ 0.235491] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.235512] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.235651] NET: Registered protocol family 1
[ 0.236282] RPC: Registered named UNIX socket transport module.
[ 0.236297] RPC: Registered udp transport module.
[ 0.236304] RPC: Registered tcp transport module.
[ 0.236311] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.238260] Initialise system trusted keyrings
[ 0.238533] workingset: timestamp_bits=14 max_order=16 bucket_order=2
[ 0.242979] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.243717] NFS: Registering the id_resolver key type
[ 0.243751] Key type id_resolver registered
[ 0.243760] Key type id_legacy registered
[ 0.243803] ntfs: driver 2.1.32 [Flags: R/O].
[ 0.246031] Key type asymmetric registered
[ 0.246122] Asymmetric key parser 'x509' registered
[ 0.246195] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[ 0.246208] io scheduler noop registered
[ 0.246215] io scheduler deadline registered
[ 0.246476] io scheduler cfq registered (default)
[ 0.246489] io scheduler mq-deadline registered
[ 0.246497] io scheduler kyber registered
[ 0.249447] pinctrl-single 44e10800.pinmux: 199 pins, size 796
[ 0.252599] pwm-backlight backlight: backlight supply power not found, using dummy regulator
[ 0.252695] pwm-backlight backlight: Linked as a consumer to regulator.0
[ 0.301210] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
[ 0.304608] omap8250 44e09000.serial: No clock speed specified: using default: 48000000
[ 0.305346] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 31, base_baud = 3000000) is a 8250
[ 0.989526] console [ttyS0] enabled
[ 0.993679] omap8250 48022000.serial: No clock speed specified: using default: 48000000
[ 1.002510] 48022000.serial: ttyS1 at MMIO 0x48022000 (irq = 32, base_baud = 3000000) is a 8250
[ 1.011912] omap8250 48024000.serial: No clock speed specified: using default: 48000000
[ 1.020718] 48024000.serial: ttyS2 at MMIO 0x48024000 (irq = 33, base_baud = 3000000) is a 8250
[ 1.030088] omap8250 481a6000.serial: No clock speed specified: using default: 48000000
[ 1.038894] 481a6000.serial: ttyS3 at MMIO 0x481a6000 (irq = 34, base_baud = 3000000) is a 8250
[ 1.048246] omap8250 481a8000.serial: No clock speed specified: using default: 48000000
[ 1.057034] 481a8000.serial: ttyS4 at MMIO 0x481a8000 (irq = 35, base_baud = 3000000) is a 8250
[ 1.066415] omap8250 481aa000.serial: No clock speed specified: using default: 48000000
[ 1.075148] 481aa000.serial: ttyS5 at MMIO 0x481aa000 (irq = 36, base_baud = 3000000) is a 8250
[ 1.086274] omap_rng 48310000.rng: Random Number Generator ver. 20
[ 1.093900] omapdss_dss 4832a000.dss: 4832a000.dss supply vdda_video not found, using dummy regulator
[ 1.103412] random: fast init done
[ 1.107089] random: crng init done
[ 1.111215] omapdss_dss 4832a000.dss: Linked as a consumer to regulator.0
[ 1.118185] omapdss_dss 4832a000.dss: Dropping the link to regulator.0
[ 1.128231] panel-simple display: display supply power not found, using dummy regulator
[ 1.136449] panel-simple display: Linked as a consumer to regulator.0
[ 1.152650] brd: module loaded
[ 1.163330] loop: module loaded
[ 1.171068] libphy: Fixed MDIO Bus: probed

[15:31:29.503]收←◆[ 1.246109] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 1000000
[ 1.253815] libphy: 4a101000.mdio: probed
[ 1.258992] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver SMSC LAN8710/LAN8720
[ 1.269082] cpsw 4a100000.ethernet: Detected MACID = b0:d5:cc:f0:75:70
[ 1.275732] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
[ 1.282239] cpsw 4a100000.ethernet: ALE Table size 1024
[ 1.287601] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies)
[ 1.296280] i2c /dev entries driver
[ 1.301930] cpuidle: enable-method property 'ti,am4372' found operations
[ 1.309266] sdhci: Secure Digital Host Controller Interface driver
[ 1.315478] sdhci: Copyright(c) Pierre Ossman
[ 1.347674] sdhci-pltfm: SDHCI platform and OF driver helper
[ 1.354605] ledtrig-cpu: registered to indicate activity on CPUs
[ 1.366257] NET: Registered protocol family 10
[ 1.372142] Segment Routing with IPv6
[ 1.376024] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 1.382789] NET: Registered protocol family 17
[ 1.387674] Key type dns_resolver registered
[ 1.392216] omap_voltage_late_init: Voltage driver support not added
[ 1.399581] Loading compiled-in X.509 certificates

[15:31:29.718]收←◆[ 1.460043] omap_i2c 44e0b000.i2c: bus 0 rev0.12 at 100 kHz
[ 1.467374] omap_i2c 4802a000.i2c: bus 1 rev0.12 at 400 kHz
[ 1.474266] omap_i2c 4819c000.i2c: bus 2 rev0.12 at 400 kHz
[ 1.480504] omapdss_dss 4832a000.dss: 4832a000.dss supply vdda_video not found, using dummy regulator
[ 1.489910] omapdss_dss 4832a000.dss: Linked as a consumer to regulator.0
[ 1.496849] DSS: OMAP DSS rev 2.0
[ 1.501271] omapdss_dss 4832a000.dss: bound 4832a400.dispc (ops dispc_component_ops)
[ 1.509589] omapdrm omapdrm.0: DMM not available, disable DMM support
[ 1.516408] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 1.523057] [drm] No driver support for vblank timestamp query.

................................

但是当把BOOT Sequence改为MMC0<USB1<USB0<NAND_I2C时发现无法加载到内核,卡死在PMIC初始化阶段,调试串口打印如下:


U-Boot SPL 2019.01-gc67eee0d75-dirty (Dec 19 2019 - 13:20:22 +0800)
Trying to boot from MMC1
SPL: Please implement spl_start_uboot() for your board
SPL: Direct Linux boot not active!


U-Boot 2019.01-gc67eee0d75-dirty (Dec 19 2019 - 13:20:22 +0800)

CPU : AM437X-GP rev 1.2
Model: Edan MPM AM43xx
DRAM: 256 MiB