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.

Linux/AM5716: eMMC not detected

Part Number: AM5716
Other Parts Discussed in Thread: DRA722, AM5718, TPS51200, TPIC2810, TPD12S015, TPD12S016, SN65HVS882

Tool/software: Linux

Hi,

I have this error message in my kernel logs at boot time for EMMC.

[ 2.606395] mousedev: PS/2 mouse device common for all mice
[ 2.612262] i2c /dev entries driver
[ 2.620258] omap_hsmmc 480b4000.mmc: Cannot get pinctrl
[ 2.628351] nf_conntrack version 0.5.0 (13312 buckets, 53248 max)
[ 2.634734] IPVS: Registered protocols (TCP, UDP)
[ 2.639485] IPVS: Connection hash table configured (size=4096, memory=32Kbytes)
[ 2.646940] IPVS: Creating netns size=1336 id=0
[ 2.651519] IPVS: ipvs loaded.
[ 2.654586] IPVS: [rr] scheduler registered.
[ 2.659066] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 2.664919] NET: Registered protocol family 10
[ 2.680351] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver

As a result, the driver does not mount. This error message comes from the function omap_hsmmc_get_iodelay_pinctrl_state of the file drivers/mmc/host/omap_hsmmc.c

Can someone tell me what the problem is?

Thanks 

