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.

PROCESSOR-SDK-AM335X: Cannot start linux from sd card. just waiting...

Part Number: PROCESSOR-SDK-AM335X
Other Parts Discussed in Thread: AM3352, TPS65910

We have make a new am335x  board, copy most things form starter kit board ,except that we fix the power supply and no need to drive it.   When I try to boot linux from sd card, it shows Waiting for root device PARTUUID=299ac6e7-02...

The mmc in u-boot work normal, but failed in linux.

When I cpoy the evm's MLO, U-BOOT, dtb on this sd card, it can boot linux on starter kit board successfully.

I don't know what is the problem. Can someone help?

My sdk version base on this ti-processor-sdk-linux-rt-am335x-evm-06.03.00.106-Linux-x86-Install.bin

The log is  like this:

U-Boot SPL 2019.01-g49b59ab68a-dirty (Nov 05 2020 - 11:20:11 +0800)
Trying to boot from MMC1
loading mmc...
mmc finding..
mmc find ret 0
mmc init ret 0
boot mode is 2


U-Boot 2019.01-g49b59ab68a-dirty (Nov 05 2020 - 11:20:11 +0800)

CPU : AM335X-GP rev 2.1
Model: TI AM335x EVM-SK
DRAM: 256 MiB
NAND: 128 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
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
** Unable to read file boot.scr **
** Unable to read file uEnv.txt **
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
4280832 bytes read in 384 ms (10.6 MiB/s)
36943 bytes read in 4 ms (8.8 MiB/s)
## Flattened Device Tree blob at 88000000
Booting using the fdt blob at 0x88000000
Loading Device Tree to 8df2c000, end 8df3804e ... OK
fixing up phy-handle for ethernet0, old: 1, new: 0

Starting kernel ...

[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.19.94-gbe5389fd85 (oe-user@oe-host) (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #1 PREEMPT Sun Apr 19 03:43:09 UTC 2020
[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt: Machine model: TI AM335x PMC500
[ 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 0x8a800000
[ 0.000000] CPU: All CPU(s) started in SVC mode.
[ 0.000000] AM335X ES2.1 (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=ttyS0,115200n8 root=PARTUUID=299ac6e7-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: 196304K/262144K available (9216K kernel code, 307K rwdata, 2720K rodata, 1024K init, 252K bss, 16688K 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) ( 308 kB)
[ 0.000000] .bss : 0x(ptrval) - 0x(ptrval) ( 253 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] IRQ: Found an INTC at 0x(ptrval) (revision 5.0) with 128 interrupts
[ 0.000000] OMAP clockevent source: timer2 at 24000000 Hz
[ 0.000014] 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.000191] timer_probe: no matching timers found
[ 0.000358] Console: colour dummy device 80x30
[ 0.000423] Calibrating delay loop... 996.14 BogoMIPS (lpj=4980736)
[ 0.089201] pid_max: default: 32768 minimum: 301
[ 0.089379] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.089393] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.090133] CPU: Testing write buffer coherency: ok
[ 0.090192] CPU0: Spectre v2: using BPIALL workaround
[ 0.090994] Setting up static identity map for 0x80100000 - 0x80100060
[ 0.091132] rcu: Hierarchical SRCU implementation.
[ 0.091438] EFI services will not be available.
[ 0.092663] devtmpfs: initialized
[ 0.099952] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[ 0.100303] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.100325] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.103626] pinctrl core: initialized pinctrl subsystem
[ 0.104323] DMI not present or invalid.
[ 0.104707] NET: Registered protocol family 16
[ 0.106831] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.130511] l4_wkup_cm:clk:0010:0: failed to disable
[ 0.195329] cpuidle: using governor ladder
[ 0.195368] cpuidle: using governor menu
[ 0.200020] OMAP GPIO hardware version 0.1
[ 0.208098] No ATAGs?
[ 0.208110] hw-breakpoint: debug architecture 0x4 unsupported.
[ 0.221074] edma 49000000.edma: TI EDMA DMA engine driver
[ 0.222144] v1_8d: supplied by vbat
[ 0.222402] v3_3d: supplied by vbat
[ 0.224571] SCSI subsystem initialized
[ 0.224980] media: Linux media interface: v0.10
[ 0.225022] videodev: Linux video capture interface: v2.00
[ 0.225112] pps_core: LinuxPPS API ver. 1 registered
[ 0.225120] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.225141] PTP clock support registered
[ 0.225174] EDAC MC: Ver: 3.0.0
[ 0.226202] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
[ 0.226739] Advanced Linux Sound Architecture Driver Initialized.
[ 0.227852] clocksource: Switched to clocksource timer1
[ 0.235512] NET: Registered protocol family 2
[ 0.236282] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes)
[ 0.236319] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.236344] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.236367] TCP: Hash tables configured (established 2048 bind 2048)
[ 0.236460] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.236479] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.236623] NET: Registered protocol family 1
[ 0.237174] RPC: Registered named UNIX socket transport module.
[ 0.237189] RPC: Registered udp transport module.
[ 0.237195] RPC: Registered tcp transport module.
[ 0.237201] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.238207] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
[ 0.239381] Initialise system trusted keyrings
[ 0.239730] workingset: timestamp_bits=14 max_order=16 bucket_order=2
[ 0.244014] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.244738] NFS: Registering the id_resolver key type
[ 0.244778] Key type id_resolver registered
[ 0.244785] Key type id_legacy registered
[ 0.244824] ntfs: driver 2.1.32 [Flags: R/O].
[ 0.246961] Key type asymmetric registered
[ 0.246980] Asymmetric key parser 'x509' registered
[ 0.247044] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[ 0.247057] io scheduler noop registered
[ 0.247064] io scheduler deadline registered
[ 0.247306] io scheduler cfq registered (default)
[ 0.247318] io scheduler mq-deadline registered
[ 0.247325] io scheduler kyber registered
[ 0.249057] pinctrl-single 44e10800.pinmux: 142 pins, size 568
[ 0.294808] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
[ 0.298513] console [ttyS0] disabled
[ 0.298595] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 30, base_baud = 3000000) is a 8250
[ 0.908940] console [ttyS0] enabled
[ 0.913506] 48022000.serial: ttyS1 at MMIO 0x48022000 (irq = 31, base_baud = 3000000) is a 8250
[ 0.923303] 48024000.serial: ttyS2 at MMIO 0x48024000 (irq = 32, base_baud = 3000000) is a 8250
[ 0.933856] omap_rng 48310000.rng: Random Number Generator ver. 20
[ 0.940287] random: fast init done
[ 0.943905] random: crng init done
[ 0.959273] brd: module loaded
[ 0.968687] loop: module loaded
[ 0.974454] libphy: Fixed MDIO Bus: probed
[ 1.047933] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 1000000
[ 1.055638] libphy: 4a101000.mdio: probed
[ 1.059930] mdio_bus 4a101000.mdio: MDIO device at address 0 is missing.
[ 1.066887] mdio_bus 4a101000.mdio: MDIO device at address 0 is missing.
[ 1.075006] cpsw 4a100000.ethernet: Detected MACID = 40:2e:71:cb:e4:85
[ 1.081803] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
[ 1.088275] cpsw 4a100000.ethernet: ALE Table size 1024
[ 1.093555] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies)
[ 1.101580] cpsw 4a100000.ethernet: cpsw: Detected MACID = 40:2e:71:cb:e4:87
[ 1.109921] i2c /dev entries driver
[ 1.115657] cpuidle: enable-method property 'ti,am3352' found operations
[ 1.122973] sdhci: Secure Digital Host Controller Interface driver
[ 1.129304] sdhci: Copyright(c) Pierre Ossman
[ 1.134400] omap_gpio 44e07000.gpio: Could not set line 6 debounce to 200000 microseconds (-22)
[ 1.143195] omap_hsmmc 48060000.mmc: Got CD GPIO
[ 1.148681] sdhci-pltfm: SDHCI platform and OF driver helper
[ 1.154966] ledtrig-cpu: registered to indicate activity on CPUs
[ 1.164944] NET: Registered protocol family 10
[ 1.170876] Segment Routing with IPv6
[ 1.174641] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 1.181376] NET: Registered protocol family 17
[ 1.186110] Key type dns_resolver registered
[ 1.190737] omap_voltage_late_init: Voltage driver support not added
[ 1.198103] Loading compiled-in X.509 certificates
[ 1.211503] omap-gpmc 50000000.gpmc: GPMC revision 6.0
[ 1.216692] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
[ 1.225027] nand: Could not find valid JEDEC parameter page; aborting
[ 1.231644] nand: device found, Manufacturer ID: 0xec, Chip ID: 0xf1
[ 1.238042] nand: Samsung NAND 128MiB 3,3V 8-bit
[ 1.242679] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[ 1.250367] nand: using OMAP_ECC_BCH8_CODE_HW ECC scheme
[ 1.255795] 10 fixed-partitions partitions found on MTD device omap2-nand.0
[ 1.262811] Creating 10 MTD partitions on "omap2-nand.0":
[ 1.268256] 0x000000000000-0x000000020000 : "NAND.SPL"
[ 1.274445] 0x000000020000-0x000000040000 : "NAND.SPL.backup1"
[ 1.281216] 0x000000040000-0x000000060000 : "NAND.SPL.backup2"
[ 1.287908] 0x000000060000-0x000000080000 : "NAND.SPL.backup3"
[ 1.294563] 0x000000080000-0x0000000c0000 : "NAND.u-boot-spl-os"
[ 1.301491] 0x0000000c0000-0x0000001c0000 : "NAND.u-boot"
[ 1.308199] 0x0000001c0000-0x0000001e0000 : "NAND.u-boot-env"
[ 1.314775] 0x0000001e0000-0x000000200000 : "NAND.u-boot-env.backup1"
[ 1.322085] 0x000000200000-0x000000a00000 : "NAND.kernel"
[ 1.332300] 0x000000a00000-0x000010000000 : "NAND.file-system"
[ 1.338210] mtd: partition "NAND.file-system" extends beyond the end of device "omap2-nand.0" -- size truncated to 0x7600000
[ 1.438243] tps65910 0-002d: No interrupt support, no core IRQ
[ 1.446449] tps65910-pmic: probe of tps65910-pmic failed with error -121
[ 1.454412] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[ 1.461843] omap_gpio 44e07000.gpio: Could not set line 6 debounce to 200000 microseconds (-22)
[ 1.470716] omap_hsmmc 48060000.mmc: Got CD GPIO
[ 1.477635] omap_gpio 44e07000.gpio: Could not set line 6 debounce to 200000 microseconds (-22)
[ 1.486461] omap_hsmmc 48060000.mmc: Got CD GPIO
[ 1.492511] hctosys: unable to open rtc device (rtc0)
[ 1.498266] ALSA device list:
[ 1.501256] No soundcards found.
[ 1.505391] Waiting for root device PARTUUID=299ac6e7-02...

