i.MX6D: kernel 3.10.17 mount rootfs form MMC

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX6D: kernel 3.10.17 mount rootfs form MMC

Jump to solution
4,401 Views
Tarek
Senior Contributor I

Hi All,

I'm implementing the DTS file for the Utilite standard board. The kernel is booting but not mounting the rootfs from SDcard.

Looks like the MMC is not configured correctly. The mmc driver keeps rescanning with different frequencies forever!

How do I configure it correctly?

 

Attached the dts files.

 

Kernel log:

U-Boot 2009.08-cm-fx6-0.91+tools (Nov 19 2013 - 14:56:48)

CPU: Freescale i.MX6 family TO6.4 at 792 MHz

Temperature:   34 C, calibration data 0x56b4dd69

mx6q pll1: 792MHz

mx6q pll2: 528MHz

mx6q pll3: 480MHz

mx6q pll8: 50MHz

ipg clock     : 66000000Hz

ipg per clock : 66000000Hz

uart clock    : 80000000Hz

cspi clock    : 60000000Hz

ahb clock     : 132000000Hz

axi clock   : 264000000Hz

emi_slow clock: 29333333Hz

ddr clock     : 528000000Hz

usdhc1 clock  : 198000000Hz

usdhc2 clock  : 198000000Hz

usdhc3 clock  : 198000000Hz

usdhc4 clock  : 198000000Hz

nfc clock     : 11000000Hz

Board: CM-FX6:[ WDOG ]

Boot Device: SD

I2C:   ready

RAM Configuration:

Bank #0: 10000000  1 GB

Bank #1: 80000000  1 GB

NAND:  No NAND device found!!!

0 MiB

MMC:   FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2

JEDEC ID: 0x20:0x71:0x15

In:    serial

Out:   serial

Err:   serial

Net:   got MAC address from IIM: 00:00:00:00:00:00

FEC0

Hit any key to stop autoboot:  3     2     1     0

mmc2 is current device

Loading file "boot/uImage" from mmc device 2:1 (xxc1)

5212512 bytes read

## Booting kernel from Legacy Image at 10800000 ...

   Image Name:   Poky (Yocto Project Reference Di

   Image Type:   ARM Linux Kernel Image (uncompressed)

   Data Size:    5212448 Bytes =  5 MB

   Load Address: 10008000

   Entry Point:  10008000

   Verifying Checksum ... OK

   Loading Kernel Image ... OK

OK

 

Starting kernel ...

 

Booting Linux on physical CPU 0x0

Linux version 3.10.17-1.0.0_beta+gec1af9f (telsherbiny@HP-Elite7500) (gcc version 4.8.1 (GCC) ) #6 SMP Fri Feb 14 16:23:21 GMT 2014

CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d

CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache

Machine: Freescale i.MX6 Quad/DualLite (Device Tree), model: ADH i.MX6 Dual utilite Board from compu-lab

Ignoring RAM at 80000000-bfffffff (vmalloc region overlap).

cma: CMA: reserved 256 MiB at 40000000

Memory policy: ECC disabled, Data cache writealloc

PERCPU: Embedded 8 pages/cpu @81983000 s8704 r8192 d15872 u32768

Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260096

Kernel command line: console=ttymxc3,115200 video=mxcfb0:dev=hdmi,1920x1080@60 fbmem=24M,10M root=/dev/mmcblk0p1 rw rootwait rootfs=ext3 enable_wait_mode=off consoleblank=0 video=mxcfb1:off video=mxcfb2:off video=mxcfb2:off maxcpus=2

PID hash table entries: 4096 (order: 2, 16384 bytes)

Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)

Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)

Memory: 1024MB = 1024MB total

Memory: 763580k/763580k available, 284996k reserved, 0K highmem

