Message ID | 20200330033158.26751-3-walter.lozano@collabora.com |
---|---|
State | RFC |
Delegated to: | Stefano Babic |
Headers | show |
Series | mx6cuboxi: enable OF_PLATDATA with MMC support | expand |
Hi Walter On Sun, 29 Mar 2020 at 21:32, Walter Lozano <walter.lozano@collabora.com> wrote: > All of these commits need a commit message please. > Signed-off-by: Walter Lozano <walter.lozano@collabora.com> > --- > drivers/mmc/fsl_esdhc_imx.c | 71 ++++++++++++++++++++++--------------- > 1 file changed, 42 insertions(+), 29 deletions(-) > Reviewed-by: SImon Glass <sjg@chromium.org> > diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c > index 761a4b46e9..049a1b6ea8 100644 > --- a/drivers/mmc/fsl_esdhc_imx.c > +++ b/drivers/mmc/fsl_esdhc_imx.c > @@ -1379,41 +1379,20 @@ __weak void init_clk_usdhc(u32 index) > { > } > > -static int fsl_esdhc_probe(struct udevice *dev) > -{ > - struct mmc_uclass_priv *upriv = dev_get_uclass_priv(dev); > - struct fsl_esdhc_plat *plat = dev_get_platdata(dev); > - struct fsl_esdhc_priv *priv = dev_get_priv(dev); > +static int fsl_esdhc_ofdata_to_platdata(struct udevice *dev){ > + > #if !CONFIG_IS_ENABLED(OF_PLATDATA) > - const void *fdt = gd->fdt_blob; > - int node = dev_of_offset(dev); > - fdt_addr_t addr; > -#else > - struct dtd_fsl_imx6q_usdhc *dtplat = &plat->dtplat; > -#endif > - struct esdhc_soc_data *data = > - (struct esdhc_soc_data *)dev_get_driver_data(dev); > + struct fsl_esdhc_priv *priv = dev_get_priv(dev); > #if CONFIG_IS_ENABLED(DM_REGULATOR) > struct udevice *vqmmc_dev; > + int ret; > #endif > + const void *fdt = gd->fdt_blob; > + int node = dev_of_offset(dev); > + > + fdt_addr_t addr; > unsigned int val; > - struct mmc *mmc; > -#if !CONFIG_IS_ENABLED(BLK) > - struct blk_desc *bdesc; > -#endif > - int ret; > > -#if CONFIG_IS_ENABLED(OF_PLATDATA) > - priv->esdhc_regs = map_sysmem(dtplat->reg[0], dtplat->reg[1]); > - val = plat->dtplat.bus_width; > - if (val == 8) > - priv->bus_width = 8; > - else if (val == 4) > - priv->bus_width = 4; > - else > - priv->bus_width = 1; > - priv->non_removable = 1; > -#else > addr = dev_read_addr(dev); > if (addr == FDT_ADDR_T_NONE) > return -EINVAL; > @@ -1483,8 +1462,40 @@ static int fsl_esdhc_probe(struct udevice *dev) > } > #endif > #endif > + return 0; > +} > + > +static int fsl_esdhc_probe(struct udevice *dev) > +{ > + struct mmc_uclass_priv *upriv = dev_get_uclass_priv(dev); > + struct fsl_esdhc_plat *plat = dev_get_platdata(dev); > + struct fsl_esdhc_priv *priv = dev_get_priv(dev); > + struct esdhc_soc_data *data = > + (struct esdhc_soc_data *)dev_get_driver_data(dev); > + struct mmc *mmc; > +#if !CONFIG_IS_ENABLED(BLK) Should not need to support !BLK now. The migration date has passed. > + struct blk_desc *bdesc; > +#endif > + int ret; > + > +#if CONFIG_IS_ENABLED(OF_PLATDATA) > + struct dtd_fsl_imx6q_usdhc *dtplat = &plat->dtplat; > + unsigned int val; > + > + priv->esdhc_regs = map_sysmem(dtplat->reg[0], dtplat->reg[1]); > + val = plat->dtplat.bus_width; > + if (val == 8) > + priv->bus_width = 8; > + else if (val == 4) > + priv->bus_width = 4; > + else > + priv->bus_width = 1; > + priv->non_removable = 1; > +#endif > + > if (data) > priv->flags = data->flags; > + > /* > * TODO: > * Because lack of clk driver, if SDHC clk is not enabled, > @@ -1664,6 +1675,7 @@ U_BOOT_DRIVER(fsl_esdhc) = { > .name = "fsl-esdhc-mmc", > .id = UCLASS_MMC, > .of_match = fsl_esdhc_ids, > + .ofdata_to_platdata = fsl_esdhc_ofdata_to_platdata, > .ops = &fsl_esdhc_ops, > #if CONFIG_IS_ENABLED(BLK) > .bind = fsl_esdhc_bind, > @@ -1677,6 +1689,7 @@ U_BOOT_DRIVER(fsl_esdhc) = { > U_BOOT_DRIVER(fsl_usdhc) = { > .name = "fsl_imx6q_usdhc", > .id = UCLASS_MMC, > + .ofdata_to_platdata = fsl_esdhc_ofdata_to_platdata, > .ops = &fsl_esdhc_ops, > #if CONFIG_IS_ENABLED(BLK) > .bind = fsl_esdhc_bind, > -- > 2.20.1 > Regards, Simon
Hi Simon, On 6/4/20 00:42, Simon Glass wrote: > Hi Walter > > On Sun, 29 Mar 2020 at 21:32, Walter Lozano<walter.lozano@collabora.com> wrote: > All of these commits need a commit message please. Thank you for pointing it. >> Signed-off-by: Walter Lozano<walter.lozano@collabora.com> >> --- >> drivers/mmc/fsl_esdhc_imx.c | 71 ++++++++++++++++++++++--------------- >> 1 file changed, 42 insertions(+), 29 deletions(-) >> > Reviewed-by: SImon Glass<sjg@chromium.org> > >> diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c >> index 761a4b46e9..049a1b6ea8 100644 >> --- a/drivers/mmc/fsl_esdhc_imx.c >> +++ b/drivers/mmc/fsl_esdhc_imx.c >> @@ -1379,41 +1379,20 @@ __weak void init_clk_usdhc(u32 index) >> { >> } >> >> -static int fsl_esdhc_probe(struct udevice *dev) >> -{ >> - struct mmc_uclass_priv *upriv = dev_get_uclass_priv(dev); >> - struct fsl_esdhc_plat *plat = dev_get_platdata(dev); >> - struct fsl_esdhc_priv *priv = dev_get_priv(dev); >> +static int fsl_esdhc_ofdata_to_platdata(struct udevice *dev){ >> + >> #if !CONFIG_IS_ENABLED(OF_PLATDATA) >> - const void *fdt = gd->fdt_blob; >> - int node = dev_of_offset(dev); >> - fdt_addr_t addr; >> -#else >> - struct dtd_fsl_imx6q_usdhc *dtplat = &plat->dtplat; >> -#endif >> - struct esdhc_soc_data *data = >> - (struct esdhc_soc_data *)dev_get_driver_data(dev); >> + struct fsl_esdhc_priv *priv = dev_get_priv(dev); >> #if CONFIG_IS_ENABLED(DM_REGULATOR) >> struct udevice *vqmmc_dev; >> + int ret; >> #endif >> + const void *fdt = gd->fdt_blob; >> + int node = dev_of_offset(dev); >> + >> + fdt_addr_t addr; >> unsigned int val; >> - struct mmc *mmc; >> -#if !CONFIG_IS_ENABLED(BLK) >> - struct blk_desc *bdesc; >> -#endif >> - int ret; >> >> -#if CONFIG_IS_ENABLED(OF_PLATDATA) >> - priv->esdhc_regs = map_sysmem(dtplat->reg[0], dtplat->reg[1]); >> - val = plat->dtplat.bus_width; >> - if (val == 8) >> - priv->bus_width = 8; >> - else if (val == 4) >> - priv->bus_width = 4; >> - else >> - priv->bus_width = 1; >> - priv->non_removable = 1; >> -#else >> addr = dev_read_addr(dev); >> if (addr == FDT_ADDR_T_NONE) >> return -EINVAL; >> @@ -1483,8 +1462,40 @@ static int fsl_esdhc_probe(struct udevice *dev) >> } >> #endif >> #endif >> + return 0; >> +} >> + >> +static int fsl_esdhc_probe(struct udevice *dev) >> +{ >> + struct mmc_uclass_priv *upriv = dev_get_uclass_priv(dev); >> + struct fsl_esdhc_plat *plat = dev_get_platdata(dev); >> + struct fsl_esdhc_priv *priv = dev_get_priv(dev); >> + struct esdhc_soc_data *data = >> + (struct esdhc_soc_data *)dev_get_driver_data(dev); >> + struct mmc *mmc; >> +#if !CONFIG_IS_ENABLED(BLK) > Should not need to support !BLK now. The migration date has passed. Thanks. >> + struct blk_desc *bdesc; >> +#endif >> + int ret; >> + >> +#if CONFIG_IS_ENABLED(OF_PLATDATA) >> + struct dtd_fsl_imx6q_usdhc *dtplat = &plat->dtplat; >> + unsigned int val; >> + >> + priv->esdhc_regs = map_sysmem(dtplat->reg[0], dtplat->reg[1]); >> + val = plat->dtplat.bus_width; >> + if (val == 8) >> + priv->bus_width = 8; >> + else if (val == 4) >> + priv->bus_width = 4; >> + else >> + priv->bus_width = 1; >> + priv->non_removable = 1; >> +#endif >> + >> if (data) >> priv->flags = data->flags; >> + >> /* >> * TODO: >> * Because lack of clk driver, if SDHC clk is not enabled, >> @@ -1664,6 +1675,7 @@ U_BOOT_DRIVER(fsl_esdhc) = { >> .name = "fsl-esdhc-mmc", >> .id = UCLASS_MMC, >> .of_match = fsl_esdhc_ids, >> + .ofdata_to_platdata = fsl_esdhc_ofdata_to_platdata, >> .ops = &fsl_esdhc_ops, >> #if CONFIG_IS_ENABLED(BLK) >> .bind = fsl_esdhc_bind, >> @@ -1677,6 +1689,7 @@ U_BOOT_DRIVER(fsl_esdhc) = { >> U_BOOT_DRIVER(fsl_usdhc) = { >> .name = "fsl_imx6q_usdhc", >> .id = UCLASS_MMC, >> + .ofdata_to_platdata = fsl_esdhc_ofdata_to_platdata, >> .ops = &fsl_esdhc_ops, >> #if CONFIG_IS_ENABLED(BLK) >> .bind = fsl_esdhc_bind, >> -- >> 2.20.1 >> > Regards, > Simon
diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c index 761a4b46e9..049a1b6ea8 100644 --- a/drivers/mmc/fsl_esdhc_imx.c +++ b/drivers/mmc/fsl_esdhc_imx.c @@ -1379,41 +1379,20 @@ __weak void init_clk_usdhc(u32 index) { } -static int fsl_esdhc_probe(struct udevice *dev) -{ - struct mmc_uclass_priv *upriv = dev_get_uclass_priv(dev); - struct fsl_esdhc_plat *plat = dev_get_platdata(dev); - struct fsl_esdhc_priv *priv = dev_get_priv(dev); +static int fsl_esdhc_ofdata_to_platdata(struct udevice *dev){ + #if !CONFIG_IS_ENABLED(OF_PLATDATA) - const void *fdt = gd->fdt_blob; - int node = dev_of_offset(dev); - fdt_addr_t addr; -#else - struct dtd_fsl_imx6q_usdhc *dtplat = &plat->dtplat; -#endif - struct esdhc_soc_data *data = - (struct esdhc_soc_data *)dev_get_driver_data(dev); + struct fsl_esdhc_priv *priv = dev_get_priv(dev); #if CONFIG_IS_ENABLED(DM_REGULATOR) struct udevice *vqmmc_dev; + int ret; #endif + const void *fdt = gd->fdt_blob; + int node = dev_of_offset(dev); + + fdt_addr_t addr; unsigned int val; - struct mmc *mmc; -#if !CONFIG_IS_ENABLED(BLK) - struct blk_desc *bdesc; -#endif - int ret; -#if CONFIG_IS_ENABLED(OF_PLATDATA) - priv->esdhc_regs = map_sysmem(dtplat->reg[0], dtplat->reg[1]); - val = plat->dtplat.bus_width; - if (val == 8) - priv->bus_width = 8; - else if (val == 4) - priv->bus_width = 4; - else - priv->bus_width = 1; - priv->non_removable = 1; -#else addr = dev_read_addr(dev); if (addr == FDT_ADDR_T_NONE) return -EINVAL; @@ -1483,8 +1462,40 @@ static int fsl_esdhc_probe(struct udevice *dev) } #endif #endif + return 0; +} + +static int fsl_esdhc_probe(struct udevice *dev) +{ + struct mmc_uclass_priv *upriv = dev_get_uclass_priv(dev); + struct fsl_esdhc_plat *plat = dev_get_platdata(dev); + struct fsl_esdhc_priv *priv = dev_get_priv(dev); + struct esdhc_soc_data *data = + (struct esdhc_soc_data *)dev_get_driver_data(dev); + struct mmc *mmc; +#if !CONFIG_IS_ENABLED(BLK) + struct blk_desc *bdesc; +#endif + int ret; + +#if CONFIG_IS_ENABLED(OF_PLATDATA) + struct dtd_fsl_imx6q_usdhc *dtplat = &plat->dtplat; + unsigned int val; + + priv->esdhc_regs = map_sysmem(dtplat->reg[0], dtplat->reg[1]); + val = plat->dtplat.bus_width; + if (val == 8) + priv->bus_width = 8; + else if (val == 4) + priv->bus_width = 4; + else + priv->bus_width = 1; + priv->non_removable = 1; +#endif + if (data) priv->flags = data->flags; + /* * TODO: * Because lack of clk driver, if SDHC clk is not enabled, @@ -1664,6 +1675,7 @@ U_BOOT_DRIVER(fsl_esdhc) = { .name = "fsl-esdhc-mmc", .id = UCLASS_MMC, .of_match = fsl_esdhc_ids, + .ofdata_to_platdata = fsl_esdhc_ofdata_to_platdata, .ops = &fsl_esdhc_ops, #if CONFIG_IS_ENABLED(BLK) .bind = fsl_esdhc_bind, @@ -1677,6 +1689,7 @@ U_BOOT_DRIVER(fsl_esdhc) = { U_BOOT_DRIVER(fsl_usdhc) = { .name = "fsl_imx6q_usdhc", .id = UCLASS_MMC, + .ofdata_to_platdata = fsl_esdhc_ofdata_to_platdata, .ops = &fsl_esdhc_ops, #if CONFIG_IS_ENABLED(BLK) .bind = fsl_esdhc_bind,
Signed-off-by: Walter Lozano <walter.lozano@collabora.com> --- drivers/mmc/fsl_esdhc_imx.c | 71 ++++++++++++++++++++++--------------- 1 file changed, 42 insertions(+), 29 deletions(-)