Lines Matching +full:0 +full:x480
26 #define TPG110_TEST 0x00
27 #define TPG110_CHIPID 0x01
28 #define TPG110_CTRL1 0x02
29 #define TPG110_RES_MASK GENMASK(2, 0)
30 #define TPG110_RES_800X480 0x07
31 #define TPG110_RES_640X480 0x06
32 #define TPG110_RES_480X272 0x05
33 #define TPG110_RES_480X640 0x04
34 #define TPG110_RES_480X272_D 0x01 /* Dual scan: outputs 800x480 */
35 #define TPG110_RES_400X240_D 0x00 /* Dual scan: outputs 800x480 */
36 #define TPG110_CTRL2 0x03
37 #define TPG110_CTRL2_PM BIT(0)
98 * take 400x240 or 480x272 in and display as 800x480 are not listed.
102 .name = "800x480 RGB",
118 .name = "640x480 RGB",
198 memset(t, 0, sizeof(t));
202 * Clear address bit 0, 1 when writing, just to be sure
204 * 0 is just surplus to pad it up to 8 bits.
206 buf[0] = address << 2;
207 buf[0] &= ~0x03;
210 t[0].bits_per_word = 8;
211 t[0].tx_buf = &buf[0];
212 t[0].len = 1;
218 /* Set address bit 0 to 1 to read */
219 buf[0] = address << 1;
220 buf[0] |= 0x01;
227 t[0].bits_per_word = 7;
228 t[0].tx_buf = &buf[0];
229 t[0].len = 1;
236 spi_message_add_tail(&t[0], &m);
244 return 0;
251 return tpg110_readwrite_reg(tpg, false, address, 0);
265 gpiod_set_value_cansleep(tpg->grestb, 0);
270 tpg110_write_reg(tpg, TPG110_TEST, 0x55);
272 if (val != 0x55) {
279 val >> 4, val & 0x0f);
286 dev_info(tpg->dev, "IN 400x240 RGB -> OUT 800x480 RGB (dual scan)\n");
289 dev_info(tpg->dev, "IN 480x272 RGB -> OUT 800x480 RGB (dual scan)\n");
298 dev_info(tpg->dev, "640x480 RGB\n");
301 dev_info(tpg->dev, "800x480 RGB\n");
304 dev_err(tpg->dev, "ILLEGAL RESOLUTION 0x%02x\n", val);
312 for (i = 0; i < ARRAY_SIZE(tpg110_modes); i++) {
333 return 0;
346 return 0;
359 return 0;
433 if (ret < 0) {
451 return 0;