Virtual kernel memory layout:

    vector  : 0xffff0000 - 0xffff1000   (   4 kB)

    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)

    vmalloc : 0xc0800000 - 0xff000000   (1000 MB)

    lowmem  : 0x80000000 - 0xc0000000   (1024 MB)

    modules : 0x7f000000 - 0x80000000   (  16 MB)

      .text : 0x80008000 - 0x80bdb58c   (12110 kB)

      .init : 0x80bdc000 - 0x80c26200   ( 297 kB)

      .data : 0x80c28000 - 0x80c76320   ( 313 kB)

       .bss : 0x80c76320 - 0x80cdabe4   ( 403 kB)

SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1

Hierarchical RCU implementation.

  RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.

NR_IRQS:16 nr_irqs:16 16

L310 cache controller enabled

l2x0: 16 ways, CACHE_ID 0x410000c7, AUX_CTRL 0x32070000, Cache size: 1048576 B

sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655ms

CPU identified as i.MX6Q, silicon rev 1.2

Console: colour dummy device 80x30

Calibrating delay loop... 1581.05 BogoMIPS (lpj=7905280)

pid_max: default: 32768 minimum: 301

Mount-cache hash table entries: 512

CPU: Testing write buffer coherency: ok

CPU0: thread -1, cpu 0, socket 0, mpidr 80000000

Setting up static identity map for 0x806173a0 - 0x806173f8

CPU1: Booted secondary processor

CPU1: thread -1, cpu 1, socket 0, mpidr 80000001

Brought up 2 CPUs

SMP: Total of 2 processors activated (3162.11 BogoMIPS).

CPU: All CPU(s) started in SVC mode.

devtmpfs: initialized

pinctrl core: initialized pinctrl subsystem

regulator-dummy: no parameters

NET: Registered protocol family 16

DMA: preallocated 256 KiB pool for atomic coherent allocations

init imx6q_init_machine

Use WDOG1 as reset source

syscon 20c8000.anatop: regmap [mem 0x020c8000-0x020c8fff] registered

vdd1p1: 800 <--> 1375 mV at 1125 mV

vdd3p0: 2800 <--> 3150 mV at 3000 mV

vdd2p5: 2000 <--> 2750 mV at 2425 mV

cpu: 725 <--> 1450 mV at 1150 mV

vddpu: 725 <--> 1450 mV at 1150 mV

vddsoc: 725 <--> 1450 mV at 1200 mV

syscon 20e0000.iomuxc-gpr: regmap [mem 0x020e0000-0x020e0037] registered

syscon 21bc000.ocotp-ctrl: regmap [mem 0x021bc000-0x021bffff] registered

hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.

hw-breakpoint: maximum watchpoint size is 4 bytes.

imx6q-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver

bio: create slab <bio-0> at 0

mxs-dma 110000.dma-apbh: initialized

2P5V: 2500 mV

3P3V: 3300 mV

usb_otg_vbus: 5000 mV

i2c-core: driver [max17135] using legacy suspend method

i2c-core: driver [max17135] using legacy resume method

SCSI subsystem initialized

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver hub

usbcore: registered new device driver usb

i2c i2c-0: IMX I2C adapter registered

Linux video capture interface: v2.00

pps_core: LinuxPPS API ver. 1 registered

pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>

PTP clock support registered

imx-ipuv3 2400000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)

imx-ipuv3 2800000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)

MIPI CSI2 driver module loaded

Advanced Linux Sound Architecture Driver Initialized.

cfg80211: Calling CRDA to update world regulatory domain

Switching to clocksource mxc_timer1

NET: Registered protocol family 2

TCP established hash table entries: 8192 (order: 4, 65536 bytes)

TCP bind hash table entries: 8192 (order: 4, 65536 bytes)

TCP: Hash tables configured (established 8192 bind 8192)

TCP: reno registered

UDP hash table entries: 512 (order: 2, 16384 bytes)

UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)

NET: Registered protocol family 1

RPC: Registered named UNIX socket transport module.

RPC: Registered udp transport module.

RPC: Registered tcp transport module.

RPC: Registered tcp NFSv4.1 backchannel transport module.

hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available

pureg-dummy: no parameters

