[U-Boot] [PATCH] mmc: uniphier-sd: Add vqmmc regulator support

Add initial support for setting the vqmmc regulator. Since we do not support 1V8 modes, set the regulator to 3V3 and enable it.
Signed-off-by: Marek Vasut marek.vasut+renesas@gmail.com Cc: Masahiro Yamada yamada.masahiro@socionext.com Cc: Jaehoon Chung jh80.chung@samsung.com --- drivers/mmc/uniphier-sd.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
diff --git a/drivers/mmc/uniphier-sd.c b/drivers/mmc/uniphier-sd.c index 3c52161067..0d1203cb76 100644 --- a/drivers/mmc/uniphier-sd.c +++ b/drivers/mmc/uniphier-sd.c @@ -14,6 +14,7 @@ #include <linux/dma-direction.h> #include <linux/io.h> #include <linux/sizes.h> +#include <power/regulator.h> #include <asm/unaligned.h>
DECLARE_GLOBAL_DATA_PTR; @@ -756,6 +757,9 @@ static int uniphier_sd_probe(struct udevice *dev) fdt_addr_t base; struct clk clk; int ret; +#ifdef CONFIG_DM_REGULATOR + struct udevice *vqmmc_dev; +#endif
base = devfdt_get_addr(dev); if (base == FDT_ADDR_T_NONE) @@ -765,6 +769,15 @@ static int uniphier_sd_probe(struct udevice *dev) if (!priv->regbase) return -ENOMEM;
+#ifdef CONFIG_DM_REGULATOR + ret = device_get_supply_regulator(dev, "vqmmc-supply", &vqmmc_dev); + if (!ret) { + /* Set the regulator to 3.3V until we support 1.8V modes */ + regulator_set_value(vqmmc_dev, 3300000); + regulator_set_enable(vqmmc_dev, true); + } +#endif + ret = clk_get_by_index(dev, 0, &clk); if (ret < 0) { dev_err(dev, "failed to get host clock\n");

