Lines Matching +full:panel +full:- +full:timing

3  * Author: Eric Gao <eric.gao@rock-chips.com>
5 * SPDX-License-Identifier: GPL-2.0+
13 #include <panel.h>
20 #include <dm/uclass-internal.h>
35 struct rk3288_grf *grf = priv->grf; in rk_mipi_dsi_source_select()
39 switch (disp_uc_plat->source_id) { in rk_mipi_dsi_source_select()
41 rk_clrsetreg(&grf->soc_con6, RK3288_DSI0_LCDC_SEL_MASK, in rk_mipi_dsi_source_select()
46 rk_clrsetreg(&grf->soc_con6, RK3288_DSI0_LCDC_SEL_MASK, in rk_mipi_dsi_source_select()
52 return -EINVAL; in rk_mipi_dsi_source_select()
62 struct rk3288_grf *grf = priv->grf; in rk_mipi_dphy_mode_set()
67 rk_clrsetreg(&grf->soc_con8, RK3288_DPHY_TX0_RXMODE_MASK, val); in rk_mipi_dphy_mode_set()
72 rk_clrsetreg(&grf->soc_con8, in rk_mipi_dphy_mode_set()
78 rk_clrsetreg(&grf->soc_con8, in rk_mipi_dphy_mode_set()
88 const struct display_timing *timing) in rk_mipi_enable() argument
94 priv->ref_clk = 24 * MHz; in rk_mipi_enable()
95 priv->sys_clk = priv->ref_clk; in rk_mipi_enable()
96 priv->pix_clk = timing->pixelclock.typ; in rk_mipi_enable()
97 priv->phy_clk = priv->pix_clk * 6; in rk_mipi_enable()
98 priv->txbyte_clk = priv->phy_clk / 8; in rk_mipi_enable()
99 priv->txesc_clk = 20 * MHz; in rk_mipi_enable()
107 /* Config and enable mipi dsi according to timing */ in rk_mipi_enable()
108 ret = rk_mipi_dsi_enable(dev, timing); in rk_mipi_enable()
124 ret = panel_enable_backlight(priv->panel); in rk_mipi_enable()
138 priv->grf = syscon_get_first_range(ROCKCHIP_SYSCON_GRF); in rk_mipi_ofdata_to_platdata()
139 if (IS_ERR(priv->grf)) { in rk_mipi_ofdata_to_platdata()
141 __func__, priv->grf); in rk_mipi_ofdata_to_platdata()
142 return -ENXIO; in rk_mipi_ofdata_to_platdata()
144 priv->regs = dev_read_addr(dev); in rk_mipi_ofdata_to_platdata()
145 if (priv->regs == FDT_ADDR_T_NONE) { in rk_mipi_ofdata_to_platdata()
147 priv->regs); in rk_mipi_ofdata_to_platdata()
148 return -ENXIO; in rk_mipi_ofdata_to_platdata()
155 * Probe function: check panel existence and readingit's timing. Then config
156 * mipi dsi controller and enable it according to the timing parameter.
163 ret = uclass_get_device_by_phandle(UCLASS_PANEL, dev, "rockchip,panel", in rk_mipi_probe()
164 &priv->panel); in rk_mipi_probe()
166 debug("%s: Can not find panel (err=%d)\n", __func__, ret); in rk_mipi_probe()