Lines Matching +full:dp +full:- +full:phy
1 // SPDX-License-Identifier: GPL-2.0-only
3 * Samsung Exynos SoC series Display Port PHY driver
17 #include <linux/phy/phy.h>
20 #include <linux/soc/samsung/exynos-regs-pmu.h>
31 static int exynos_dp_video_phy_power_on(struct phy *phy) in exynos_dp_video_phy_power_on() argument
33 struct exynos_dp_video_phy *state = phy_get_drvdata(phy); in exynos_dp_video_phy_power_on()
35 /* Disable power isolation on DP-PHY */ in exynos_dp_video_phy_power_on()
36 return regmap_update_bits(state->regs, state->drvdata->phy_ctrl_offset, in exynos_dp_video_phy_power_on()
40 static int exynos_dp_video_phy_power_off(struct phy *phy) in exynos_dp_video_phy_power_off() argument
42 struct exynos_dp_video_phy *state = phy_get_drvdata(phy); in exynos_dp_video_phy_power_off()
44 /* Enable power isolation on DP-PHY */ in exynos_dp_video_phy_power_off()
45 return regmap_update_bits(state->regs, state->drvdata->phy_ctrl_offset, in exynos_dp_video_phy_power_off()
65 .compatible = "samsung,exynos5250-dp-video-phy",
68 .compatible = "samsung,exynos5420-dp-video-phy",
78 struct device *dev = &pdev->dev; in exynos_dp_video_phy_probe()
80 struct phy *phy; in exynos_dp_video_phy_probe() local
84 return -ENOMEM; in exynos_dp_video_phy_probe()
86 state->regs = syscon_regmap_lookup_by_phandle(dev->of_node, in exynos_dp_video_phy_probe()
87 "samsung,pmu-syscon"); in exynos_dp_video_phy_probe()
88 if (IS_ERR(state->regs)) { in exynos_dp_video_phy_probe()
90 return PTR_ERR(state->regs); in exynos_dp_video_phy_probe()
93 state->drvdata = of_device_get_match_data(dev); in exynos_dp_video_phy_probe()
95 phy = devm_phy_create(dev, NULL, &exynos_dp_video_phy_ops); in exynos_dp_video_phy_probe()
96 if (IS_ERR(phy)) { in exynos_dp_video_phy_probe()
97 dev_err(dev, "failed to create Display Port PHY\n"); in exynos_dp_video_phy_probe()
98 return PTR_ERR(phy); in exynos_dp_video_phy_probe()
100 phy_set_drvdata(phy, state); in exynos_dp_video_phy_probe()
110 .name = "exynos-dp-video-phy",
118 MODULE_DESCRIPTION("Samsung Exynos SoC DP PHY driver");