On 06/06/2023 09:36, Paulo Pavacic wrote: >>> + >>> + if (IS_ERR(panel_data->reset)) { >>> + ret = PTR_ERR(panel_data->reset); >>> + dev_err(dev, >>> + "error: probe: get reset GPIO: (%d) Check the fdt\n", >>> + ret); >> >> return dev_err_probe >> >>> + return ret; >>> + } >>> + >>> + mipi_dsi_set_drvdata(dsi, panel_data); >>> + >>> + dsi->format = MIPI_DSI_FMT_RGB888; >>> + dsi->mode_flags = MIPI_DSI_CLOCK_NON_CONTINUOUS | >>> + MIPI_DSI_MODE_VSYNC_FLUSH | MIPI_DSI_MODE_VIDEO_HSE | >>> + MIPI_DSI_MODE_NO_EOT_PACKET | >>> + MIPI_DSI_MODE_VIDEO_SYNC_PULSE | MIPI_DSI_MODE_VIDEO; >>> + dsi->lanes = 2; >>> + >>> + gpiod_set_value_cansleep(panel_data->reset, 1); >> >> So you leave the panel in reset state? > yes Then why do you initialize GPIO to bring it out of reset and them immediately put into reset back? Just keep it in reset. Best regards, Krzysztof