Re: sdhc/mpc8536 - SDCard always detected like read-only

2011-04-06 Thread Carlos Roberto Moratelli
I will try address the issue in details.

When I insert the SDCard, the same is detect like read-only:

mmcblk0: mmc0:b368 NCard 966 MiB (ro)
mmcblk0:
mmc0: starting CMD18 arg  flags 00b5
mmc0: blksz 512 blocks 8 flags 0200 tsac 100 ms nsac 0
mmc0: CMD12 arg  flags 049d
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x0001
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x000a
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x0001
mmc0: req done (CMD18): 0: 0900   
mmc0: 4096 bytes transferred: 0
mmc0: (CMD12): 0: 0b00   
p1

So, I just can mount the filesystem read-only. I can read the fat32
without problems.

I tested your sugestion. I used sdhci,wp-inverted in my dtb. This
changed the behavior. Now the SDCard is detected without the read-only
flag:

mmcblk0: mmc0:b368 NCard 966 MiB 
mmcblk0:
mmc0: starting CMD18 arg  flags 00b5
mmc0: blksz 512 blocks 8 flags 0200 tsac 100 ms nsac 0
mmc0: CMD12 arg  flags 049d
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x0001
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x000a
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x0001
mmc0: req done (CMD18): 0: 0900   
mmc0: 4096 bytes transferred: 0
mmc0: (CMD12): 0: 0b00   
p1

And, I can mount a rw filesystem:

#mount  /dev/mmcblock1 /mnt
#cat /proc/mounts
...
/dev/mmcblock1 /mnt vfat
rw,relatime,fmask=,dmask=,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro
 0 0
...

So, I can copy files to the mounted SDCard. But, When I try to umount I
see the following error mensagens:

#cp /etc/shadow /mnt
#ls /mnt
shadow
#umount /mnt
mmc0: Timeout waiting for hardware interrupt.
mmcblk0: error -110 transferring data, sector 5944, nr 1, card status
0x900
end_request: I/O error, dev mmcblk0, sector 5944
mmc0: Timeout waiting for hardware interrupt.
mmcblk0: error -110 transferring data, sector 5936, nr 1, card status
0x900
end_request: I/O error, dev mmcblk0, sector 5936
Buffer I/O error on device mmcblk0p1, logical block 3888
mmc0: Timeout waiting for hardware interrupt.
mmcblk0: error -110 transferring data, sector 2049, nr 1, card status
0x900
end_request: I/O error, dev mmcblk0, sector 2049
Buffer I/O error on device mmcblk0p1, logical block 1
mmc0: Timeout waiting for hardware interrupt.
mmcblk0: error -110 transferring data, sector 2080, nr 1, card status
0x900
end_request: I/O error, dev mmcblk0, sector 2080
...

I think I need the sdhci,wp-inverted in my dtb. But, it appears that
more something is necessary.

Has someone faced this situation?

Thanks by the help until here.

Regards,

Moratelli



Em Qua, 2011-04-06 às 01:48 +0200, Wolfram Sang escreveu:
  sdhci@2e000 {
  compatible = fsl,mpc8536-esdhc, fsl,esdhc;
  reg = 0x2e000 0x1000;
  interrupts = 72 0x2;
  interrupt-parent = mpic;
  /* Filled in by U-Boot */
  clock-frequency = 0;
  };
 
 Hmm, I am not too familiar with those SoCs, yet some 83xx needed
 
   sdhci,wp-inverted;
 
 here. Maybe yours, too? Would fit the symptoms.
 
 Regards,
 
Wolfram
 


___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: sdhc/mpc8536 - SDCard always detected like read-only - SOLVED.

2011-04-06 Thread Carlos Roberto Moratelli
Wolfram,

Reading the MPC8536E Chip Errata I saw the SDHC_WP signal polarity is 
reversed to the silicon revision 1.0.

Unfortunately my prototype board  is using revision 1.0. So, I asked to
my hardware team workaround putting an extra inverter for the SDHC_WP
signal.

Now its working fine!

Thanks,

Moratelli



Em Qua, 2011-04-06 às 14:18 -0300, Carlos Roberto Moratelli escreveu:
 I will try address the issue in details.
 
 When I insert the SDCard, the same is detect like read-only:
 
 mmcblk0: mmc0:b368 NCard 966 MiB (ro)
 mmcblk0:
 mmc0: starting CMD18 arg  flags 00b5
 mmc0: blksz 512 blocks 8 flags 0200 tsac 100 ms nsac 0
 mmc0: CMD12 arg  flags 049d
 sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x0001
 sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x000a
 sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x0001
 mmc0: req done (CMD18): 0: 0900   
 mmc0: 4096 bytes transferred: 0
 mmc0: (CMD12): 0: 0b00   
 p1
 
 So, I just can mount the filesystem read-only. I can read the fat32
 without problems.
 
 I tested your sugestion. I used sdhci,wp-inverted in my dtb. This
 changed the behavior. Now the SDCard is detected without the read-only
 flag:
 
 mmcblk0: mmc0:b368 NCard 966 MiB 
 mmcblk0:
 mmc0: starting CMD18 arg  flags 00b5
 mmc0: blksz 512 blocks 8 flags 0200 tsac 100 ms nsac 0
 mmc0: CMD12 arg  flags 049d
 sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x0001
 sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x000a
 sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x0001
 mmc0: req done (CMD18): 0: 0900   
 mmc0: 4096 bytes transferred: 0
 mmc0: (CMD12): 0: 0b00   
 p1
 
 And, I can mount a rw filesystem:
 
 #mount  /dev/mmcblock1 /mnt
 #cat /proc/mounts
 ...
 /dev/mmcblock1 /mnt vfat
 rw,relatime,fmask=,dmask=,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro
  0 0
 ...
 
 So, I can copy files to the mounted SDCard. But, When I try to umount I
 see the following error mensagens:
 
 #cp /etc/shadow /mnt
 #ls /mnt
 shadow
 #umount /mnt
 mmc0: Timeout waiting for hardware interrupt.
 mmcblk0: error -110 transferring data, sector 5944, nr 1, card status
 0x900
 end_request: I/O error, dev mmcblk0, sector 5944
 mmc0: Timeout waiting for hardware interrupt.
 mmcblk0: error -110 transferring data, sector 5936, nr 1, card status
 0x900
 end_request: I/O error, dev mmcblk0, sector 5936
 Buffer I/O error on device mmcblk0p1, logical block 3888
 mmc0: Timeout waiting for hardware interrupt.
 mmcblk0: error -110 transferring data, sector 2049, nr 1, card status
 0x900
 end_request: I/O error, dev mmcblk0, sector 2049
 Buffer I/O error on device mmcblk0p1, logical block 1
 mmc0: Timeout waiting for hardware interrupt.
 mmcblk0: error -110 transferring data, sector 2080, nr 1, card status
 0x900
 end_request: I/O error, dev mmcblk0, sector 2080
 ...
 
 I think I need the sdhci,wp-inverted in my dtb. But, it appears that
 more something is necessary.
 
 Has someone faced this situation?
 
 Thanks by the help until here.
 
 Regards,
 
 Moratelli
 
 
 
 Em Qua, 2011-04-06 às 01:48 +0200, Wolfram Sang escreveu:
 sdhci@2e000 {
 compatible = fsl,mpc8536-esdhc, fsl,esdhc;
 reg = 0x2e000 0x1000;
 interrupts = 72 0x2;
 interrupt-parent = mpic;
 /* Filled in by U-Boot */
 clock-frequency = 0;
 };
  
  Hmm, I am not too familiar with those SoCs, yet some 83xx needed
  
  sdhci,wp-inverted;
  
  here. Maybe yours, too? Would fit the symptoms.
  
  Regards,
  
 Wolfram
  
 


___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: sdhc/mpc8536 - SDCard always detected like read-only - SOLVED.

2011-04-06 Thread Wolfram Sang
 Reading the MPC8536E Chip Errata I saw the SDHC_WP signal polarity is 
 reversed to the silicon revision 1.0.
 
 Unfortunately my prototype board  is using revision 1.0. So, I asked to
 my hardware team workaround putting an extra inverter for the SDHC_WP
 signal.
 
 Now its working fine!

OK, nice. I fail to see from a glimpse how all this is related to the
timeout-errors you were seeing (-110), but if it works now, all is fine, I
guess.

Regards,

   Wolfram

-- 
Pengutronix e.K.   | Wolfram Sang|
Industrial Linux Solutions | http://www.pengutronix.de/  |


signature.asc
Description: Digital signature
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

sdhc/mpc8536 - SDCard always detected like read-only

2011-04-05 Thread Carlos Roberto Moratelli
Hello,

I am working in a MPC8536e custom board. Our custom board has a slot to 
SDCards conected to the MPC8536e's eSDHC controller. We are using just
4-serial data pins of eSDHC controller.

My kernel is 2.6.35.7 and I am using buildroot to build the root system
with uClib.

I can mount and read the data from SDCards in the slot. But I am facing
errors when I try write something in the card. 

I am testing two SDcards: Kingston and a LG, both with 2GB capacity. I
tryed ext3 and fat32 filesystems with the same results.

When the card is detected the log is (observe the ro flag in the first
line):

mmcblk0: mmc0:57f7 SD02G 1.83 GiB (ro)
mmcblk0:
mmc0: starting CMD18 arg  flags 00b5
mmc0: blksz 512 blocks 8 flags 0200 tsac 100 ms nsac 0
mmc0: CMD12 arg  flags 049d
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x0001
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x000a
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x0001
mmc0: req done (CMD18): 0: 0900   
mmc0: 4096 bytes transferred: 0
mmc0: (CMD12): 0: 0b00   
p1

I am sure the write protection mechanism on SDCard is in the unlock
position, but the kernel drivers detects the card like read-only.

