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