AnsweredAssumed Answered

Why IMX8QXP spend too much time to Initialization ldb

Question asked by shalan yang on Jan 2, 2019
Latest reply on Jan 4, 2019 by shalan yang

Why IMX8QXP spend too much time to Initialization ldb ? 

should can we delete the delay time ?or decrease the time ? the code is follow:

static const struct panel_desc jdi_tx26d202vm0bwa = {
.timings = &jdi_tx26d202vm0bwa_timing,
.num_timings = 1,
.bpc = 8,
.size = {
.width = 300,
.height = 150,
},
.delay = {
/*
* The panel spec recommends one second delay
* to the below items. However, it's a bit too
* long in pratical. Based on tests, it turns
* out 100 milliseconds is fine.
*/
.prepare = 100,
.enable = 100,
.unprepare = 100,
.disable = 100,
},
.bus_format = MEDIA_BUS_FMT_ARGB8888_1X32,//MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
};

 

static int panel_simple_prepare(struct drm_panel *panel)
{
struct panel_simple *p = to_panel_simple(panel);
int err;
if (p->prepared)
return 0;

err = regulator_enable(p->supply);
if (err < 0) {
dev_err(panel->dev, "failed to enable supply: %d\n", err);
return err;
}
if (p->enable_gpio)
gpiod_set_value_cansleep(p->enable_gpio, 1);

printk("%s===========\n",__FUNCTION__);
if (p->desc->delay.prepare)
msleep(p->desc->delay.prepare);
printk("%s============p->desc->delay.prepare=%u\n",__FUNCTION__,p->desc->delay.prepare);
p->prepared = true;

return 0;
}

console log:

.....

[ 0.404633] panel_simple_prepare===========
[ 0.511409] panel_simple_prepare============p->desc->delay.prepare=100

.....

 

why delay 100ms ? can we decrease it  to 10ms or less? 

I replace msleep(p->desc->delay.prepare) with msleep(10)  ,the OS could startup normally and the 

lvds can show normal, Is there any problem ?Anyone could help me ?

Outcomes