#define LVS_OUTPUT_POLARITY_LOW BIT(28)
#define LSC0_OUTPUT_POLARITY_LOW BIT(24)
+/* DC_COM_PIN_OUTPUT_POLARITY3 0x309 */
+#define LSPI_OUTPUT_POLARITY_LOW BIT(8)
+
/* DC_COM_PIN_OUTPUT_SELECT6 0x31a */
#define LDC_OUTPUT_SELECT_V_PULSE1 BIT(14) /* 100b */
else
value &= ~LVS_OUTPUT_POLARITY_LOW;
+ /* configure pixel data signal polarity */
+ if (dt->flags & DISPLAY_FLAGS_PIXDATA_POSEDGE)
+ value &= ~LSC0_OUTPUT_POLARITY_LOW;
+ else
+ value |= LSC0_OUTPUT_POLARITY_LOW;
+
writel(value, &com->pin_output_polarity[1]);
+ /* configure data enable signal polarity */
+ value = readl(&com->pin_output_polarity[3]);
+
+ if (dt->flags & DISPLAY_FLAGS_DE_LOW)
+ value |= LSPI_OUTPUT_POLARITY_LOW;
+ else
+ value &= ~LSPI_OUTPUT_POLARITY_LOW;
+
+ writel(value, &com->pin_output_polarity[3]);
+
for (i = 0; i < PIN_OUTPUT_SEL_COUNT; i++)
writel(rgb_sel_tab[i], &com->pin_output_sel[i]);
}