Re: SD card wont work with dw_mmc driver in linux. Error -84 EILSEQ

2017-11-28 Thread Greg KH
On Mon, Nov 27, 2017 at 06:26:04PM +0100, John Smith wrote:
> CMD18 Multiblockread and CMD17 Single block read are failing during driver
> initialisation sequence.. I can not figure out, what the problem is. These 
> CMDs
> return with -84, which means:
> 
>  * EILSEQ   Basic format problem with the received or sent data
>  *  (e.g. CRC check failed, incorrect opcode in response
>  *  or bad end bit)
> 
> I am able to load files from the sd card in uboot and most of the CMDs are 
> also
> working in the dw_mmc driver as you can see below.
> 
>  
> 
> Clock is set to 25MHz, tested are two different sd cards (=same result). 
> ARMv7,
> Kernel 4.0, dw_mmc driver

Kernel release 4.0 is really really old, please try something newer and
more modern please.

And why not ask this on the mailing list for this subsystem?  The
developers there can help you out best.

thanks,

greg k-h

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


SD card wont work with dw_mmc driver in linux. Error -84 EILSEQ

2017-11-28 Thread John Smith

CMD18 Multiblockread and CMD17 Single block read are failing during driver initialisation sequence.. I can not figure out, what the problem is. These CMDs return with -84, which means:

 * EILSEQ   Basic format problem with the received or sent data
 *  (e.g. CRC check failed, incorrect opcode in response
 *  or bad end bit)


I am able to load files from the sd card in uboot and most of the CMDs are also working in the dw_mmc driver as you can see below.

 

Clock is set to 25MHz, tested are two different sd cards (=same result). ARMv7, Kernel 4.0, dw_mmc driver

 

device: 'mmc.0': device_add
bus: 'platform': add device mmc.0
bus: 'mmc': registered
device class 'mmc_host': registering
Driver 'mmcblk' needs updating - please use bus_type methods
bus: 'mmc': add driver mmcblk
bus: 'platform': add driver dw_mmc
bus: 'platform': add driver dwmmc_adi
bus: 'platform': driver_probe_device: matched device mmc.0 with driver dwmmc_adi
bus: 'platform': really_probe: probing driver dwmmc_adi with device mmc.0
pinctrl-adi2 pinctrl-adi2.0: found group selector 21 for mmc0grp
pinctrl-adi2 pinctrl-adi2.0: request pin 76 (PE12) for mmc.0
pinctrl-adi2 pinctrl-adi2.0: request pin 77 (PE13) for mmc.0
pinctrl-adi2 pinctrl-adi2.0: request pin 78 (PE14) for mmc.0
pinctrl-adi2 pinctrl-adi2.0: request pin 79 (PE15) for mmc.0
pinctrl-adi2 pinctrl-adi2.0: request pin 80 (PF0) for mmc.0
pinctrl-adi2 pinctrl-adi2.0: request pin 81 (PF1) for mmc.0
pinctrl-adi2 pinctrl-adi2.0: request pin 82 (PF2) for mmc.0
pinctrl-adi2 pinctrl-adi2.0: request pin 83 (PF3) for mmc.0
pinctrl-adi2 pinctrl-adi2.0: request pin 87 (PF7) for mmc.0
pinctrl-adi2 pinctrl-adi2.0: request pin 84 (PF4) for mmc.0
pinctrl-adi2 pinctrl-adi2.0: request pin 44 (PC12) for mmc.0
dwmmc_adi mmc.0: num-slots property not found, assuming 1 slot is available
dwmmc_adi mmc.0: obtain a copy of previously claimed pinctrl
dwmmc_adi mmc.0: IDMAC supports 32-bit address mode.
dwmmc_adi mmc.0: Using internal DMA controller.
dwmmc_adi mmc.0: Version ID is 270a
dwmmc_adi mmc.0: DW MMC controller at irq 73, 32 bit host data width, 1024 deep fifo
dwmmc_adi mmc.0: No vmmc regulator found
dwmmc_adi mmc.0: No vqmmc regulator found
dwmmc_adi mmc.0: GPIO lookup for consumer wp
dwmmc_adi mmc.0: using device tree for GPIO lookup
of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/scb/mmc@0x3101[0]'
of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/scb/mmc@0x3101[0]'
dwmmc_adi mmc.0: using lookup tables for GPIO lookup
dwmmc_adi mmc.0: lookup for GPIO wp failed
mmc_host mmc0: card is non-removable.
device: 'mmc0': device_add
mmc0: clock 0Hz busmode 2 powermode 1 cs 0 Vdd 21 width 0 timing 0
dwmmc_adi mmc.0: Initial signal voltage of 3.3v
mmc0: clock 40Hz busmode 2 powermode 2 cs 0 Vdd 21 width 0 timing 0
dwmmc_adi mmc.0: 1 slots initialized
driver: 'dwmmc_adi': driver_bound: bound to device 'mmc.0'
bus: 'platform': really_probe: bound device mmc.0 to driver dwmmc_adi
mmc0: mmc_rescan_try_freq: trying to init card at 40 Hz
mmc0: starting CMD52 arg 0c00 flags 0195
mmc0: req done (CMD52): -110:    
mmc0: starting CMD52 arg 8c08 flags 0195
mmc0: req done (CMD52): -110:    
mmc0: clock 40Hz busmode 2 powermode 2 cs 1 Vdd 21 width 0 timing 0
mmc0: starting CMD0 arg  flags 00c0
mmc0: req done (CMD0): 0:    
mmc0: clock 40Hz busmode 2 powermode 2 cs 0 Vdd 21 width 0 timing 0
mmc0: starting CMD8 arg 01aa flags 02f5
mmc0: req done (CMD8): 0: 01aa   
mmc0: starting CMD5 arg  flags 02e1
mmc0: req failed (CMD5): -110, retrying...
mmc0: req failed (CMD5): -110, retrying...
mmc0: req failed (CMD5): -110, retrying...
mmc0: req done (CMD5): -110: 01aa   
mmc0: starting CMD55 arg  flags 00f5
mmc0: req done (CMD55): 0: 00400120   
mmc0: starting CMD41 arg  flags 00e1
mmc0: req done (CMD41): 0: 00ff8000   
mmc0: clock 40Hz busmode 2 powermode 2 cs 1 Vdd 21 width 0 timing 0
mmc0: starting CMD0 arg  flags 00c0
mmc0: req done (CMD0): 0:    
mmc0: clock 40Hz busmode 2 powermode 2 cs 0 Vdd 21 width 0 timing 0
mmc0: starting CMD8 arg 01aa flags 02f5
mmc0: req done (CMD8): 0: 01aa   
mmc0: starting CMD55 arg  flags 00f5
mmc0: req done (CMD55): 0: 0120   
mmc0: starting CMD41 arg 4020 flags 00e1
mmc0: req done (CMD41): 0: 00ff8000   
mmc0: starting CMD55 arg  flags 00f5
mmc0: req done (CMD55): 0: 0120   
mmc0: starting CMD41 arg 4020 flags 00e1
mmc0: req done (CMD41): 0: 80ff8000   
mmc0: starting CMD2 arg  flags 0067
mmc0: req