P1011E with eMMC

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

P1011E with eMMC

Jump to solution
1,765 Views
dhruvalkumarpat
Contributor III

Hi All ,

I am working with P1011E for the first time and was able to get eMMC chip working at u-boot usinf "mmcinfo" command at u-boot prompt I can see the eMMC configuration as shown below.

GPP-P1> mmcinfo

Device: FSL_SDHC

Manufacturer ID: fe

OEM: 14e

Name: MMC04

Tran Speed: 52000000

Rd Block Len: 512

MMC version 4.0

High Capacity: Yes

Capacity: 3.6 GiB

Bus Width: 4-bit

GPP-P1>

My problem is when load linux over nfs it start complaining about following things . It actually hangs there and never goes to linux prompt. this is a first time board bring up. Below log we can easily identify that it detect the chip but failed for some reason and I was unable to identify the problem after week's of effort can any please suggest me the possible cause for this. Is there specific device tree for p1011E ?? Currently I am using device tree ported from p1020 . Please inbox your suggestion.

TCP cubic registered

Initializing XFRM netlink socket

mmcblk0: mmc0:0001 MMC04G 3.60 GiB

mmcblk0boot0: mmc0:0001 MMC04G partition 1 16.0 MiB

mmcblk0boot1: mmc0:0001 MMC04G partition 2 16.0 MiB

NET: Registered protocol family 10

mmcblk0: unknown partition table

ip6_tables: (C) 2000-2006 Netfilter Core Team

IPv6 over IPv4 tunneling driver

NET: Registered protocol family 17

NET: Registered protocol family 15

Bridge firewalling registered

Ebtables v2.0 registered

802.1Q VLAN Support v1.8

Registering the dns_resolver key type

rtc-x1205 0-006f: setting system clock to 2016-01-08 04:31:00 UTC (1452227460)

ADDRCONF(NETDEV_UP): eth0: link is not ready

PHY: mdio@ffe24000:01 - Link is Up - 1000/Full

ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

IP-Config: Complete:

     device=eth0, addr=10.10.30.10, mask=255.255.255.0, gw=10.10.30.1,

     host=unirangpp-210, domain=, nis-domain=(none),

     bootserver=10.10.10.12, rootserver=10.10.10.12, rootpath=

mmc0: Timeout waiting for hardware interrupt.

mmcblk0boot1: error -110 sending stop command, original cmd response 0x900, card status 0x400900

mmcblk0boot1: error -110 transferring data, sector 0, nr 8, cmd response 0x900, card status 0x0

mmcblk0boot1: retrying using single block read

mmcblk0boot1: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0x0

end_request: I/O error, dev mmcblk0boot1, sector 0

mmcblk0boot1: error -84 transferring data, sector 1, nr 7, cmd response 0x900, card status 0x0

end_request: I/O error, dev mmcblk0boot1, sector 1

mmcblk0boot1: error -84 transferring data, sector 2, nr 6, cmd response 0x900, card status 0x0

end_request: I/O error, dev mmcblk0boot1, sector 2

mmcblk0boot1: error -84 transferring data, sector 3, nr 5, cmd response 0x900, card status 0x0

end_request: I/O error, dev mmcblk0boot1, sector 3

mmcblk0boot1: error -84 transferring data, sector 4, nr 4, cmd response 0x900, card status 0x0

end_request: I/O error, dev mmcblk0boot1, sector 4

mmcblk0boot1: error -84 transferring data, sector 5, nr 3, cmd response 0x900, card status 0x0

end_request: I/O error, dev mmcblk0boot1, sector 5

mmcblk0boot1: error -84 transferring data, sector 6, nr 2, cmd response 0x900, card status 0x0

end_request: I/O error, dev mmcblk0boot1, sector 6

mmcblk0boot1: error -84 transferring data, sector 7, nr 1, cmd response 0x900, card status 0x0

end_request: I/O error, dev mmcblk0boot1, sector 7

Buffer I/O error on device mmcblk0boot1, logical block 0

Thanks in Advance!!

Dhruval

Labels (1)
Tags (1)
0 Kudos
1 Solution
807 Views
dhruvalkumarpat
Contributor III

Disable CMD23 support , with p1020 family even if CMD23 is supported by host controller it doesn't work well and lead to erroneous state with old emmc host driver . Thanks everyone for help .

View solution in original post

0 Kudos
4 Replies
808 Views
dhruvalkumarpat
Contributor III

Disable CMD23 support , with p1020 family even if CMD23 is supported by host controller it doesn't work well and lead to erroneous state with old emmc host driver . Thanks everyone for help .

0 Kudos
807 Views
bpe
NXP Employee
NXP Employee

This seems to be a hardware-level problem. Try another card, if all

cards fail, check the interface signals integrity and timing.


Have a great day,
Platon

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
807 Views
dhruvalkumarpat
Contributor III

Look at the following logs and register dump

sdhci_add_host: ret = request_irq() = 0 ----------------------------------------------------------

sdhci_init: sdhci_reset() done ----------------------------------------------------------

sdhci: =========== REGISTER DUMP (mmc0)===========

