Lines Matching +full:0 +full:x00
46 if (ret < 0) { in otm8009a_dcs_write()
47 LOG_ERR("DCS 0x%x write failed! (%d)", cmd, ret); in otm8009a_dcs_write()
51 return 0; in otm8009a_dcs_write()
60 scmd = cmd & 0xFF; in otm8009a_mcs_write()
62 if (ret < 0) { in otm8009a_mcs_write()
67 if (ret < 0) { in otm8009a_mcs_write()
71 return 0; in otm8009a_mcs_write()
77 uint32_t id = 0; in otm8009a_check_id()
87 LOG_ERR("ID 0x%x (should 0x%x)", id, OTM8009A_ID1); in otm8009a_check_id()
91 return 0; in otm8009a_check_id()
100 static const uint8_t pwr_ctrl2[] = {0x96, 0x34, 0x01, 0x33, 0x33, 0x34, 0x33}; in otm8009a_configure()
101 static const uint8_t sd_ctrl[] = {0x0D, 0x1B, 0x02, 0x01, 0x3C, 0x08}; in otm8009a_configure()
103 0x85, 0x01, 0x00, 0x84, 0x01, 0x00, 0x81, 0x01, 0x28, 0x82, 0x01, 0x28 in otm8009a_configure()
105 static const uint8_t goaclka1[] = {0x18, 0x04, 0x03, 0x39, 0x00, 0x00, 0x00}; in otm8009a_configure()
106 static const uint8_t goaclka2[] = {0x18, 0x03, 0x03, 0x3A, 0x00, 0x00, 0x00}; in otm8009a_configure()
107 static const uint8_t goaclka3[] = {0x18, 0x02, 0x03, 0x3B, 0x00, 0x00, 0x00}; in otm8009a_configure()
108 static const uint8_t goaclka4[] = {0x18, 0x01, 0x03, 0x3C, 0x00, 0x00, 0x00}; in otm8009a_configure()
109 static const uint8_t goaeclk[] = {0x01, 0x01, 0x20, 0x20, 0x00, 0x00}; in otm8009a_configure()
111 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 in otm8009a_configure()
114 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, in otm8009a_configure()
115 0x00 in otm8009a_configure()
118 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, in otm8009a_configure()
119 0x00 in otm8009a_configure()
122 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 in otm8009a_configure()
125 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, in otm8009a_configure()
126 0x00 in otm8009a_configure()
129 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, in otm8009a_configure()
130 0x00 in otm8009a_configure()
133 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 in otm8009a_configure()
136 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF in otm8009a_configure()
139 0x00, 0x26, 0x09, 0x0B, 0x01, 0x25, 0x00, 0x00, 0x00, 0x00 in otm8009a_configure()
142 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0A, 0x0C, in otm8009a_configure()
143 0x02 in otm8009a_configure()
146 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, in otm8009a_configure()
147 0x00 in otm8009a_configure()
150 0x00, 0x25, 0x0C, 0x0A, 0x02, 0x26, 0x00, 0x00, 0x00, 0x00 in otm8009a_configure()
153 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x0B, 0x09, in otm8009a_configure()
154 0x01 in otm8009a_configure()
157 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, in otm8009a_configure()
158 0x00 in otm8009a_configure()
161 0x00, 0x09, 0x0F, 0x0E, 0x07, 0x10, 0x0B, 0x0A, 0x04, 0x07, 0x0B, 0x08, 0x0F, 0x10, in otm8009a_configure()
162 0x0A, 0x01 in otm8009a_configure()
165 0x00, 0x09, 0x0F, 0x0E, 0x07, 0x10, 0x0B, 0x0A, 0x04, 0x07, 0x0B, 0x08, 0x0F, 0x10, in otm8009a_configure()
166 0x0A, 0x01 in otm8009a_configure()
170 buf[0] = 0x80; in otm8009a_configure()
171 buf[1] = 0x09; in otm8009a_configure()
172 buf[2] = 0x01; in otm8009a_configure()
174 if (ret < 0) { in otm8009a_configure()
179 buf[0] = 0x80; in otm8009a_configure()
180 buf[1] = 0x09; in otm8009a_configure()
182 if (ret < 0) { in otm8009a_configure()
187 buf[0] = 0x30; in otm8009a_configure()
188 buf[1] = 0x8A; in otm8009a_configure()
190 if (ret < 0) { in otm8009a_configure()
195 buf[0] = 0x40; in otm8009a_configure()
197 if (ret < 0) { in otm8009a_configure()
203 buf[0] = 0x04; in otm8009a_configure()
204 buf[1] = 0xA9; in otm8009a_configure()
206 if (ret < 0) { in otm8009a_configure()
213 /* set pump 4&5 x6 (ONLY VALID when PUMP4_EN_ASDM_HV = "0") */ in otm8009a_configure()
216 if (ret < 0) { in otm8009a_configure()
222 buf[0] = 0x50; in otm8009a_configure()
224 if (ret < 0) { in otm8009a_configure()
230 buf[0] = 0x4E; in otm8009a_configure()
232 if (ret < 0) { in otm8009a_configure()
238 buf[0] = 0x66; in otm8009a_configure()
240 if (ret < 0) { in otm8009a_configure()
245 buf[0] = 0x08; in otm8009a_configure()
247 if (ret < 0) { in otm8009a_configure()
252 buf[0] = 0x79; in otm8009a_configure()
253 buf[1] = 0x79; in otm8009a_configure()
255 if (ret < 0) { in otm8009a_configure()
261 if (ret < 0) { in otm8009a_configure()
266 buf[0] = 0x00; in otm8009a_configure()
267 buf[1] = 0x01; in otm8009a_configure()
269 if (ret < 0) { in otm8009a_configure()
275 if (ret < 0) { in otm8009a_configure()
281 if (ret < 0) { in otm8009a_configure()
287 if (ret < 0) { in otm8009a_configure()
293 if (ret < 0) { in otm8009a_configure()
299 if (ret < 0) { in otm8009a_configure()
305 if (ret < 0) { in otm8009a_configure()
310 buf[0] = 0x01; in otm8009a_configure()
312 if (ret < 0) { in otm8009a_configure()
317 buf[0] = 0x02; in otm8009a_configure()
318 buf[1] = 0x00; in otm8009a_configure()
319 buf[2] = 0x00; in otm8009a_configure()
321 if (ret < 0) { in otm8009a_configure()
326 buf[0] = 0x00; in otm8009a_configure()
328 if (ret < 0) { in otm8009a_configure()
334 if (ret < 0) { in otm8009a_configure()
339 if (ret < 0) { in otm8009a_configure()
344 if (ret < 0) { in otm8009a_configure()
349 if (ret < 0) { in otm8009a_configure()
354 if (ret < 0) { in otm8009a_configure()
359 if (ret < 0) { in otm8009a_configure()
364 if (ret < 0) { in otm8009a_configure()
369 if (ret < 0) { in otm8009a_configure()
374 if (ret < 0) { in otm8009a_configure()
379 if (ret < 0) { in otm8009a_configure()
384 if (ret < 0) { in otm8009a_configure()
389 if (ret < 0) { in otm8009a_configure()
394 if (ret < 0) { in otm8009a_configure()
399 if (ret < 0) { in otm8009a_configure()
405 buf[0] = 0x08; in otm8009a_configure()
406 buf[1] = 0x66; in otm8009a_configure()
407 buf[2] = 0x83; in otm8009a_configure()
408 buf[3] = 0x00; in otm8009a_configure()
410 if (ret < 0) { in otm8009a_configure()
415 buf[0] = 0x06; in otm8009a_configure()
417 if (ret < 0) { in otm8009a_configure()
423 buf[0] = 0x06; in otm8009a_configure()
425 if (ret < 0) { in otm8009a_configure()
431 if (ret < 0) { in otm8009a_configure()
437 if (ret < 0) { in otm8009a_configure()
442 buf[0] = 0xFF; in otm8009a_configure()
443 buf[1] = 0xFF; in otm8009a_configure()
444 buf[2] = 0xFF; in otm8009a_configure()
446 if (ret < 0) { in otm8009a_configure()
451 ret = otm8009a_dcs_write(dev, MIPI_DCS_EXIT_SLEEP_MODE, NULL, 0); in otm8009a_configure()
452 if (ret < 0) { in otm8009a_configure()
461 buf[0] = MIPI_DCS_PIXEL_FORMAT_16BIT; in otm8009a_configure()
464 buf[0] = MIPI_DCS_PIXEL_FORMAT_24BIT; in otm8009a_configure()
467 LOG_ERR("Unsupported pixel format 0x%x!", data->dsi_pixel_format); in otm8009a_configure()
472 if (ret < 0) { in otm8009a_configure()
478 buf[0] = 0x00; in otm8009a_configure()
480 buf[0] = MIPI_DCS_ADDRESS_MODE_MIRROR_X | MIPI_DCS_ADDRESS_MODE_SWAP_XY; in otm8009a_configure()
482 buf[0] = MIPI_DCS_ADDRESS_MODE_MIRROR_X | MIPI_DCS_ADDRESS_MODE_MIRROR_Y; in otm8009a_configure()
484 buf[0] = MIPI_DCS_ADDRESS_MODE_MIRROR_Y | MIPI_DCS_ADDRESS_MODE_SWAP_XY; in otm8009a_configure()
488 if (ret < 0) { in otm8009a_configure()
492 buf[0] = 0x00; in otm8009a_configure()
493 buf[1] = 0x00; in otm8009a_configure()
496 if (ret < 0) { in otm8009a_configure()
500 buf[0] = 0x00; in otm8009a_configure()
501 buf[1] = 0x00; in otm8009a_configure()
504 if (ret < 0) { in otm8009a_configure()
509 buf[0] = OTM8009A_WRCTRLD_BCTRL | OTM8009A_WRCTRLD_DD | OTM8009A_WRCTRLD_BL; in otm8009a_configure()
511 if (ret < 0) { in otm8009a_configure()
516 buf[0] = OTM8009A_WRCABC_UI; in otm8009a_configure()
518 if (ret < 0) { in otm8009a_configure()
523 buf[0] = 0xFF; in otm8009a_configure()
525 if (ret < 0) { in otm8009a_configure()
530 buf[0] = 0xFF; in otm8009a_configure()
532 if (ret < 0) { in otm8009a_configure()
537 ret = otm8009a_dcs_write(dev, MIPI_DCS_SET_DISPLAY_ON, NULL, 0); in otm8009a_configure()
538 if (ret < 0) { in otm8009a_configure()
543 ret = otm8009a_dcs_write(dev, MIPI_DCS_WRITE_MEMORY_START, NULL, 0); in otm8009a_configure()
544 if (ret < 0) { in otm8009a_configure()
548 return 0; in otm8009a_configure()
557 ret = gpio_pin_set_dt(&cfg->backlight, 0); in otm8009a_blanking_on()
564 return otm8009a_dcs_write(dev, MIPI_DCS_SET_DISPLAY_OFF, NULL, 0); in otm8009a_blanking_on()
580 return otm8009a_dcs_write(dev, MIPI_DCS_SET_DISPLAY_ON, NULL, 0); in otm8009a_blanking_off()
616 memset(capabilities, 0, sizeof(struct display_capabilities)); in otm8009a_get_capabilities()
662 if (ret < 0) { in otm8009a_init()
668 if (ret < 0) { in otm8009a_init()
676 if (cfg->rotation == 0) { in otm8009a_init()
709 if (ret < 0) { in otm8009a_init()
732 return 0; in otm8009a_init()
738 .reset = GPIO_DT_SPEC_INST_GET_OR(inst, reset_gpios, {0}), \
739 .backlight = GPIO_DT_SPEC_INST_GET_OR(inst, bl_gpios, {0}), \
740 .data_lanes = DT_INST_PROP_BY_IDX(inst, data_lanes, 0), \