mirror of
https://github.com/Fishwaldo/build.git
synced 2025-03-26 16:51:48 +00:00
56 lines
1.8 KiB
Diff
56 lines
1.8 KiB
Diff
From 4c9cc11e8b99da324f977a25f2d556e9cc3b7633 Mon Sep 17 00:00:00 2001
|
|
From: Neil Armstrong <narmstrong@baylibre.com>
|
|
Date: Mon, 16 Oct 2017 15:35:00 +0200
|
|
Subject: [PATCH 16/36] drm/meson: dw_hdmi: Add support for an optional
|
|
external 5V regulator
|
|
|
|
On reference boards and derivatives, the HDMI Logic is powered by an external
|
|
5V regulator.
|
|
This regulator was set by the Vendor U-Boot, add optional support for it.
|
|
|
|
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
|
---
|
|
drivers/gpu/drm/meson/meson_dw_hdmi.c | 13 +++++++++++++
|
|
1 file changed, 13 insertions(+)
|
|
|
|
diff --git a/drivers/gpu/drm/meson/meson_dw_hdmi.c b/drivers/gpu/drm/meson/meson_dw_hdmi.c
|
|
index cef4144..17de3af 100644
|
|
--- a/drivers/gpu/drm/meson/meson_dw_hdmi.c
|
|
+++ b/drivers/gpu/drm/meson/meson_dw_hdmi.c
|
|
@@ -23,6 +23,7 @@
|
|
#include <linux/of_graph.h>
|
|
#include <linux/reset.h>
|
|
#include <linux/clk.h>
|
|
+#include <linux/regulator/consumer.h>
|
|
|
|
#include <drm/drmP.h>
|
|
#include <drm/drm_edid.h>
|
|
@@ -137,6 +138,7 @@ struct meson_dw_hdmi {
|
|
struct reset_control *hdmitx_phy;
|
|
struct clk *hdmi_pclk;
|
|
struct clk *venci_clk;
|
|
+ struct regulator *hdmi_supply;
|
|
u32 irq_stat;
|
|
};
|
|
#define encoder_to_meson_dw_hdmi(x) \
|
|
@@ -751,6 +753,17 @@ static int meson_dw_hdmi_bind(struct device *dev, struct device *master,
|
|
dw_plat_data = &meson_dw_hdmi->dw_plat_data;
|
|
encoder = &meson_dw_hdmi->encoder;
|
|
|
|
+ meson_dw_hdmi->hdmi_supply = devm_regulator_get_optional(dev, "hdmi");
|
|
+ if (IS_ERR(meson_dw_hdmi->hdmi_supply)) {
|
|
+ if (PTR_ERR(meson_dw_hdmi->hdmi_supply) == -EPROBE_DEFER)
|
|
+ return -EPROBE_DEFER;
|
|
+ meson_dw_hdmi->hdmi_supply = NULL;
|
|
+ } else {
|
|
+ ret = regulator_enable(meson_dw_hdmi->hdmi_supply);
|
|
+ if (ret)
|
|
+ return ret;
|
|
+ }
|
|
+
|
|
meson_dw_hdmi->hdmitx_apb = devm_reset_control_get_exclusive(dev,
|
|
"hdmitx_apb");
|
|
if (IS_ERR(meson_dw_hdmi->hdmitx_apb)) {
|
|
--
|
|
2.7.4
|
|
|