summaryrefslogtreecommitdiff
path: root/drivers/phy/samsung
diff options
context:
space:
mode:
authorChanho Park <chanho61.park@samsung.com>2022-06-07 10:29:07 +0300
committerVinod Koul <vkoul@kernel.org>2022-06-08 19:21:33 +0300
commit2aecaf6ccda7012ab7fb4060ac49624ab18d42f8 (patch)
tree0f90d290ec66497a7788b19ee166a09163b1b972 /drivers/phy/samsung
parentf86c1d0a58b1f63a176f537e2f6851be49c20ad4 (diff)
downloadlinux-2aecaf6ccda7012ab7fb4060ac49624ab18d42f8.tar.xz
phy: samsung: ufs: support secondary ufs phy
To support secondary ufs phy device, we need to get an offset for phy isolation from the syscon DT node. If the first index argument of the node is existing, we can read the offset value and set it as isol->offset. Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by: Chanho Park <chanho61.park@samsung.com> Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com> Link: https://lore.kernel.org/r/20220607072907.127000-6-chanho61.park@samsung.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/phy/samsung')
-rw-r--r--drivers/phy/samsung/phy-samsung-ufs.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/phy/samsung/phy-samsung-ufs.c b/drivers/phy/samsung/phy-samsung-ufs.c
index 0c933e364064..206a79c69a6c 100644
--- a/drivers/phy/samsung/phy-samsung-ufs.c
+++ b/drivers/phy/samsung/phy-samsung-ufs.c
@@ -288,6 +288,7 @@ static int samsung_ufs_phy_probe(struct platform_device *pdev)
struct phy *gen_phy;
struct phy_provider *phy_provider;
const struct samsung_ufs_phy_drvdata *drvdata;
+ u32 isol_offset;
int err = 0;
match = of_match_node(samsung_ufs_phy_match, dev->of_node);
@@ -330,6 +331,10 @@ static int samsung_ufs_phy_probe(struct platform_device *pdev)
phy->has_symbol_clk = drvdata->has_symbol_clk;
memcpy(&phy->isol, &drvdata->isol, sizeof(phy->isol));
+ if (!of_property_read_u32_index(dev->of_node, "samsung,pmu-syscon", 1,
+ &isol_offset))
+ phy->isol.offset = isol_offset;
+
phy->lane_cnt = PHY_DEF_LANE_CNT;
phy_set_drvdata(gen_phy, phy);