From: Jernej Skrabec <jernej.skrabec@siol.net>
To: maxime.ripard@bootlin.com, wens@csie.org, robh+dt@kernel.org
Cc: airlied@linux.ie, gustavo@padovan.org,
maarten.lankhorst@linux.intel.com, seanpaul@chromium.org,
mark.rutland@arm.com, dri-devel@lists.freedesktop.org,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org,
linux-sunxi@googlegroups.com
Subject: [PATCH v2 21/27] drm/sun4i: DW HDMI PHY: Add support for second PLL
Date: Tue, 12 Jun 2018 22:00:30 +0200 [thread overview]
Message-ID: <20180612200036.21483-22-jernej.skrabec@siol.net> (raw)
In-Reply-To: <20180612200036.21483-1-jernej.skrabec@siol.net>
Some DW HDMI PHYs, like those found in A64 and R40 SoCs, can select
between two clock parents.
Add code which reads second PLL from DT.
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
---
drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h | 2 ++
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c | 20 +++++++++++++++-----
2 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h b/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h
index 3ba71aff92fc..46a3aa6a53a9 100644
--- a/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h
+++ b/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h
@@ -147,6 +147,7 @@ struct sun8i_hdmi_phy;
struct sun8i_hdmi_phy_variant {
bool has_phy_clk;
+ bool has_second_pll;
void (*phy_init)(struct sun8i_hdmi_phy *phy);
void (*phy_disable)(struct dw_hdmi *hdmi,
struct sun8i_hdmi_phy *phy);
@@ -160,6 +161,7 @@ struct sun8i_hdmi_phy {
struct clk *clk_mod;
struct clk *clk_phy;
struct clk *clk_pll0;
+ struct clk *clk_pll1;
unsigned int rcal;
struct regmap *regs;
struct reset_control *rst_phy;
diff --git a/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c b/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
index cd07ceb71601..f50072ae054a 100644
--- a/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
+++ b/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
@@ -482,10 +482,19 @@ int sun8i_hdmi_phy_probe(struct sun8i_dw_hdmi *hdmi, struct device_node *node)
goto err_put_clk_mod;
}
+ if (phy->variant->has_second_pll) {
+ phy->clk_pll1 = of_clk_get_by_name(node, "pll-1");
+ if (IS_ERR(phy->clk_pll1)) {
+ dev_err(dev, "Could not get pll-1 clock\n");
+ ret = PTR_ERR(phy->clk_pll1);
+ goto err_put_clk_pll0;
+ }
+ }
+
ret = sun8i_phy_clk_create(phy, dev);
if (ret) {
dev_err(dev, "Couldn't create the PHY clock\n");
- goto err_put_clk_pll0;
+ goto err_put_clk_pll1;
}
clk_prepare_enable(phy->clk_phy);
@@ -528,9 +537,10 @@ int sun8i_hdmi_phy_probe(struct sun8i_dw_hdmi *hdmi, struct device_node *node)
reset_control_put(phy->rst_phy);
err_disable_clk_phy:
clk_disable_unprepare(phy->clk_phy);
+err_put_clk_pll1:
+ clk_put(phy->clk_pll1);
err_put_clk_pll0:
- if (phy->variant->has_phy_clk)
- clk_put(phy->clk_pll0);
+ clk_put(phy->clk_pll0);
err_put_clk_mod:
clk_put(phy->clk_mod);
err_put_clk_bus:
@@ -551,8 +561,8 @@ void sun8i_hdmi_phy_remove(struct sun8i_dw_hdmi *hdmi)
reset_control_put(phy->rst_phy);
- if (phy->variant->has_phy_clk)
- clk_put(phy->clk_pll0);
+ clk_put(phy->clk_pll0);
+ clk_put(phy->clk_pll1);
clk_put(phy->clk_mod);
clk_put(phy->clk_bus);
}
--
2.17.1
next prev parent reply other threads:[~2018-06-12 20:04 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-12 20:00 [PATCH v2 00/27] Add support for R40 HDMI pipeline Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 01/27] clk: sunxi-ng: r40: Add minimal rate for video PLLs Jernej Skrabec
2018-06-13 3:18 ` Chen-Yu Tsai
2018-06-12 20:00 ` [PATCH v2 02/27] clk: sunxi-ng: r40: Allow setting parent rate to display related clocks Jernej Skrabec
2018-06-13 3:19 ` Chen-Yu Tsai
2018-06-12 20:00 ` [PATCH v2 03/27] clk: sunxi-ng: r40: Export video PLLs Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 04/27] dt-bindings: display: sunxi-drm: Add TCON TOP description Jernej Skrabec
2018-06-13 7:34 ` Maxime Ripard
2018-06-13 16:03 ` [linux-sunxi] " Jernej Škrabec
2018-06-15 8:45 ` Maxime Ripard
2018-06-12 20:00 ` [PATCH v2 05/27] drm/sun4i: Add TCON TOP driver Jernej Skrabec
2018-06-13 7:07 ` kbuild test robot
2018-06-12 20:00 ` [PATCH v2 06/27] drm/sun4i: Fix releasing node when enumerating enpoints Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 07/27] drm/sun4i: Split out code for enumerating endpoints in output port Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 08/27] drm/sun4i: Add support for traversing graph with TCON TOP Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 09/27] drm/sun4i: Don't skip TCONs if they don't have channel 0 Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 10/27] dt-bindings: display: sun4i-drm: Add R40 TV TCON description Jernej Skrabec
2018-06-20 19:15 ` Rob Herring
2018-06-12 20:00 ` [PATCH v2 11/27] drm/sun4i: tcon: Add support for tcon-top gate Jernej Skrabec
2018-06-15 8:31 ` Maxime Ripard
2018-06-15 16:41 ` Jernej Škrabec
2018-06-15 17:13 ` [linux-sunxi] " Chen-Yu Tsai
2018-06-15 17:33 ` Jernej Škrabec
2018-06-16 5:48 ` Chen-Yu Tsai
2018-06-20 19:37 ` Jernej Škrabec
2018-06-21 1:23 ` Chen-Yu Tsai
2018-06-21 15:35 ` Jernej Škrabec
2018-06-24 19:52 ` Jernej Škrabec
2018-06-25 3:51 ` Chen-Yu Tsai
2018-06-25 7:58 ` Jernej Škrabec
2018-06-25 8:14 ` Chen-Yu Tsai
2018-06-25 9:10 ` Jernej Škrabec
2018-06-12 20:00 ` [PATCH v2 12/27] drm/sun4i: tcon: Generalize engine search algorithm Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 13/27] drm/sun4i: Don't check for LVDS and RGB when TCON has only ch1 Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 14/27] drm/sun4i: Don't check for panel or bridge on TV TCONs Jernej Skrabec
2018-06-13 7:46 ` Maxime Ripard
2018-06-13 8:04 ` Chen-Yu Tsai
2018-06-13 16:20 ` [linux-sunxi] " Jernej Škrabec
2018-06-12 20:00 ` [PATCH v2 15/27] drm/sun4i: Add support for R40 TV TCON Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 16/27] dt-bindings: display: sun4i-drm: Add R40 mixer compatibles Jernej Skrabec
2018-06-20 19:16 ` Rob Herring
2018-06-12 20:00 ` [PATCH v2 17/27] drm/sun4i: Add support for R40 mixers Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 18/27] dt-bindings: display: sun4i-drm: Add description of A64 HDMI PHY Jernej Skrabec
2018-06-20 19:17 ` Rob Herring
2018-06-12 20:00 ` [PATCH v2 19/27] drm/sun4i: Enable DW HDMI PHY clock Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 20/27] drm/sun4i: Don't change clock bits in DW HDMI PHY driver Jernej Skrabec
2018-06-15 16:44 ` [linux-sunxi] " Jernej Škrabec
2018-06-12 20:00 ` Jernej Skrabec [this message]
2018-06-12 20:00 ` [PATCH v2 22/27] drm/sun4i: Add support for second clock parent to DW HDMI PHY clk driver Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 23/27] drm/sun4i: Add support for A64 HDMI PHY Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 24/27] drm: of: Export drm_crtc_port_mask() Jernej Skrabec
2018-06-13 7:36 ` Maxime Ripard
2018-06-13 16:04 ` [linux-sunxi] " Jernej Škrabec
2018-06-12 20:00 ` [PATCH v2 25/27] drm/sun4i: DW HDMI: Expand algorithm for possible crtcs Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 26/27] ARM: dts: sun8i: r40: Add HDMI pipeline Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 27/27] ARM: dts: sun8i: r40: Enable HDMI output on BananaPi M2 Ultra Jernej Skrabec
2018-06-14 7:12 ` [linux-sunxi] [PATCH v2 00/27] Add support for R40 HDMI pipeline Jagan Teki
2018-06-14 14:34 ` Jernej Škrabec
2018-06-14 17:16 ` Jagan Teki
2018-06-14 17:29 ` Jernej Škrabec
2018-06-18 12:58 ` Jagan Teki
2018-06-18 14:43 ` Jernej Škrabec
2018-06-18 18:49 ` Icenowy Zheng
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180612200036.21483-22-jernej.skrabec@siol.net \
--to=jernej.skrabec@siol.net \
--cc=airlied@linux.ie \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=gustavo@padovan.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sunxi@googlegroups.com \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mark.rutland@arm.com \
--cc=maxime.ripard@bootlin.com \
--cc=robh+dt@kernel.org \
--cc=seanpaul@chromium.org \
--cc=wens@csie.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).