imx6_busfreq busfreq.13: DDR medium rate not supported.

Bus freq driver module loaded

VFS: Disk quotas dquot_6.5.2

Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)

NFS: Registering the id_resolver key type

Key type id_resolver registered

Key type id_legacy registered

jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.

fuse init (API version 7.22)

msgmni has been set to 2003

io scheduler noop registered

io scheduler deadline registered

io scheduler cfq registered (default)

imx-weim 21b8000.weim: WEIM driver registered.

MIPI DSI driver module loaded

imx-sdma 20ec000.sdma: no iram assigned, using external mem

imx-sdma 20ec000.sdma: loaded firmware 1.1

imx-sdma 20ec000.sdma: initialized

Serial: IMX driver

21f0000.serial: ttymxc3 at MMIO 0x21f0000 (irq = 61) is a IMX

console [ttymxc3] enabled

serial: Freescale lpuart driver

[drm] Initialized drm 1.1.0 20060810

[drm] Initialized vivante 1.0.0 20120216 on minor 0

brd: module loaded

loop: module loaded

ahci: SSS flag set, parallel bus scan disabled

ahci ahci: AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl platform mode

ahci ahci: flags: ncq sntf stag pm led clo only pmp pio slum part ccc apst

scsi0 : ahci_platform

ata1: SATA max UDMA/133 mmio [mem 0x02200000-0x02203fff] port 0x100 irq 71

m25p80 spi32766.0: found mr25h256, expected sst25vf016b

m25p80 spi32766.0: mr25h256 (32 Kbytes)

spi_imx 2008000.ecspi: probed

CAN device driver interface

libphy: fec_enet_mii_bus: probed

fec 2188000.ethernet eth0: registered PHC device 0

ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver

usbcore: registered new interface driver usb-storage

imx_usb 2184000.usb: usbmisc init failed, ret=-517

platform 2184000.usb: Driver imx_usb requests probe deferral

imx_usb 2184200.usb: usbmisc init failed, ret=-517

platform 2184200.usb: Driver imx_usb requests probe deferral

mousedev: PS/2 mouse device common for all mice

i2c-core: driver [isl29023] using legacy suspend method

i2c-core: driver [isl29023] using legacy resume method

snvs_rtc 20cc034.snvs-rtc-lp: rtc core: registered 20cc034.snvs-rtc-lp as rtc0

i2c /dev entries driver

i2c-core: driver [mag3110] using legacy suspend method

i2c-core: driver [mag3110] using legacy resume method

imx2-wdt 20bc000.wdog: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=0)

cpuidle: using governor ladder

cpuidle: using governor menu

sdhci: Secure Digital Host Controller Interface driver

sdhci: Copyright(c) Pierre Ossman

sdhci-pltfm: SDHCI platform and OF driver helper

sdhci-esdhc-imx 2190000.usdhc: could not get ultra high speed state, work on normal mode

mmc0: no vqmmc regulator found

mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using ADMA

sdhci-esdhc-imx 2198000.usdhc: could not get ultra high speed state, work on normal mode

mmc1: no vqmmc regulator found

mmc1: SDHCI controller on 2198000.usdhc [2198000.usdhc] using ADMA

ata1: SATA link down (SStatus 0 SControl 300)

Galcore version 4.6.9.9754

mxc_vdoa 21e4000.vdoa: i.MX Video Data Order Adapter(VDOA) driver probed

mxc_asrc 2034000.asrc: mxc_asrc registered

mxc_vpu 2040000.vpu: VPU initialized

caam 2100000.caam: device ID = 0x0a16010000000000 (Era -524)

caam 2100000.caam: job rings = 2, qi = 0

caam 2100000.caam: authenc-hmac-md5-cbc-aes-caam

caam 2100000.caam: authencesn-hmac-md5-cbc-aes-caam

caam 2100000.caam: authenc-hmac-sha1-cbc-aes-caam

caam 2100000.caam: authencesn-hmac-sha1-cbc-aes-caam

