Re: [PATCH v2 2/2] video: sunxi: dw-hdmi: Use DM for HVCC regulator

2023-04-08 Thread Jernej Škrabec
Dne sobota, 08. april 2023 ob 02:26:39 CEST je Andre Przywara napisal(a):
> From: Samuel Holland 
> 
> The HDMI PHY depends on the HVCC supply being enabled. So far we have
> relied on it being enabled by an earlier firmware stage (SPL or TF-A).
> Attempt to enable the regulator here, so we can remove that dependency.
> 
> Signed-off-by: Samuel Holland 
> Signed-off-by: Andre Przywara 

Reviewed-by: Jernej Skrabec 

Best regards,
Jernej

> ---
>  drivers/video/sunxi/sunxi_dw_hdmi.c | 9 +
>  1 file changed, 9 insertions(+)
> 
> diff --git a/drivers/video/sunxi/sunxi_dw_hdmi.c
> b/drivers/video/sunxi/sunxi_dw_hdmi.c index ef18d1f281f..0324a050d03 100644
> --- a/drivers/video/sunxi/sunxi_dw_hdmi.c
> +++ b/drivers/video/sunxi/sunxi_dw_hdmi.c
> @@ -19,11 +19,13 @@
>  #include 
>  #include 
>  #include 
> +#include 
> 
>  struct sunxi_dw_hdmi_priv {
>   struct dw_hdmi hdmi;
>   struct reset_ctl_bulk resets;
>   struct clk_bulk clocks;
> + struct udevice *hvcc;
>  };
> 
>  struct sunxi_hdmi_phy {
> @@ -333,6 +335,9 @@ static int sunxi_dw_hdmi_probe(struct udevice *dev)
>   (struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
>   int ret;
> 
> + if (priv->hvcc)
> + regulator_set_enable(priv->hvcc, true);
> +
>   /* Set pll3 to 297 MHz */
>   clock_set_pll3(29700);
> 
> @@ -384,6 +389,10 @@ static int sunxi_dw_hdmi_of_to_plat(struct udevice
> *dev) if (ret)
>   return ret;
> 
> + ret = device_get_supply_regulator(dev, "hvcc-supply", >hvcc);
> + if (ret)
> + priv->hvcc = NULL;
> +
>   return 0;
>  }






[PATCH v2 2/2] video: sunxi: dw-hdmi: Use DM for HVCC regulator

2023-04-07 Thread Andre Przywara
From: Samuel Holland 

The HDMI PHY depends on the HVCC supply being enabled. So far we have
relied on it being enabled by an earlier firmware stage (SPL or TF-A).
Attempt to enable the regulator here, so we can remove that dependency.

Signed-off-by: Samuel Holland 
Signed-off-by: Andre Przywara 
---
 drivers/video/sunxi/sunxi_dw_hdmi.c | 9 +
 1 file changed, 9 insertions(+)

diff --git a/drivers/video/sunxi/sunxi_dw_hdmi.c 
b/drivers/video/sunxi/sunxi_dw_hdmi.c
index ef18d1f281f..0324a050d03 100644
--- a/drivers/video/sunxi/sunxi_dw_hdmi.c
+++ b/drivers/video/sunxi/sunxi_dw_hdmi.c
@@ -19,11 +19,13 @@
 #include 
 #include 
 #include 
+#include 
 
 struct sunxi_dw_hdmi_priv {
struct dw_hdmi hdmi;
struct reset_ctl_bulk resets;
struct clk_bulk clocks;
+   struct udevice *hvcc;
 };
 
 struct sunxi_hdmi_phy {
@@ -333,6 +335,9 @@ static int sunxi_dw_hdmi_probe(struct udevice *dev)
(struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
int ret;
 
+   if (priv->hvcc)
+   regulator_set_enable(priv->hvcc, true);
+
/* Set pll3 to 297 MHz */
clock_set_pll3(29700);
 
@@ -384,6 +389,10 @@ static int sunxi_dw_hdmi_of_to_plat(struct udevice *dev)
if (ret)
return ret;
 
+   ret = device_get_supply_regulator(dev, "hvcc-supply", >hvcc);
+   if (ret)
+   priv->hvcc = NULL;
+
return 0;
 }
 
-- 
2.35.7