Lines Matching refs:dsi

100 static inline void dsi_write(struct stm32_dsi_priv *dsi, u32 reg, u32 val)  in dsi_write()  argument
102 writel(val, dsi->base + reg); in dsi_write()
105 static inline u32 dsi_read(struct stm32_dsi_priv *dsi, u32 reg) in dsi_read() argument
107 return readl(dsi->base + reg); in dsi_read()
110 static inline void dsi_set(struct stm32_dsi_priv *dsi, u32 reg, u32 mask) in dsi_set() argument
112 dsi_write(dsi, reg, dsi_read(dsi, reg) | mask); in dsi_set()
115 static inline void dsi_clear(struct stm32_dsi_priv *dsi, u32 reg, u32 mask) in dsi_clear() argument
117 dsi_write(dsi, reg, dsi_read(dsi, reg) & ~mask); in dsi_clear()
120 static inline void dsi_update_bits(struct stm32_dsi_priv *dsi, u32 reg, in dsi_update_bits() argument
123 dsi_write(dsi, reg, (dsi_read(dsi, reg) & ~mask) | val); in dsi_update_bits()
154 static int dsi_pll_get_params(struct stm32_dsi_priv *dsi, in dsi_pll_get_params() argument
165 fvco_min = dsi->lane_min_kbps * 2 * ODF_MAX; in dsi_pll_get_params()
166 fvco_max = dsi->lane_max_kbps * 2 * ODF_MIN; in dsi_pll_get_params()
214 struct stm32_dsi_priv *dsi = dev_get_priv(dev); in dsi_phy_init() local
221 dsi_set(dsi, DSI_WRPCR, WRPCR_REGEN | WRPCR_BGREN); in dsi_phy_init()
222 ret = readl_poll_timeout(dsi->base + DSI_WISR, val, val & WISR_RRS, in dsi_phy_init()
230 dsi_set(dsi, DSI_WRPCR, WRPCR_PLLEN); in dsi_phy_init()
231 ret = readl_poll_timeout(dsi->base + DSI_WISR, val, val & WISR_PLLLS, in dsi_phy_init()
245 struct stm32_dsi_priv *dsi = dev_get_priv(dev); in dsi_phy_post_set_mode() local
247 dev_dbg(dev, "Set mode %p enable %ld\n", dsi, in dsi_phy_post_set_mode()
250 if (!dsi) in dsi_phy_post_set_mode()
260 dsi_set(dsi, DSI_WCR, WCR_DSIEN); in dsi_phy_post_set_mode()
262 dsi_clear(dsi, DSI_WCR, WCR_DSIEN); in dsi_phy_post_set_mode()
270 struct stm32_dsi_priv *dsi = dev_get_priv(dev); in dsi_get_lane_mbps() local
276 dsi->lane_min_kbps = LANE_MIN_KBPS; in dsi_get_lane_mbps()
277 dsi->lane_max_kbps = LANE_MAX_KBPS; in dsi_get_lane_mbps()
278 if (dsi->hw_version == HWVER_131) { in dsi_get_lane_mbps()
279 dsi->lane_min_kbps *= 2; in dsi_get_lane_mbps()
280 dsi->lane_max_kbps *= 2; in dsi_get_lane_mbps()
283 pll_in_khz = dsi->pllref_clk / 1000; in dsi_get_lane_mbps()
290 if (pll_out_khz > dsi->lane_max_kbps) { in dsi_get_lane_mbps()
291 pll_out_khz = dsi->lane_max_kbps; in dsi_get_lane_mbps()
294 if (pll_out_khz < dsi->lane_min_kbps) { in dsi_get_lane_mbps()
295 pll_out_khz = dsi->lane_min_kbps; in dsi_get_lane_mbps()
303 ret = dsi_pll_get_params(dsi, pll_in_khz, pll_out_khz, in dsi_get_lane_mbps()
314 dsi_update_bits(dsi, DSI_WRPCR, WRPCR_NDIV | WRPCR_IDF | WRPCR_ODF, in dsi_get_lane_mbps()
319 dsi_update_bits(dsi, DSI_WPCR0, WPCR0_UIX4, val); in dsi_get_lane_mbps()
322 dsi_clear(dsi, DSI_WCFGR, WCFGR_DSIM); in dsi_get_lane_mbps()
325 dsi_update_bits(dsi, DSI_WCFGR, WCFGR_COLMUX, in dsi_get_lane_mbps()