Lines Matching +full:0 +full:xd800
25 #define MCS_ADRSFT 0x0000 /* Address Shift Function */
26 #define MCS_PANSET 0xB3A6 /* Panel Type Setting */
27 #define MCS_SD_CTRL 0xC0A2 /* Source Driver Timing Setting */
28 #define MCS_P_DRV_M 0xC0B4 /* Panel Driving Mode */
29 #define MCS_OSC_ADJ 0xC181 /* Oscillator Adjustment for Idle/Normal mode */
30 #define MCS_RGB_VID_SET 0xC1A1 /* RGB Video Mode Setting */
31 #define MCS_SD_PCH_CTRL 0xC480 /* Source Driver Precharge Control */
32 #define MCS_NO_DOC1 0xC48A /* Command not documented */
33 #define MCS_PWR_CTRL1 0xC580 /* Power Control Setting 1 */
34 #define MCS_PWR_CTRL2 0xC590 /* Power Control Setting 2 for Normal Mode */
35 #define MCS_PWR_CTRL4 0xC5B0 /* Power Control Setting 4 for DC Voltage */
36 #define MCS_PANCTRLSET1 0xCB80 /* Panel Control Setting 1 */
37 #define MCS_PANCTRLSET2 0xCB90 /* Panel Control Setting 2 */
38 #define MCS_PANCTRLSET3 0xCBA0 /* Panel Control Setting 3 */
39 #define MCS_PANCTRLSET4 0xCBB0 /* Panel Control Setting 4 */
40 #define MCS_PANCTRLSET5 0xCBC0 /* Panel Control Setting 5 */
41 #define MCS_PANCTRLSET6 0xCBD0 /* Panel Control Setting 6 */
42 #define MCS_PANCTRLSET7 0xCBE0 /* Panel Control Setting 7 */
43 #define MCS_PANCTRLSET8 0xCBF0 /* Panel Control Setting 8 */
44 #define MCS_PANU2D1 0xCC80 /* Panel U2D Setting 1 */
45 #define MCS_PANU2D2 0xCC90 /* Panel U2D Setting 2 */
46 #define MCS_PANU2D3 0xCCA0 /* Panel U2D Setting 3 */
47 #define MCS_PAND2U1 0xCCB0 /* Panel D2U Setting 1 */
48 #define MCS_PAND2U2 0xCCC0 /* Panel D2U Setting 2 */
49 #define MCS_PAND2U3 0xCCD0 /* Panel D2U Setting 3 */
50 #define MCS_GOAVST 0xCE80 /* GOA VST Setting */
51 #define MCS_GOACLKA1 0xCEA0 /* GOA CLKA1 Setting */
52 #define MCS_GOACLKA3 0xCEB0 /* GOA CLKA3 Setting */
53 #define MCS_GOAECLK 0xCFC0 /* GOA ECLK Setting */
54 #define MCS_NO_DOC2 0xCFD0 /* Command not documented */
55 #define MCS_GVDDSET 0xD800 /* GVDD/NGVDD */
56 #define MCS_VCOMDC 0xD900 /* VCOM Voltage Setting */
57 #define MCS_GMCT2_2P 0xE100 /* Gamma Correction 2.2+ Setting */
58 #define MCS_GMCT2_2N 0xE200 /* Gamma Correction 2.2- Setting */
59 #define MCS_NO_DOC3 0xF5B6 /* Command not documented */
60 #define MCS_CMD2_ENA1 0xFF00 /* Enable Access Command2 "CMD2" */
61 #define MCS_CMD2_ENA2 0xFF80 /* Enable Access Orise Command2 */
83 .flags = 0,
98 if (mipi_dsi_dcs_write_buffer(dsi, data, len) < 0) in otm8009a_dcs_write_buf()
124 dcs_write_seq(ctx, MCS_ADRSFT, (cmd) & 0xFF); \
134 dcs_write_cmd_at(ctx, MCS_CMD2_ENA1, 0x80, 0x09, 0x01); in otm8009a_init_sequence()
137 dcs_write_cmd_at(ctx, MCS_CMD2_ENA2, 0x80, 0x09); in otm8009a_init_sequence()
139 dcs_write_cmd_at(ctx, MCS_SD_PCH_CTRL, 0x30); in otm8009a_init_sequence()
142 dcs_write_cmd_at(ctx, MCS_NO_DOC1, 0x40); in otm8009a_init_sequence()
145 dcs_write_cmd_at(ctx, MCS_PWR_CTRL4 + 1, 0xA9); in otm8009a_init_sequence()
146 dcs_write_cmd_at(ctx, MCS_PWR_CTRL2 + 1, 0x34); in otm8009a_init_sequence()
147 dcs_write_cmd_at(ctx, MCS_P_DRV_M, 0x50); in otm8009a_init_sequence()
148 dcs_write_cmd_at(ctx, MCS_VCOMDC, 0x4E); in otm8009a_init_sequence()
149 dcs_write_cmd_at(ctx, MCS_OSC_ADJ, 0x66); /* 65Hz */ in otm8009a_init_sequence()
150 dcs_write_cmd_at(ctx, MCS_PWR_CTRL2 + 2, 0x01); in otm8009a_init_sequence()
151 dcs_write_cmd_at(ctx, MCS_PWR_CTRL2 + 5, 0x34); in otm8009a_init_sequence()
152 dcs_write_cmd_at(ctx, MCS_PWR_CTRL2 + 4, 0x33); in otm8009a_init_sequence()
153 dcs_write_cmd_at(ctx, MCS_GVDDSET, 0x79, 0x79); in otm8009a_init_sequence()
154 dcs_write_cmd_at(ctx, MCS_SD_CTRL + 1, 0x1B); in otm8009a_init_sequence()
155 dcs_write_cmd_at(ctx, MCS_PWR_CTRL1 + 2, 0x83); in otm8009a_init_sequence()
156 dcs_write_cmd_at(ctx, MCS_SD_PCH_CTRL + 1, 0x83); in otm8009a_init_sequence()
157 dcs_write_cmd_at(ctx, MCS_RGB_VID_SET, 0x0E); in otm8009a_init_sequence()
158 dcs_write_cmd_at(ctx, MCS_PANSET, 0x00, 0x01); in otm8009a_init_sequence()
160 dcs_write_cmd_at(ctx, MCS_GOAVST, 0x85, 0x01, 0x00, 0x84, 0x01, 0x00); in otm8009a_init_sequence()
161 dcs_write_cmd_at(ctx, MCS_GOACLKA1, 0x18, 0x04, 0x03, 0x39, 0x00, 0x00, in otm8009a_init_sequence()
162 0x00, 0x18, 0x03, 0x03, 0x3A, 0x00, 0x00, 0x00); in otm8009a_init_sequence()
163 dcs_write_cmd_at(ctx, MCS_GOACLKA3, 0x18, 0x02, 0x03, 0x3B, 0x00, 0x00, in otm8009a_init_sequence()
164 0x00, 0x18, 0x01, 0x03, 0x3C, 0x00, 0x00, 0x00); in otm8009a_init_sequence()
165 dcs_write_cmd_at(ctx, MCS_GOAECLK, 0x01, 0x01, 0x20, 0x20, 0x00, 0x00, in otm8009a_init_sequence()
166 0x01, 0x02, 0x00, 0x00); in otm8009a_init_sequence()
168 dcs_write_cmd_at(ctx, MCS_NO_DOC2, 0x00); in otm8009a_init_sequence()
170 dcs_write_cmd_at(ctx, MCS_PANCTRLSET1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); in otm8009a_init_sequence()
171 dcs_write_cmd_at(ctx, MCS_PANCTRLSET2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, in otm8009a_init_sequence()
172 0, 0, 0, 0, 0); in otm8009a_init_sequence()
173 dcs_write_cmd_at(ctx, MCS_PANCTRLSET3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, in otm8009a_init_sequence()
174 0, 0, 0, 0, 0); in otm8009a_init_sequence()
175 dcs_write_cmd_at(ctx, MCS_PANCTRLSET4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); in otm8009a_init_sequence()
176 dcs_write_cmd_at(ctx, MCS_PANCTRLSET5, 0, 4, 4, 4, 4, 4, 0, 0, 0, 0, in otm8009a_init_sequence()
177 0, 0, 0, 0, 0); in otm8009a_init_sequence()
178 dcs_write_cmd_at(ctx, MCS_PANCTRLSET6, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, in otm8009a_init_sequence()
179 4, 0, 0, 0, 0); in otm8009a_init_sequence()
180 dcs_write_cmd_at(ctx, MCS_PANCTRLSET7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); in otm8009a_init_sequence()
181 dcs_write_cmd_at(ctx, MCS_PANCTRLSET8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, in otm8009a_init_sequence()
182 0xFF, 0xFF, 0xFF, 0xFF, 0xFF); in otm8009a_init_sequence()
184 dcs_write_cmd_at(ctx, MCS_PANU2D1, 0x00, 0x26, 0x09, 0x0B, 0x01, 0x25, in otm8009a_init_sequence()
185 0x00, 0x00, 0x00, 0x00); in otm8009a_init_sequence()
186 dcs_write_cmd_at(ctx, MCS_PANU2D2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, in otm8009a_init_sequence()
187 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0A, 0x0C, 0x02); in otm8009a_init_sequence()
188 dcs_write_cmd_at(ctx, MCS_PANU2D3, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, in otm8009a_init_sequence()
189 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00); in otm8009a_init_sequence()
190 dcs_write_cmd_at(ctx, MCS_PAND2U1, 0x00, 0x25, 0x0C, 0x0A, 0x02, 0x26, in otm8009a_init_sequence()
191 0x00, 0x00, 0x00, 0x00); in otm8009a_init_sequence()
192 dcs_write_cmd_at(ctx, MCS_PAND2U2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, in otm8009a_init_sequence()
193 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x0B, 0x09, 0x01); in otm8009a_init_sequence()
194 dcs_write_cmd_at(ctx, MCS_PAND2U3, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, in otm8009a_init_sequence()
195 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00); in otm8009a_init_sequence()
197 dcs_write_cmd_at(ctx, MCS_PWR_CTRL1 + 1, 0x66); in otm8009a_init_sequence()
199 dcs_write_cmd_at(ctx, MCS_NO_DOC3, 0x06); in otm8009a_init_sequence()
201 dcs_write_cmd_at(ctx, MCS_GMCT2_2P, 0x00, 0x09, 0x0F, 0x0E, 0x07, 0x10, in otm8009a_init_sequence()
202 0x0B, 0x0A, 0x04, 0x07, 0x0B, 0x08, 0x0F, 0x10, 0x0A, in otm8009a_init_sequence()
203 0x01); in otm8009a_init_sequence()
204 dcs_write_cmd_at(ctx, MCS_GMCT2_2N, 0x00, 0x09, 0x0F, 0x0E, 0x07, 0x10, in otm8009a_init_sequence()
205 0x0B, 0x0A, 0x04, 0x07, 0x0B, 0x08, 0x0F, 0x10, 0x0A, in otm8009a_init_sequence()
206 0x01); in otm8009a_init_sequence()
209 dcs_write_cmd_at(ctx, MCS_CMD2_ENA1, 0xFF, 0xFF, 0xFF); in otm8009a_init_sequence()
223 dcs_write_seq(ctx, MIPI_DCS_SET_ADDRESS_MODE, 0x00); in otm8009a_init_sequence()
225 ret = mipi_dsi_dcs_set_column_address(dsi, 0, in otm8009a_init_sequence()
230 ret = mipi_dsi_dcs_set_page_address(dsi, 0, default_mode.vdisplay - 1); in otm8009a_init_sequence()
241 dcs_write_seq(ctx, MIPI_DCS_WRITE_POWER_SAVE, 0x00); in otm8009a_init_sequence()
257 return 0; in otm8009a_init_sequence()
267 return 0; /* This is not an issue so we return 0 here */ in otm8009a_disable()
283 return 0; in otm8009a_disable()
291 return 0; in otm8009a_unprepare()
302 return 0; in otm8009a_unprepare()
311 return 0; in otm8009a_prepare()
314 if (ret < 0) { in otm8009a_prepare()
320 gpiod_set_value_cansleep(ctx->reset_gpio, 0); in otm8009a_prepare()
323 gpiod_set_value_cansleep(ctx->reset_gpio, 0); in otm8009a_prepare()
333 return 0; in otm8009a_prepare()
341 return 0; in otm8009a_enable()
347 return 0; in otm8009a_enable()
401 data[0] = MIPI_DCS_SET_DISPLAY_BRIGHTNESS; in otm8009a_backlight_update_status()
406 data[1] = 0x24; in otm8009a_backlight_update_status()
410 data[1] = 0; in otm8009a_backlight_update_status()
414 data[0] = MIPI_DCS_WRITE_CONTROL_DISPLAY; in otm8009a_backlight_update_status()
417 return 0; in otm8009a_backlight_update_status()
478 if (ret < 0) { in otm8009a_probe()
484 return 0; in otm8009a_probe()
494 return 0; in otm8009a_remove()