Lines Matching refs:edpphy
97 static void rockchip_edp_phy_set_voltage(struct rockchip_edp_phy *edpphy, in rockchip_edp_phy_set_voltage() argument
109 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON3, in rockchip_edp_phy_set_voltage()
112 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON4, in rockchip_edp_phy_set_voltage()
115 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON5, in rockchip_edp_phy_set_voltage()
120 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON3, in rockchip_edp_phy_set_voltage()
123 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON4, in rockchip_edp_phy_set_voltage()
126 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON5, in rockchip_edp_phy_set_voltage()
131 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON3, in rockchip_edp_phy_set_voltage()
134 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON4, in rockchip_edp_phy_set_voltage()
137 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON5, in rockchip_edp_phy_set_voltage()
142 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON3, in rockchip_edp_phy_set_voltage()
145 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON4, in rockchip_edp_phy_set_voltage()
148 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON5, in rockchip_edp_phy_set_voltage()
155 static int rockchip_edp_phy_set_voltages(struct rockchip_edp_phy *edpphy, in rockchip_edp_phy_set_voltages() argument
161 rockchip_edp_phy_set_voltage(edpphy, dp, lane); in rockchip_edp_phy_set_voltages()
166 static int rockchip_edp_phy_set_rate(struct rockchip_edp_phy *edpphy, in rockchip_edp_phy_set_rate() argument
172 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON0, in rockchip_edp_phy_set_rate()
177 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON5, EDP_PHY_TX_MODE, in rockchip_edp_phy_set_rate()
179 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON0, EDP_PHY_PD_PLL, in rockchip_edp_phy_set_rate()
184 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON1, in rockchip_edp_phy_set_rate()
187 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON2, in rockchip_edp_phy_set_rate()
192 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON8, in rockchip_edp_phy_set_rate()
195 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON9, in rockchip_edp_phy_set_rate()
200 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON1, in rockchip_edp_phy_set_rate()
203 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON2, in rockchip_edp_phy_set_rate()
208 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON8, in rockchip_edp_phy_set_rate()
211 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON9, in rockchip_edp_phy_set_rate()
218 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON6, in rockchip_edp_phy_set_rate()
224 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON6, in rockchip_edp_phy_set_rate()
228 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON0, EDP_PHY_PD_PLL, in rockchip_edp_phy_set_rate()
230 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON0, EDP_PHY_TX_PD, in rockchip_edp_phy_set_rate()
232 ret = regmap_read_poll_timeout(edpphy->grf, EDP_PHY_GRF_STATUS0, in rockchip_edp_phy_set_rate()
235 dev_err(edpphy->dev, "pll is not ready: %d\n", ret); in rockchip_edp_phy_set_rate()
239 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON5, EDP_PHY_TX_MODE, in rockchip_edp_phy_set_rate()
241 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON0, EDP_PHY_TX_IDLE, in rockchip_edp_phy_set_rate()
247 static int rockchip_edp_phy_verify_config(struct rockchip_edp_phy *edpphy, in rockchip_edp_phy_verify_config() argument
300 struct rockchip_edp_phy *edpphy = phy_get_drvdata(phy); in rockchip_edp_phy_configure() local
303 ret = rockchip_edp_phy_verify_config(edpphy, &opts->dp); in rockchip_edp_phy_configure()
305 dev_err(edpphy->dev, "invalid params for phy configure\n"); in rockchip_edp_phy_configure()
310 ret = rockchip_edp_phy_set_rate(edpphy, &opts->dp); in rockchip_edp_phy_configure()
312 dev_err(edpphy->dev, in rockchip_edp_phy_configure()
319 ret = rockchip_edp_phy_set_voltages(edpphy, &opts->dp); in rockchip_edp_phy_configure()
321 dev_err(edpphy->dev, in rockchip_edp_phy_configure()
330 static bool rockchip_edp_phy_enabled(struct rockchip_edp_phy *edpphy) in rockchip_edp_phy_enabled() argument
334 regmap_read(edpphy->grf, EDP_PHY_GRF_STATUS0, &val); in rockchip_edp_phy_enabled()
341 struct rockchip_edp_phy *edpphy = phy_get_drvdata(phy); in rockchip_edp_phy_power_on() local
343 clk_prepare_enable(edpphy->refclk); in rockchip_edp_phy_power_on()
345 if (rockchip_edp_phy_enabled(edpphy)) in rockchip_edp_phy_power_on()
348 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON10, in rockchip_edp_phy_power_on()
353 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON0, in rockchip_edp_phy_power_on()
360 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON11, in rockchip_edp_phy_power_on()
370 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON10, in rockchip_edp_phy_power_on()
376 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON10, in rockchip_edp_phy_power_on()
386 struct rockchip_edp_phy *edpphy = phy_get_drvdata(phy); in rockchip_edp_phy_power_off() local
388 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON0, in rockchip_edp_phy_power_off()
393 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON5, EDP_PHY_TX_MODE, in rockchip_edp_phy_power_off()
395 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON0, EDP_PHY_PD_PLL, in rockchip_edp_phy_power_off()
397 rockchip_grf_write(edpphy->grf, EDP_PHY_GRF_CON10, in rockchip_edp_phy_power_off()
403 clk_disable_unprepare(edpphy->refclk); in rockchip_edp_phy_power_off()
418 struct rockchip_edp_phy *edpphy; in rockchip_edp_phy_probe() local
423 edpphy = devm_kzalloc(dev, sizeof(*edpphy), GFP_KERNEL); in rockchip_edp_phy_probe()
424 if (!edpphy) in rockchip_edp_phy_probe()
427 edpphy->dev = dev; in rockchip_edp_phy_probe()
429 edpphy->grf = syscon_node_to_regmap(dev->parent->of_node); in rockchip_edp_phy_probe()
430 if (IS_ERR(edpphy->grf)) { in rockchip_edp_phy_probe()
431 ret = PTR_ERR(edpphy->grf); in rockchip_edp_phy_probe()
436 edpphy->refclk = devm_clk_get(dev, "refclk"); in rockchip_edp_phy_probe()
437 if (IS_ERR(edpphy->refclk)) { in rockchip_edp_phy_probe()
438 ret = PTR_ERR(edpphy->refclk); in rockchip_edp_phy_probe()
450 phy_set_drvdata(phy, edpphy); in rockchip_edp_phy_probe()