sdhci: Sys addr: 0x00000000 | Version:  0x00001201

sdhci: Blk size: 0x00000000 | Blk cnt:  0x00000001

sdhci: Argument: 0x00000000 | Trn mode: 0x00000000

sdhci: Present:  0xff8d00f8 | Host ctl: 0x00000020

sdhci: Power:    0x00000000 | Blk gap:  0x00000000

sdhci: Wake-up:  0x00000000 | Clock:    0x00008008

sdhci: Timeout:  0x00000000 | Int stat: 0x00000000

sdhci: Int enab: 0x007f0003 | Sig enab: 0x007f0003

sdhci: AC12 err: 0x00000000 | Slot int: 0x00001201

sdhci: Caps:     0x05f30000 | Caps_1:   0x10101010

sdhci: Cmd:      0x00000000 | Max curr: 0x00000000

sdhci: Host ctl2: 0x00000000

sdhci: ===========================================

sdhci_init: sdhci_reset() done ----------------------------------------------------------

mmc0: SDHCI controller on ffe2e000.sdhc [ffe2e000.sdhc] using DMA

sdhci_add_host: host added ----------------------------------------------------------

talitos ffe30000.crypto: hwrng

talitos ffe30000.crypto: fsl,sec3.1 algorithms registered in /proc/crypto

usbcore: registered new interface driver usbhid

usbhid: USB HID core driver

Initializing PAM driver...

usb 1-1: new high speed USB device number 2 using fsl-ehci

sdhci_init: sdhci_reset() done ----------------------------------------------------------

usb 1-1: New USB device found, idVendor=0424, idProduct=2514

usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0

hub 1-1:1.0: USB hub found

hub 1-1:1.0: 4 ports detected

GACT probability NOT on

netem: version 1.3

Netfilter messages via NETLINK v0.30.

nf_conntrack version 0.5.0 (16117 buckets, 64468 max)

ctnetlink v0.93: registering with nfnetlink.

IPv4 over IPv4 tunneling driver

mmc0: new high speed MMC card at address 0001

GRE over IPv4 demultiplexor driver

GRE over IPv4 tunneling driver

ip_tables: (C) 2000-2006 Netfilter Core Team

TCP cubic registered

Initializing XFRM netlink socket

mmcblk0: mmc0:0001 MMC04G 3.60 GiB

mmcblk0boot0: mmc0:0001 MMC04G partition 1 16.0 MiB

mmcblk0boot1: mmc0:0001 MMC04G partition 2 16.0 MiB

NET: Registered protocol family 10

mmcblk0: unknown partition table

ip6_tables: (C) 2000-2006 Netfilter Core Team

IPv6 over IPv4 tunneling driver

NET: Registered protocol family 17

NET: Registered protocol family 15

Bridge firewalling registered

Ebtables v2.0 registered

802.1Q VLAN Support v1.8

Registering the dns_resolver key type

rtc-x1205 0-006f: setting system clock to 2016-01-12 05:00:00 UTC (1452574800)

ADDRCONF(NETDEV_UP): eth0: link is not ready

PHY: mdio@ffe24000:01 - Link is Up - 1000/Full

ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

IP-Config: Complete:

     device=eth0, addr=10.10.30.10, mask=255.255.255.0, gw=10.10.30.1,

     host=unirangpp-210, domain=, nis-domain=(none),

     bootserver=10.10.10.12, rootserver=10.10.10.12, rootpath=

mmc0: Timeout waiting for hardware interrupt.

sdhci: =========== REGISTER DUMP (mmc0)===========

sdhci: Sys addr: 0x2f4d0000 | Version:  0x00001201

sdhci: Blk size: 0x00000200 | Blk cnt:  0x00000008

sdhci: Argument: 0x00000000 | Trn mode: 0x00000033

sdhci: Present:  0xff8d020a | Host ctl: 0x00000022

sdhci: Power:    0x00000000 | Blk gap:  0x00000000

sdhci: Wake-up:  0x00000000 | Clock:    0x0000011f

sdhci: Timeout:  0x0000000e | Int stat: 0x00000000

sdhci: Int enab: 0x007f000b | Sig enab: 0x007f000b

sdhci: AC12 err: 0x00000000 | Slot int: 0x00001201

sdhci: Caps:     0x05f30000 | Caps_1:   0x10101010

sdhci: Cmd:      0x0000123a | Max curr: 0x00000000

sdhci: Host ctl2: 0x00000000

sdhci: ===========================================

sdhci_timeout_timer: going into mmiowb() -----------

In both cases Present state indicates bit 28 as 1 which is reserved and should be 0 at reset accroding to referance manual ?  Am I correct here ? 

0 Kudos
807 Views
dhruvalkumarpat
Contributor III

I tried the first method as you have mentioned and it didn't solve the problem. I have P2020 board where I have a eMMC working perfectly ok. Is there any fundamental difference between "eSDHC" module in P1011 and P2020. If so can you suggest me what ?? I have gone through both data- sheet and reference module but I could not see any difference in "eSDHC" module.

0 Kudos