DA850 - SD access not working on 3.15 or git master?

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

DA850 - SD access not working on 3.15 or git master?

Peter Howard
I'm finding that, while the SD driver initialises and the card is
detected, that's where things stop.

The (cut down) boot log is as follows:

brd: module loaded                                                              
davinci_mdio davinci_mdio.0: davinci mdio revision 1.5                          
davinci_mdio davinci_mdio.0: detected phy mask fffffffe                        
libphy: davinci_mdio.0: probed                                                  
davinci_mdio davinci_mdio.0: phy[0]: device davinci_mdio-0:00, driver unknown  
input: gpio-keys-polled as /devices/platform/gpio-keys-polled.1/input/input0    
i2c /dev entries driver                                                        
davinci_mmc da830-mmc.0: Using DMA, 4-bit mode                                  
TCP: cubic registered                                                          
NET: Registered protocol family 17                                              
LDO2: incomplete constraints, leaving on                                        
LDO1: incomplete constraints, leaving on                                        
VDCDC3: incomplete constraints, leaving on                                      
VDCDC2: incomplete constraints, leaving on                                      
VDCDC1: incomplete constraints, leaving on                                      
console [netcon0] enabled                                                      
netconsole: network logging started                                            
davinci_emac davinci_emac.1: using random MAC addr: 66:e9:e3:43:07:13          
mmc0: new high speed SDHC card at address 0007                                  
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)                        
net eth0: Request IRQ 33                                                        
net eth0: Request IRQ 34                                                        
net eth0: Request IRQ 35                                                        
net eth0: Request IRQ 36                                                        
davinci_mdio davinci_mdio.0: resetting idled controller                        
net eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=davinci_mdio-0:00)
davinci_emac davinci_emac.1 eth0: Link is Up - 100Mbps/Full - flow control rx/tx
Sending DHCP requests ., OK                                                    
IP-Config: Got DHCP answer from 192.168.1.17, my address is 192.168.0.150      
IP-Config: Complete:                                                            
     device=eth0, hwaddr=66:e9:e3:43:07:13, ipaddr=192.168.0.150, mask=255.255.4
     host=192.168.0.150, domain=gme.net.au, nis-domain=(none)                  
     bootserver=0.0.0.0, rootserver=0.0.0.0, rootpath=                          
     nameserver0=192.168.1.14, nameserver1=192.168.1.17                        
Waiting for root device /dev/mmcblk0p2...                                      
random: nonblocking pool is initialized  


I haven't done any further debugging yet to see what happens (or doesn't
happen) after

 mmc0: new high speed SDHC card at address 0007                                  


The build sequence was:
      * tar xf linux-3.15.tar.xz
      * cd linux-3.15
      * cp arch/arm/configs/davinci_all_defconfig .config
      * make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- menuconfig
        (only change was to make MMC/SD support and the relevant driver
        built-in instead of in a module)
      * make ARCH=arm LOADADDR=0xc0008000
        CROSS_COMPILE=arm-arago-linux-gnueabi- uImage -j9

The image was then copied to the SD card and then booted.  I'm assuming
that it *should* work.  The same process on the master branch of the
repo at git.kernel.org produces the same behavior.

I would bisect to try to track it down but there's already this problem
(http://linux.davincidsp.com/pipermail/davinci-linux-open-source/2014-April/028783.html) in 3.14 which would interfere with the process.  So could someone suggest a debugging approach from here?  Is there a post-3.14 commit anyone can confirm SD access was definitely working on the DA850 I can use as a start for a bisect?

Thanks.

--
Peter Howard <[hidden email]>

_______________________________________________
Davinci-linux-open-source mailing list
[hidden email]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Reply | Threaded
Open this post in threaded view
|

Re: DA850 - SD access not working on 3.15 or git master?

Sekhar Nori
On Monday 16 June 2014 05:10 AM, Peter Howard wrote:

> I'm finding that, while the SD driver initialises and the card is
> detected, that's where things stop.
>
> The (cut down) boot log is as follows:
>
> brd: module loaded                                                              
> davinci_mdio davinci_mdio.0: davinci mdio revision 1.5                          
> davinci_mdio davinci_mdio.0: detected phy mask fffffffe                        
> libphy: davinci_mdio.0: probed                                                  
> davinci_mdio davinci_mdio.0: phy[0]: device davinci_mdio-0:00, driver unknown  
> input: gpio-keys-polled as /devices/platform/gpio-keys-polled.1/input/input0    
> i2c /dev entries driver                                                        
> davinci_mmc da830-mmc.0: Using DMA, 4-bit mode                                  
> TCP: cubic registered                                                          
> NET: Registered protocol family 17                                              
> LDO2: incomplete constraints, leaving on                                        
> LDO1: incomplete constraints, leaving on                                        
> VDCDC3: incomplete constraints, leaving on                                      
> VDCDC2: incomplete constraints, leaving on                                      
> VDCDC1: incomplete constraints, leaving on                                      
> console [netcon0] enabled                                                      
> netconsole: network logging started                                            
> davinci_emac davinci_emac.1: using random MAC addr: 66:e9:e3:43:07:13          
> mmc0: new high speed SDHC card at address 0007                                  
> drivers/rtc/hctosys.c: unable to open rtc device (rtc0)                        
> net eth0: Request IRQ 33                                                        
> net eth0: Request IRQ 34                                                        
> net eth0: Request IRQ 35                                                        
> net eth0: Request IRQ 36                                                        
> davinci_mdio davinci_mdio.0: resetting idled controller                        
> net eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=davinci_mdio-0:00)
> davinci_emac davinci_emac.1 eth0: Link is Up - 100Mbps/Full - flow control rx/tx
> Sending DHCP requests ., OK                                                    
> IP-Config: Got DHCP answer from 192.168.1.17, my address is 192.168.0.150      
> IP-Config: Complete:                                                            
>      device=eth0, hwaddr=66:e9:e3:43:07:13, ipaddr=192.168.0.150, mask=255.255.4
>      host=192.168.0.150, domain=gme.net.au, nis-domain=(none)                  
>      bootserver=0.0.0.0, rootserver=0.0.0.0, rootpath=                          
>      nameserver0=192.168.1.14, nameserver1=192.168.1.17                        
> Waiting for root device /dev/mmcblk0p2...                                      
> random: nonblocking pool is initialized  
>
>
> I haven't done any further debugging yet to see what happens (or doesn't
> happen) after
>
>  mmc0: new high speed SDHC card at address 0007                                  
>
>
> The build sequence was:
>       * tar xf linux-3.15.tar.xz
>       * cd linux-3.15
>       * cp arch/arm/configs/davinci_all_defconfig .config
>       * make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- menuconfig
>         (only change was to make MMC/SD support and the relevant driver
>         built-in instead of in a module)
>       * make ARCH=arm LOADADDR=0xc0008000
>         CROSS_COMPILE=arm-arago-linux-gnueabi- uImage -j9
>
> The image was then copied to the SD card and then booted.  I'm assuming
> that it *should* work.  The same process on the master branch of the
> repo at git.kernel.org produces the same behavior.

Can you make sure CONFIG_MMC_BLOCK=y in .config?

If that does not help, can you check the output of /proc/interrupts. Do
you see EDMA interrupts incrementing? Also, just to rule out other
issues, can you build with CONFIG_TI_EDMA=n? This will force the driver
into PIO mode.

Switching on CONFIG_MMC_DEBUG might also help throw more light on what
the issue is.

Thanks,
Sekhar
_______________________________________________
Davinci-linux-open-source mailing list
[hidden email]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Reply | Threaded
Open this post in threaded view
|

Re: DA850 - SD access not working on 3.15 or git master?

Peter Howard
On Mon, 2014-06-16 at 19:49 +0530, Sekhar Nori wrote:

> On Monday 16 June 2014 05:10 AM, Peter Howard wrote:
> > I'm finding that, while the SD driver initialises and the card is
> > detected, that's where things stop.
> >
> > The (cut down) boot log is as follows:
> >
> > brd: module loaded                                                              
> > davinci_mdio davinci_mdio.0: davinci mdio revision 1.5                          
> > davinci_mdio davinci_mdio.0: detected phy mask fffffffe                        
> > libphy: davinci_mdio.0: probed                                                  
> > davinci_mdio davinci_mdio.0: phy[0]: device davinci_mdio-0:00, driver unknown  
> > input: gpio-keys-polled as /devices/platform/gpio-keys-polled.1/input/input0    
> > i2c /dev entries driver                                                        
> > davinci_mmc da830-mmc.0: Using DMA, 4-bit mode                                  
> > TCP: cubic registered                                                          
> > NET: Registered protocol family 17                                              
> > LDO2: incomplete constraints, leaving on                                        
> > LDO1: incomplete constraints, leaving on                                        
> > VDCDC3: incomplete constraints, leaving on                                      
> > VDCDC2: incomplete constraints, leaving on                                      
> > VDCDC1: incomplete constraints, leaving on                                      
> > console [netcon0] enabled                                                      
> > netconsole: network logging started                                            
> > davinci_emac davinci_emac.1: using random MAC addr: 66:e9:e3:43:07:13          
> > mmc0: new high speed SDHC card at address 0007                                  
> > drivers/rtc/hctosys.c: unable to open rtc device (rtc0)                        
> > net eth0: Request IRQ 33                                                        
> > net eth0: Request IRQ 34                                                        
> > net eth0: Request IRQ 35                                                        
> > net eth0: Request IRQ 36                                                        
> > davinci_mdio davinci_mdio.0: resetting idled controller                        
> > net eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=davinci_mdio-0:00)
> > davinci_emac davinci_emac.1 eth0: Link is Up - 100Mbps/Full - flow control rx/tx
> > Sending DHCP requests ., OK                                                    
> > IP-Config: Got DHCP answer from 192.168.1.17, my address is 192.168.0.150      
> > IP-Config: Complete:                                                            
> >      device=eth0, hwaddr=66:e9:e3:43:07:13, ipaddr=192.168.0.150, mask=255.255.4
> >      host=192.168.0.150, domain=gme.net.au, nis-domain=(none)                  
> >      bootserver=0.0.0.0, rootserver=0.0.0.0, rootpath=                          
> >      nameserver0=192.168.1.14, nameserver1=192.168.1.17                        
> > Waiting for root device /dev/mmcblk0p2...                                      
> > random: nonblocking pool is initialized  
> >
> >
> > I haven't done any further debugging yet to see what happens (or doesn't
> > happen) after
> >
> >  mmc0: new high speed SDHC card at address 0007                                  
> >
> >
> > The build sequence was:
> >       * tar xf linux-3.15.tar.xz
> >       * cd linux-3.15
> >       * cp arch/arm/configs/davinci_all_defconfig .config
> >       * make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- menuconfig
> >         (only change was to make MMC/SD support and the relevant driver
> >         built-in instead of in a module)
> >       * make ARCH=arm LOADADDR=0xc0008000
> >         CROSS_COMPILE=arm-arago-linux-gnueabi- uImage -j9
> >
> > The image was then copied to the SD card and then booted.  I'm assuming
> > that it *should* work.  The same process on the master branch of the
> > repo at git.kernel.org produces the same behavior.
>
> Can you make sure CONFIG_MMC_BLOCK=y in .config?
>

ARGH!

Yes, I left CONFIG_MMC_BLOCK=m.  PEBKAC.

Apologies.  Thanks for pointing out the obvious mistake.

--
Peter Howard <[hidden email]>

_______________________________________________
Davinci-linux-open-source mailing list
[hidden email]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source