summaryrefslogtreecommitdiff
path: root/drivers/phy/phy-rockchip-usb.c
diff options
context:
space:
mode:
authorhuang lin <hl@rock-chips.com>2015-07-17 15:29:25 +0800
committerKishon Vijay Abraham I <kishon@ti.com>2015-09-25 17:01:14 +0530
commit08db7e5cbfc0ec3fa4f6ed483dc663afeae7ce16 (patch)
treea604932d2b6a0a2f5acb2cc283b27da53765fd38 /drivers/phy/phy-rockchip-usb.c
parent65d49b3d7068525117f8e1458f0496732d02fe15 (diff)
phy: rockchip-usb: power down phy when rockchip phy probe
rockchip phy are enable when soc reset, to save power consumption, we disable it when probe, and enable each phy when it use Signed-off-by: huang lin <hl@rock-chips.com> Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Diffstat (limited to 'drivers/phy/phy-rockchip-usb.c')
-rw-r--r--drivers/phy/phy-rockchip-usb.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/phy/phy-rockchip-usb.c b/drivers/phy/phy-rockchip-usb.c
index 5a5c073e72fe..91d6f342c565 100644
--- a/drivers/phy/phy-rockchip-usb.c
+++ b/drivers/phy/phy-rockchip-usb.c
@@ -98,6 +98,7 @@ static int rockchip_usb_phy_probe(struct platform_device *pdev)
struct device_node *child;
struct regmap *grf;
unsigned int reg_offset;
+ int err;
grf = syscon_regmap_lookup_by_phandle(dev->of_node, "rockchip,grf");
if (IS_ERR(grf)) {
@@ -129,6 +130,11 @@ static int rockchip_usb_phy_probe(struct platform_device *pdev)
return PTR_ERR(rk_phy->phy);
}
phy_set_drvdata(rk_phy->phy, rk_phy);
+
+ /* only power up usb phy when it use, so disable it when init*/
+ err = rockchip_usb_phy_power(rk_phy, 1);
+ if (err)
+ return err;
}
phy_provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate);