Lines Matching refs:phy
41 int (*enable)(struct msm_dsi_phy *phy, bool is_dual_panel,
43 int (*disable)(struct msm_dsi_phy *phy);
173 static void dsi_28nm_phy_regulator_ctrl(struct msm_dsi_phy *phy, bool enable) in dsi_28nm_phy_regulator_ctrl() argument
175 void __iomem *base = phy->reg_base; in dsi_28nm_phy_regulator_ctrl()
192 static int dsi_28nm_phy_enable(struct msm_dsi_phy *phy, bool is_dual_panel, in dsi_28nm_phy_enable() argument
195 struct dsi_dphy_timing *timing = &phy->timing; in dsi_28nm_phy_enable()
197 void __iomem *base = phy->base; in dsi_28nm_phy_enable()
208 dsi_28nm_phy_regulator_ctrl(phy, true); in dsi_28nm_phy_enable()
265 if (is_dual_panel && (phy->id != DSI_CLOCK_MASTER)) in dsi_28nm_phy_enable()
273 static int dsi_28nm_phy_disable(struct msm_dsi_phy *phy) in dsi_28nm_phy_disable() argument
275 dsi_phy_write(phy->base + REG_DSI_28nm_PHY_CTRL_0, 0); in dsi_28nm_phy_disable()
276 dsi_28nm_phy_regulator_ctrl(phy, false); in dsi_28nm_phy_disable()
289 phy->enable = dsi_##name##_phy_enable; \
290 phy->disable = dsi_##name##_phy_disable; \
296 struct msm_dsi_phy *phy; in msm_dsi_phy_init() local
298 phy = devm_kzalloc(&pdev->dev, sizeof(*phy), GFP_KERNEL); in msm_dsi_phy_init()
299 if (!phy) in msm_dsi_phy_init()
302 phy->base = msm_ioremap(pdev, "dsi_phy", "DSI_PHY"); in msm_dsi_phy_init()
303 if (IS_ERR_OR_NULL(phy->base)) { in msm_dsi_phy_init()
307 phy->reg_base = msm_ioremap(pdev, "dsi_phy_regulator", "DSI_PHY_REG"); in msm_dsi_phy_init()
308 if (IS_ERR_OR_NULL(phy->reg_base)) { in msm_dsi_phy_init()
322 phy->id = id; in msm_dsi_phy_init()
324 return phy; in msm_dsi_phy_init()
327 int msm_dsi_phy_enable(struct msm_dsi_phy *phy, bool is_dual_panel, in msm_dsi_phy_enable() argument
330 if (!phy || !phy->enable) in msm_dsi_phy_enable()
332 return phy->enable(phy, is_dual_panel, bit_rate, esc_rate); in msm_dsi_phy_enable()
335 int msm_dsi_phy_disable(struct msm_dsi_phy *phy) in msm_dsi_phy_disable() argument
337 if (!phy || !phy->disable) in msm_dsi_phy_disable()
339 return phy->disable(phy); in msm_dsi_phy_disable()
342 void msm_dsi_phy_get_clk_pre_post(struct msm_dsi_phy *phy, in msm_dsi_phy_get_clk_pre_post() argument
345 if (!phy) in msm_dsi_phy_get_clk_pre_post()
348 *clk_pre = phy->timing.clk_pre; in msm_dsi_phy_get_clk_pre_post()
350 *clk_post = phy->timing.clk_post; in msm_dsi_phy_get_clk_pre_post()