aboutsummaryrefslogtreecommitdiff
path: root/drivers/usb/dwc3/dwc3-of-simple.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/dwc3/dwc3-of-simple.c')
-rw-r--r--drivers/usb/dwc3/dwc3-of-simple.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/usb/dwc3/dwc3-of-simple.c b/drivers/usb/dwc3/dwc3-of-simple.c
index bdac3e7d7b18..c7e7eed4b704 100644
--- a/drivers/usb/dwc3/dwc3-of-simple.c
+++ b/drivers/usb/dwc3/dwc3-of-simple.c
@@ -40,6 +40,7 @@ static int dwc3_of_simple_probe(struct platform_device *pdev)
int ret;
bool shared_resets = false;
+ pr_info("%s: %d", __func__, __LINE__);
simple = devm_kzalloc(dev, sizeof(*simple), GFP_KERNEL);
if (!simple)
return -ENOMEM;
@@ -51,8 +52,10 @@ static int dwc3_of_simple_probe(struct platform_device *pdev)
* Some controllers need to toggle the usb3-otg reset before trying to
* initialize the PHY, otherwise the PHY times out.
*/
- if (of_device_is_compatible(np, "rockchip,rk3399-dwc3"))
+ if (of_device_is_compatible(np, "rockchip,rk3399-dwc3")) {
simple->need_reset = true;
+ simple->pulse_resets = true;
+ }
if (of_device_is_compatible(np, "amlogic,meson-axg-dwc3") ||
of_device_is_compatible(np, "amlogic,meson-gxl-dwc3")) {
@@ -87,6 +90,11 @@ static int dwc3_of_simple_probe(struct platform_device *pdev)
if (ret)
goto err_resetc_assert;
+ pm_runtime_set_active(dev);
+ pm_runtime_enable(dev);
+ pm_runtime_get_sync(dev);
+
+ pr_info("%s: %d", __func__, __LINE__);
ret = of_platform_populate(np, NULL, NULL, dev);
if (ret)
goto err_clk_put;
@@ -95,6 +103,7 @@ static int dwc3_of_simple_probe(struct platform_device *pdev)
pm_runtime_enable(dev);
pm_runtime_get_sync(dev);
+ pr_info("DWC3 probed!!!");
return 0;
err_clk_put:
@@ -183,6 +192,7 @@ static const struct of_device_id of_dwc3_simple_match[] = {
{ .compatible = "amlogic,meson-axg-dwc3" },
{ .compatible = "amlogic,meson-gxl-dwc3" },
{ .compatible = "allwinner,sun50i-h6-dwc3" },
+ { .compatible = "actions,owl-dwc3" },
{ /* Sentinel */ }
};
MODULE_DEVICE_TABLE(of, of_dwc3_simple_match);