Lines Matching full:panel

12 #include "panel.h"
86 np = of_find_node_by_name(dsi_np, "rk628-panel"); in dsi_panel_get_cmds()
90 data = of_get_property(np, "panel-init-sequence", &len); in dsi_panel_get_cmds()
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()
104 data = of_get_property(np, "panel-exit-sequence", &len); 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()
135 struct panel_simple *panel; in rk628_panel_info_get() local
140 panel = devm_kzalloc(dev, sizeof(struct panel_simple), GFP_KERNEL); in rk628_panel_info_get()
141 if (!panel) in rk628_panel_info_get()
144 panel->supply = devm_regulator_get(dev, "power"); in rk628_panel_info_get()
145 if (IS_ERR(panel->supply)) { in rk628_panel_info_get()
146 ret = PTR_ERR(panel->supply); in rk628_panel_info_get()
151 panel->enable_gpio = devm_gpiod_get_optional(dev, "panel-enable", GPIOD_OUT_LOW); in rk628_panel_info_get()
152 if (IS_ERR(panel->enable_gpio)) { in rk628_panel_info_get()
153 ret = PTR_ERR(panel->enable_gpio); in rk628_panel_info_get()
154 dev_err(dev, "failed to request panel enable GPIO: %d\n", ret); in rk628_panel_info_get()
158 panel->reset_gpio = devm_gpiod_get_optional(dev, "panel-reset", GPIOD_OUT_LOW); in rk628_panel_info_get()
159 if (IS_ERR(panel->reset_gpio)) { in rk628_panel_info_get()
160 ret = PTR_ERR(panel->reset_gpio); in rk628_panel_info_get()
161 dev_err(dev, "failed to request panel reset GPIO: %d\n", ret); in rk628_panel_info_get()
165 backlight = of_parse_phandle(dev->of_node, "panel-backlight", 0); in rk628_panel_info_get()
167 panel->backlight = of_find_backlight_by_node(backlight); in rk628_panel_info_get()
170 if (!panel->backlight) { in rk628_panel_info_get()
177 rk628->panel = panel; in rk628_panel_info_get()
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()
219 if (rk628->panel->backlight) in rk628_panel_enable()
220 backlight_enable(rk628->panel->backlight); in rk628_panel_enable()
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()
242 if (rk628->panel->backlight) in rk628_panel_disable()
243 backlight_disable(rk628->panel->backlight); in rk628_panel_disable()