#include "imx-drm.h"
#define DRIVER_NAME "nwl_dsi-imx"
-#define NO_CLK_RESET
/* 8MQ SRC specific registers */
#define SRC_MIPIPHY_RCR 0x28
u32 instance;
u32 sync_pol;
u32 power_on_delay;
+ bool no_clk_reset;
bool enabled;
bool suspended;
};
static int imx8mq_dsi_poweroff(struct imx_mipi_dsi *dsi)
{
-#ifndef NO_CLK_RESET
regmap_update_bits(dsi->reset, SRC_MIPIPHY_RCR,
PCLK_RESET_N, 0);
regmap_update_bits(dsi->reset, SRC_MIPIPHY_RCR,
RESET_BYTE_N, 0);
regmap_update_bits(dsi->reset, SRC_MIPIPHY_RCR,
DPI_RESET_N, 0);
-#endif
return 0;
}
DRM_DEV_DEBUG_DRIVER(dev, "id = %s\n", (dsi->instance)?"DSI1":"DSI0");
- devtype->poweroff(dsi);
+ if (!dsi->no_clk_reset)
+ devtype->poweroff(dsi);
imx_nwl_dsi_set_clocks(dsi, false);
IMX8MQ_GPR13_MIPI_MUX_SEL,
mux_val);
+ dsi->no_clk_reset = of_property_read_bool(np, "no_clk_reset");
+
return 0;
}