Part Number: J721EXCPXEVM
HI,
We were trying to send cmd0 via ioctl using mmc-utility. mmcblk0 --> on-board eMMC and mmcblk1 --> SD card which i used for booting.
I am using Latest 8.04 sdk.
I notice mmc-utility that comes with the sdk does not include function to send cmd0.
root@j7-evm:~/mmc-utils# ./mmc preidle --help
Usage:
mmc preidle <device>
Issues a CMD0 GO_PRE_IDLE
0.1
root@j7-evm:~/mmc-utils# ./mmc preidle /dev/mmcblk0
root@j7-evm:~/mmc-utils# [ 2620.536769] mmc0: running CQE recovery
[ 2620.542841] mmc0: cache flush error -110
[ 2681.908152] mmc0: cqhci: timeout for tag 27
[ 2681.912336] mmc0: cqhci: ============ CQHCI REGISTER DUMP ===========
[ 2681.918772] mmc0: cqhci: Caps: 0x000030c8 | Version: 0x00000510
[ 2681.925204] mmc0: cqhci: Config: 0x00000000 | Control: 0x00000000
[ 2681.931632] mmc0: cqhci: Int stat: 0x00000000 | Int enab: 0x00000000
[ 2681.938060] mmc0: cqhci: Int sig: 0x00000000 | Int Coal: 0x00000000
[ 2681.944488] mmc0: cqhci: TDL base: 0x00000000 | TDL up32: 0x00000000
[ 2681.950916] mmc0: cqhci: Doorbell: 0x00000000 | TCN: 0x00000000
[ 2681.957344] mmc0: cqhci: Dev queue: 0x00000000 | Dev Pend: 0x00000000
[ 2681.963772] mmc0: cqhci: Task clr: 0x00000000 | SSC1: 0x00011000
[ 2681.970201] mmc0: cqhci: SSC2: 0x00000000 | DCMD rsp: 0x00000000
[ 2681.976631] mmc0: cqhci: RED mask: 0xfdf9a080 | TERRI: 0x00000000
[ 2681.983058] mmc0: cqhci: Resp idx: 0x00000000 | Resp arg: 0x00000000
[ 2681.989485] mmc0: sdhci: ============ SDHCI REGISTER DUMP ===========
[ 2681.995913] mmc0: sdhci: Sys addr: 0x00000000 | Version: 0x00001004
[ 2682.002343] mmc0: sdhci: Blk size: 0x00007200 | Blk cnt: 0x00000000
[ 2682.008777] mmc0: sdhci: Argument: 0x00010000 | Trn mode: 0x00000013
[ 2682.015205] mmc0: sdhci: Present: 0x01ff00f0 | Host ctl: 0x0000003c
[ 2682.021632] mmc0: sdhci: Power: 0x0000000b | Blk gap: 0x00000080
[ 2682.028061] mmc0: sdhci: Wake-up: 0x00000000 | Clock: 0x00000007
[ 2682.034494] mmc0: sdhci: Timeout: 0x0000000e | Int stat: 0x00000000
[ 2682.040923] mmc0: sdhci: Int enab: 0x02ff4000 | Sig enab: 0x02ff4000
[ 2682.047350] mmc0: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
[ 2682.053778] mmc0: sdhci: Caps: 0x7cecc801 | Caps_1: 0x98002407
[ 2682.060206] mmc0: sdhci: Cmd: 0x00000d1a | Max curr: 0x00000000
[ 2682.066632] mmc0: sdhci: Resp[0]: 0x00000900 | Resp[1]: 0x36581034
[ 2682.073058] mmc0: sdhci: Resp[2]: 0x53304a35 | Resp[3]: 0x0013014e
[ 2682.079486] mmc0: sdhci: Host ctl2: 0x0000000b
[ 2682.083919] mmc0: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x0000000881ad720c
[ 2682.091042] mmc0: sdhci: ============================================
[ 2682.097481] mmc0: running CQE recovery
[ 2743.348143] mmc0: cqhci: timeout for tag 30
[ 2743.352326] mmc0: cqhci: ============ CQHCI REGISTER DUMP ===========
[ 2743.358760] mmc0: cqhci: Caps: 0x000030c8 | Version: 0x00000510
[ 2743.365194] mmc0: cqhci: Config: 0x00000001 | Control: 0x00000000
[ 2743.371623] mmc0: cqhci: Int stat: 0x00000000 | Int enab: 0x00000006
[ 2743.378050] mmc0: cqhci: Int sig: 0x00000006 | Int Coal: 0x00000000
[ 2743.384478] mmc0: cqhci: TDL base: 0x00000000 | TDL up32: 0x00000000
[ 2743.390906] mmc0: cqhci: Doorbell: 0x00000000 | TCN: 0x00000000
[ 2743.397332] mmc0: cqhci: Dev queue: 0x00000000 | Dev Pend: 0x00000000
[ 2743.403760] mmc0: cqhci: Task clr: 0x00000000 | SSC1: 0x00011000
[ 2743.410190] mmc0: cqhci: SSC2: 0x00000000 | DCMD rsp: 0x00000000
[ 2743.416621] mmc0: cqhci: RED mask: 0xfdf9a080 | TERRI: 0x00000000
[ 2743.423048] mmc0: cqhci: Resp idx: 0x00000000 | Resp arg: 0x00000000
[ 2743.429475] mmc0: sdhci: ============ SDHCI REGISTER DUMP ===========
[ 2743.435902] mmc0: sdhci: Sys addr: 0x00000000 | Version: 0x00001004
[ 2743.442330] mmc0: sdhci: Blk size: 0x00007200 | Blk cnt: 0x00000000
[ 2743.448764] mmc0: sdhci: Argument: 0x00000001 | Trn mode: 0x00000013
[ 2743.455192] mmc0: sdhci: Present: 0x01ff00f0 | Host ctl: 0x0000003c
[ 2743.461622] mmc0: sdhci: Power: 0x0000000b | Blk gap: 0x00000080
[ 2743.468062] mmc0: sdhci: Wake-up: 0x00000000 | Clock: 0x00000007
[ 2743.474498] mmc0: sdhci: Timeout: 0x0000000e | Int stat: 0x00000000
[ 2743.480927] mmc0: sdhci: Int enab: 0x02ff4000 | Sig enab: 0x02ff4000
[ 2743.487354] mmc0: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
[ 2743.493782] mmc0: sdhci: Caps: 0x7cecc801 | Caps_1: 0x98002407
[ 2743.500209] mmc0: sdhci: Cmd: 0x00003013 | Max curr: 0x00000000
[ 2743.506636] mmc0: sdhci: Resp[0]: 0x00400800 | Resp[1]: 0x36581034
[ 2743.513063] mmc0: sdhci: Resp[2]: 0x53304a35 | Resp[3]: 0x0013014e
[ 2743.519490] mmc0: sdhci: Host ctl2: 0x0000000b
[ 2743.523924] mmc0: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x0000000000000000
[ 2743.531044] mmc0: sdhci: ============================================
[ 2743.537487] mmc0: running CQE recovery
[ 2743.543256] blk_update_request: I/O error, dev mmcblk0, sector 0 op 0x0:(REA0
[ 2743.553420] Buffer I/O error on dev mmcblk0, logical block 0, async page read
After booting up i believe we are in transfer state which i checked by send status cmd, i trying to change other state by issuing cmd0 or cmd 7 via ioctl. but it fails and getting error from kernel space. and we were unable to read CSD and CID via ioctl.
And also i notice in mmc-utility they rather sending cmd via ioctl they reading the CSD and CID via sysfs entry. So in linux user space its not allowed to change the modes ?