On Sat, Aug 27, 2022 at 01:07:16PM -0700, Drew Fustini wrote: > Hello, I am bringing up Linux on an SoC which has Synopsys "DesignWare Hi Drew, > Cores Mobile Storage Host Controller (Cryptographic)" IP configured to > support an eMMC 5.0 device (IS21ES08G) on the bring-up board. I am > trying to figure out why there are two seemingly similar drivers, > dw_mmc and sdhci-of-dwmshc, in drivers/mmc/host for Synopsys > DesignWare host controller IP. I am hoping someone might be able to > give me some insight into the history of these drivers. Generally speaking, dw_mmc isn't sdhci compatible while the sdhci-of-dwmshc is sdhci compatible. Those two are for two different controllers. Regards > > I have found the following: > > - dw_mmc.c is a "DW Multimedia Card Interface driver" > - created back in 2011 with f95f3850f7a9 ("mmc: dw_mmc: Add Synopsys > DesignWare mmc host driver.") > - CONFIG_MMC_DW refers to it as "Synopsys DesignWare Memory Card > Interface" with description of "Synopsys DesignWare Mobile Storage IP > block, this provides host support for SD and MMC interfaces, in both > PIO, internal DMA mode and external DMA mode" > - "snps,dw-mshc" compatible supported in dw_mmc-pltfm.c and > synopsys-dw-mshc.yaml binding refers to it as "Synopsys Designware > Mobile Storage Host Controller" > > - sdhci-of-dwcmshc.c is a "SDHCI platform driver for Synopsys DWC MSHC" > - created more recently in 2018 with e438cf49b305 ("mmc: > sdhci-of-dwcmshc: add SDHCI OF Synopsys DWC MSHC driver") > - CONFIG_MMC_SDHCI_OF_DWCMSHC refers to it as "SDHCI OF support for > the Synopsys DWC MSHC" with description of "Synopsys DesignWare Cores > Mobile Storage Controller support." > - the driver supports "snps,dwcmshc-sdhci" compatible and the > snps,dwcmshc-sdhci.yaml binding describes it as "Synopsys Designware > Mobile Storage Host Controller" > > I would greatly appreciate any advice anyone may have on which driver > might be the best fit. > > Thank you, > Drew