Re: [PATCH v10 09/11] drm/sun4i: sun6i_mipi_dsi: Add VCC-DSI regulator support
On Thu, Jun 13, 2019 at 01:25:52PM +0530, Jagan Teki wrote: > On Mon, Jun 3, 2019 at 7:19 PM Maxime Ripard > wrote: > > > > On Mon, May 20, 2019 at 02:33:16PM +0530, Jagan Teki wrote: > > > Allwinner MIPI DSI controllers are supplied with SoC > > > DSI power rails via VCC-DSI pin. > > > > > > Add support for this supply pin by adding voltage > > > regulator handling code to MIPI DSI driver. > > > > > > Tested-by: Merlijn Wajer > > > Signed-off-by: Jagan Teki > > > > This creates a lot of warnings at boot time on my board this is > > missing vcc-dsi-supply. > > Is it about regulator_put or similar, would you provide the log. Sure http://code.bulix.org/whiea9-769551?raw Maxime -- Maxime Ripard, Bootlin Embedded Linux and Kernel engineering https://bootlin.com signature.asc Description: PGP signature ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH v10 09/11] drm/sun4i: sun6i_mipi_dsi: Add VCC-DSI regulator support
On Mon, Jun 3, 2019 at 7:19 PM Maxime Ripard wrote: > > On Mon, May 20, 2019 at 02:33:16PM +0530, Jagan Teki wrote: > > Allwinner MIPI DSI controllers are supplied with SoC > > DSI power rails via VCC-DSI pin. > > > > Add support for this supply pin by adding voltage > > regulator handling code to MIPI DSI driver. > > > > Tested-by: Merlijn Wajer > > Signed-off-by: Jagan Teki > > This creates a lot of warnings at boot time on my board this is > missing vcc-dsi-supply. Is it about regulator_put or similar, would you provide the log. ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH v10 09/11] drm/sun4i: sun6i_mipi_dsi: Add VCC-DSI regulator support
On Mon, May 20, 2019 at 02:33:16PM +0530, Jagan Teki wrote: > Allwinner MIPI DSI controllers are supplied with SoC > DSI power rails via VCC-DSI pin. > > Add support for this supply pin by adding voltage > regulator handling code to MIPI DSI driver. > > Tested-by: Merlijn Wajer > Signed-off-by: Jagan Teki This creates a lot of warnings at boot time on my board this is missing vcc-dsi-supply. Maxime -- Maxime Ripard, Bootlin Embedded Linux and Kernel engineering https://bootlin.com signature.asc Description: PGP signature ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v10 09/11] drm/sun4i: sun6i_mipi_dsi: Add VCC-DSI regulator support
Allwinner MIPI DSI controllers are supplied with SoC DSI power rails via VCC-DSI pin. Add support for this supply pin by adding voltage regulator handling code to MIPI DSI driver. Tested-by: Merlijn Wajer Signed-off-by: Jagan Teki --- drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c | 14 ++ drivers/gpu/drm/sun4i/sun6i_mipi_dsi.h | 3 +++ 2 files changed, 17 insertions(+) diff --git a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c index 5584e9c2f8bd..a5d73a283ed7 100644 --- a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c +++ b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c @@ -1150,6 +1150,12 @@ static int sun6i_dsi_probe(struct platform_device *pdev) return PTR_ERR(base); } + dsi->regulator = devm_regulator_get(dev, "vcc-dsi"); + if (IS_ERR(dsi->regulator)) { + dev_err(dev, "Couldn't get VCC-DSI supply\n"); + return PTR_ERR(dsi->regulator); + } + dsi->regs = devm_regmap_init_mmio_clk(dev, "bus", base, &sun6i_dsi_regmap_config); if (IS_ERR(dsi->regs)) { @@ -1223,6 +1229,13 @@ static int sun6i_dsi_remove(struct platform_device *pdev) static int __maybe_unused sun6i_dsi_runtime_resume(struct device *dev) { struct sun6i_dsi *dsi = dev_get_drvdata(dev); + int err; + + err = regulator_enable(dsi->regulator); + if (err) { + dev_err(dsi->dev, "failed to enable VCC-DSI supply: %d\n", err); + return err; + } reset_control_deassert(dsi->reset); clk_prepare_enable(dsi->mod_clk); @@ -1255,6 +1268,7 @@ static int __maybe_unused sun6i_dsi_runtime_suspend(struct device *dev) clk_disable_unprepare(dsi->mod_clk); reset_control_assert(dsi->reset); + regulator_disable(dsi->regulator); return 0; } diff --git a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.h b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.h index 156523859d82..c76b71259d2e 100644 --- a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.h +++ b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.h @@ -13,6 +13,8 @@ #include #include +#include + struct sun6i_dsi { struct drm_connectorconnector; struct drm_encoder encoder; @@ -21,6 +23,7 @@ struct sun6i_dsi { struct clk *bus_clk; struct clk *mod_clk; struct regmap *regs; + struct regulator*regulator; struct reset_control*reset; struct phy *dphy; -- 2.18.0.321.gffc6fa0e3 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel