mmc: s5p_sdhci: support the Driver model for Exynos
PATCH 1/1 mmc: s5p_sdhci: support the Driver model for Exynos
This patch support the driver model for s5p_sdhci controller. To support the legacy model, maintained the existing code.
Note: If use the Driver Model, it needs to modify the device-tree. In future, will update the Device-tree and enable the configuratioin. (CONFIG_BLK, CONFIG_DM_MMC and CONFING_DM_MMC_OPS)
--- drivers/mmc/s5p_sdhci.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+)
drivers/mmc/s5p_sdhci.c +73 -0
@@ -16,6 +16,16 @@#include <errno.h> #include <asm/arch/pinmux.h> +#ifdef CONFIG_DM_MMC +#include <dm.h> +struct s5p_sdhci_plat { +struct mmc_config cfg; +struct mmc mmc; +}; + +DECLARE_GLOBAL_DATA_PTR ; +#endif +static char *S5P_NAME ="SAMSUNG SDHCI" ;static void s5p_sdhci_set_control_reg (struct sdhci_host *host) {
@@ -79,7 +89,11 @@ static int s5p_sdhci_core_init(struct sdhci_host *host)if (host->bus_width ==8 ) host->host_caps |=MMC_MODE_8BIT ; +#ifndef CONFIG_BLK return add_sdhci (host,52000000 ,400000 ); +#else +return 0 ; +#endif }int s5p_sdhci_init (u32 regbase,int index,int bus_width)
@@ -215,3 +229,62 @@ int exynos_mmc_init(const void *blob)return process_nodes (blob, node_list, count); }#endif + +#ifdef CONFIG_DM_MMC +static int s5p_sdhci_probe (struct udevice *dev) +{ +struct s5p_sdhci_plat *plat =dev_get_platdata (dev); +struct mmc_uclass_priv *upriv =dev_get_uclass_priv (dev); +struct sdhci_host *host =dev_get_priv (dev); +u32 caps; +int ret; + + ret =sdhci_get_config (gd->fdt_blob, dev->of_offset, host); +if (ret) +return ret; + + ret =do_sdhci_init (host); +if (ret) +return ret; + + caps =sdhci_readl (host,SDHCI_CAPABILITIES ); +sdhci_setup_cfg (&plat->cfg, host->name, host->bus_width, caps, +52000000 ,400000 , host->version, host->quirks, + host->host_caps); + + host->mmc = &plat->mmc; + host->mmc->priv = host; + host->mmc->dev = dev; + upriv->mmc = host->mmc; + +return sdhci_probe (dev); +} + +static int s5p_sdhci_bind (struct udevice *dev) +{ +struct s5p_sdhci_plat *plat =dev_get_platdata (dev); +int ret; + + ret =sdhci_bind (dev, &plat->mmc, &plat->cfg); +if (ret) +return ret; + +return 0 ; +} + +static const struct udevice_id s5p_sdhci_ids[] = { + { .compatible ="samsung,exynos4412-sdhci" }, + { } +}; + +U_BOOT_DRIVER (s5p_sdhci_drv) = { + .name ="s5p_sdhci" , + .id =UCLASS_MMC , + .of_match = s5p_sdhci_ids, + .bind = s5p_sdhci_bind, + .ops = &sdhci_ops, + .probe = s5p_sdhci_probe, + .priv_auto_alloc_size =sizeof (struct sdhci_host ), + .platdata_auto_alloc_size =sizeof (struct s5p_sdhci_plat ), +}; +#endif /* CONFIG_DM_MMC */
Signature · 1 line
1.9.1
PATCH 1/1 mmc: s5p_sdhci: support the Driver model for Exynos
Quoted 11 lines · Jaehoon Chung
This patch support the driver model for
s5p_sdhcicontroller. To support the legacy model, maintained the existing code.Note: If use the Driver Model, it needs to modify the device-tree. In future, will update the Device-tree and enable the configuratioin. (
CONFIG_BLK,CONFIG_DM_MMCandCONFING_DM_MMC_OPS)Signed-off-by Jaehoon Chung <[email protected]>--- drivers/mmc/s5p_sdhci.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+)
PATCH 1/1 mmc: s5p_sdhci: support the Driver model for Exynos
In reply to Jaehoon ChungQuoted 12 lines · Jaehoon Chung
This patch support the driver model for
s5p_sdhcicontroller. To support the legacy model, maintained the existing code.Note: If use the Driver Model, it needs to modify the device-tree. In future, will update the Device-tree and enable the configuratioin. (
CONFIG_BLK,CONFIG_DM_MMCandCONFING_DM_MMC_OPS)Signed-off-by Jaehoon Chung <[email protected]>--- drivers/mmc/s5p_sdhci.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+)
Because this patch has dependency with your patch, I delegate this patch to you.
Thanks,
Minkyu Kang.
PATCH 1/1 mmc: s5p_sdhci: support the Driver model for Exynos
Hi,
Quoted 8 lines · Minkyu Kang
Quoted 7 lines · Jaehoon Chung
This patch support the driver model for
s5p_sdhcicontroller. To support the legacy model, maintained the existing code.Note: If use the Driver Model, it needs to modify the device-tree. In future, will update the Device-tree and enable the configuratioin. (
CONFIG_BLK,CONFIG_DM_MMCandCONFING_DM_MMC_OPS)
Quoted 7 lines
Quoted 5 lines
Signed-off-by Jaehoon Chung <[email protected]>--- drivers/mmc/s5p_sdhci.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+)Because this patch has dependency with your patch, I delegate this patch to you.
I will rebase this patch, and send the patch v2.
At that time, i will add with your acked-by and Simon's reviewd-by tags.
Best Regards,
Jaehoon Chung
Quoted 8 lines
Acked-by Minkyu Kang <[email protected]>Thanks,
Minkyu Kang.