public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Patrick Delaunay <patrick.delaunay@st.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [RESEND PATCH 2/5] usb: host: dwc2: add support for clk
Date: Mon, 14 Oct 2019 10:00:22 +0200	[thread overview]
Message-ID: <20191014080025.11245-3-patrick.delaunay@st.com> (raw)
In-Reply-To: <20191014080025.11245-1-patrick.delaunay@st.com>

Add support for clock with driver model.

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
---

 drivers/usb/host/dwc2.c | 29 ++++++++++++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/host/dwc2.c b/drivers/usb/host/dwc2.c
index eb1026effc..51023b0c2c 100644
--- a/drivers/usb/host/dwc2.c
+++ b/drivers/usb/host/dwc2.c
@@ -5,13 +5,14 @@
  */
 
 #include <common.h>
+#include <clk.h>
 #include <dm.h>
 #include <errno.h>
 #include <generic-phy.h>
-#include <usb.h>
 #include <malloc.h>
 #include <memalign.h>
 #include <phys2bus.h>
+#include <usb.h>
 #include <usbroothubdes.h>
 #include <wait_bit.h>
 #include <asm/io.h>
@@ -37,6 +38,7 @@ struct dwc2_priv {
 	struct udevice *vbus_supply;
 #endif
 	struct phy phy;
+	struct clk_bulk clks;
 #else
 	uint8_t *aligned_buffer;
 	uint8_t *status_buffer;
@@ -1374,6 +1376,26 @@ static int dwc2_shutdown_phy(struct udevice *dev)
 	return 0;
 }
 
+static int dwc2_clk_init(struct udevice *dev)
+{
+	struct dwc2_priv *priv = dev_get_priv(dev);
+	int ret;
+
+	ret = clk_get_bulk(dev, &priv->clks);
+	if (ret == -ENOSYS || ret == -ENOENT)
+		return 0;
+	if (ret)
+		return ret;
+
+	ret = clk_enable_bulk(&priv->clks);
+	if (ret) {
+		clk_release_bulk(&priv->clks);
+		return ret;
+	}
+
+	return 0;
+}
+
 static int dwc2_usb_probe(struct udevice *dev)
 {
 	struct dwc2_priv *priv = dev_get_priv(dev);
@@ -1382,6 +1404,10 @@ static int dwc2_usb_probe(struct udevice *dev)
 
 	bus_priv->desc_before_addr = true;
 
+	ret = dwc2_clk_init(dev);
+	if (ret)
+		return ret;
+
 	ret = dwc2_setup_phy(dev);
 	if (ret)
 		return ret;
@@ -1403,6 +1429,7 @@ static int dwc2_usb_remove(struct udevice *dev)
 	dwc2_uninit_common(priv->regs);
 
 	reset_release_bulk(&priv->resets);
+	clk_release_bulk(&priv->clks);
 
 	return 0;
 }
-- 
2.17.1

  parent reply	other threads:[~2019-10-14  8:00 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-14  8:00 [U-Boot] [RESEND PATCH 0/5] usb: host: dwc2: use driver model for PHY and CLOCK Patrick Delaunay
2019-10-14  8:00 ` [U-Boot] [RESEND PATCH 1/5] usb: host: dwc2: add phy support Patrick Delaunay
2019-10-14 23:26   ` Marek Vasut
2019-11-06 17:40     ` Patrick DELAUNAY
2019-11-06 21:55       ` Marek Vasut
2019-11-08 13:25         ` Patrick DELAUNAY
2019-11-08 15:41           ` Marek Vasut
2019-10-14  8:00 ` Patrick Delaunay [this message]
2019-10-14 23:28   ` [U-Boot] [RESEND PATCH 2/5] usb: host: dwc2: add support for clk Marek Vasut
2019-11-06 18:03     ` Patrick DELAUNAY
2019-11-06 21:59       ` Marek Vasut
2019-10-14  8:00 ` [U-Boot] [RESEND PATCH 3/5] usb: host: dwc2: force reset assert Patrick Delaunay
2019-10-14 23:29   ` Marek Vasut
2019-11-06 18:27     ` Patrick DELAUNAY
2019-11-06 22:00       ` Marek Vasut
2019-11-08  9:53         ` Patrick DELAUNAY
2019-11-08  9:55           ` Marek Vasut
2019-11-08 10:51             ` Patrick DELAUNAY
2019-11-08 10:52               ` Marek Vasut
2019-10-14  8:00 ` [U-Boot] [RESEND PATCH 4/5] usb: host: dwc2: add usb33d supply support for stm32mp1 Patrick Delaunay
2019-10-14 23:31   ` Marek Vasut
2019-11-06 18:42     ` Patrick DELAUNAY
2019-10-14  8:00 ` [U-Boot] [RESEND PATCH 5/5] usb: host: dwc2: add trace to have clean usb start Patrick Delaunay

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=20191014080025.11245-3-patrick.delaunay@st.com \
    --to=patrick.delaunay@st.com \
    --cc=u-boot@lists.denx.de \
    /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