The u-boot env is like this:

printenv
arch=arm
args_mmc=run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} rw rootfstype=${mmcrootfstype}
baudrate=115200
board=pmc500
board_name=pmc500
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}:${distro_bootpart} ${kernel_addr_r} efi/boot/bootarm.efi; if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r};else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi
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 "${fdtfile}" -a -n "${soc}"; then setenv efi_fdtfile ${soc}-${board}${boardver}.dtb; fi; setenv efi_old_vci ${bootp_vci};setenv efi_old_arch ${bootp_arch};setenv bootp_vci PXEClient:Arch:00010:UNDI:003000;setenv bootp_arch 0xa;if dhcp ${kernel_addr_r}; then tftpboot ${fdt_addr_r} dtb/${efi_fdtfile};if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r}; else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi;fi;setenv bootp_vci ${efi_old_vci};setenv bootp_arch ${efi_old_arch};setenv efi_fdtfile;setenv efi_old_arch;setenv efi_old_vci;
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=setenv devnum 0; run mmc_boot
bootcmd_mmc1=setenv 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 0x200;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-args.raw raw 0x1500 0x200;spl-os-image.raw raw 0x1700 0x6900;spl-os-args fat 1 1;spl-os-image fat 1 1;u-boot.img fat 1 1;uEnv.txt fat 1 1
dfu_alt_info_mmc=boot part 0 1;rootfs part 0 2;MLO fat 0 1;MLO.raw raw 0x100 0x200;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-args.raw raw 0x1500 0x200;spl-os-image.raw raw 0x1700 0x6900;spl-os-args fat 0 1;spl-os-image fat 0 1;u-boot.img fat 0 1;uEnv.txt fat 0 1
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;rootfs part 0 9
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; then echo Loaded env from ${bootenvfile};run importbootenv;fi;if test -n $uenvcmd; then echo Running uenvcmd ...;run uenvcmd;fi;fi;fi;
eth1addr=40:2e:71:cb:e4:87
ethaddr=40:2e:71:cb:e4:85
fdt_addr_r=0x88000000
fdtaddr=0x88000000
fdtcontroladdr=8df39d98
fdtfile=undefined
findfdt=setenv fdtfile am335x-pmc500.dtb
finduuid=part uuid mmc ${bootpart} uuid
fit_bootfile=fitImage
fit_loadaddr=0x90000000
get_overlaystring=for overlay in $overlay_files;do;setenv overlaystring ${overlaystring}'#'${overlay};done;
ice_mii=mii
importbootenv=echo Importing environment from mmc${mmcdev} ...; env import -t ${loadaddr} ${filesize}
init_console=setenv console ttyS0,115200n8
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 setenv devtype mmc; run scan_dev_for_boot_part; fi
mmcboot=mmc dev ${mmcdev}; setenv devnum ${mmcdev}; setenv devtype mmc; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadimage; then if test ${boot_fit} -eq 1; then run loadfit; else run mmcloados;fi;fi;fi;
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 ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi;
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),128k(NAND.u-boot-env),128k(NAND.u-boot-env.backup1),8m(NAND.kernel),-(NAND.file-system)
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} - ${fdtaddr}
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_rootfs}
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 ${fit_loadaddr}#${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_for_scripts; done;run scan_dev_for_efi;
scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist}; do if fstype ${devtype} ${devnum}:${distro_bootpart} bootfstype; then run scan_dev_for_boot; fi; done
scan_dev_for_efi=setenv efi_fdtfile ${fdtfile}; if test -z "${fdtfile}" -a -n "${soc}"; then setenv efi_fdtfile ${soc}-${board}${boardver}.dtb; fi; for prefix in ${efi_dtb_prefixes}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${efi_fdtfile}; then run load_efi_dtb; fi;done;if test -e ${devtype} ${devnum}:${distro_bootpart} efi/boot/bootarm.efi; then echo Found EFI removable media binary efi/boot/bootarm.efi; run boot_efi_binary; echo EFI LOAD FAILED: continuing...; fi; setenv efi_fdtfile
scan_dev_for_extlinux=if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${boot_syslinux_conf}; then echo Found ${prefix}${boot_syslinux_conf}; run boot_extlinux; echo SCRIPT FAILED: continuing...; fi
scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done
scriptaddr=0x80000000
serial#=40:2e:71:cb:e4:85
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 ${fit_loadaddr}; setenv bootfile ${fit_bootfile}
usb_boot=usb start; if usb dev ${devnum}; then setenv devtype usb; run scan_dev_for_boot_part; fi
vendor=leadshine