On 09/15/2017 09:10 PM, Marek Vasut wrote:
Add initial support for setting the vqmmc regulator. Since we do not support 1V8 modes, set the regulator to 3V3 and enable it.
Signed-off-by: Marek Vasut marek.vasut+renesas@gmail.com Cc: Masahiro Yamada yamada.masahiro@socionext.com Cc: Jaehoon Chung jh80.chung@samsung.com
Anything ?! I don't see this in the PR ...
drivers/mmc/uniphier-sd.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
diff --git a/drivers/mmc/uniphier-sd.c b/drivers/mmc/uniphier-sd.c index 3c52161067..0d1203cb76 100644 --- a/drivers/mmc/uniphier-sd.c +++ b/drivers/mmc/uniphier-sd.c @@ -14,6 +14,7 @@ #include <linux/dma-direction.h> #include <linux/io.h> #include <linux/sizes.h> +#include <power/regulator.h> #include <asm/unaligned.h>
DECLARE_GLOBAL_DATA_PTR; @@ -756,6 +757,9 @@ static int uniphier_sd_probe(struct udevice *dev) fdt_addr_t base; struct clk clk; int ret; +#ifdef CONFIG_DM_REGULATOR
- struct udevice *vqmmc_dev;
+#endif
base = devfdt_get_addr(dev); if (base == FDT_ADDR_T_NONE) @@ -765,6 +769,15 @@ static int uniphier_sd_probe(struct udevice *dev) if (!priv->regbase) return -ENOMEM;
+#ifdef CONFIG_DM_REGULATOR
- ret = device_get_supply_regulator(dev, "vqmmc-supply", &vqmmc_dev);
- if (!ret) {
/* Set the regulator to 3.3V until we support 1.8V modes */
regulator_set_value(vqmmc_dev, 3300000);
regulator_set_enable(vqmmc_dev, true);
- }
+#endif
- ret = clk_get_by_index(dev, 0, &clk); if (ret < 0) { dev_err(dev, "failed to get host clock\n");

Hi Marek,
On 09/26/2017 01:47 AM, Marek Vasut wrote:
On 09/15/2017 09:10 PM, Marek Vasut wrote:
Add initial support for setting the vqmmc regulator. Since we do not support 1V8 modes, set the regulator to 3V3 and enable it.
Signed-off-by: Marek Vasut marek.vasut+renesas@gmail.com Cc: Masahiro Yamada yamada.masahiro@socionext.com Cc: Jaehoon Chung jh80.chung@samsung.com
Anything ?! I don't see this in the PR ...
Sorry...I missed this patch..First, i have checked on patchwork. Will pick this patch into u-boot-mmc.
Best Regards, Jaehoon Chung
drivers/mmc/uniphier-sd.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
diff --git a/drivers/mmc/uniphier-sd.c b/drivers/mmc/uniphier-sd.c index 3c52161067..0d1203cb76 100644 --- a/drivers/mmc/uniphier-sd.c +++ b/drivers/mmc/uniphier-sd.c @@ -14,6 +14,7 @@ #include <linux/dma-direction.h> #include <linux/io.h> #include <linux/sizes.h> +#include <power/regulator.h> #include <asm/unaligned.h>
DECLARE_GLOBAL_DATA_PTR; @@ -756,6 +757,9 @@ static int uniphier_sd_probe(struct udevice *dev) fdt_addr_t base; struct clk clk; int ret; +#ifdef CONFIG_DM_REGULATOR
- struct udevice *vqmmc_dev;
+#endif
base = devfdt_get_addr(dev); if (base == FDT_ADDR_T_NONE) @@ -765,6 +769,15 @@ static int uniphier_sd_probe(struct udevice *dev) if (!priv->regbase) return -ENOMEM;
+#ifdef CONFIG_DM_REGULATOR
- ret = device_get_supply_regulator(dev, "vqmmc-supply", &vqmmc_dev);
- if (!ret) {
/* Set the regulator to 3.3V until we support 1.8V modes */
regulator_set_value(vqmmc_dev, 3300000);
regulator_set_enable(vqmmc_dev, true);
- }
+#endif
- ret = clk_get_by_index(dev, 0, &clk); if (ret < 0) { dev_err(dev, "failed to get host clock\n");

2017-09-26 16:41 GMT+09:00 Jaehoon Chung jh80.chung@samsung.com:
Hi Marek,
On 09/26/2017 01:47 AM, Marek Vasut wrote:
On 09/15/2017 09:10 PM, Marek Vasut wrote:
Add initial support for setting the vqmmc regulator. Since we do not support 1V8 modes, set the regulator to 3V3 and enable it.
Signed-off-by: Marek Vasut marek.vasut+renesas@gmail.com Cc: Masahiro Yamada yamada.masahiro@socionext.com Cc: Jaehoon Chung jh80.chung@samsung.com
Anything ?! I don't see this in the PR ...
Sorry...I missed this patch..First, i have checked on patchwork. Will pick this patch into u-boot-mmc.
Best Regards, Jaehoon Chung
UniPhier SoCs have different mechanism for 3.3/1.8 switching, but it is not a problem for me because I do not have a plan for enabling CONFIG_DM_REGULATOR.
Acked-by: Masahiro Yamada yamada.masahiro@socionext.com

On 09/27/2017 05:19 PM, Masahiro Yamada wrote:
2017-09-26 16:41 GMT+09:00 Jaehoon Chung jh80.chung@samsung.com:
Hi Marek,
On 09/26/2017 01:47 AM, Marek Vasut wrote:
On 09/15/2017 09:10 PM, Marek Vasut wrote:
Add initial support for setting the vqmmc regulator. Since we do not support 1V8 modes, set the regulator to 3V3 and enable it.
Signed-off-by: Marek Vasut marek.vasut+renesas@gmail.com Cc: Masahiro Yamada yamada.masahiro@socionext.com Cc: Jaehoon Chung jh80.chung@samsung.com
Anything ?! I don't see this in the PR ...
Sorry...I missed this patch..First, i have checked on patchwork. Will pick this patch into u-boot-mmc.
Best Regards, Jaehoon Chung
UniPhier SoCs have different mechanism for 3.3/1.8 switching, but it is not a problem for me because I do not have a plan for enabling CONFIG_DM_REGULATOR.
Acked-by: Masahiro Yamada yamada.masahiro@socionext.com
Cool, thanks!
Is there a documentation for the uniphier mechanism somewhere ?

2017-09-28 0:50 GMT+09:00 Marek Vasut marek.vasut@gmail.com:
On 09/27/2017 05:19 PM, Masahiro Yamada wrote:
2017-09-26 16:41 GMT+09:00 Jaehoon Chung jh80.chung@samsung.com:
Hi Marek,
On 09/26/2017 01:47 AM, Marek Vasut wrote:
On 09/15/2017 09:10 PM, Marek Vasut wrote:
Add initial support for setting the vqmmc regulator. Since we do not support 1V8 modes, set the regulator to 3V3 and enable it.
Signed-off-by: Marek Vasut marek.vasut+renesas@gmail.com Cc: Masahiro Yamada yamada.masahiro@socionext.com Cc: Jaehoon Chung jh80.chung@samsung.com
Anything ?! I don't see this in the PR ...
Sorry...I missed this patch..First, i have checked on patchwork. Will pick this patch into u-boot-mmc.
Best Regards, Jaehoon Chung
UniPhier SoCs have different mechanism for 3.3/1.8 switching, but it is not a problem for me because I do not have a plan for enabling CONFIG_DM_REGULATOR.
Acked-by: Masahiro Yamada yamada.masahiro@socionext.com
Cool, thanks!
Is there a documentation for the uniphier mechanism somewhere ?
No document available.
Only crappy private documents.
They say SoC spec books are CONFIDENTIAL!! Sigh.

On 09/27/2017 06:13 PM, Masahiro Yamada wrote:
2017-09-28 0:50 GMT+09:00 Marek Vasut marek.vasut@gmail.com:
On 09/27/2017 05:19 PM, Masahiro Yamada wrote:
2017-09-26 16:41 GMT+09:00 Jaehoon Chung jh80.chung@samsung.com:
Hi Marek,
On 09/26/2017 01:47 AM, Marek Vasut wrote:
On 09/15/2017 09:10 PM, Marek Vasut wrote:
Add initial support for setting the vqmmc regulator. Since we do not support 1V8 modes, set the regulator to 3V3 and enable it.
Signed-off-by: Marek Vasut marek.vasut+renesas@gmail.com Cc: Masahiro Yamada yamada.masahiro@socionext.com Cc: Jaehoon Chung jh80.chung@samsung.com
Anything ?! I don't see this in the PR ...
Sorry...I missed this patch..First, i have checked on patchwork. Will pick this patch into u-boot-mmc.
Best Regards, Jaehoon Chung
UniPhier SoCs have different mechanism for 3.3/1.8 switching, but it is not a problem for me because I do not have a plan for enabling CONFIG_DM_REGULATOR.
Acked-by: Masahiro Yamada yamada.masahiro@socionext.com
Cool, thanks!
Is there a documentation for the uniphier mechanism somewhere ?
No document available.
I hope that new 96borad will have documentation available, *ahem* :-)
Only crappy private documents.
They say SoC spec books are CONFIDENTIAL!! Sigh.
OK, I'll keep in mind there's a uniphier-specific way to toggle the 1V8 when adding HS200 support, so you can fill that in when you have time.
Thanks!

On 09/26/2017 01:47 AM, Marek Vasut wrote:
On 09/15/2017 09:10 PM, Marek Vasut wrote:
Add initial support for setting the vqmmc regulator. Since we do not support 1V8 modes, set the regulator to 3V3 and enable it.
Signed-off-by: Marek Vasut marek.vasut+renesas@gmail.com Cc: Masahiro Yamada yamada.masahiro@socionext.com Cc: Jaehoon Chung jh80.chung@samsung.com
Anything ?! I don't see this in the PR ...
Applied to u-boot-mmc. Thanks!
Best Regards, Jaehoon Chung
drivers/mmc/uniphier-sd.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
diff --git a/drivers/mmc/uniphier-sd.c b/drivers/mmc/uniphier-sd.c index 3c52161067..0d1203cb76 100644 --- a/drivers/mmc/uniphier-sd.c +++ b/drivers/mmc/uniphier-sd.c @@ -14,6 +14,7 @@ #include <linux/dma-direction.h> #include <linux/io.h> #include <linux/sizes.h> +#include <power/regulator.h> #include <asm/unaligned.h>
DECLARE_GLOBAL_DATA_PTR; @@ -756,6 +757,9 @@ static int uniphier_sd_probe(struct udevice *dev) fdt_addr_t base; struct clk clk; int ret; +#ifdef CONFIG_DM_REGULATOR
- struct udevice *vqmmc_dev;
+#endif
base = devfdt_get_addr(dev); if (base == FDT_ADDR_T_NONE) @@ -765,6 +769,15 @@ static int uniphier_sd_probe(struct udevice *dev) if (!priv->regbase) return -ENOMEM;
+#ifdef CONFIG_DM_REGULATOR
- ret = device_get_supply_regulator(dev, "vqmmc-supply", &vqmmc_dev);
- if (!ret) {
/* Set the regulator to 3.3V until we support 1.8V modes */
regulator_set_value(vqmmc_dev, 3300000);
regulator_set_enable(vqmmc_dev, true);
- }
+#endif
- ret = clk_get_by_index(dev, 0, &clk); if (ret < 0) { dev_err(dev, "failed to get host clock\n");
participants (3)
-
Jaehoon Chung
-
Marek Vasut
-
Masahiro Yamada