Lines Matching refs:mcu_panel

263 	struct rockchip_mcu_panel *mcu_panel = to_rockchip_mcu_panel(panel);  in rockchip_mcu_panel_prepare()  local
266 if (mcu_panel->prepared) in rockchip_mcu_panel_prepare()
269 if (dm_gpio_is_valid(&mcu_panel->enable_gpio)) in rockchip_mcu_panel_prepare()
270 dm_gpio_set_value(&mcu_panel->enable_gpio, 1); in rockchip_mcu_panel_prepare()
272 if (mcu_panel->desc->delay.prepare) in rockchip_mcu_panel_prepare()
273 mdelay(mcu_panel->desc->delay.prepare); in rockchip_mcu_panel_prepare()
275 if (dm_gpio_is_valid(&mcu_panel->reset_gpio)) in rockchip_mcu_panel_prepare()
276 dm_gpio_set_value(&mcu_panel->reset_gpio, 1); in rockchip_mcu_panel_prepare()
278 if (mcu_panel->desc->delay.reset) in rockchip_mcu_panel_prepare()
279 mdelay(mcu_panel->desc->delay.reset); in rockchip_mcu_panel_prepare()
281 if (dm_gpio_is_valid(&mcu_panel->reset_gpio)) in rockchip_mcu_panel_prepare()
282 dm_gpio_set_value(&mcu_panel->reset_gpio, 0); in rockchip_mcu_panel_prepare()
284 if (mcu_panel->desc->delay.init) in rockchip_mcu_panel_prepare()
285 mdelay(mcu_panel->desc->delay.init); in rockchip_mcu_panel_prepare()
287 if (mcu_panel->desc->init_seq) { in rockchip_mcu_panel_prepare()
288 ret = rockchip_mcu_panel_send_cmds(panel->state, mcu_panel->desc->init_seq); in rockchip_mcu_panel_prepare()
293 mcu_panel->prepared = true; in rockchip_mcu_panel_prepare()
298 struct rockchip_mcu_panel *mcu_panel = to_rockchip_mcu_panel(panel); in rockchip_mcu_panel_unprepare() local
301 if (!mcu_panel->prepared) in rockchip_mcu_panel_unprepare()
304 if (mcu_panel->desc->exit_seq) { in rockchip_mcu_panel_unprepare()
305 ret = rockchip_mcu_panel_send_cmds(panel->state, mcu_panel->desc->exit_seq); in rockchip_mcu_panel_unprepare()
310 if (dm_gpio_is_valid(&mcu_panel->reset_gpio)) in rockchip_mcu_panel_unprepare()
311 dm_gpio_set_value(&mcu_panel->reset_gpio, 1); in rockchip_mcu_panel_unprepare()
313 if (dm_gpio_is_valid(&mcu_panel->enable_gpio)) in rockchip_mcu_panel_unprepare()
314 dm_gpio_set_value(&mcu_panel->enable_gpio, 0); in rockchip_mcu_panel_unprepare()
316 if (mcu_panel->desc->delay.unprepare) in rockchip_mcu_panel_unprepare()
317 mdelay(mcu_panel->desc->delay.unprepare); in rockchip_mcu_panel_unprepare()
319 mcu_panel->prepared = false; in rockchip_mcu_panel_unprepare()
324 struct rockchip_mcu_panel *mcu_panel = to_rockchip_mcu_panel(panel); in rockchip_mcu_panel_enable() local
326 if (mcu_panel->enabled) in rockchip_mcu_panel_enable()
329 if (mcu_panel->desc->delay.enable) in rockchip_mcu_panel_enable()
330 mdelay(mcu_panel->desc->delay.enable); in rockchip_mcu_panel_enable()
332 if (mcu_panel->backlight) in rockchip_mcu_panel_enable()
333 backlight_enable(mcu_panel->backlight); in rockchip_mcu_panel_enable()
335 mcu_panel->enabled = true; in rockchip_mcu_panel_enable()
340 struct rockchip_mcu_panel *mcu_panel = to_rockchip_mcu_panel(panel); in rockchip_mcu_panel_disable() local
342 if (!mcu_panel->enabled) in rockchip_mcu_panel_disable()
345 if (mcu_panel->backlight) in rockchip_mcu_panel_disable()
346 backlight_disable(mcu_panel->backlight); in rockchip_mcu_panel_disable()
348 if (mcu_panel->desc->delay.disable) in rockchip_mcu_panel_disable()
349 mdelay(mcu_panel->desc->delay.disable); in rockchip_mcu_panel_disable()
351 mcu_panel->enabled = false; in rockchip_mcu_panel_disable()
405 static int rockchip_mcu_panel_init(struct rockchip_mcu_panel *mcu_panel, ofnode mcu_panel_node) in rockchip_mcu_panel_init() argument
412 &mcu_panel->enable_gpio, GPIOD_IS_OUT); in rockchip_mcu_panel_init()
419 &mcu_panel->reset_gpio, GPIOD_IS_OUT); in rockchip_mcu_panel_init()
425 mcu_panel->desc = malloc(sizeof(struct rockchip_mcu_panel_desc)); in rockchip_mcu_panel_init()
426 if (!mcu_panel->desc) in rockchip_mcu_panel_init()
429 mcu_panel->desc->power_invert = ofnode_read_bool(mcu_panel_node, "power-invert"); in rockchip_mcu_panel_init()
431 mcu_panel->desc->delay.prepare = ofnode_read_u32_default(mcu_panel_node, "prepare-delay-ms", 0); in rockchip_mcu_panel_init()
432mcu_panel->desc->delay.unprepare = ofnode_read_u32_default(mcu_panel_node, "unprepare-delay-ms", 0… in rockchip_mcu_panel_init()
433 mcu_panel->desc->delay.enable = ofnode_read_u32_default(mcu_panel_node, "enable-delay-ms", 0); in rockchip_mcu_panel_init()
434 mcu_panel->desc->delay.disable = ofnode_read_u32_default(mcu_panel_node, "disable-delay-ms", 0); in rockchip_mcu_panel_init()
435 mcu_panel->desc->delay.init = ofnode_read_u32_default(mcu_panel_node, "init-delay-ms", 0); in rockchip_mcu_panel_init()
436 mcu_panel->desc->delay.reset = ofnode_read_u32_default(mcu_panel_node, "reset-delay-ms", 0); in rockchip_mcu_panel_init()
438 mcu_panel->desc->bus_format = ofnode_read_u32_default(mcu_panel_node, "bus-format", in rockchip_mcu_panel_init()
440 mcu_panel->desc->bpc = ofnode_read_u32_default(mcu_panel_node, "bpc", 8); in rockchip_mcu_panel_init()
444 mcu_panel->desc->init_seq = calloc(1, sizeof(*mcu_panel->desc->init_seq)); in rockchip_mcu_panel_init()
445 if (!mcu_panel->desc->init_seq) in rockchip_mcu_panel_init()
448 ret = rockchip_mcu_panel_parse_cmds(data, len, mcu_panel->desc->init_seq); in rockchip_mcu_panel_init()
457 mcu_panel->desc->exit_seq = calloc(1, sizeof(*mcu_panel->desc->exit_seq)); in rockchip_mcu_panel_init()
458 if (!mcu_panel->desc->exit_seq) { in rockchip_mcu_panel_init()
463 ret = rockchip_mcu_panel_parse_cmds(data, len, mcu_panel->desc->exit_seq); in rockchip_mcu_panel_init()
473 free(mcu_panel->desc->exit_seq); in rockchip_mcu_panel_init()
475 free(mcu_panel->desc->init_seq); in rockchip_mcu_panel_init()
499 struct rockchip_mcu_panel *mcu_panel; in rockchip_rgb_probe() local
501 mcu_panel = malloc(sizeof(struct rockchip_mcu_panel)); in rockchip_rgb_probe()
502 if (!mcu_panel) { in rockchip_rgb_probe()
507 ret = rockchip_mcu_panel_init(mcu_panel, mcu_panel_node); in rockchip_rgb_probe()
520 &mcu_panel->backlight); in rockchip_rgb_probe()
526 mcu_panel->base.dev = dev; in rockchip_rgb_probe()
527 mcu_panel->base.bus_format = mcu_panel->desc->bus_format; in rockchip_rgb_probe()
528 mcu_panel->base.bpc = mcu_panel->desc->bpc; in rockchip_rgb_probe()
529 mcu_panel->base.funcs = &rockchip_mcu_panel_funcs; in rockchip_rgb_probe()
530 mcu_panel->enabled = false; in rockchip_rgb_probe()
531 mcu_panel->prepared = false; in rockchip_rgb_probe()
533 rgb->connector.panel = &mcu_panel->base; in rockchip_rgb_probe()