48 lines
1.5 KiB
Diff
48 lines
1.5 KiB
Diff
From 535df8a8442a06dc8e52b938b6430f84fc9ea190 Mon Sep 17 00:00:00 2001
|
|
From: Peter Geis <pgwipeout@gmail.com>
|
|
Date: Tue, 27 Jul 2021 13:39:21 -0400
|
|
Subject: [PATCH 427/478] phy: phy-rockchip-inno-usb2: support standalone phy
|
|
nodes
|
|
|
|
New Rockchip devices have the usb2 phy devices as standalone nodes
|
|
instead of children of the grf node.
|
|
Allow the driver to find the grf node from a phandle.
|
|
|
|
Signed-off-by: Peter Geis <pgwipeout@gmail.com>
|
|
---
|
|
drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 17 ++++++++++++-----
|
|
1 file changed, 12 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
|
index 9dc5c5dbb4ad..9df556304dbd 100644
|
|
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
|
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
|
@@ -1081,12 +1081,19 @@ static int rockchip_usb2phy_probe(struct platform_device *pdev)
|
|
return -EINVAL;
|
|
}
|
|
|
|
- if (!dev->parent || !dev->parent->of_node)
|
|
- return -EINVAL;
|
|
+ if (!dev->parent || !dev->parent->of_node) {
|
|
+ rphy->grf = syscon_regmap_lookup_by_phandle(np, "rockchip,usbgrf");
|
|
+ if (IS_ERR(rphy->grf)) {
|
|
+ dev_err(dev, "failed to locate usbgrf\n");
|
|
+ return PTR_ERR(rphy->grf);
|
|
+ }
|
|
+ }
|
|
|
|
- rphy->grf = syscon_node_to_regmap(dev->parent->of_node);
|
|
- if (IS_ERR(rphy->grf))
|
|
- return PTR_ERR(rphy->grf);
|
|
+ else {
|
|
+ rphy->grf = syscon_node_to_regmap(dev->parent->of_node);
|
|
+ if (IS_ERR(rphy->grf))
|
|
+ return PTR_ERR(rphy->grf);
|
|
+ }
|
|
|
|
if (of_device_is_compatible(np, "rockchip,rv1108-usb2phy")) {
|
|
rphy->usbgrf =
|
|
--
|
|
2.35.3
|
|
|