caam 2100000.caam: authenc-hmac-sha224-cbc-aes-caam

caam 2100000.caam: authencesn-hmac-sha224-cbc-aes-caam

caam 2100000.caam: authenc-hmac-sha256-cbc-aes-caam

caam 2100000.caam: authencesn-hmac-sha256-cbc-aes-caam

caam 2100000.caam: authenc-hmac-md5-cbc-des3_ede-caam

caam 2100000.caam: authencesn-hmac-md5-cbc-des3_ede-caam

caam 2100000.caam: authenc-hmac-sha1-cbc-des3_ede-caam

caam 2100000.caam: authencesn-hmac-sha1-cbc-des3_ede-caam

caam 2100000.caam: authenc-hmac-sha224-cbc-des3_ede-caam

caam 2100000.caam: authencesn-hmac-sha224-cbc-des3_ede-caam

caam 2100000.caam: authenc-hmac-sha256-cbc-des3_ede-caam

caam 2100000.caam: authencesn-hmac-sha256-cbc-des3_ede-caam

caam 2100000.caam: authenc-hmac-md5-cbc-des-caam

caam 2100000.caam: authencesn-hmac-md5-cbc-des-caam

caam 2100000.caam: authenc-hmac-sha1-cbc-des-caam

caam 2100000.caam: authencesn-hmac-sha1-cbc-des-caam

caam 2100000.caam: authenc-hmac-sha224-cbc-des-caam

caam 2100000.caam: authencesn-hmac-sha224-cbc-des-caam

caam 2100000.caam: authenc-hmac-sha256-cbc-des-caam

caam 2100000.caam: authencesn-hmac-sha256-cbc-des-caam

caam 2100000.caam: ecb-des-caam

caam 2100000.caam: ecb-arc4-caam

caam 2100000.caam: ecb-aes-caam

caam 2100000.caam: ctr-aes-caam

caam 2100000.caam: cbc-aes-caam

caam 2100000.caam: ecb-des3-caam

caam 2100000.caam: cbc-3des-caam

caam 2100000.caam: cbc-des-caam

caam 2100000.caam: fsl,sec-v4.0 algorithms registered in /proc/crypto

platform 2101000.jr0: registering rng-caam

platform caam_sm: caam_sm_test: 8-byte key test match OK

platform caam_sm: caam_sm_test: 16-byte key test match OK

platform caam_sm: caam_sm_test: 32-byte key test match OK

platform caam_secvio.19: security violation service handlers armed

usbcore: registered new interface driver usbhid

usbhid: USB HID core driver

i2c-core: driver [cs42888] using legacy suspend method

i2c-core: driver [cs42888] using legacy resume method

sgtl5000 0-000a: Failed to get supply 'VDDD': -19

0-000a: 1200 mV normal

sgtl5000 0-000a: Using internal LDO instead of VDDD

sgtl5000 0-000a: Device with ID register ffff is not a sgtl5000

sgtl5000 0-000a: ASoC: failed to probe CODEC -19

imx-sgtl5000 sound.18: ASoC: failed to instantiate card -19

imx-sgtl5000 sound.18: snd_soc_register_card failed (-19)

TCP: cubic registered

NET: Registered protocol family 10

sit: IPv6 over IPv4 tunneling driver

NET: Registered protocol family 17

can: controller area network core (rev 20120528 abi 9)

NET: Registered protocol family 29

can: raw protocol (rev 20120528)

can: broadcast manager protocol (rev 20120528 t)

can: netlink gateway (rev 20130117) max_hops=1

8021q: 802.1Q VLAN Support v1.8

Key type dns_resolver registered

VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4

ci_hdrc ci_hdrc.1: doesn't support gadget

ci_hdrc ci_hdrc.1: EHCI Host Controller

ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1

ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00

hub 1-0:1.0: USB hub found

hub 1-0:1.0: 1 port detected

snvs_rtc 20cc034.snvs-rtc-lp: setting system clock to 1970-01-01 00:00:00 UTC (0)

ALSA device list:

  No soundcards found.

Waiting for root device /dev/mmcblk0p1...

mmc0: mmc_rescan_try_freq: trying to init card at 400000 Hz

mmc0: mmc_rescan_try_freq: trying to init card at 300000 Hz

mmc0: mmc_rescan_try_freq: trying to init card at 200000 Hz

mmc0: mmc_rescan_try_freq: trying to init card at 100000 Hz

mmc0: mmc_rescan_try_freq: trying to init card at 400000 Hz

mmc0: mmc_rescan_try_freq: trying to init card at 300000 Hz

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

........... FOREVER

Original Attachment has been moved to: imx6d-utilite-std.dtb.zip

Original Attachment has been moved to: imx6d.dtsi.zip

Labels (2)
0 Kudos
1 Solution
854 Views
Tarek
Senior Contributor I

The Card Detection pin is not working. I've disabled the configuration in DTS file:

&usdhc3 {

  pinctrl-names = "default";

  pinctrl-0 = <&pinctrl_usdhc3_2>;

// cd-gpios = <&gpio7 1 0>;

// wp-gpios = <&gpio7 0 0>;

  vmmc-supply = <&reg_3p3v>;

  status = "okay";

};

The rootfs is now mounting! I will look into the CD pin later when everything else is working.

Thanks guys for trying to help

View solution in original post

0 Kudos
6 Replies
855 Views
Tarek
Senior Contributor I

The Card Detection pin is not working. I've disabled the configuration in DTS file:

&usdhc3 {

  pinctrl-names = "default";

  pinctrl-0 = <&pinctrl_usdhc3_2>;

// cd-gpios = <&gpio7 1 0>;

// wp-gpios = <&gpio7 0 0>;

  vmmc-supply = <&reg_3p3v>;

  status = "okay";

};

The rootfs is now mounting! I will look into the CD pin later when everything else is working.

Thanks guys for trying to help

0 Kudos
854 Views
KursadOney
NXP Employee
NXP Employee

It looks like you have two mmc devices (mmc0, mmc1) - are you sure you're trying to mount rootfs from the correct one? Currently it's /dev/mmcblk0p1 . u-boot says:

> Loading file "boot/uImage" from mmc device 2:1 (xxc1)

which makes me think maybe you want mmcblk1p1...

0 Kudos
854 Views
Tarek
Senior Contributor I

Hi Kursad,

The boot device might not be configured correctly in u-boot but I don't think this is the problem.

If the SD card was detected correctly I should see something like:

mmc1: new high speed SDHC card at address aaaa


Also the Kernel should tell me the device name like this message :

mmcblk0: mmc1:aaaa SU08G 7.40 GiB


But that's not the case. I think the kernel is not detecting the card for some reason but I don't know why?


I doubt that upgrading U-boot will solve the problem because U-boot can read the uImage from the SD card and boot the kernel. Then the kernel after several initializations waits for the rootfs device to show up as if the card was not present!


Anyway I will try to get  a more recent u-boot and see if that helps.

Thanks,

Tarek


0 Kudos
854 Views
daiane_angolini
NXP Employee
NXP Employee

Why are you using U-Boot 2009.08-cm-fx6-0.91+tools (Nov 19 2013 - 14:56:48)?

0 Kudos
854 Views
Tarek
Senior Contributor I

Hi Daiane,

I don't have the latest U-boot for this board. What can I do ....... :smileysad:

But it seams that combining the dtb file with uImage is working. As you can see U-boot is booting the image. Do you think that's wrong?

0 Kudos
854 Views
daiane_angolini
NXP Employee
NXP Employee

:smileysad:

as I remeber, imx6 development over u-boot 2009.08 stoped 6/8 months ago

Now, any development as been making on u-boot 2013.04

If you're using your custom board, you should be using your custom kernel. So, maybe you could only verify latest patches from FSL regarding voltage/pmic changes.

I would say it's probably you're facing a u-boot X kernel mismatch

0 Kudos