Frantz

  • Frantz,

    I'm assuming this is based on SDK 4.x (kernel 4.9) since SDK 5.00 just came out today.  Is that correct?

    Can you please share a snippet from your dts showing the mmc2 configuration?

    Does your dts file include this file:

    #include "dra72x-mmc-iodelay.dtsi"

    Best regards,
    Brad

  • Hi Brad,

    Yes, I'm using SDK 4.x and I updated my git repository with the last version before SDK 5.00. Below, my u-boot env, new kernel log and after my DTS file.

    U-BOOT ENV

    => printenv
    args_mmc=run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} rw rootfstype=${mmcrootfstype}
    baudrate=115200
    board_name=beagle_x15
    boot_fdt=try
    boot_fit=0
    bootargs=console=ttyS2,115200n8 root=/dev/nfs nfsroot=192.168.1.157:/media/nfs,nolock rw ip=192.168.2.223:192.168.1.157:192.168.2.222:255.255.255.0:CSP:eth0:on:::
    bootcmd=if test ${dofastboot} -eq 1; then echo Boot fastboot requested, resetting dofastboot ...;setenv dofastboot 0; saveenv;echo Booting into fastboot ...; fastboot 1; fi;if t
    bootdelay=20
    bootdir=/boot
    bootenvfile=uEnv.txt
    bootfile=zImage
    bootm_size=0x10000000
    bootpart=0:2
    bootscript=echo Running bootscript from mmc${mmcdev} ...; source ${loadaddr}
    console=ttyO2,115200n8
    dfu_alt_info_emmc=rawemmc raw 0 3751936;boot part 1 1;rootfs part 1 2;MLO fat 1 1;MLO.raw raw 0x100 0x100;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-args.1
    dfu_alt_info_mmc=boot part 0 1;rootfs part 0 2;MLO fat 0 1;MLO.raw raw 0x100 0x100;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-args.raw raw 0x1500 0x200;sp1
    dfu_alt_info_ram=kernel ram 0x80200000 0x4000000;fdt ram 0x80f80000 0x80000;ramdisk ram 0x81000000 0x4000000
    dfu_bufsiz=0x10000
    dofastboot=0
    emmc_android_boot=echo Trying to boot Android from eMMC ...; run update_to_fit; setenv eval_bootargs setenv bootargs $bootargs; run eval_bootargs; setenv mmcdev 1; setenv machid;
    emmc_linux_boot=echo Trying to boot Linux from eMMC ...; setenv mmcdev 1; setenv bootpart 1:2; setenv mmcroot /dev/mmcblk0p2 rw; run mmcboot;
    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 fro;
    ethaddr=98:5d:ad:9a:06:e0
    fastboot.cpu=DRA722
    fastboot.secure=GP
    fdt_addr_r=0x88000000
    fdtaddr=0x88000000
    fdtcontroladdr=bdf09d30
    fdtfile=am571x-idk.dtb
    findfdt=if test $board_name = omap5_uevm; then setenv fdtfile omap5-uevm.dtb; fi; if test $board_name = dra7xx; then setenv fdtfile dra7-evm.dtb; fi;if test $board_name = dra72x
    finduuid=part uuid mmc ${bootpart} uuid
    fit_bootfile=fitImage
    fit_loadaddr=0x87000000
    gatewayip=192.168.2.222
    idk_lcd=no
    importbootenv=echo Importing environment from mmc${mmcdev} ...; env import -t ${loadaddr} ${filesize}
    ipaddr=192.168.2.223
    kernel_addr_r=0x82000000
    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; bootm ${loadaddr}#${fdtfile};
    loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}
    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 ;
    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;
    mmcrootfstype=ext4 rootwait
    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}
    netmask=255.255.255.0
    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}
    partitions_android=uuid_disk=${uuid_gpt_disk};name=xloader,start=128K,size=256K,uuid=${uuid_gpt_xloader};name=bootloader,size=1792K,uuid=${uuid_gpt_bootloader};name=environment,}
    pxefile_addr_r=0x80100000
    ramdisk_addr_r=0x88080000
    rdaddr=0x88080000
    rootpath=/export/rootfs
    scriptaddr=0x80000000
    scsidevs=0
    serial#=0b015014740e0001
    serverip=192.168.1.157
    static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
    stderr=serial@48020000
    stdin=serial@48020000
    stdout=serial@48020000
    update_to_fit=setenv loadaddr ${fit_loadaddr}; setenv bootfile ${fit_bootfile}
    usbtty=cdc_acm
    ver=U-Boot 2018.07-rc2-00101-gde76610-dirty (Jul 26 2018 - 10:42:31 +0200)
    vram=16M

    Environment size: 6893/131067 bytes

    KERNEL LOG

    Starting kernel ...

    [ 0.000000] Booting Linux on physical CPU 0x0
    [ 0.000000] Linux version 4.9.88-rt62-03182-gfcff933-dirty (user@ubuntu) (gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11) ) #1 SMP Mon Aug 6 12:18:48 CEST 2018
    [ 0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=30c5387d
    [ 0.000000] CPU: div instructions available: patching division code
    [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
    [ 0.000000] OF: fdt:Machine model: TI AM5718 IDK
    [ 0.000000] efi: Getting EFI parameters from FDT:
    [ 0.000000] efi: UEFI not found.
    [ 0.000000] Reserved memory: created CMA memory pool at 0x0000000095800000, size 56 MiB
    [ 0.000000] OF: reserved mem: initialized node ipu2_cma@95800000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created CMA memory pool at 0x0000000099000000, size 64 MiB
    [ 0.000000] OF: reserved mem: initialized node dsp1_cma@99000000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created CMA memory pool at 0x000000009d000000, size 32 MiB
    [ 0.000000] OF: reserved mem: initialized node ipu1_cma@9d000000, compatible id shared-dma-pool
    [ 0.000000] cma: Reserved 24 MiB at 0x00000000be400000
    [ 0.000000] Memory policy: Data cache writealloc
    [ 0.000000] OMAP4: Map 0x00000000bfd00000 to fe600000 for dram barrier
    [ 0.000000] DRA722 ES2.0
    [ 0.000000] percpu: Embedded 13 pages/cpu @ef647000 s22092 r8192 d22964 u53248
    [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 259648
    [ 0.000000] Kernel command line: console=ttyS2,115200n8 root=/dev/nfs nfsroot=192.168.1.157:/media/nfs,nolock rw ip=192.168.2.223:192.168.1.157:192.168.2.222:255.255.255.0:CS:
    [ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
    [ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    [ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    [ 0.000000] Memory: 839492K/1045504K available (8192K kernel code, 302K rwdata, 2096K rodata, 2048K init, 289K bss, 25788K reserved, 180224K cma-reserved, 234496K highmem)
    [ 0.000000] Virtual kernel memory layout:
    [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
    [ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
    [ 0.000000] vmalloc : 0xf0800000 - 0xff800000 ( 240 MB)
    [ 0.000000] lowmem : 0xc0000000 - 0xf0000000 ( 768 MB)
    [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
    [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
    [ 0.000000] .text : 0xc0008000 - 0xc0a00000 (10208 kB)
    [ 0.000000] .init : 0xc0e00000 - 0xc1000000 (2048 kB)
    [ 0.000000] .data : 0xc1000000 - 0xc104b8d8 ( 303 kB)
    [ 0.000000] .bss : 0xc104d000 - 0xc1095630 ( 290 kB)
    [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    [ 0.000000] Hierarchical RCU implementation.
    [ 0.000000] Build-time adjustment of leaf fanout to 32.
    [ 0.000000] RCU restricting CPUs from NR_CPUS=2 to nr_cpu_ids=1.
    [ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=1
    [ 0.000000] NR_IRQS:16 nr_irqs:16 16
    [ 0.000000] OMAP clockevent source: timer1 at 32786 Hz
    [ 0.000000] arm_arch_timer: Architected cp15 timer(s) running at 6.14MHz (phys).
    [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x16af5adb9, max_idle_ns: 440795202250 ns
    [ 0.000004] sched_clock: 56 bits at 6MHz, resolution 162ns, wraps every 4398046511023ns
    [ 0.000015] Switching to timer-based delay loop, resolution 162ns
    [ 0.000326] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
    [ 0.000333] OMAP clocksource: 32k_counter at 32768 Hz
    [ 0.000756] Console: colour dummy device 80x30
    [ 0.000779] Calibrating delay loop (skipped), value calculated using timer frequency.. 12.29 BogoMIPS (lpj=61475)
    [ 0.000791] pid_max: default: 32768 minimum: 301
    [ 0.000894] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [ 0.000904] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [ 0.001512] CPU: Testing write buffer coherency: ok
    [ 0.001711] /cpus/cpu@0 missing clock-frequency property
    [ 0.001722] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    [ 0.001736] Setting up static identity map for 0x80200000 - 0x80200060
    [ 0.002510] EFI services will not be available.
    [ 0.002598] Brought up 1 CPUs
    [ 0.002606] SMP: Total of 1 processors activated (12.29 BogoMIPS).
    [ 0.002612] CPU: All CPU(s) started in HYP mode.
    [ 0.002618] CPU: Virtualization extensions available.
    [ 0.003004] devtmpfs: initialized
    [ 0.030411] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
    [ 0.030630] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [ 0.030646] futex hash table entries: 256 (order: 2, 16384 bytes)
    [ 0.034025] pinctrl core: initialized pinctrl subsystem
    [ 0.034858] NET: Registered protocol family 16
    [ 0.035842] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [ 0.036793] omap_hwmod: l3_main_2 using broken dt data from ocp
    [ 0.170686] omap_hwmod: gpu: _wait_target_ready failed: -16
    [ 0.170699] omap_hwmod: gpu: cannot be enabled for reset (3)
    [ 0.239203] cpuidle: using governor ladder
    [ 0.239214] cpuidle: using governor menu
    [ 0.249370] OMAP GPIO hardware version 0.1
    [ 0.264073] irq: no irq domain found for /ocp/l4@4a000000/scm@2000/pinmux@1400 !
    [ 0.288021] No ATAGs?
    [ 0.288039] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
    [ 0.288048] hw-breakpoint: maximum watchpoint size is 8 bytes.
    [ 0.288445] omap4_sram_init:Unable to allocate sram needed to handle errata I688
    [ 0.288454] omap4_sram_init:Unable to get sram pool needed to handle errata I688
    [ 0.288971] OMAP DMA hardware revision 0.0
    [ 0.307339] omap-dma-engine 4a056000.dma-controller: OMAP DMA engine driver (LinkedList1/2/3 supported)
    [ 0.308597] edma 43300000.edma: memcpy is disabled
    [ 0.313360] edma 43300000.edma: TI EDMA DMA engine driver
    [ 0.316961] omap-iommu 40d01000.mmu: 40d01000.mmu registered
    [ 0.317137] omap-iommu 40d02000.mmu: 40d02000.mmu registered
    [ 0.317289] omap-iommu 58882000.mmu: 58882000.mmu registered
    [ 0.317438] omap-iommu 55082000.mmu: 55082000.mmu registered
    [ 0.318656] palmas 0-0058: Irq flag is 0x00000004
    [ 0.351504] random: fast init done
    [ 0.918946] random: crng init done
    [ 62.706029] irq 219: nobody cared (try booting with the "irqpoll" option)
    [ 62.706044] CPU: 0 PID: 24 Comm: irq/219-palmas Not tainted 4.9.88-rt62-03182-gfcff933-dirty #1
    [ 62.706051] Hardware name: Generic DRA72X (Flattened Device Tree)
    [ 62.706058] Backtrace:
    [ 62.706081] [<c020b08c>] (dump_backtrace) from [<c020b368>] (show_stack+0x18/0x1c)
    [ 62.706092] r7:000000db r6:60000193 r5:00000000 r4:c1022428
    [ 62.706105] [<c020b350>] (show_stack) from [<c04cebcc>] (dump_stack+0x90/0xa4)
    [ 62.706119] [<c04ceb3c>] (dump_stack) from [<c0283d1c>] (__report_bad_irq+0x30/0xd4)
    [ 62.706128] r7:000000db r6:00000002 r5:00000000 r4:ef22b800
    [ 62.706140] [<c0283cec>] (__report_bad_irq) from [<c0284110>] (note_interrupt+0x270/0x2bc)
    [ 62.706150] r9:60000193 r8:00000001 r7:000000db r6:00000002 r5:00000000 r4:ef22b800
    [ 62.706161] [<c0283ea0>] (note_interrupt) from [<c028138c>] (handle_irq_event_percpu+0x78/0x84)
    [ 62.706170] r10:00000000 r9:60000193 r8:00000001 r7:ef220468 r6:00000002 r5:ef22b800
    [ 62.706177] r4:c02822f4 r3:00000000
    [ 62.706187] [<c0281314>] (handle_irq_event_percpu) from [<c02813e4>] (handle_irq_event+0x4c/0x70)
    [ 62.706195] r6:ef220464 r5:ef22b868 r4:ef22b800
    [ 62.706206] [<c0281398>] (handle_irq_event) from [<c0284998>] (handle_level_irq+0xb4/0x148)
    [ 62.706213] r7:ef220468 r6:ef220464 r5:ef22b810 r4:ef22b800
    [ 62.706225] [<c02848e4>] (handle_level_irq) from [<c0280498>] (generic_handle_irq+0x2c/0x3c)
    [ 62.706231] r5:ef220410 r4:00000010
    [ 62.706244] [<c028046c>] (generic_handle_irq) from [<c0511ec0>] (omap_gpio_irq_handler+0x130/0x170)
    [ 62.706255] [<c0511d90>] (omap_gpio_irq_handler) from [<c028124c>] (__handle_irq_event_percpu+0x6c/0x134)
    [ 62.706264] r10:c104a46e r9:ef226700 r8:000000ca r7:ef349dc4 r6:00000000 r5:ef226700
    [ 62.706269] r4:ef22e600
    [ 62.706280] [<c02811e0>] (__handle_irq_event_percpu) from [<c0281354>] (handle_irq_event_percpu+0x40/0x84)
    [ 62.706289] r10:c0282364 r9:ef348000 r8:ef006000 r7:00000000 r6:00000000 r5:ef226700
    [ 62.706294] r4:c02822f4
    [ 62.706304] [<c0281314>] (handle_irq_event_percpu) from [<c02813e4>] (handle_irq_event+0x4c/0x70)
    [ 62.706311] r6:00000000 r5:ef226768 r4:ef226700
    [ 62.706322] [<c0281398>] (handle_irq_event) from [<c0284aec>] (handle_fasteoi_irq+0xc0/0x1a0)
    [ 62.706330] r7:00000000 r6:00000000 r5:c10225f0 r4:ef226700
    [ 62.706341] [<c0284a2c>] (handle_fasteoi_irq) from [<c0280498>] (generic_handle_irq+0x2c/0x3c)
    [ 62.706348] r7:00000000 r6:00000000 r5:000000ca r4:c0e60ec8
    [ 62.706358] [<c028046c>] (generic_handle_irq) from [<c0280a18>] (__handle_domain_irq+0x64/0xbc)
    [ 62.706368] [<c02809b4>] (__handle_domain_irq) from [<c0201474>] (gic_handle_irq+0x40/0x7c)
    [ 62.706377] r9:ef348000 r8:fa213000 r7:fa212000 r6:ef349e88 r5:fa21200c r4:c1003464
    [ 62.706386] [<c0201434>] (gic_handle_irq) from [<c020be38>] (__irq_svc+0x58/0x74)
    [ 62.706393] Exception stack(0xef349e88 to 0xef349ed0)
    [ 62.706402] 9e80: ef220464 a0000093 ef22b800 000093e9 ef22b800 ef331200
    [ 62.706410] 9ea0: ef22b868 ef22b810 ef22b800 ef331200 c0282364 ef349ef4 ef349e98 ef349ed8
    [ 62.706417] 9ec0: c0511908 c02822f4 20000013 ffffffff
    [ 62.706426] r9:ef348000 r8:ef22b800 r7:ef349ebc r6:ffffffff r5:20000013 r4:c02822f4
    [ 62.706437] [<c028225c>] (irq_finalize_oneshot.part.1) from [<c02823b8>] (irq_thread_fn+0x54/0x5c)
    [ 62.706445] r7:00000001 r6:00000000 r5:ef22b800 r4:ef331200
    [ 62.706456] [<c0282364>] (irq_thread_fn) from [<c02827b8>] (irq_thread+0x14c/0x20c)
    [ 62.706463] r7:00000001 r6:00000000 r5:ffffe000 r4:ef331224
    [ 62.706476] [<c028266c>] (irq_thread) from [<c024b58c>] (kthread+0x110/0x118)
    [ 62.706485] r10:00000000 r9:00000000 r8:c028266c r7:ef331200 r6:ef348000 r5:ef331240
    [ 62.706490] r4:00000000
    [ 62.706502] [<c024b47c>] (kthread) from [<c0207a68>] (ret_from_fork+0x14/0x2c)
    [ 62.706510] r8:00000000 r7:00000000 r6:00000000 r5:c024b47c r4:ef331240
    [ 62.706515] handlers:
    [ 62.706523] [<c028145c>] irq_default_primary_handler threaded [<c05de5cc>] regmap_irq_thread
    [ 62.706539] Disabling IRQ #219
    [ 62.707316] palmas 0-0058: Muxing GPIO 2b, PWM 0, LED 0
    [ 62.710462] SMPS3: supplied by VMAIN
    [ 62.713722] SMPS6: supplied by VMAIN
    [ 62.715382] SMPS7: supplied by VMAIN
    [ 62.717194] SMPS8: supplied by VMAIN
    [ 62.718479] SMPS9: supplied by VMAIN
    [ 62.718808] smps9: Bringing 0uV into 3300000-3300000uV
    [ 62.719100] smps9: failed to apply 3300000-3300000uV constraint(-22)
    [ 62.719115] palmas-pmic 48070000.i2c:tps659038@58:tps659038_pmic: failed to register 48070000.i2c:tps659038@58:tps659038_pmic regulator
    [ 62.720004] palmas-pmic: probe of 48070000.i2c:tps659038@58:tps659038_pmic failed with error -22
    [ 62.721522] omap_i2c 48070000.i2c: bus 0 rev0.12 at 400 kHz
    [ 62.721710] pps_core: LinuxPPS API ver. 1 registered
    [ 62.721718] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [ 62.721738] PTP clock support registered
    [ 62.721767] EDAC MC: Ver: 3.0.0
    [ 62.722541] omap-mailbox 4883c000.mailbox: omap mailbox rev 0x400
    [ 62.722834] omap-mailbox 4883e000.mailbox: omap mailbox rev 0x400
    [ 62.723118] omap-mailbox 48840000.mailbox: omap mailbox rev 0x400
    [ 62.723300] omap-mailbox 48842000.mailbox: omap mailbox rev 0x400
    [ 62.724397] clocksource: Switched to clocksource arch_sys_counter
    [ 62.733788] NET: Registered protocol family 2
    [ 62.734250] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
    [ 62.734312] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
    [ 62.734460] TCP: Hash tables configured (established 8192 bind 8192)
    [ 62.734509] UDP hash table entries: 512 (order: 2, 16384 bytes)
    [ 62.734539] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
    [ 62.734669] NET: Registered protocol family 1
    [ 62.735060] RPC: Registered named UNIX socket transport module.
    [ 62.735069] RPC: Registered udp transport module.
    [ 62.735074] RPC: Registered tcp transport module.
    [ 62.735080] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 62.735803] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available
    [ 62.738329] workingset: timestamp_bits=14 max_order=18 bucket_order=4
    [ 62.745629] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [ 62.746367] NFS: Registering the id_resolver key type
    [ 62.746394] Key type id_resolver registered
    [ 62.746401] Key type id_legacy registered
    [ 62.746438] ntfs: driver 2.1.32 [Flags: R/O].
    [ 62.747670] bounce: pool size: 64 pages
    [ 62.747805] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)
    [ 62.747815] io scheduler noop registered
    [ 62.747822] io scheduler deadline registered
    [ 62.747948] io scheduler cfq registered (default)
    [ 62.751691] pinctrl-single 4a003400.pinmux: 282 pins at pa fc003400 size 1128
    [ 62.751758] pinctrl-single 4a002e8c.pinmux: please update dts to use #pinctrl-cells = <1>
    [ 62.751826] pinctrl-single 4a002e8c.pinmux: initialized with no interrupts
    [ 62.751836] pinctrl-single 4a002e8c.pinmux: 1 pins at pa fc002e8c size 4
    [ 62.754458] dra7-pcie 51000000.pcie: Linked as a consumer to phy-4a094000.pciephy.1
    [ 62.754743] OF: PCI: host bridge /ocp/axi@0/pcie@51000000 ranges:
    [ 62.754778] OF: PCI: IO 0x20003000..0x20012fff -> 0x00000000
    [ 62.754798] OF: PCI: MEM 0x20013000..0x2fffffff -> 0x20013000
    [ 62.855958] dra7-pcie 51000000.pcie: link up
    [ 62.856130] dra7-pcie 51000000.pcie: PCI host bridge to bus 0000:00
    [ 62.856143] pci_bus 0000:00: root bus resource [bus 00-ff]
    [ 62.856152] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
    [ 62.856161] pci_bus 0000:00: root bus resource [mem 0x20013000-0x2fffffff]
    [ 62.856523] PCI: bus0: Fast back to back transfers disabled
    [ 62.884479] PCI: bus1: Fast back to back transfers disabled
    [ 62.884652] pci 0000:00:00.0: BAR 9: no space for [mem size 0x18000000 pref]
    [ 62.884663] pci 0000:00:00.0: BAR 9: failed to assign [mem size 0x18000000 pref]
    [ 62.884673] pci 0000:00:00.0: BAR 0: assigned [mem 0x20100000-0x201fffff]
    [ 62.884686] pci 0000:00:00.0: BAR 1: assigned [mem 0x20020000-0x2002ffff]
    [ 62.884697] pci 0000:00:00.0: PCI bridge to [bus 01]
    [ 62.884925] pcieport 0000:00:00.0: Signaling PME through PCIe PME interrupt
    [ 62.884934] pci 0000:01:00.0: Signaling PME through PCIe PME interrupt
    [ 62.939897] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
    [ 62.943152] console [ttyS2] disabled
    [ 62.943186] 48020000.serial: ttyS2 at MMIO 0x48020000 (irq = 301, base_baud = 3000000) is a 8250
    [ 64.292398] console [ttyS2] enabled
    [ 64.297764] omap_rng 48090000.rng: OMAP Random Number Generator ver. 20
    [ 64.314134] brd: module loaded
    [ 64.322206] loop: module loaded
    [ 64.576327] m25p80 spi0.0: s25fl512s (65536 Kbytes)
    [ 64.581277] 6 ofpart partitions found on MTD device spi0.0
    [ 64.586801] Creating 6 MTD partitions on "spi0.0":
    [ 64.591613] 0x000000000000-0x000000040000 : "QSPI.SPL"
    [ 64.597738] 0x000000040000-0x000000140000 : "QSPI.u-boot"
    [ 64.604040] 0x000000140000-0x0000001c0000 : "QSPI.u-boot-spl-os"
    [ 64.610997] 0x0000001c0000-0x0000001d0000 : "QSPI.u-boot-env"
    [ 64.616821] mtd: partition "QSPI.u-boot-env" doesn't end on an erase block -- force read-only
    [ 64.626256] 0x0000001d0000-0x0000001e0000 : "QSPI.u-boot-env.backup1"
    [ 64.632724] mtd: partition "QSPI.u-boot-env.backup1" doesn't start on an erase block boundary -- force read-only
    [ 64.643829] 0x0000001e0000-0x0000009e0000 : "QSPI.kernel"
    [ 64.649267] mtd: partition "QSPI.kernel" doesn't start on an erase block boundary -- force read-only
    [ 64.670014] libphy: Fixed MDIO Bus: probed
    [ 64.734406] davinci_mdio 48485000.mdio: davinci mdio revision 1.6
    [ 64.740528] davinci_mdio 48485000.mdio: no live phy, scanning all
    [ 64.748782] davinci_mdio: probe of 48485000.mdio failed with error -5
    [ 64.755863] cpsw 48484000.ethernet: Detected MACID = 98:5d:ad:9a:06:e0
    [ 64.762509] cpsw 48484000.ethernet: cpts: overflow check period 500 (jiffies)
    [ 64.770694] cpsw 48484000.ethernet: cpsw: Detected MACID = 98:5d:ad:9a:06:e1
    [ 64.779257] mousedev: PS/2 mouse device common for all mice
    [ 64.785081] i2c /dev entries driver
    [ 64.793785] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr25 mode
    [ 64.800204] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr12 mode
    [ 64.806607] omap_hsmmc 480b4000.mmc: no pinctrl state for hs200_1_8v mode
    [ 64.815236] ledtrig-cpu: registered to indicate activity on CPUs
    [ 64.822034] NET: Registered protocol family 10
    [ 64.827428] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [ 64.833918] NET: Registered protocol family 17
    [ 64.838637] Key type dns_resolver registered
    [ 64.843003] omap_voltage_late_init: Voltage driver support not added
    [ 64.849513] Power Management for TI OMAP4+ devices.
    [ 64.854662] Registering SWP/SWPB emulation handler
    [ 64.871403] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr25 mode
    [ 64.877831] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr12 mode
    [ 64.884214] omap_hsmmc 480b4000.mmc: no pinctrl state for hs200_1_8v mode
    [ 64.891876] hctosys: unable to open rtc device (rtc0)
    [ 64.897757] net eth0: initializing cpsw version 1.15 (0)
    [ 64.903097] cpsw 48484000.ethernet: initialized cpsw ale version 1.4
    [ 64.909511] cpsw 48484000.ethernet: ALE Table size 1024
    [ 64.926014] Generic PHY fixed-0:00: attached PHY driver [Generic PHY] (mii_bus:phy_addr=fixed-0:00, irq=-1)
    [ 64.938553] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr25 mode
    [ 64.945008] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr12 mode
    [ 64.951390] omap_hsmmc 480b4000.mmc: no pinctrl state for hs200_1_8v mode
    [ 64.963771] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    [ 65.994418] cpsw 48484000.ethernet eth0: Link is Up - 100Mbps/Half - flow control off
    [ 66.014425] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    [ 66.044437] IP-Config: Complete:
    [ 66.047684] device=eth0, hwaddr=98:5d:ad:9a:06:e0, ipaddr=192.168.2.223, mask=255.255.255.0, gw=192.168.2.222
    [ 66.058146] host=CSP, domain=, nis-domain=(none)
    [ 66.063218] bootserver=192.168.1.157, rootserver=192.168.1.157, rootpath=
    [ 66.071004] pbias_mmc_omap5: disabling
    [ 66.097142] VFS: Mounted root (nfs filesystem) on device 0:14.
    [ 66.104534] devtmpfs: mounted
    [ 66.108761] Freeing unused kernel memory: 2048K

    DTS File (Kernel)

    1- am571x-idk.dts

    /*
    * Copyright (C) 2015-2016 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 "dra72x.dtsi"
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    #include "am57xx-idk-common.dtsi"
    #include "dra72x-mmc-iodelay.dtsi"

    / {
    model = "TI AM5718 IDK";


    compatible = "ti,am5718-idk", "ti,am5718", "ti,dra7";

    aliases {
    ethernet4 = &pruss1_emac0;
    ethernet5 = &pruss1_emac1;
    };

    memory@80000000 {
    device_type = "memory";
    reg = <0x0 0x80000000 0x0 0x40000000>;
    };

    reserved-memory {
    #address-cells = <2>;
    #size-cells = <2>;
    ranges;

    ipu2_cma_pool: ipu2_cma@95800000 {
    compatible = "shared-dma-pool";
    reg = <0x0 0x95800000 0x0 0x3800000>;
    reusable;
    status = "okay";
    };

    dsp1_cma_pool: dsp1_cma@99000000 {
    compatible = "shared-dma-pool";
    reg = <0x0 0x99000000 0x0 0x4000000>;
    reusable;
    status = "okay";
    };

    ipu1_cma_pool: ipu1_cma@9d000000 {
    compatible = "shared-dma-pool";
    reg = <0x0 0x9d000000 0x0 0x2000000>;
    reusable;
    status = "okay";
    };
    };

    leds {
    compatible = "gpio-leds";
    cpu0-led {
    label = "status0:red:cpu0";
    gpios = <&gpio2 25 GPIO_ACTIVE_HIGH>;
    default-state = "off";
    linux,default-trigger = "cpu0";
    };

    usr0-led {
    label = "status0:green:usr";
    gpios = <&gpio2 26 GPIO_ACTIVE_HIGH>;
    default-state = "off";
    };

    heartbeat-led {
    label = "status0:blue:heartbeat";
    gpios = <&gpio2 27 GPIO_ACTIVE_HIGH>;
    default-state = "off";
    linux,default-trigger = "heartbeat";
    };

    usr1-led {
    label = "status1:red:usr";
    gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>;
    default-state = "off";
    };

    usr2-led {
    label = "status1:green:usr";
    gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
    default-state = "off";
    };

    mmc0-led {
    label = "status1:blue:mmc0";
    gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>;
    default-state = "off";
    linux,default-trigger = "mmc0";
    };
    };

    /* Dual mac ethernet application node on icss2 */
    pruss1_eth: pruss1_eth {
    status = "okay";
    compatible = "ti,am57-prueth";
    pruss = <&pruss1>;
    sram = <&ocmcram1>;
    interrupt-parent = <&pruss1_intc>;

    pruss1_emac0: ethernet-mii0 {
    phy-handle = <&pruss1_eth0_phy>;
    phy-mode = "mii";
    interrupts = <20>, <22>;
    interrupt-names = "rx", "tx";
    /* Filled in by bootloader */
    local-mac-address = [00 00 00 00 00 00];
    };

    pruss1_emac1: ethernet-mii1 {
    phy-handle = <&pruss1_eth1_phy>;
    phy-mode = "mii";
    interrupts = <21>, <23>;
    interrupt-names = "rx", "tx";
    /* Filled in by bootloader */
    local-mac-address = [00 00 00 00 00 00];
    };
    };
    };

    &mmc1 {
    pinctrl-names = "default", "hs", "sdr12", "sdr25", "sdr50", "ddr50", "sdr104";
    pinctrl-0 = <&mmc1_pins_default>;
    pinctrl-1 = <&mmc1_pins_hs>;
    pinctrl-2 = <&mmc1_pins_sdr12>;
    pinctrl-3 = <&mmc1_pins_sdr25>;
    pinctrl-4 = <&mmc1_pins_sdr50>;
    pinctrl-5 = <&mmc1_pins_ddr50_rev20 &mmc1_iodelay_ddr50_conf>;
    pinctrl-6 = <&mmc1_pins_sdr104 &mmc1_iodelay_sdr104_rev20_conf>;
    };

    &mmc2 {
    pinctrl-names = "default", "hs", "ddr_1_8v";
    pinctrl-0 = <&mmc2_pins_default>;
    pinctrl-1 = <&mmc2_pins_hs>;
    pinctrl-2 = <&mmc2_pins_ddr_rev20 &mmc2_iodelay_ddr_conf>;
    };

    &omap_dwc3_2 {
    extcon = <&extcon_usb2>;
    };

    &extcon_usb2 {
    id-gpio = <&gpio5 7 GPIO_ACTIVE_HIGH>;
    vbus-gpio = <&gpio7 22 GPIO_ACTIVE_HIGH>;
    };

    &cpu0 {
    vdd-supply = <&smps12_reg>;
    };

    &ov2659_1 {
    remote-endpoint = <&vin1b>;
    };

    &vin1b {
    status = "okay";

    endpoint@2 {
    slave-mode;
    remote-endpoint = <&ov2659_1>;
    };
    };

    &vip1 {
    status = "okay";
    };

    &mailbox5 {
    status = "okay";
    mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
    status = "okay";
    };
    mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
    status = "okay";
    };
    };

    &mailbox6 {
    status = "okay";
    mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
    status = "okay";
    };
    };

    &mmu0_dsp1 {
    status = "okay";
    };

    &mmu1_dsp1 {
    status = "okay";
    };

    &mmu_ipu1 {
    status = "okay";
    };

    &mmu_ipu2 {
    status = "okay";
    };

    &ipu2 {
    status = "okay";
    memory-region = <&ipu2_cma_pool>;
    mboxes = <&mailbox6 &mbox_ipu2_ipc3x>;
    timers = <&timer3>;
    watchdog-timers = <&timer4>, <&timer9>;
    };

    &ipu1 {
    status = "okay";
    memory-region = <&ipu1_cma_pool>;
    mboxes = <&mailbox5 &mbox_ipu1_ipc3x>;
    timers = <&timer11>;
    watchdog-timers = <&timer7>, <&timer8>;
    };

    &dsp1 {
    status = "okay";
    memory-region = <&dsp1_cma_pool>;
    mboxes = <&mailbox5 &mbox_dsp1_ipc3x>;
    timers = <&timer5>;
    watchdog-timers = <&timer10>;
    };

    &pcie1_rc {
    status = "okay";
    gpios = <&gpio5 18 GPIO_ACTIVE_HIGH>;
    };

    &pcie1_ep {
    /*
    * To enable PCIe EP functionality, set the status of
    * this node to "okay" and the status of pcie1_rc node
    * above to "disabled".
    */
    status = "disabled";
    gpios = <&gpio5 18 GPIO_ACTIVE_HIGH>;
    };

    &pruss1_mdio {
    status = "okay";
    reset-gpios = <&gpio5 8 GPIO_ACTIVE_LOW>;
    reset-delay-us = <2>; /* PHY datasheet states 1uS min */
    pruss1_eth0_phy: ethernet-phy@0 {
    reg = <0>;
    interrupt-parent = <&gpio3>;
    interrupts = <28 IRQ_TYPE_EDGE_FALLING>;
    };

    pruss1_eth1_phy: ethernet-phy@1 {
    reg = <1>;
    interrupt-parent = <&gpio3>;
    interrupts = <29 IRQ_TYPE_EDGE_FALLING>;
    };
    };

    &pruss2_mdio {
    reset-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
    reset-delay-us = <2>; /* PHY datasheet states 1uS min */
    };

    &pru1_1 {
    ti,pruss-gp-mux-sel = <4>; /* MII2, needed for PRUSS1_MII1 */
    };

    &pru2_0 {
    ti,pruss-gp-mux-sel = <4>; /* MII2, needed for PRUSS1_MII0 */
    };

    &pru2_1 {
    ti,pruss-gp-mux-sel = <4>; /* MII2, needed for PRUSS1_MII1 */
    };

    &qspi {
    spi-max-frequency = <76800000>;
    m25p80@0 {
    spi-max-frequency = <76800000>;
    };
    };

    2- am57xx-idk-common.dtsi

    /*
    * Copyright (C) 2015-2016 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.
    */

    #include "am57xx-industrial-grade.dtsi"

    / {
    aliases {
    rtc0 = &tps659038_rtc;
    rtc1 = &rtc;
    display0 = &hdmi0;
    ethernet2 = &pruss2_emac0;
    ethernet3 = &pruss2_emac1;
    };

    chosen {
    stdout-path = &uart3;
    };

    vmain: fixedregulator-vmain {
    compatible = "regulator-fixed";
    regulator-name = "VMAIN";
    regulator-min-microvolt = <5000000>;
    regulator-max-microvolt = <5000000>;
    regulator-always-on;
    regulator-boot-on;
    };

    v3_3d: fixedregulator-v3_3d {
    compatible = "regulator-fixed";
    regulator-name = "V3_3D";
    vin-supply = <&smps9_reg>;
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    regulator-always-on;
    regulator-boot-on;
    };

    vtt_fixed: fixedregulator-vtt {
    /* TPS51200 */
    compatible = "regulator-fixed";
    regulator-name = "vtt_fixed";
    vin-supply = <&v3_3d>;
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    regulator-always-on;
    regulator-boot-on;
    };

    src_clk_x1: src_clk_x1 {
    #clock-cells = <0>;
    compatible = "fixed-clock";
    clock-frequency = <20000000>;
    };

    leds-iio {
    status = "disabled";
    compatible = "gpio-leds";
    led-out0 {
    label = "out0";
    gpios = <&tpic2810 0 GPIO_ACTIVE_HIGH>;
    default-state = "off";
    };

    led-out1 {
    label = "out1";
    gpios = <&tpic2810 1 GPIO_ACTIVE_HIGH>;
    default-state = "off";
    };

    led-out2 {
    label = "out2";
    gpios = <&tpic2810 2 GPIO_ACTIVE_HIGH>;
    default-state = "off";
    };

    led-out3 {
    label = "out3";
    gpios = <&tpic2810 3 GPIO_ACTIVE_HIGH>;
    default-state = "off";
    };

    led-out4 {
    label = "out4";
    gpios = <&tpic2810 4 GPIO_ACTIVE_HIGH>;
    default-state = "off";
    };

    led-out5 {
    label = "out5";
    gpios = <&tpic2810 5 GPIO_ACTIVE_HIGH>;
    default-state = "off";
    };

    led-out6 {
    label = "out6";
    gpios = <&tpic2810 6 GPIO_ACTIVE_HIGH>;
    default-state = "off";
    };

    led-out7 {
    label = "out7";
    gpios = <&tpic2810 7 GPIO_ACTIVE_HIGH>;
    default-state = "off";
    };
    };

    hdmi0: connector@0 {
    compatible = "hdmi-connector";
    label = "hdmi";

    type = "a";

    port {
    hdmi_connector_in: endpoint {
    remote-endpoint = <&tpd12s015_out>;
    };
    };
    };

    tpd12s015: encoder@0 {
    compatible = "ti,tpd12s016", "ti,tpd12s015";

    gpios = <0>, /* optional CT_CP_HPD */
    <0>, /* optional LS_OE */
    <&gpio7 12 GPIO_ACTIVE_HIGH>; /* HPD */

    ports {
    #address-cells = <1>;
    #size-cells = <0>;

    port@0 {
    reg = <0>;

    tpd12s015_in: endpoint@0 {
    remote-endpoint = <&hdmi_out>;
    };
    };

    port@1 {
    reg = <1>;

    tpd12s015_out: endpoint@0 {
    remote-endpoint = <&hdmi_connector_in>;
    };
    };
    };
    };

    src_clk_x1: src_clk_x1 {
    #clock-cells = <0>;
    compatible = "fixed-clock";
    clock-frequency = <20000000>;
    };

    /* Dual-MAC Ethernet application node on PRU-ICSS2 */
    pruss2_eth {
    compatible = "ti,am57-prueth";
    pruss = <&pruss2>;
    sram = <&ocmcram1>;
    interrupt-parent = <&pruss2_intc>;

    pruss2_emac0: ethernet-mii0 {
    phy-handle = <&pruss2_eth0_phy>;
    phy-mode = "mii";
    interrupts = <20>, <22>;
    interrupt-names = "rx", "tx";
    /* Filled in by bootloader */
    local-mac-address = [00 00 00 00 00 00];
    };

    pruss2_emac1: ethernet-mii1 {
    phy-handle = <&pruss2_eth1_phy>;
    phy-mode = "mii";
    interrupts = <21>, <23>;
    interrupt-names = "rx", "tx";
    /* Filled in by bootloader */
    local-mac-address = [00 00 00 00 00 00];
    };
    };
    };

    &dra7_pmx_core {
    dcan1_pins_default: dcan1_pins_default {
    pinctrl-single,pins = <
    DRA7XX_CORE_IOPAD(0x37d0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* dcan1_tx */
    DRA7XX_CORE_IOPAD(0x37d4, PIN_INPUT_PULLUP | MUX_MODE0) /* dcan1_rx */
    >;
    };

    dcan1_pins_sleep: dcan1_pins_sleep {
    pinctrl-single,pins = <
    DRA7XX_CORE_IOPAD(0x37d0, MUX_MODE15 | PULL_UP) /* dcan1_tx.off */
    DRA7XX_CORE_IOPAD(0x37d4, MUX_MODE15 | PULL_UP) /* dcan1_rx.off */
    >;
    };
    };

    &i2c1 {
    status = "okay";
    clock-frequency = <400000>;

    tps659038: tps659038@58 {
    compatible = "ti,tps659038";
    reg = <0x58>;
    interrupts-extended = <&gpio6 16 IRQ_TYPE_LEVEL_HIGH
    &dra7_pmx_core 0x418>;
    #interrupt-cells = <2>;
    interrupt-controller;
    ti,system-power-controller;
    ti,palmas-override-powerhold;

    tps659038_pmic {
    compatible = "ti,tps659038-pmic";

    smps12-in-supply = <&vmain>;
    smps3-in-supply = <&vmain>;
    smps45-in-supply = <&vmain>;
    smps6-in-supply = <&vmain>;
    smps7-in-supply = <&vmain>;
    smps8-in-supply = <&vmain>;
    smps9-in-supply = <&vmain>;
    ldo1-in-supply = <&vmain>;
    ldo2-in-supply = <&vmain>;
    ldo3-in-supply = <&vmain>;
    ldo4-in-supply = <&vmain>;
    ldo9-in-supply = <&vmain>;
    ldoln-in-supply = <&vmain>;
    ldousb-in-supply = <&vmain>;
    ldortc-in-supply = <&vmain>;

    regulators {
    smps12_reg: smps12 {
    /* VDD_MPU */
    regulator-name = "smps12";
    regulator-min-microvolt = <850000>;
    regulator-max-microvolt = <1250000>;
    regulator-always-on;
    regulator-boot-on;
    };

    smps3_reg: smps3 {
    /* VDD_DDR EMIF1 EMIF2 */
    regulator-name = "smps3";
    regulator-min-microvolt = <1350000>;
    regulator-max-microvolt = <1350000>;
    regulator-always-on;
    regulator-boot-on;
    };

    smps45_reg: smps45 {
    /* VDD_DSPEVE on AM572 */
    /* VDD_IVA + VDD_DSP on AM571 */
    regulator-name = "smps45";
    regulator-min-microvolt = <850000>;
    regulator-max-microvolt = <1250000>;
    regulator-always-on;
    regulator-boot-on;
    };

    smps6_reg: smps6 {
    /* VDD_GPU */
    regulator-name = "smps6";
    regulator-min-microvolt = <850000>;
    regulator-max-microvolt = <1250000>;
    regulator-always-on;
    regulator-boot-on;
    };

    smps7_reg: smps7 {
    /* VDD_CORE */
    regulator-name = "smps7";
    regulator-min-microvolt = <850000>;
    regulator-max-microvolt = <1150000>;
    regulator-always-on;
    regulator-boot-on;
    };

    smps8_reg: smps8 {
    /* 5728 - VDD_IVAHD */
    /* 5718 - N.C. test point */
    regulator-name = "smps8";
    };

    smps9_reg: smps9 {
    /* VDD_3_3D */
    regulator-name = "smps9";
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    regulator-always-on;
    regulator-boot-on;
    };

    ldo1_reg: ldo1 {
    /* VDDSHV8 - VSDMMC */
    /* NOTE: on rev 1.3a, data supply */
    regulator-name = "ldo1";
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <3300000>;
    regulator-boot-on;
    regulator-always-on;
    };

    ldo2_reg: ldo2 {
    /* VDDSH18V */
    regulator-name = "ldo2";
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;
    regulator-always-on;
    regulator-boot-on;
    };

    ldo3_reg: ldo3 {
    /* R1.3a 572x V1_8PHY_LDO3: USB, SATA */
    regulator-name = "ldo3";
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;
    regulator-always-on;
    regulator-boot-on;
    };

    ldo4_reg: ldo4 {
    /* R1.3a 572x V1_8PHY_LDO4: PCIE, HDMI*/
    regulator-name = "ldo4";
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;
    regulator-always-on;
    regulator-boot-on;
    };

    /* LDO5-8 unused */

    ldo9_reg: ldo9 {
    /* VDD_RTC */
    regulator-name = "ldo9";
    regulator-min-microvolt = <840000>;
    regulator-max-microvolt = <1160000>;
    regulator-always-on;
    regulator-boot-on;
    };

    ldoln_reg: ldoln {
    /* VDDA_1V8_PLL */
    regulator-name = "ldoln";
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;
    regulator-always-on;
    regulator-boot-on;
    };

    ldousb_reg: ldousb {
    /* VDDA_3V_USB: VDDA_USBHS33 */
    regulator-name = "ldousb";
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    regulator-always-on;
    regulator-boot-on;
    };

    ldortc_reg: ldortc {
    /* VDDA_RTC */
    regulator-name = "ldortc";
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;
    regulator-always-on;
    regulator-boot-on;
    };

    regen1: regen1 {
    /* VDD_3V3_ON */
    regulator-name = "regen1";
    regulator-boot-on;
    regulator-always-on;
    };

    regen2: regen2 {
    /* Needed for PMIC internal resource */
    regulator-name = "regen2";
    regulator-boot-on;
    regulator-always-on;
    };
    };
    };

    tps659038_rtc: tps659038_rtc {
    compatible = "ti,palmas-rtc";
    interrupt-parent = <&tps659038>;
    interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
    wakeup-source;
    };

    tps659038_pwr_button: tps659038_pwr_button {
    compatible = "ti,palmas-pwrbutton";
    interrupt-parent = <&tps659038>;
    interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
    wakeup-source;
    ti,palmas-long-press-seconds = <12>;
    };

    tps659038_gpio: tps659038_gpio {
    compatible = "ti,palmas-gpio";
    gpio-controller;
    #gpio-cells = <2>;
    };

    extcon_usb2: tps659038_usb {
    compatible = "ti,palmas-usb-vid";
    ti,enable-vbus-detection;
    ti,enable-id-detection;
    /* ID & VBUS GPIOs provided in board dts */
    };
    };

    tc358778: tc358778@0e {
    compatible = "toshiba,tc358778", "toshiba,tc358768";
    reg = <0x0e>;
    status = "disabled";

    clocks = <&src_clk_x1>;
    clock-names = "refclk";

    ports {
    #address-cells = <1>;
    #size-cells = <0>;

    port@0 {
    reg = <0>;
    tc358778_in: endpoint {
    remote-endpoint = <&dpi_out>;
    data-lines = <24>;
    };
    };

    port@1 {
    reg = <1>;
    tc358778_out: endpoint {
    /*
    * lanes and remote-endpoint defined per
    * panel.
    */
    };
    };
    };
    };

    tpic2810: tpic2810@60 {
    compatible = "ti,tpic2810";
    reg = <0x60>;
    gpio-controller;
    #gpio-cells = <2>;
    };

    ov2659: ov2659@30 {
    compatible = "ovti,ov2659";
    reg = <0x30>;

    clocks = <&src_clk_x1>;
    clock-names = "xvclk";

    pwrdn-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;

    port {
    ov2659_1: endpoint {
    hsync-active = <1>;
    vsync-active = <1>;
    pclk-sample = <1>;
    link-frequencies = /bits/ 64 <70000000>;
    };
    };
    };
    };

    &mcspi3 {
    status = "okay";
    ti,pindir-d0-out-d1-in;

    sn65hvs882: sn65hvs882@0 {
    compatible = "pisosr-gpio";
    gpio-controller;
    #gpio-cells = <2>;

    reg = <0>;
    spi-max-frequency = <1000000>;
    spi-cpol;
    };
    };

    &uart3 {
    status = "okay";
    interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH
    &dra7_pmx_core 0x248>;
    };

    &rtc {
    status = "okay";
    ext-clk-src;
    };

    &mac {
    status = "okay";
    dual_emac;
    };

    &cpsw_emac0 {
    phy_id = <&davinci_mdio>, <0>;
    phy-mode = "rgmii";
    dual_emac_res_vlan = <1>;
    };

    &cpsw_emac1 {
    phy_id = <&davinci_mdio>, <1>;
    phy-mode = "rgmii";
    dual_emac_res_vlan = <2>;
    };

    &usb2_phy1 {
    phy-supply = <&ldousb_reg>;
    };

    &usb2_phy2 {
    phy-supply = <&ldousb_reg>;
    };

    &usb1 {
    dr_mode = "host";
    };

    &usb2 {
    dr_mode = "peripheral";
    };

    &mmc1 {
    status = "disabled";
    /*
    status = "okay";
    */
    vmmc-supply = <&v3_3d>;
    vmmc_aux-supply = <&ldo1_reg>;
    bus-width = <4>;
    cd-gpios = <&gpio6 27 0>; /* gpio 219 */
    };

    &mmc2 {
    status = "okay";
    vmmc-supply = <&v3_3d>;
    bus-width = <8>;
    ti,non-removable;
    max-frequency = <96000000>;
    no-1-8-v;
    /*
    /delete-property/ mmc-hs200-1_8v;
    */
    };

    &dcan1 {
    status = "okay";
    pinctrl-names = "default", "sleep", "active";
    pinctrl-0 = <&dcan1_pins_sleep>;
    pinctrl-1 = <&dcan1_pins_sleep>;
    pinctrl-2 = <&dcan1_pins_default>;
    };

    &qspi {
    status = "okay";

    m25p80@0 {
    compatible = " s25fs512s", "jedec,spi-nor";
    /*
    compatible = "s25fl256s1", "jedec,spi-nor";
    */
    reg = <0>;
    spi-tx-bus-width = <1>;
    spi-rx-bus-width = <4>;
    #address-cells = <1>;
    #size-cells = <1>;

    /* MTD partition table.
    * The ROM checks the first four physical blocks
    * for a valid file to boot and the flash here is
    * 64KiB block size.
    */
    partition@0 {
    label = "QSPI.SPL";
    reg = <0x00000000 0x000040000>;
    };
    partition@1 {
    label = "QSPI.u-boot";
    reg = <0x00040000 0x00100000>;
    };
    partition@2 {
    label = "QSPI.u-boot-spl-os";
    reg = <0x00140000 0x00080000>;
    };
    partition@3 {
    label = "QSPI.u-boot-env";
    reg = <0x001c0000 0x00010000>;
    };
    partition@4 {
    label = "QSPI.u-boot-env.backup1";
    reg = <0x001d0000 0x0010000>;
    };
    partition@5 {
    label = "QSPI.kernel";
    reg = <0x001e0000 0x0800000>;
    };
    /*
    partition@6 {
    label = "QSPI.file-system";
    reg = <0x009e0000 0x01620000>;
    };
    */
    };
    };

    &hdmi {
    status = "okay";
    /*
    * XXX: Support AM572x-Rev 1.2a. this is wrong for AM571x-rev 1.3a,
    * AM572x-Rev1.3a - but thanks to always-on, they work.
    * TODO: SWITCH TO LDO4 once rev 1.2a is deprecated
    * (on rev 1.3a availability)
    */
    vdda-supply = <&ldo3_reg>;

    port {
    hdmi_out: endpoint {
    remote-endpoint = <&tpd12s015_in>;
    };
    };
    };

    &dss {
    status = "okay";

    vdda_video-supply = <&ldoln_reg>;

    ports {
    #address-cells = <1>;
    #size-cells = <0>;

    port@0 {
    reg = <0>;

    dpi_out: endpoint {
    remote-endpoint = <&tc358778_in>;
    data-lines = <24>;
    };
    };
    };
    };

    &bb2d {
    status = "okay";
    };

    &mailbox3 {
    status = "okay";
    mbox_pru1_0: mbox_pru1_0 {
    status = "okay";
    };
    mbox_pru1_1: mbox_pru1_1 {
    status = "okay";
    };
    };

    &mailbox4 {
    status = "okay";
    mbox_pru2_0: mbox_pru2_0 {
    status = "okay";
    };
    mbox_pru2_1: mbox_pru2_1 {
    status = "okay";
    };
    };

    &pruss_soc_bus1 {
    status = "okay";

    pruss1: pruss@4b200000 {
    status = "okay";

    pru1_0: pru@4b234000 {
    interrupt-parent = <&pruss1_intc>;
    interrupts = <16>, <17>;
    interrupt-names = "vring", "kick";
    status = "okay";
    };

    pru1_1: pru@4b238000 {
    interrupt-parent = <&pruss1_intc>;
    interrupts = <18>, <19>;
    interrupt-names = "vring", "kick";
    status = "okay";
    };
    };
    };

    &pruss_soc_bus2 {
    status = "okay";

    pruss2: pruss@4b280000 {
    status = "okay";

    pru2_0: pru@4b2b4000 {
    interrupt-parent = <&pruss2_intc>;
    interrupts = <16>, <17>;
    interrupt-names = "vring", "kick";
    status = "okay";
    };

    pru2_1: pru@4b2b8000 {
    interrupt-parent = <&pruss2_intc>;
    interrupts = <18>, <19>;
    interrupt-names = "vring", "kick";
    status = "okay";
    };
    };
    };

    &pruss2_mdio {
    status = "okay";
    pruss2_eth0_phy: ethernet-phy@0 {
    reg = <0>;
    interrupt-parent = <&gpio3>;
    interrupts = <30 IRQ_TYPE_EDGE_FALLING>;
    };

    pruss2_eth1_phy: ethernet-phy@1 {
    reg = <1>;
    interrupt-parent = <&gpio3>;
    interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
    };
    };

  • I see you have errors related to both I2C and MDIO:

    Frantz AUGUSTE said:
    [ 62.718808] smps9: Bringing 0uV into 3300000-3300000uV
    [ 62.719100] smps9: failed to apply 3300000-3300000uV constraint(-22)
    [ 62.719115] palmas-pmic 48070000.i2c:tps659038@58:tps659038_pmic: failed to register 48070000.i2c:tps659038@58:tps659038_pmic regulator
    [ 62.720004] palmas-pmic: probe of 48070000.i2c:tps659038@58:tps659038_pmic failed with error -22

    Frantz AUGUSTE said:
    [ 64.734406] davinci_mdio 48485000.mdio: davinci mdio revision 1.6
    [ 64.740528] davinci_mdio 48485000.mdio: no live phy, scanning all
    [ 64.748782] davinci_mdio: probe of 48485000.mdio failed with error -5

    Can you or a hardware person please check those buses?  Is there perhaps a power rail that isn't coming up as expected?  I'm wondering if that could also be related to your MMC issue, though that's not quite the type of error I would have expected.

  • Hi Brad,

    In attachement, my DTB file.

    Frantzhttps://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/791/am571x_2D00_idk.7z

  • For MDIO errors, these errors are normal since the board used has no PHY component.
    For I2C errors, what exactly is to be checked ? The voltage of PMIC ?
  • Please put a scope on the bus to make sure activity is normal (voltage levels, expected speed, clean waveforms, etc.).
  • Inspecting your dtb, I see the following (after converting back to dts format):

                   mmc@4809c000 {

                           compatible = "ti,dra7-hsmmc", "ti,omap4-hsmmc";

                           reg = <0x4809c000 0x400>;

                           interrupts = <0x0 0x4e 0x4>;

                           ti,hwmods = "mmc1";

                           ti,dual-volt;

                           ti,needs-special-reset;

                           dmas = <0xb2 0x3d 0xb2 0x3e>;

                           dma-names = "tx", "rx";

                           status = "disabled";

                           pbias-supply = <0xcf>;

                           max-frequency = <0xb71b000>;

                           sd-uhs-sdr104;

                           sd-uhs-sdr50;

                           sd-uhs-ddr50;

                           sd-uhs-sdr25;

                           sd-uhs-sdr12;

                           vmmc-supply = <0xd0>;

                           vmmc_aux-supply = <0xd1>;

                           bus-width = <0x4>;

                           cd-gpios = <0xc8 0x1b 0x0>;

                           pinctrl-names = "default", "hs", "sdr12", "sdr25", "sdr50", "ddr50", "sdr104";

                           pinctrl-0 = <0xd2>;

                           pinctrl-1 = <0xd3>;

                           pinctrl-2 = <0xd4>;

                           pinctrl-3 = <0xd5>;

                           pinctrl-4 = <0xd6>;

                           pinctrl-5 = <0xd7 0xd8>;

                           pinctrl-6 = <0xd9 0xda>;

                   };

                   mmc@480b4000 {

                           compatible = "ti,dra7-hsmmc", "ti,omap4-hsmmc";

                           reg = <0x480b4000 0x400>;

                           interrupts = <0x0 0x51 0x4>;

                           ti,hwmods = "mmc2";

                           ti,needs-special-reset;

                           dmas = <0xb2 0x2f 0xb2 0x30>;

                           dma-names = "tx", "rx";

                           status = "okay";

                           max-frequency = <0x5b8d800>;

                           sd-uhs-sdr25;

                           sd-uhs-sdr12;

                           mmc-hs200-1_8v;

                           mmc-ddr-1_8v;

                           vmmc-supply = <0xd0>;

                           bus-width = <0x8>;

                           ti,non-removable;

                           no-1-8-v;

                           pinctrl-names = "default", "hs", "ddr_1_8v";

                           pinctrl-0 = <0xdb>;

                           pinctrl-1 = <0xdc>;

                           pinctrl-2 = <0xdd 0xde>;

                   };

    The first group corresponds to MMC1 (i.e. SD card interface) while the second group corresponds to MMC2 (eMMC).  Given that SD and MMC have slightly different modes of operation, that makes sense that they have different sets of pin mux settings.

    Have you made changes to the default print levels or anything?  On the one hand, the messages about missing sdr25, sdr50, etc. make sense since those are not modes for eMMC.  On the other hand, I don't see those messages on my own AM571x IDK.

    What do you have in your eMMC?  Has it already been partitioned and formatted? 

  • My hardware engineer checked the voltage levels and they're good.
    I haven't touched the default print levels.
    There's nothing in my emmc and it hasn't been formatted either.
    What information can I give you? How can I help you debug?
    How can I format my emmc from u-boot?

    Thanks in advance

    Frantz
  • Also, my board takes about 60 seconds to launch the kernel, would you know why?
  • Frantz AUGUSTE said:
    There's nothing in my emmc and it hasn't been formatted either.
    What information can I give you? How can I help you debug?
    How can I format my emmc from u-boot?

    Here's a script I adjusted to format the eMMC on the AM571x IDK.  It was derived from this script that also copied from SD card to eMMC, though for now I'm just focused on getting partitions created...

    • https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/791/format_2D00_eMMC.sh

    Please try running it from your target and it will format eMMC similar to a bootable SD card, i.e. bootable FAT partition plus ext4 partition.

    If you run fdisk -l /dev/mmcblk1 before and after you should see the difference.

  • Frantz AUGUSTE said:
    Also, my board takes about 60 seconds to launch the kernel, would you know why?

    Please start a new thread for this one.

  • I get these errors
    [ 2.935624] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr25 mode
    [ 2.942001] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr12 mode

    But I still see the eMMC
    [ 3.266175] mmc1: new DDR MMC card at address 0001
    [ 3.271296] mmcblk1: mmc1:0001 R1J56L 13.8 GiB
    [ 3.276102] mmcblk1boot0: mmc1:0001 R1J56L partition 1 4.00 MiB
    [ 3.282167] mmcblk1boot1: mmc1:0001 R1J56L partition 2 4.00 MiB

    I'm trying to think of what else to look at.

    Steve K.
  • I'm sorry but I don't have a SD card (no connector) on my board, only the emmc is available. That's why I disabled the sd card in the DTS file (See AM57xx-idk-common.dtsi in a upper post). That's a custum board based on AM571x-idk. Do you have another way to do the same thing?

  • I can't execute the script because I don't see /dev/mmc*, that's my problem.
  • What are your sysboot settings? Do you have any peripheral (UART, USB) in your boot order?

    Steve K.

  • I load :
    - u-boot by UART
    - kernel and device tree by TFTP
    - File system in nfs

    I need put these images in the eMMC of my board
  • When I boot my board, I see messages like this:

    [ 3.783429] mmc0: new ultra high speed SDR104 SDHC card at address 59b4
    [ 3.795188] mmc1: new DDR MMC card at address 0001

    It seems like your board is not detecting that there is an eMMC device present.  Can you please verify that all the pullup resistors on the MMC2 interface have been populated during assembly, and also verify that the power rail is active for the pull-up (i.e. the 3.3V rail needs to be on).

    It looks like you have the necessary pin muxing in place based on the dtb you posted, though if we're not getting anywhere we will probably want to use devmem2 to inspect those registers and confirm the expected pin muxing is present.

  • My problem is solved.

    In fact, I modifed in the device tree smps9_reg (am57xx-idk-common.dtsi)

    See e2e.ti.com/.../1794173

    smps9_reg: smps9 {
    /* VDD_3_3D */
    regulator-name = "smps9";
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    regulator-always-on;
    regulator-boot-on;
    /* ADDING BY FRANTZ */
    ti,smps-range = <0x1>;
    };

    Now I see the eMMC in the kernel. It was a problem with the power supply to the component.

    [ 65.258842] mmc0: new high speed MMC card at address 0001
    [ 65.264765] mmcblk0: mmc0:0001 P1XXXX 3.60 GiB
    [ 65.269568] mmcblk0boot0: mmc0:0001 P1XXXX partition 1 16.0 MiB
    [ 65.275739] mmcblk0boot1: mmc0:0001 P1XXXX partition 2 16.0 MiB

    Thank you very much for your help.

    Frantz

  • Thanks for the note.  That seems to explain these errors you saw in your kernel logs:

    [ 62.718479] SMPS9: supplied by VMAIN
    [ 62.718808] smps9: Bringing 0uV into 3300000-3300000uV
    [ 62.719100] smps9: failed to apply 3300000-3300000uV constraint(-22)
    [ 62.719115] palmas-pmic 48070000.i2c:tps659038@58:tps659038_pmic: failed to register 48070000.i2c:tps659038@58:tps659038_pmic regulator
    [ 62.720004] palmas-pmic: probe of 48070000.i2c:tps659038@58:tps659038_pmic failed with error -22

    The only thing that's not clear to me is why you see those messages, but I don't see them on the AM571x IDK.

  • I suspect this difference relates to the PMIC on your board. The IDK uses the TPS6590379 where SMPS9 defaults to 3.3V. If you're using the TPS6590378 then SMPS9 is off by default.
  • Indeed, we have the regulator TPS6590378 on our board. However SMPS9 is not connected to anything, but when I made this change in the device tree, the eMMC worked and was seen by the kernel.

  • Frantz AUGUSTE said:

    Indeed, we have the regulator TPS6590378 on our board. However SMPS9 is not connected to anything, but when I made this change in the device tree, the eMMC worked and was seen by the kernel.

    Since SMPS9 is connected to anything, we shouldn't need to power it up to 3.3V.  On TPS6590378 the SMPS9 rail defaults to 0V.  Perhaps you should instead try defining this voltage as 0V in your dts file.  Hopefully that avoids the issue.
  • Here's a snippet from am57xx-beagle-x15-common.dtsi:

    smps6_reg: smps6 {

    /* VDD_CORE */
    regulator-name = "smps6";
    regulator-min-microvolt = <850000>;
    regulator-max-microvolt = <1150000>;
    regulator-always-on;
    regulator-boot-on;
    };

    /* SMPS7 unused */

    smps8_reg: smps8 {
    /* VDD_1V8 */
    regulator-name = "smps8";
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;
    regulator-always-on;
    regulator-boot-on;
    };

    /* SMPS9 unused */

    ldo1_reg: ldo1 {
    /* VDD_SD / VDDSHV8 */
    regulator-name = "ldo1";
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <3300000>;
    regulator-boot-on;
    regulator-always-on;
    };

    The EVM uses TPS6590378 with SMPS9 unconnected.  See above how it's left completely out of the dts (and same for SMPS7).

    So fundamentally I think you might have a mismatch between your power architecture and your dts.  It sounds like your power architecture derives from the EVM, but your dts is defining the architecture like the IDK.  So you should delete the nodes related to SMPS7 and SMPS9 if they are unconnected on your board.  Also, I would strongly recommend double checking SMPS8.  You probably need to define it similar to the snippet above if you're expecting SMPS8 to output 1.8V.