Has someone idea why this happen?

Every idea or tip is apreciated.

Regards,

Moratelli.

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: sdhc/mpc8536 - SDCard always detected like read-only

2011-04-05 Thread Wolfram Sang
 Every idea or tip is apreciated.

Please post your dts.

-- 
Pengutronix e.K.   | Wolfram Sang|
Industrial Linux Solutions | http://www.pengutronix.de/  |


signature.asc
Description: Digital signature
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: sdhc/mpc8536 - SDCard always detected like read-only

2011-04-05 Thread Carlos Roberto Moratelli
Em Ter, 2011-04-05 às 21:02 +0200, Wolfram Sang escreveu:
  Every idea or tip is apreciated.
 
 Please post your dts.
 

/*
 * MPC8536 DS Device Tree Source
 *
 * Copyright 2008-2009 Freescale Semiconductor, Inc.
 *
 * This program is free software; you can redistribute  it and/or modify
it
 * under  the terms of  the GNU General  Public License as published by
the
 * Free Software Foundation;  either version 2 of the  License, or (at
your
 * option) any later version.
 */

/dts-v1/;

/ {
model = fsl,mpc8536ds;
compatible = fsl,mpc8536ds;
#address-cells = 2;
#size-cells = 2;

aliases {
ethernet0 = enet0;
serial0 = serial0;
serial1 = serial1;
pci1 = pci1;
};

cpus {
#cpus = 1;
#address-cells = 1;
#size-cells = 0;

PowerPC,8536@0 {
device_type = cpu;
reg = 0;
next-level-cache = L2;
};
};

memory {
device_type = memory;
reg = 0 0 0 0;// Filled by U-Boot
};

soc@fffe0 {
#address-cells = 1;
#size-cells = 1;
device_type = soc;
compatible = simple-bus;
ranges = 0x0 0xf 0xffe0 0x10;
bus-frequency = 0;// Filled out by uboot.

ecm-law@0 {
compatible = fsl,ecm-law;
reg = 0x0 0x1000;
fsl,num-laws = 12;
};

ecm@1000 {
compatible = fsl,mpc8536-ecm, fsl,ecm;
reg = 0x1000 0x1000;
interrupts = 17 2;
interrupt-parent = mpic;
};

memory-controller@2000 {
compatible = fsl,mpc8536-memory-controller;
reg = 0x2000 0x1000;
interrupt-parent = mpic;
interrupts = 18 0x2;
};

L2: l2-cache-controller@2 {
compatible = fsl,mpc8536-l2-cache-controller;
reg = 0x2 0x1000;
interrupt-parent = mpic;
interrupts = 16 0x2;
};

i2c@3000 {
#address-cells = 1;
#size-cells = 0;
cell-index = 0;
compatible = fsl-i2c;
reg = 0x3000 0x100;
interrupts = 43 0x2;
interrupt-parent = mpic;
dfsrr;

hwmon@48 {
compatible = national,lm73;
reg = 0x49;
};

rtc@68 {
compatible = rtc-m41t80,m41t82;
reg = 0x68;
};

lm90@4C {
compatible = lm90,adt7461;
reg = 0x4C;
};


};

i2c@3100 {
#address-cells = 1;
#size-cells = 0;
cell-index = 1;
compatible = fsl-i2c;
reg = 0x3100 0x100;
interrupts = 43 0x2;
interrupt-parent = mpic;
dfsrr;

sfp@50 {
compatible = sfp_teste,sfp_teste;
reg = 0x50;
};

bcm56334@44{
compatible = bcm56334,bcm56334;
reg = 0x44;
};

};

spi@7000 {
cell-index = 0;
#address-cells = 1;
#size-cells = 0;
compatible = fsl,mpc8536-espi;
reg = 0x7000 0x1000;
interrupts = 59 0x2;
interrupt-parent = mpic;
fsl,espi-num-chipselects = 4;
mode = cpu;

};

dma@21300 {
#address-cells = 1;
#size-cells = 1;
compatible = fsl,mpc8536-dma, fsl,eloplus-dma;
reg = 0x21300 4;
ranges = 0 0x21100 0x200;
cell-index = 0;
dma-channel@0 {
compatible 

Re: sdhc/mpc8536 - SDCard always detected like read-only

2011-04-05 Thread Wolfram Sang
   sdhci@2e000 {
   compatible = fsl,mpc8536-esdhc, fsl,esdhc;
   reg = 0x2e000 0x1000;
   interrupts = 72 0x2;
   interrupt-parent = mpic;
   /* Filled in by U-Boot */
   clock-frequency = 0;
   };

Hmm, I am not too familiar with those SoCs, yet some 83xx needed

sdhci,wp-inverted;

here. Maybe yours, too? Would fit the symptoms.

Regards,

   Wolfram

-- 
Pengutronix e.K.   | Wolfram Sang|
Industrial Linux Solutions | http://www.pengutronix.de/  |


signature.asc
Description: Digital signature
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev