Re: RFC: PCI SD host controller driver & mmc/mmcsd modules improvements

Lars Engels <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm,gmane.os.freebsd.current,gmane.os.freebsd.devel.mobile
Message-ID <[email protected]>
Quoting Alexander Motin <[email protected]>:

> Lars Engels wrote:
>> I just tried your latest version of mmc + sdhci but it does not detect
>> any SD Card inserted:
>>
>> sdhci0: <RICOH R5C822 SD> mem 0xe4003000-0xe40030ff irq 19 at device 6.3
>> on pci2
>>
>> Nothing happens when I insert a card.
>>
>> The hardware is:
>> sdhci0@pci0:2:6:3:      class=0x080500 card=0x30c3103c chip=0x08221180
>> rev=0x20 hdr=0x00
>>     vendor     = 'Ricoh Company, Ltd.'
>>     device     = 'R5C832, R5C843 SDA Standard Compliant SD Host Controller'
>>     class      = base peripheral
>> none2@pci0:2:6:4:       class=0x088000 card=0x30c3103c chip=0x08431180
>> rev=0x10 hdr=0x00
>>     vendor     = 'Ricoh Company, Ltd.'
>>     device     = 'unknown Ricoh MMC Host Controller'
>>     class      = base peripheral
>> none3@pci0:2:6:5:       class=0x088000 card=0x30c3103c chip=0x05921180
>> rev=0x10 hdr=0x00
>>     vendor     = 'Ricoh Company, Ltd.'
>>     device     = '13871043 Ricoh Memory Stick Host Controller'
>>     class      = base peripheral
>> none4@pci0:2:6:6:       class=0x088000 card=0x30c3103c chip=0x08521180
>> rev=0x10 hdr=0x00
>>     vendor     = 'Ricoh Company, Ltd.'
>>     device     = 'unknown Ricoh xD-Picture Card Host Controller'
>>     class      = base peripheral
>
> Looks like there is two MMC/SD controllers (first two devices) in your
> chip while only one is detected as SD host controller. This thread looks
> related to your problem:
> http://list.drzeus.cx/pipermail/sdhci-devel/2007-September/002023.html
>
> 1. You may try to tune PCI configuration registers referred in that post.
> 2. Or (just an idea) you may try to power down unsupported devices with
> setting hw.pci.do_power_nodriver=3 into the device.hints.
> 3. Or (it works fine for my ENE CB714 chip) you may try to add
> 0x08431180 chip ID into the list of supported SD controllers like it is
> done for 0x08221180. They may be compatible enough.
>
> If you try it, report please about results.

Alexander, thanks for the quick response!

1. How can I tune the PCI configuration? With pciconf -w or so?
2. Unfortunately the sysctl did not change a thing with regard to the  
Card reader.
3. I added the chip ID and the second device is now recognized as a  
sdhci device but still does not see any card inserted:

Nov  6 16:32:20 NB0117232 kernel: sdhci0: <RICOH R5C822 SD> mem  
0xe4003000-0xe40030ff irq 19 at device 6.3 on pci2
Nov  6 16:32:20 NB0117232 kernel: sdhci0: 1 slot(s) allocated
Nov  6 16:32:20 NB0117232 kernel: sdhci0: [ITHREAD]
Nov  6 16:32:20 NB0117232 kernel: sdhci1: <RICOH R5C843 SD> mem  
0xe4004000-0xe40040ff irq 19 at device 6.4 on pci2
Nov  6 16:32:20 NB0117232 kernel: sdhci1: Hardware doesn't specify  
base clock frequency.
Nov  6 16:32:20 NB0117232 kernel: sdhci1: Hardware doesn't specify  
timeout clock frequency.
Nov  6 16:32:20 NB0117232 kernel: sdhci1: Hardware doesn't report any  
support voltages.
Nov  6 16:32:20 NB0117232 kernel: sdhci1: 1 slot(s) allocated
Nov  6 16:32:20 NB0117232 kernel: sdhci1: [ITHREAD]
Nov  6 16:32:31 NB0117232 kernel: mmc0: <MMC/SD bus> on sdhci1

sdhci1@pci0:2:6:4:      class=0x088000 card=0x30c3103c chip=0x08431180  
rev=0x10 hdr=0x00
     vendor     = 'Ricoh Company, Ltd.'
     device     = 'unknown Ricoh MMC Host Controller'
     class      = base peripheral
signature.asc (application/pgp-signature, 195 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (FreeBSD)

iEYEABECAAYFAkkTDzkACgkQKc512sD3afg4PwCgycgCK5dhPLarn5tYE+XG//8w
8YAAn3F1LurybzALvpvICJS3/356PN2c
=V1Yz
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.