Realtek RTS525A SD card reader

Eric van Gyzen eric at vangyzen.net
Mon Apr 2 14:39:34 UTC 2018


On 04/01/2018 02:06, Warner Losh wrote:
> The interface you want to look for is the mmcbr_if.m inteface. In sdhci,
> these routines implement the mmc interface:
> sdhci_pci.c: DEVMETHOD(mmcbr_update_ios, sdhci_generic_update_ios),
> sdhci_pci.c: DEVMETHOD(mmcbr_switch_vccq, sdhci_generic_switch_vccq),
> sdhci_pci.c: DEVMETHOD(mmcbr_tune, sdhci_generic_tune),
> sdhci_pci.c: DEVMETHOD(mmcbr_retune, sdhci_generic_retune),
> sdhci_pci.c: DEVMETHOD(mmcbr_request, sdhci_generic_request),
> sdhci_pci.c: DEVMETHOD(mmcbr_get_ro, sdhci_generic_get_ro),
> sdhci_pci.c: DEVMETHOD(mmcbr_acquire_host,   sdhci_generic_acquire_host),
> sdhci_pci.c: DEVMETHOD(mmcbr_release_host,   sdhci_generic_release_host),
> 
> rtsz will almost certainly need it's own versions of these routines (which
> is why I suggest having your own driver will be simpler: otherwise each of
> these routines would be if (rtsz) do_rtsz_stuff(); else do_sdhci_stuff();
> which won't end well and would be uncomittable to FreeBSD. You can see how
> other chips implement these methods by grepping for them in the tree. You
> may not need a tune/retune if rtsz doesn't support the latest, fastest
> cards, for example. Switch vccq may not be needed either. update_ios will
> be needed, and request is needed. Acquire and release host may be able to
> be done as a dummy routine if there's only one slot.
> 
> I know this is a super-quick gloss of what needs to be done.

This mmc part was helpful, since I know nothing about this interface. 
Thanks!

Eric


More information about the freebsd-hackers mailing list