the device tree is like this:

/*
* Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
/dts-v1/;

#include "am33xx.dtsi"
#include <dt-bindings/interrupt-controller/irq.h>

/ {
model = "TI AM335x PMC500";
compatible = "leadshine,am335x-pmc500", "ti,am33xx";

cpus {
cpu@0 {
//cpu0-supply = <&vdd1_reg>;
};
};

memory@80000000 {
device_type = "memory";
reg = <0x80000000 0x10000000>; /* 256 MB */
};

chosen {
stdout-path = &uart0;
};

vbat: fixedregulator0 {
compatible = "regulator-fixed";
regulator-name = "vbat";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-boot-on;
};

lis3_reg: fixedregulator1 {
compatible = "regulator-fixed";
regulator-name = "lis3_reg";
regulator-boot-on;
};


/* TPS79501 */
v1_8d_reg: fixedregulator-v1_8d {
compatible = "regulator-fixed";
regulator-name = "v1_8d";
vin-supply = <&vbat>;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};

/* TPS79501 */
v3_3d_reg: fixedregulator-v3_3d {
compatible = "regulator-fixed";
regulator-name = "v3_3d";
vin-supply = <&vbat>;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};


};

&am33xx_pinmux {
pinctrl-names = "default";

mydebugss1_pins_default: mydebugss1_pins_default {
pinctrl-single,pins = <
AM33XX_IOPAD(0x9d0, PIN_INPUT | MUX_MODE0) /* (C11) TMS.TMS */
AM33XX_IOPAD(0x9d4, PIN_INPUT | MUX_MODE0) /* (B11) TDI.TDI */
AM33XX_IOPAD(0x9d8, PIN_OUTPUT | MUX_MODE0) /* (A11) TDO.TDO */
AM33XX_IOPAD(0x9dc, PIN_INPUT | MUX_MODE0) /* (A12) TCK.TCK */
AM33XX_IOPAD(0x9e0, PIN_INPUT | MUX_MODE0) /* (B10) nTRST.nTRST */
>;
};

mygpio0_pins_default: mygpio0_pins_default {
pinctrl-single,pins = <
AM33XX_IOPAD(0x8d4, PIN_INPUT | MUX_MODE7) /* (V3) lcd_data13.gpio0[9] */
AM33XX_IOPAD(0x8d8, PIN_INPUT | MUX_MODE7) /* (V4) lcd_data14.gpio0[10] */
AM33XX_IOPAD(0x8dc, PIN_INPUT | MUX_MODE7) /* (T5) lcd_data15.gpio0[11] */
AM33XX_IOPAD(0x978, PIN_INPUT | MUX_MODE7) /* (D18) uart1_ctsn.gpio0[12] */
AM33XX_IOPAD(0x9b0, PIN_INPUT | MUX_MODE7) /* (A15) xdma_event_intr0.gpio0[19] */
AM33XX_IOPAD(0x9b4, PIN_INPUT | MUX_MODE7) /* (D14) xdma_event_intr1.gpio0[20] */
>;
};

mygpio1_pins_default: mygpio1_pins_default {
pinctrl-single,pins = <
AM33XX_IOPAD(0x878, PIN_INPUT | MUX_MODE7) /* (U18) gpmc_be1n.gpio1[28] */
>;
};

mygpio3_pins_default: mygpio3_pins_default {
pinctrl-single,pins = <
AM33XX_IOPAD(0x9e4, PIN_INPUT | MUX_MODE7) /* (C14) EMU0.gpio3[7] */
AM33XX_IOPAD(0x9e8, PIN_INPUT | MUX_MODE7) /* (B14) EMU1.gpio3[8] */
AM33XX_IOPAD(0x990, PIN_INPUT | MUX_MODE7) /* (A13) mcasp0_aclkx.gpio3[14] */
AM33XX_IOPAD(0x994, PIN_INPUT | MUX_MODE7) /* (B13) mcasp0_fsx.gpio3[15] */
AM33XX_IOPAD(0x998, PIN_INPUT | MUX_MODE7) /* (D12) mcasp0_axr0.gpio3[16] */
AM33XX_IOPAD(0x99c, PIN_INPUT | MUX_MODE7) /* (C12) mcasp0_ahclkr.gpio3[17] */
AM33XX_IOPAD(0x9a0, PIN_INPUT | MUX_MODE7) /* (B12) mcasp0_aclkr.gpio3[18] */
AM33XX_IOPAD(0x9a4, PIN_INPUT | MUX_MODE7) /* (C13) mcasp0_fsr.gpio3[19] */
AM33XX_IOPAD(0x9a8, PIN_INPUT | MUX_MODE7) /* (D13) mcasp0_axr1.gpio3[20] */
AM33XX_IOPAD(0x9ac, PIN_INPUT | MUX_MODE7) /* (A14) mcasp0_ahclkx.gpio3[21] */
>;
};


i2c0_pins: pinmux_i2c0_pins {
pinctrl-single,pins = <
AM33XX_IOPAD(0x988, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_sda.i2c0_sda */
AM33XX_IOPAD(0x98c, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_scl.i2c0_scl */
>;
};

i2c1_pins: pinmux_i2c1_pins {
pinctrl-single,pins = <
AM33XX_IOPAD(0x958, PIN_INPUT_PULLUP | MUX_MODE2) /* spi0_d1.i2c1_sda */
AM33XX_IOPAD(0x95c, PIN_INPUT_PULLUP | MUX_MODE2) /* spi0_cs0.i2c1_scl */
>;
};


uart0_pins: pinmux_uart0_pins {
pinctrl-single,pins = <
AM33XX_IOPAD(0x970, PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */
AM33XX_IOPAD(0x974, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */
>;
};

uart1_pins: pinmux_uart1_pins {
pinctrl-single,pins = <
AM33XX_IOPAD(0x97C, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart1_rtsn.uart1_rtsn */
AM33XX_IOPAD(0x980, PIN_INPUT_PULLUP | MUX_MODE0) /* uart1_rxd.uart1_rxd */
AM33XX_IOPAD(0x984, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart1_txd.uart1_txd */
>;
};

uart4_pins: pinmux_uart4_pins {
pinctrl-single,pins = <
AM33XX_IOPAD(0x968, PIN_INPUT_PULLUP | MUX_MODE1) /* (E18) uart0_ctsn.uart4_rxd */
AM33XX_IOPAD(0x96c, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* (E17) uart0_rtsn.uart4_txd */
>;
};

clkout2_pin: pinmux_clkout2_pin {
pinctrl-single,pins = <
AM33XX_IOPAD(0x9b4, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr1.clkout2 */
>;
};

gpmc1_pins: gpmc1_pins {
pinctrl-single,pins = <
AM33XX_IOPAD(0x83c, PIN_INPUT_PULLUP | MUX_MODE0) /* (U13) gpmc_ad15.gpmc_ad15 */
AM33XX_IOPAD(0x838, PIN_INPUT_PULLUP | MUX_MODE0) /* (V13) gpmc_ad14.gpmc_ad14 */
AM33XX_IOPAD(0x834, PIN_INPUT_PULLUP | MUX_MODE0) /* (R12) gpmc_ad13.gpmc_ad13 */
AM33XX_IOPAD(0x830, PIN_INPUT_PULLUP | MUX_MODE0) /* (T12) gpmc_ad12.gpmc_ad12 */
AM33XX_IOPAD(0x82c, PIN_INPUT_PULLUP | MUX_MODE0) /* (U12) gpmc_ad11.gpmc_ad11 */
AM33XX_IOPAD(0x828, PIN_INPUT_PULLUP | MUX_MODE0) /* (T11) gpmc_ad10.gpmc_ad10 */
AM33XX_IOPAD(0x824, PIN_INPUT_PULLUP | MUX_MODE0) /* (T10) gpmc_ad9.gpmc_ad9 */
AM33XX_IOPAD(0x820, PIN_INPUT_PULLUP | MUX_MODE0) /* (U10) gpmc_ad8.gpmc_ad8 */
AM33XX_IOPAD(0x81c, PIN_INPUT_PULLUP | MUX_MODE0) /* (T9) gpmc_ad7.gpmc_ad7 */
AM33XX_IOPAD(0x818, PIN_INPUT_PULLUP | MUX_MODE0) /* (R9) gpmc_ad6.gpmc_ad6 */
AM33XX_IOPAD(0x814, PIN_INPUT_PULLUP | MUX_MODE0) /* (V8) gpmc_ad5.gpmc_ad5 */
AM33XX_IOPAD(0x810, PIN_INPUT_PULLUP | MUX_MODE0) /* (U8) gpmc_ad4.gpmc_ad4 */
AM33XX_IOPAD(0x80c, PIN_INPUT_PULLUP | MUX_MODE0) /* (T8) gpmc_ad3.gpmc_ad3 */
AM33XX_IOPAD(0x808, PIN_INPUT_PULLUP | MUX_MODE0) /* (R8) gpmc_ad2.gpmc_ad2 */
AM33XX_IOPAD(0x804, PIN_INPUT_PULLUP | MUX_MODE0) /* (V7) gpmc_ad1.gpmc_ad1 */
AM33XX_IOPAD(0x800, PIN_INPUT_PULLUP | MUX_MODE0) /* (U7) gpmc_ad0.gpmc_ad0 */
AM33XX_IOPAD(0x870, PIN_INPUT_PULLUP | MUX_MODE0) /* (T17) gpmc_wait0.gpmc_wait0 */
AM33XX_IOPAD(0x87c, PIN_OUTPUT | MUX_MODE0) /* (V6) gpmc_csn0.gpmc_csn0 */
AM33XX_IOPAD(0x890, PIN_OUTPUT | MUX_MODE0) /* (R7) gpmc_advn_ale.gpmc_advn_ale */
AM33XX_IOPAD(0x894, PIN_OUTPUT | MUX_MODE0) /* (T7) gpmc_oen_ren.gpmc_oen_ren */
AM33XX_IOPAD(0x898, PIN_OUTPUT | MUX_MODE0) /* (U6) gpmc_wen.gpmc_wen */
AM33XX_IOPAD(0x89c, PIN_OUTPUT | MUX_MODE0) /* (T6) gpmc_be0n_cle.gpmc_be0n_cle */
>;
};

cpsw_default: cpsw_default {
pinctrl-single,pins = <
/* Slave 1, RMII mode */
AM33XX_IOPAD(0x90c, PIN_INPUT_PULLUP | MUX_MODE1) /* (H17) gmii1_crs.rmii1_crs_dv */
AM33XX_IOPAD(0x910, PIN_INPUT_PULLUP | MUX_MODE1) /* (J15) gmii1_rxer.rmii1_rxer */
AM33XX_IOPAD(0x914, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* (J16) gmii1_txen.rmii1_txen */
AM33XX_IOPAD(0x928, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* (K17) gmii1_txd0.rmii1_txd0 */
AM33XX_IOPAD(0x924, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* (K16) gmii1_txd1.rmii1_txd1 */
AM33XX_IOPAD(0x940, PIN_INPUT_PULLUP | MUX_MODE1) /* (M16) gmii1_rxd0.rmii1_rxd0 */
AM33XX_IOPAD(0x93c, PIN_INPUT_PULLUP | MUX_MODE1) /* (L15) gmii1_rxd1.rmii1_rxd1 */
AM33XX_IOPAD(0x944, PIN_INPUT_PULLUP | MUX_MODE0) /* (H18) rmii1_refclk.rmii1_refclk */
/* Slave 2, RMII mode */
AM33XX_IOPAD(0x888, PIN_INPUT_PULLUP | MUX_MODE2) /* (T13) gpmc_csn3.rmii2_crs_dv */
AM33XX_IOPAD(0x874, PIN_INPUT_PULLUP | MUX_MODE3) /* (U17) gpmc_wpn.rmii2_rxer */
AM33XX_IOPAD(0x840, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* (R13) gpmc_a0.rmii2_txen */
AM33XX_IOPAD(0x854, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* (V15) gpmc_a5.rmii2_txd0 */
AM33XX_IOPAD(0x850, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* (R14) gpmc_a4.rmii2_txd1 */
AM33XX_IOPAD(0x86c, PIN_INPUT_PULLUP | MUX_MODE3) /* (V17) gpmc_a11.rmii2_rxd0 */
AM33XX_IOPAD(0x868, PIN_INPUT_PULLUP | MUX_MODE3) /* (T16) gpmc_a10.rmii2_rxd1 */
AM33XX_IOPAD(0x908, PIN_INPUT_PULLUP | MUX_MODE1) /* (H16) gmii1_col.rmii2_refclk */
>;
};


cpsw_sleep: cpsw_sleep {
pinctrl-single,pins = <
/* Slave 1, reset value */
AM33XX_IOPAD(0x90c, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (H17) gmii1_crs.rmii1_crs_dv */
AM33XX_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (J15) gmii1_rxer.rmii1_rxer */
AM33XX_IOPAD(0x914, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (J16) gmii1_txen.rmii1_txen */
AM33XX_IOPAD(0x928, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (K17) gmii1_txd0.rmii1_txd0 */
AM33XX_IOPAD(0x924, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (K16) gmii1_txd1.rmii1_txd1 */
AM33XX_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (M16) gmii1_rxd0.rmii1_rxd0 */
AM33XX_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (L15) gmii1_rxd1.rmii1_rxd1 */
AM33XX_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (H18) rmii1_refclk.rmii1_refclk */
/* Slave 2, reset value */
AM33XX_IOPAD(0x888, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (T13) gpmc_csn3.rmii2_crs_dv */
AM33XX_IOPAD(0x874, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (U17) gpmc_wpn.rmii2_rxer */
AM33XX_IOPAD(0x840, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (R13) gpmc_a0.rmii2_txen */
AM33XX_IOPAD(0x854, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (V15) gpmc_a5.rmii2_txd0 */
AM33XX_IOPAD(0x850, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (R14) gpmc_a4.rmii2_txd1 */
AM33XX_IOPAD(0x86c, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (V17) gpmc_a11.rmii2_rxd0 */
AM33XX_IOPAD(0x868, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (T16) gpmc_a10.rmii2_rxd1 */
AM33XX_IOPAD(0x908, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (H16) gmii1_col.rmii2_refclk */
>;
};


davinci_mdio_default: davinci_mdio_default {
pinctrl-single,pins = <
/* MDIO */
AM33XX_IOPAD(0x948, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */
AM33XX_IOPAD(0x94c, PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */
>;
};

davinci_mdio_sleep: davinci_mdio_sleep {
pinctrl-single,pins = <
/* MDIO reset value */
AM33XX_IOPAD(0x948, PIN_INPUT_PULLDOWN | MUX_MODE7)
AM33XX_IOPAD(0x94c, PIN_INPUT_PULLDOWN | MUX_MODE7)
>;
};

mmc1_pins: pinmux_mmc1_pins {
pinctrl-single,pins = <
AM33XX_IOPAD(0x960, PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6 */
AM33XX_IOPAD(0x8fc, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat0.mmc0_dat0 */
AM33XX_IOPAD(0x8f8, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat1.mmc0_dat1 */
AM33XX_IOPAD(0x8f4, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat2.mmc0_dat2 */
AM33XX_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat3.mmc0_dat3 */
AM33XX_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_cmd.mmc0_cmd */
AM33XX_IOPAD(0x900, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_clk.mmc0_clk */
AM33XX_IOPAD(0x9a0, PIN_INPUT | MUX_MODE4) /* mcasp0_aclkr.mmc0_sdwp */
>;
};

spi1_pins_default: myspi1_pins_default {
pinctrl-single,pins = <
AM33XX_IOPAD(0x950, PIN_INPUT_PULLUP | MUX_MODE0) /* (A17) spi0_sclk.spi0_sclk */
AM33XX_IOPAD(0x954, PIN_INPUT_PULLUP | MUX_MODE0) /* (B17) spi0_d0.spi0_d0 */
AM33XX_IOPAD(0x958, PIN_INPUT_PULLUP | MUX_MODE0) /* (B16) spi0_d1.spi0_d1 */
AM33XX_IOPAD(0x95c, PIN_INPUT_PULLUP | MUX_MODE0) /* (A16) spi0_cs0.spi0_cs0 */
>;
};

};

&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pins>;

status = "okay";
};

&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_pins>;

status = "okay";
};

&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&uart4_pins>;

status = "okay";
};

&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins>;

status = "okay";
clock-frequency = <400000>;

pcf8563: rtc@51 {
compatible = "nxp,pcf8563";
reg = <0x51>;
};
tps: tps@2d {
reg = <0x2d>;
};
};

&usb {
// status = "okay";
};

&usb_ctrl_mod {
// status = "okay";
};

&usb0_phy {
// status = "okay";
};

&usb1_phy {
// status = "okay";
};

&usb0 {
// status = "okay";
};

&usb1 {
// status = "okay";
dr_mode = "host";
};

&cppi41dma {
// status = "okay";
};

&lcdc {
//status = "okay";

blue-and-red-wiring = "crossed";
};

&elm {
status = "okay";
};


&gpmc {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&gpmc1_pins>;
ranges = <0 0 0x08000000 0x1000000>; /* CS0: 16MB for NAND */
nand@0,0 {
compatible = "ti,omap2-nand";
reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
interrupt-parent = <&gpmc>;
interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
<1 IRQ_TYPE_NONE>; /* termcount */
rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 */
ti,nand-xfer-type = "prefetch-dma";
ti,nand-ecc-opt = "bch8";
ti,elm-id = <&elm>;
nand-bus-width = <8>;
gpmc,device-width = <1>;
gpmc,sync-clk-ps = <0>;
gpmc,cs-on-ns = <0>;
gpmc,cs-rd-off-ns = <44>;
gpmc,cs-wr-off-ns = <44>;
gpmc,adv-on-ns = <6>;
gpmc,adv-rd-off-ns = <34>;
gpmc,adv-wr-off-ns = <44>;
gpmc,we-on-ns = <0>;
gpmc,we-off-ns = <40>;
gpmc,oe-on-ns = <0>;
gpmc,oe-off-ns = <54>;
gpmc,access-ns = <64>;
gpmc,rd-cycle-ns = <82>;
gpmc,wr-cycle-ns = <82>;
gpmc,bus-turnaround-ns = <0>;
gpmc,cycle2cycle-delay-ns = <0>;
gpmc,clk-activation-ns = <0>;
gpmc,wr-access-ns = <40>;
gpmc,wr-data-mux-bus-ns = <0>;
/* MTD partition table */
/* All SPL-* partitions are sized to minimal length
* which can be independently programmable. For
* NAND flash this is equal to size of erase-block */
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "NAND.SPL";
reg = <0x00000000 0x000020000>;
};
partition@1 {
label = "NAND.SPL.backup1";
reg = <0x00020000 0x00020000>;
};
partition@2 {
label = "NAND.SPL.backup2";
reg = <0x00040000 0x00020000>;
};
partition@3 {
label = "NAND.SPL.backup3";
reg = <0x00060000 0x00020000>;
};
partition@4 {
label = "NAND.u-boot-spl-os";
reg = <0x00080000 0x00040000>;
};
partition@5 {
label = "NAND.u-boot";
reg = <0x000C0000 0x00100000>;
};
partition@6 {
label = "NAND.u-boot-env";
reg = <0x001C0000 0x00020000>;
};
partition@7 {
label = "NAND.u-boot-env.backup1";
reg = <0x001E0000 0x00020000>;
};
partition@8 {
label = "NAND.kernel";
reg = <0x00200000 0x00800000>;
};
partition@9 {
label = "NAND.file-system";
reg = <0x00A00000 0x0F600000>;
};
};
};


#include "tps65910.dtsi"


&tps {
vcc1-supply = <&vbat>;
vcc2-supply = <&vbat>;
vcc3-supply = <&vbat>;
vcc4-supply = <&vbat>;
vcc5-supply = <&vbat>;
vcc6-supply = <&vbat>;
vcc7-supply = <&vbat>;
vccio-supply = <&vbat>;

regulators {
vrtc_reg: regulator@0 {
regulator-always-on;
};

vio_reg: regulator@1 {
regulator-always-on;
};

vdd1_reg: regulator@2 {
/* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
regulator-name = "vdd_mpu";
regulator-min-microvolt = <912500>;
regulator-max-microvolt = <1351500>;
regulator-boot-on;
regulator-always-on;
};

vdd2_reg: regulator@3 {
/* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
regulator-name = "vdd_core";
regulator-min-microvolt = <912500>;
regulator-max-microvolt = <1150000>;
regulator-boot-on;
regulator-always-on;
};

vdd3_reg: regulator@4 {
regulator-always-on;
};

vdig1_reg: regulator@5 {
regulator-always-on;
};

vdig2_reg: regulator@6 {
regulator-always-on;
};

vpll_reg: regulator@7 {
regulator-always-on;
};

vdac_reg: regulator@8 {
regulator-always-on;
};

vaux1_reg: regulator@9 {
regulator-always-on;
};

vaux2_reg: regulator@10 {
regulator-always-on;
};

vaux33_reg: regulator@11 {
regulator-always-on;
};

vmmc_reg: regulator@12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
};
};


&cpsw_emac0 {
phy-handle = <&ethphy0>;
phy-mode = "rmii";
dual_emac_res_vlan = <1>;
};

&cpsw_emac1 {
//phy-handle = <&ethphy1>;
phy-mode = "rmii";
dual_emac_res_vlan = <2>;

fixed-link {
speed = <100>;
full-duplex;
};
};

&mac {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&cpsw_default>;
pinctrl-1 = <&cpsw_sleep>;
status = "okay";
dual_emac;
};

&davinci_mdio {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&davinci_mdio_default>;
pinctrl-1 = <&davinci_mdio_sleep>;
status = "okay";

ethphy0: ethernet-phy@1 {
reg = <1>;
};

ethphy1: ethernet-phy@0 {
reg = <0>;
};

};

&mmc1 {
status = "okay";
vmmc-supply = <&vmmc_reg>;
bus-width = <4>;
pinctrl-names = "default";
pinctrl-0 = <&mmc1_pins>;
cd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
};

&sham {
// status = "okay";
};

&aes {
// status = "okay";
};

&rtc {
clocks = <&clk_32768_ck>, <&l4_per_clkctrl AM3_CLKDIV32K_CLKCTRL 0>;
clock-names = "ext-clk", "int-clk";
};

&wkup_m3_ipc {
ti,scale-data-fw = "am335x-evm-scale-data.bin";
};

&sgx {
// status = "okay";
};

&pruss_soc_bus {
// status = "okay";

pruss: pruss@4a300000 {
status = "okay";
};
};

  • Hello,

    Could you please attach a boot log from the EVM with the mentioned changes?

    Also, could you post your U-Boot DTS file for comparison?

    In U-Boot, can you stop at a prompt and use commands to look at the second partition?

    Thanks.

  • The u-boot dts do not has many change. I just changed the device name.

    diff am335x-pmc500.dts am335x-evmsk.dts
    22c22
    < compatible = "leadshine,am335x-pmc500", "ti,am33xx";
    ---
    > compatible = "ti,am335x-evmsk", "ti,am33xx";

  • In u-boot, the mmc cmd prompt result show this:

    => mmc list
    OMAP SD/MMC: 0 (SD)
    OMAP SD/MMC: 1


    => mmc part

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

    Part         Start Sector       Num Sectors       UUID                 Type
    1              2048                 143360                299ac6e7-01     0c Boot
    2              145408             15095808            299ac6e7-02     83

    => mmc info
    Device: OMAP SD/MMC
    Manufacturer ID: 9f
    OEM: 5449
    Name: SD8GB
    Bus Speed: 24000000
    Mode : MMC legacy
    Rd Block Len: 512
    SD version 1.0
    High Capacity: Yes
    Capacity: 7.3 GiB
    Bus Width: 4-bit
    Erase Group Size: 512 Bytes

  • And this is my kernel config 4621.config.rar

  • The evm sk boot log show below:

    U-Boot SPL 2019.01 (Nov 03 2020 - 18:56:50 -0800)
    Trying to boot from MMC1
    
    
    U-Boot 2019.01 (Nov 03 2020 - 18:56:50 -0800)
    
    CPU  : AM335X-GP rev 1.0
    Model: TI AM335x EVM-SK
    DRAM:  256 MiB
    NAND:  0 MiB
    MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
    Loading Environment from FAT... OK
    Net:   eth0: ethernet@4a100000
    Hit any key to stop autoboot:  0
    => run mmcboot
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    4211200 bytes read in 374 ms (10.7 MiB/s)
    40236 bytes read in 6 ms (6.4 MiB/s)
    ## Flattened Device Tree blob at 88000000
       Booting using the fdt blob at 0x88000000
       Loading Device Tree to 8df2b000, end 8df37d2b ... OK
    
    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 4.19.94-rt39-ga242ccf3f1 (fenva@ubuntu) (gcc version 8.3.0 (GNU To olchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #1 PREEMPT RT Mon Oct 26 15 :25:53 CST 2020
    [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] OF: fdt: Machine model: TI AM335x EVM-SK
    [    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 0x8a800000
    [    0.000000] CPU: All CPU(s) started in SVC mode.
    [    0.000000] AM335X ES1.0 (sgx neon)
    [    0.000000] random: get_random_bytes called from start_kernel+0xa4/0x444 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=48c8f46c-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: 197304K/262144K available (8192K kernel code, 319K rwdata, 2680K rodata,1024K init, 259K bss, 15688K 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)   (9184 kB)
    [    0.000000]       .init : 0x(ptrval) - 0x(ptrval)   (1024 kB)
    [    0.000000]       .data : 0x(ptrval) - 0x(ptrval)   ( 320 kB)
    [    0.000000]        .bss : 0x(ptrval) - 0x(ptrval)   ( 260 kB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    [    0.000000] rcu: Preemptible hierarchical RCU implementation.
    [    0.000000] rcu:     RCU priority boosting: priority 1 delay 500 ms.
    [    0.000000]  No expedited grace period (rcu_normal_after_boot).
    [    0.000000]  Tasks RCU enabled.
    [    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [    0.000000] IRQ: Found an INTC at 0x(ptrval) (revision 5.0) with 128 interrupts
    [    0.000000] OMAP clockevent source: timer2 at 24000000 Hz
    [    0.000020] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
    [    0.000036] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
    [    0.000044] OMAP clocksource: timer1 at 24000000 Hz
    [    0.000248] timer_probe: no matching timers found
    [    0.000476] Console: colour dummy device 80x30
    [    0.000648] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
    [    0.000651] This ensures that you still see kernel messages. Please
    [    0.000654] update your kernel commandline.
    [    0.000698] Calibrating delay loop... 718.02 BogoMIPS (lpj=3590144)
    [    0.118916] pid_max: default: 32768 minimum: 301
    [    0.119152] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.119163] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.120278] CPU: Testing write buffer coherency: ok
    [    0.120348] CPU0: Spectre v2: using BPIALL workaround
    [    0.121490] Setting up static identity map for 0x80100000 - 0x80100060
    [    0.121840] rcu: Hierarchical SRCU implementation.
    [    0.122709] EFI services will not be available.
    [    0.124422] devtmpfs: initialized
    [    0.136900] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [    0.137401] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.137432] futex hash table entries: 256 (order: 1, 8192 bytes)
    [    0.141893] pinctrl core: initialized pinctrl subsystem
    [    0.142868] DMI not present or invalid.
    [    0.143488] NET: Registered protocol family 16
    [    0.146925] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.175156] l4_wkup_cm:clk:0010:0: failed to disable
    [    0.236390] OMAP GPIO hardware version 0.1
    [    0.251296] No ATAGs?
    [    0.251310] hw-breakpoint: debug architecture 0x4 unsupported.
    [    0.271354] edma 49000000.edma: TI EDMA DMA engine driver
    [    0.273491] v1_8d: supplied by vbat
    [    0.273928] v3_3d: supplied by vbat
    [    0.277303] SCSI subsystem initialized
    [    0.277943] media: Linux media interface: v0.10
    [    0.278015] videodev: Linux video capture interface: v2.00
    [    0.278140] pps_core: LinuxPPS API ver. 1 registered
    [    0.278152] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.278183] PTP clock support registered
    [    0.278236] EDAC MC: Ver: 3.0.0
    [    0.279942] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
    [    0.280820] Advanced Linux Sound Architecture Driver Initialized.
    [    0.282416] clocksource: Switched to clocksource timer1
    [    0.294205] NET: Registered protocol family 2
    [    0.295313] tcp_listen_portaddr_hash hash table entries: 256 (order: 0, 7168 bytes)
    [    0.295365] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.295415] TCP bind hash table entries: 2048 (order: 3, 49152 bytes)
    [    0.295530] TCP: Hash tables configured (established 2048 bind 2048)
    [    0.295678] UDP hash table entries: 256 (order: 2, 16384 bytes)
    [    0.295728] UDP-Lite hash table entries: 256 (order: 2, 16384 bytes)
    [    0.295978] NET: Registered protocol family 1
    [    0.296765] RPC: Registered named UNIX socket transport module.
    [    0.296784] RPC: Registered udp transport module.
    [    0.296793] RPC: Registered tcp transport module.
    [    0.296802] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.298003] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
    [    0.299754] Initialise system trusted keyrings
    [    0.300170] workingset: timestamp_bits=14 max_order=16 bucket_order=2
    [    0.307736] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.308796] NFS: Registering the id_resolver key type
    [    0.308848] Key type id_resolver registered
    [    0.308860] Key type id_legacy registered
    [    0.308923] ntfs: driver 2.1.32 [Flags: R/O].
    [    0.312043] Key type asymmetric registered
    [    0.312065] Asymmetric key parser 'x509' registered
    [    0.312172] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
    [    0.312189] io scheduler noop registered
    [    0.312200] io scheduler deadline registered
    [    0.312768] io scheduler cfq registered (default)
    [    0.312785] io scheduler mq-deadline registered
    [    0.312795] io scheduler kyber registered
    [    0.315279] pinctrl-single 44e10800.pinmux: 142 pins, size 568
    [    0.320221] pwm-backlight backlight: backlight supply power not found, using dummy regulator
    [    0.320349] pwm-backlight backlight: Linked as a consumer to regulator.0
    [    0.389613] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [    0.394795] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 30, base_baud = 3000000) is a 8250
    [    1.038422] console [ttyS0] enabled
    [    1.044853] omap_rng 48310000.rng: Random Number Generator ver. 20
    [    1.052676] random: fast init done
    [    1.056392] random: crng init done
    [    1.061197] tilcdc-panel panel: found backlight
    [    1.066276] OF: graph: no port node found in /ocp/lcdc@4830e000
    [    1.072646] OF: graph: no port node found in /ocp/lcdc@4830e000
    [    1.079159] OF: graph: no port node found in /ocp/lcdc@4830e000
    [    1.085129] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
    [    1.091774] [drm] No driver support for vblank timestamp query.
    [    1.102670] Console: switching to colour frame buffer device 60x34
    [    1.111117] tilcdc 4830e000.lcdc: fb0: DRM emulated frame buffer device
    [    1.118525] [drm] Initialized tilcdc 1.0.0 20121205 for 4830e000.lcdc on minor 0
    [    1.142262] brd: module loaded
    [    1.155440] loop: module loaded
    [    1.162398] libphy: Fixed MDIO Bus: probed
    [    1.242540] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 1000000
    [    1.250250] davinci_mdio 4a101000.mdio: detected phy mask fffffffc
    [    1.258728] libphy: 4a101000.mdio: probed
    [    1.262840] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver Atheros 8031 ethernet
    [    1.272110] davinci_mdio 4a101000.mdio: phy[1]: device 4a101000.mdio:01, driver Atheros 8031 ethernet
    [    1.282700] cpsw 4a100000.ethernet: Detected MACID = d4:94:a1:87:be:3c
    [    1.289454] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
    [    1.295870] cpsw 4a100000.ethernet: ALE Table size 1024
    [    1.301166] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies)
    [    1.309552] cpsw 4a100000.ethernet: cpsw: Detected MACID = d4:94:a1:87:be:3d
    [    1.318728] i2c /dev entries driver
    [    1.324360] sdhci: Secure Digital Host Controller Interface driver
    [    1.330582] sdhci: Copyright(c) Pierre Ossman
    [    1.335953] omap_gpio 44e07000.gpio: Could not set line 6 debounce to 200000 microseconds (-22)
    [    1.344708] omap_hsmmc 48060000.mmc: Got CD GPIO
    [    1.351774] sdhci-pltfm: SDHCI platform and OF driver helper
    [    1.366774] NET: Registered protocol family 10
    [    1.373627] Segment Routing with IPv6
    [    1.377443] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [    1.384359] NET: Registered protocol family 17
    [    1.389202] Key type dns_resolver registered
    [    1.393883] omap_voltage_late_init: Voltage driver support not added
    [    1.401411] Loading compiled-in X.509 certificates
    [    1.452743] tps65910 0-002d: No interrupt support, no core IRQ
    [    1.460803] vrtc: supplied by vbat
    [    1.468026] vio: supplied by vbat
    [    1.473013] vdd1: supplied by vbat
    [    1.478349] vdd2: supplied by vbat
    [    1.485105] vdig1: supplied by vbat
    [    1.490064] vdig2: supplied by vbat
    [    1.495021] vpll: supplied by vbat
    [    1.499870] vdac: supplied by vbat
    [    1.504680] vaux1: supplied by vbat
    [    1.509569] vaux2: supplied by vbat
    [    1.514601] vaux33: supplied by vbat
    [    1.519634] vmmc: supplied by vbat
    [    1.524549] vbb: supplied by vbat
    [    1.529894] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
    [    1.536583] omap_gpio 44e07000.gpio: Could not set line 6 debounce to 200000 microseconds (-22)
    [    1.545338] omap_hsmmc 48060000.mmc: Got CD GPIO
    [    1.550968] omap_hsmmc 48060000.mmc: Linked as a consumer to regulator.19
    [    1.586025] omap_hsmmc 481d8000.mmc: Linked as a consumer to regulator.6
    [    1.616042] mmc0: host does not support reading read-only switch, assuming write-enable
    [    1.624199] mmc0: new SDHC card at address 0001
    [    1.630009] mmcblk0: mmc0:0001 SD8GB 7.28 GiB
    [    1.637085]  mmcblk0: p1 p2
    [    1.710963] input: gpio_buttons0 as /devices/platform/gpio_buttons0/input/input0
    [    1.715902] omap_hsmmc 481d8000.mmc: card claims to support voltages below defined range
    [    1.727634] mmc1: new SDIO card at address 0001
    [    1.732937] hctosys: unable to open rtc device (rtc0)
    [    1.738743] ALSA device list:
    [    1.741735]   No soundcards found.
    [    1.941978] EXT4-fs (mmcblk0p2): recovery complete
    [    1.953437] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [    1.961669] VFS: Mounted root (ext4 filesystem) on device 179:2.
    [    1.983868] devtmpfs: mounted
    [    1.988724] Freeing unused kernel memory: 1024K
    [    1.993850] Run /sbin/init as init process
    INIT: version 2.88 booting
    [    2.839821] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
    hwclock: can't open '/dev/misc/rtc': No such file or directory
    Mon Apr 20 20:08:52 UTC 2020
    hwclock: can't open '/dev/misc/rtc': No such file or directory
    INIT: Entering runlevel: 5
    Configuring network interfaces... [    3.842521] net eth0: initializing cpsw version 1.12 (0)
    [    3.944026] Atheros 8031 ethernet 4a101000.mdio:00: attached PHY driver [Atheros 8031 ethernet] (mii_bus:phy_addr=4a101000.mdio:00, irq=POLL)
    [    3.961536] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    

  • There seems to be a pinctrl conflict at 0x9a0, per the highlighting below. Can you please correct this and see if it fixed the problem? Or, could you please check to see that it is indeed configured correctly?

    mygpio3_pins_default: mygpio3_pins_default {
    pinctrl-single,pins = <
    AM33XX_IOPAD(0x9e4, PIN_INPUT | MUX_MODE7) /* (C14) EMU0.gpio3[7] */
    AM33XX_IOPAD(0x9e8, PIN_INPUT | MUX_MODE7) /* (B14) EMU1.gpio3[8] */
    AM33XX_IOPAD(0x990, PIN_INPUT | MUX_MODE7) /* (A13) mcasp0_aclkx.gpio3[14] */
    AM33XX_IOPAD(0x994, PIN_INPUT | MUX_MODE7) /* (B13) mcasp0_fsx.gpio3[15] */
    AM33XX_IOPAD(0x998, PIN_INPUT | MUX_MODE7) /* (D12) mcasp0_axr0.gpio3[16] */
    AM33XX_IOPAD(0x99c, PIN_INPUT | MUX_MODE7) /* (C12) mcasp0_ahclkr.gpio3[17] */
    AM33XX_IOPAD(0x9a0, PIN_INPUT | MUX_MODE7) /* (B12) mcasp0_aclkr.gpio3[18] */
    AM33XX_IOPAD(0x9a4, PIN_INPUT | MUX_MODE7) /* (C13) mcasp0_fsr.gpio3[19] */
    AM33XX_IOPAD(0x9a8, PIN_INPUT | MUX_MODE7) /* (D13) mcasp0_axr1.gpio3[20] */
    AM33XX_IOPAD(0x9ac, PIN_INPUT | MUX_MODE7) /* (A14) mcasp0_ahclkx.gpio3[21] */
    >;
    };

    mmc1_pins: pinmux_mmc1_pins {
    pinctrl-single,pins = <
    AM33XX_IOPAD(0x960, PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6 */
    AM33XX_IOPAD(0x8fc, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat0.mmc0_dat0 */
    AM33XX_IOPAD(0x8f8, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat1.mmc0_dat1 */
    AM33XX_IOPAD(0x8f4, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat2.mmc0_dat2 */
    AM33XX_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat3.mmc0_dat3 */
    AM33XX_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_cmd.mmc0_cmd */
    AM33XX_IOPAD(0x900, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_clk.mmc0_clk */
    AM33XX_IOPAD(0x9a0, PIN_INPUT | MUX_MODE4) /* mcasp0_aclkr.mmc0_sdwp */
    >;
    };

    If that is not it, could you please provide what boot order you are using per the bootmode setting a boot up?

    Thanks.

  • Hi RonB, this two days I debug the kernel code, and found that ocr_avail in mmc has value 0 in  driver/mmc/core/sd.c.

    This will make the mmc failed in initialising. 

    I set a fixed value to the ocr_avail. And now my board can boot into linux now, the problem is solved.

    Thanks for your reply.

  • Thanks for sharing your solution. 

    Good luck with your design.