aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/phy/phy-tegra-usb.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/phy/phy-tegra-usb.c')
-rw-r--r--drivers/usb/phy/phy-tegra-usb.c27
1 files changed, 15 insertions, 12 deletions
diff --git a/drivers/usb/phy/phy-tegra-usb.c b/drivers/usb/phy/phy-tegra-usb.c
index d92a63a5b0c9..311fe03f16e1 100644
--- a/drivers/usb/phy/phy-tegra-usb.c
+++ b/drivers/usb/phy/phy-tegra-usb.c
@@ -211,7 +211,7 @@ static void set_phcd(struct tegra_usb_phy *phy, bool enable)
211 211
212static int utmip_pad_open(struct tegra_usb_phy *phy) 212static int utmip_pad_open(struct tegra_usb_phy *phy)
213{ 213{
214 phy->pad_clk = devm_clk_get(phy->dev, "utmi-pads"); 214 phy->pad_clk = devm_clk_get(phy->u_phy.dev, "utmi-pads");
215 if (IS_ERR(phy->pad_clk)) { 215 if (IS_ERR(phy->pad_clk)) {
216 pr_err("%s: can't get utmip pad clock\n", __func__); 216 pr_err("%s: can't get utmip pad clock\n", __func__);
217 return PTR_ERR(phy->pad_clk); 217 return PTR_ERR(phy->pad_clk);
@@ -540,13 +540,15 @@ static int ulpi_phy_power_on(struct tegra_usb_phy *phy)
540 540
541 ret = gpio_direction_output(phy->reset_gpio, 0); 541 ret = gpio_direction_output(phy->reset_gpio, 0);
542 if (ret < 0) { 542 if (ret < 0) {
543 dev_err(phy->dev, "gpio %d not set to 0\n", phy->reset_gpio); 543 dev_err(phy->u_phy.dev, "gpio %d not set to 0\n",
544 phy->reset_gpio);
544 return ret; 545 return ret;
545 } 546 }
546 msleep(5); 547 msleep(5);
547 ret = gpio_direction_output(phy->reset_gpio, 1); 548 ret = gpio_direction_output(phy->reset_gpio, 1);
548 if (ret < 0) { 549 if (ret < 0) {
549 dev_err(phy->dev, "gpio %d not set to 1\n", phy->reset_gpio); 550 dev_err(phy->u_phy.dev, "gpio %d not set to 1\n",
551 phy->reset_gpio);
550 return ret; 552 return ret;
551 } 553 }
552 554
@@ -649,29 +651,30 @@ static int ulpi_open(struct tegra_usb_phy *phy)
649{ 651{
650 int err; 652 int err;
651 653
652 phy->clk = devm_clk_get(phy->dev, "ulpi-link"); 654 phy->clk = devm_clk_get(phy->u_phy.dev, "ulpi-link");
653 if (IS_ERR(phy->clk)) { 655 if (IS_ERR(phy->clk)) {
654 pr_err("%s: can't get ulpi clock\n", __func__); 656 pr_err("%s: can't get ulpi clock\n", __func__);
655 return PTR_ERR(phy->clk); 657 return PTR_ERR(phy->clk);
656 } 658 }
657 659
658 err = devm_gpio_request(phy->dev, phy->reset_gpio, "ulpi_phy_reset_b"); 660 err = devm_gpio_request(phy->u_phy.dev, phy->reset_gpio,
661 "ulpi_phy_reset_b");
659 if (err < 0) { 662 if (err < 0) {
660 dev_err(phy->dev, "request failed for gpio: %d\n", 663 dev_err(phy->u_phy.dev, "request failed for gpio: %d\n",
661 phy->reset_gpio); 664 phy->reset_gpio);
662 return err; 665 return err;
663 } 666 }
664 667
665 err = gpio_direction_output(phy->reset_gpio, 0); 668 err = gpio_direction_output(phy->reset_gpio, 0);
666 if (err < 0) { 669 if (err < 0) {
667 dev_err(phy->dev, "gpio %d direction not set to output\n", 670 dev_err(phy->u_phy.dev, "gpio %d direction not set to output\n",
668 phy->reset_gpio); 671 phy->reset_gpio);
669 return err; 672 return err;
670 } 673 }
671 674
672 phy->ulpi = otg_ulpi_create(&ulpi_viewport_access_ops, 0); 675 phy->ulpi = otg_ulpi_create(&ulpi_viewport_access_ops, 0);
673 if (!phy->ulpi) { 676 if (!phy->ulpi) {
674 dev_err(phy->dev, "otg_ulpi_create returned NULL\n"); 677 dev_err(phy->u_phy.dev, "otg_ulpi_create returned NULL\n");
675 err = -ENOMEM; 678 err = -ENOMEM;
676 return err; 679 return err;
677 } 680 }
@@ -686,7 +689,7 @@ static int tegra_usb_phy_init(struct tegra_usb_phy *phy)
686 int i; 689 int i;
687 int err; 690 int err;
688 691
689 phy->pll_u = devm_clk_get(phy->dev, "pll_u"); 692 phy->pll_u = devm_clk_get(phy->u_phy.dev, "pll_u");
690 if (IS_ERR(phy->pll_u)) { 693 if (IS_ERR(phy->pll_u)) {
691 pr_err("Can't get pll_u clock\n"); 694 pr_err("Can't get pll_u clock\n");
692 return PTR_ERR(phy->pll_u); 695 return PTR_ERR(phy->pll_u);
@@ -712,7 +715,7 @@ static int tegra_usb_phy_init(struct tegra_usb_phy *phy)
712 if (!IS_ERR(phy->vbus)) { 715 if (!IS_ERR(phy->vbus)) {
713 err = regulator_enable(phy->vbus); 716 err = regulator_enable(phy->vbus);
714 if (err) { 717 if (err) {
715 dev_err(phy->dev, 718 dev_err(phy->u_phy.dev,
716 "failed to enable usb vbus regulator: %d\n", 719 "failed to enable usb vbus regulator: %d\n",
717 err); 720 err);
718 goto fail; 721 goto fail;
@@ -920,7 +923,7 @@ static int tegra_usb_phy_probe(struct platform_device *pdev)
920 tegra_phy->vbus = ERR_PTR(-ENODEV); 923 tegra_phy->vbus = ERR_PTR(-ENODEV);
921 } 924 }
922 925
923 tegra_phy->dev = &pdev->dev; 926 tegra_phy->u_phy.dev = &pdev->dev;
924 err = tegra_usb_phy_init(tegra_phy); 927 err = tegra_usb_phy_init(tegra_phy);
925 if (err < 0) 928 if (err < 0)
926 return err; 929 return err;
@@ -953,7 +956,7 @@ static int tegra_usb_phy_match(struct device *dev, void *data)
953 struct tegra_usb_phy *tegra_phy = dev_get_drvdata(dev); 956 struct tegra_usb_phy *tegra_phy = dev_get_drvdata(dev);
954 struct device_node *dn = data; 957 struct device_node *dn = data;
955 958
956 return (tegra_phy->dev->of_node == dn) ? 1 : 0; 959 return (tegra_phy->u_phy.dev->of_node == dn) ? 1 : 0;
957} 960}
958 961
959struct usb_phy *tegra_usb_get_phy(struct device_node *dn) 962struct usb_phy *tegra_usb_get_phy(struct device_node *dn)