Lines Matching refs:rk628

79 static int dsi_panel_get_cmds(struct rk628 *rk628, struct device_node *dsi_np)  in dsi_panel_get_cmds()  argument
92 rk628->panel->on_cmds = kcalloc(1, sizeof(struct panel_cmds), GFP_KERNEL); in dsi_panel_get_cmds()
93 if (!rk628->panel->on_cmds) in dsi_panel_get_cmds()
96 err = dsi_panel_parse_cmds(data, len, rk628->panel->on_cmds); in dsi_panel_get_cmds()
98 dev_err(rk628->dev, "failed to parse dsi panel init sequence\n"); in dsi_panel_get_cmds()
106 rk628->panel->off_cmds = kcalloc(1, sizeof(struct panel_cmds), GFP_KERNEL); in dsi_panel_get_cmds()
107 if (!rk628->panel->off_cmds) { in dsi_panel_get_cmds()
112 err = dsi_panel_parse_cmds(data, len, rk628->panel->off_cmds); in dsi_panel_get_cmds()
114 dev_err(rk628->dev, "failed to parse dsi panel exit sequence\n"); in dsi_panel_get_cmds()
123 kfree(rk628->panel->off_cmds); in dsi_panel_get_cmds()
125 kfree(rk628->panel->on_cmds->cmds); in dsi_panel_get_cmds()
126 kfree(rk628->panel->on_cmds->buf); in dsi_panel_get_cmds()
128 kfree(rk628->panel->on_cmds); in dsi_panel_get_cmds()
133 int rk628_panel_info_get(struct rk628 *rk628, struct device_node *np) in rk628_panel_info_get() argument
136 struct device *dev = rk628->dev; in rk628_panel_info_get()
177 rk628->panel = panel; in rk628_panel_info_get()
179 if (rk628->output_mode == OUTPUT_MODE_DSI) { in rk628_panel_info_get()
180 ret = dsi_panel_get_cmds(rk628, np); in rk628_panel_info_get()
190 void rk628_panel_prepare(struct rk628 *rk628) in rk628_panel_prepare() argument
194 if (rk628->panel->supply) { in rk628_panel_prepare()
195 ret = regulator_enable(rk628->panel->supply); in rk628_panel_prepare()
197 dev_info(rk628->dev, "failed to enable panel power supply\n"); in rk628_panel_prepare()
200 if (rk628->panel->enable_gpio) { in rk628_panel_prepare()
201 gpiod_set_value(rk628->panel->enable_gpio, 0); in rk628_panel_prepare()
203 gpiod_set_value(rk628->panel->enable_gpio, 1); in rk628_panel_prepare()
207 if (rk628->panel->reset_gpio) { in rk628_panel_prepare()
208 gpiod_set_value(rk628->panel->reset_gpio, 0); in rk628_panel_prepare()
210 gpiod_set_value(rk628->panel->reset_gpio, 1); in rk628_panel_prepare()
212 gpiod_set_value(rk628->panel->reset_gpio, 0); in rk628_panel_prepare()
217 void rk628_panel_enable(struct rk628 *rk628) in rk628_panel_enable() argument
219 if (rk628->panel->backlight) in rk628_panel_enable()
220 backlight_enable(rk628->panel->backlight); in rk628_panel_enable()
223 void rk628_panel_unprepare(struct rk628 *rk628) in rk628_panel_unprepare() argument
226 if (rk628->panel->reset_gpio) { in rk628_panel_unprepare()
227 gpiod_set_value(rk628->panel->reset_gpio, 1); in rk628_panel_unprepare()
231 if (rk628->panel->enable_gpio) { in rk628_panel_unprepare()
232 gpiod_set_value(rk628->panel->enable_gpio, 0); in rk628_panel_unprepare()
236 if (rk628->panel->supply) in rk628_panel_unprepare()
237 regulator_disable(rk628->panel->supply); in rk628_panel_unprepare()
240 void rk628_panel_disable(struct rk628 *rk628) in rk628_panel_disable() argument
242 if (rk628->panel->backlight) in rk628_panel_disable()
243 backlight_disable(rk628->panel->backlight); in rk628_panel_disable()