old mode 100644new mode 100755.. | .. |
---|
45 | 45 | bool power_invert; |
---|
46 | 46 | u32 bus_format; |
---|
47 | 47 | unsigned int bpc; |
---|
| 48 | + unsigned int lvds_index; |
---|
48 | 49 | |
---|
49 | 50 | struct { |
---|
50 | 51 | unsigned int prepare; |
---|
.. | .. |
---|
66 | 67 | struct udevice *backlight; |
---|
67 | 68 | struct gpio_desc enable_gpio; |
---|
68 | 69 | struct gpio_desc reset_gpio; |
---|
| 70 | + struct gpio_desc edp_bl_on; |
---|
| 71 | + struct gpio_desc edp_bl_en; |
---|
| 72 | + struct gpio_desc vcc_5v; |
---|
| 73 | + struct gpio_desc vddio_mipi; |
---|
| 74 | + |
---|
| 75 | + struct gpio_desc lvds_gpio0; |
---|
| 76 | + struct gpio_desc lvds_gpio1; |
---|
| 77 | + struct gpio_desc lvds_gpio2; |
---|
| 78 | + struct gpio_desc lvds_gpio3; |
---|
69 | 79 | |
---|
70 | 80 | int cmd_type; |
---|
71 | 81 | struct gpio_desc spi_sdi_gpio; |
---|
.. | .. |
---|
275 | 285 | |
---|
276 | 286 | if (priv->prepared) |
---|
277 | 287 | return; |
---|
| 288 | + /*mipi */ |
---|
| 289 | + if (dm_gpio_is_valid(&priv->vddio_mipi)) |
---|
| 290 | + dm_gpio_set_value(&priv->vddio_mipi, 1); |
---|
| 291 | + mdelay(20); |
---|
| 292 | + |
---|
| 293 | + if (dm_gpio_is_valid(&priv->vcc_5v)) |
---|
| 294 | + dm_gpio_set_value(&priv->vcc_5v, 1); |
---|
| 295 | + |
---|
| 296 | + ret = dm_gpio_get_value(&priv->vcc_5v); |
---|
| 297 | + printf("troy test get vcc_5v : %d \n",ret); |
---|
| 298 | + ret = dm_gpio_get_value(&priv->vddio_mipi); |
---|
| 299 | + printf("troy test get vddio-mipi : %d \n",ret); |
---|
| 300 | + /*mipi end*/ |
---|
| 301 | + |
---|
| 302 | + /*7511 LVDS IO Control start*/ |
---|
| 303 | + printk("nodka_lvds_index = %d\n",plat->lvds_index); |
---|
| 304 | + |
---|
| 305 | + ret = plat->lvds_index & 1; |
---|
| 306 | + if (dm_gpio_is_valid(&priv->lvds_gpio0)) |
---|
| 307 | + dm_gpio_set_value(&priv->lvds_gpio0, ret); |
---|
| 308 | + ret = dm_gpio_get_value(&priv->lvds_gpio0); |
---|
| 309 | + printf("lvds_gpio0 : %d\n",ret); |
---|
| 310 | + |
---|
| 311 | + ret = plat->lvds_index >> 1 & 1; |
---|
| 312 | + if (dm_gpio_is_valid(&priv->lvds_gpio1)) |
---|
| 313 | + dm_gpio_set_value(&priv->lvds_gpio1, ret); |
---|
| 314 | + ret = dm_gpio_get_value(&priv->lvds_gpio1); |
---|
| 315 | + printf("lvds_gpio1 : %d\n",ret); |
---|
| 316 | + |
---|
| 317 | + ret = plat->lvds_index >> 2 & 1; |
---|
| 318 | + if (dm_gpio_is_valid(&priv->lvds_gpio2)) |
---|
| 319 | + dm_gpio_set_value(&priv->lvds_gpio2, ret); |
---|
| 320 | + ret = dm_gpio_get_value(&priv->lvds_gpio2); |
---|
| 321 | + printf("lvds_gpio2 : %d\n",ret); |
---|
| 322 | + |
---|
| 323 | + ret = plat->lvds_index >> 3 & 1; |
---|
| 324 | + if (dm_gpio_is_valid(&priv->lvds_gpio3)) |
---|
| 325 | + dm_gpio_set_value(&priv->lvds_gpio3, ret); |
---|
| 326 | + ret = dm_gpio_get_value(&priv->lvds_gpio3); |
---|
| 327 | + printf("lvds_gpio3 : %d\n",ret); |
---|
| 328 | + mdelay(100); |
---|
| 329 | +/*7511 LVDS IO Control end*/ |
---|
278 | 330 | |
---|
279 | 331 | if (priv->power_supply) |
---|
280 | 332 | regulator_set_enable(priv->power_supply, !plat->power_invert); |
---|
281 | | - |
---|
| 333 | + |
---|
| 334 | + if (dm_gpio_is_valid(&priv->edp_bl_on)) |
---|
| 335 | + dm_gpio_set_value(&priv->edp_bl_on, 1); |
---|
| 336 | + |
---|
| 337 | + if (dm_gpio_is_valid(&priv->edp_bl_en)) |
---|
| 338 | + dm_gpio_set_value(&priv->edp_bl_en, 1); |
---|
| 339 | + |
---|
282 | 340 | if (dm_gpio_is_valid(&priv->enable_gpio)) |
---|
283 | 341 | dm_gpio_set_value(&priv->enable_gpio, 1); |
---|
284 | | - |
---|
| 342 | + |
---|
285 | 343 | if (plat->delay.prepare) |
---|
286 | 344 | mdelay(plat->delay.prepare); |
---|
287 | | - |
---|
| 345 | + |
---|
288 | 346 | if (dm_gpio_is_valid(&priv->reset_gpio)) |
---|
289 | 347 | dm_gpio_set_value(&priv->reset_gpio, 1); |
---|
290 | | - |
---|
291 | | - if (plat->delay.reset) |
---|
292 | | - mdelay(plat->delay.reset); |
---|
293 | | - |
---|
| 348 | + mdelay(50); |
---|
294 | 349 | if (dm_gpio_is_valid(&priv->reset_gpio)) |
---|
295 | 350 | dm_gpio_set_value(&priv->reset_gpio, 0); |
---|
| 351 | + |
---|
| 352 | + mdelay(200); |
---|
296 | 353 | |
---|
297 | 354 | if (plat->delay.init) |
---|
298 | 355 | mdelay(plat->delay.init); |
---|
.. | .. |
---|
407 | 464 | plat->delay.disable = dev_read_u32_default(dev, "disable-delay-ms", 0); |
---|
408 | 465 | plat->delay.init = dev_read_u32_default(dev, "init-delay-ms", 0); |
---|
409 | 466 | plat->delay.reset = dev_read_u32_default(dev, "reset-delay-ms", 0); |
---|
| 467 | + plat->lvds_index = dev_read_u32_default(dev, "nodka-lvds", 0); |
---|
410 | 468 | |
---|
411 | 469 | plat->bus_format = dev_read_u32_default(dev, "bus-format", |
---|
412 | 470 | MEDIA_BUS_FMT_RBG888_1X24); |
---|
.. | .. |
---|
457 | 515 | int ret; |
---|
458 | 516 | const char *cmd_type; |
---|
459 | 517 | |
---|
| 518 | + ret = gpio_request_by_name(dev, "vcc-5v-gpio", 0, |
---|
| 519 | + &priv->vcc_5v, GPIOD_IS_OUT); |
---|
| 520 | + if (ret && ret != -ENOENT) { |
---|
| 521 | + printf("%s: Cannot get vcc-5v-gpio: %d\n", __func__, ret); |
---|
| 522 | + return ret; |
---|
| 523 | + } |
---|
| 524 | + |
---|
| 525 | + ret = gpio_request_by_name(dev, "vddio-mipi", 0, |
---|
| 526 | + &priv->vddio_mipi, GPIOD_IS_OUT); |
---|
| 527 | + if (ret && ret != -ENOENT) { |
---|
| 528 | + printf("%s: Cannot get vddio-mipi: %d\n", __func__, ret); |
---|
| 529 | + return ret; |
---|
| 530 | + } |
---|
| 531 | + |
---|
| 532 | + ret = gpio_request_by_name(dev, "edp-bl-gpios", 0, |
---|
| 533 | + &priv->edp_bl_on, GPIOD_IS_OUT); |
---|
| 534 | + if (ret && ret != -ENOENT) { |
---|
| 535 | + printf("%s: Cannot get enable GPIO: %d\n", __func__, ret); |
---|
| 536 | + return ret; |
---|
| 537 | + } |
---|
| 538 | + |
---|
| 539 | + ret = gpio_request_by_name(dev, "edp-bl-en", 0, |
---|
| 540 | + &priv->edp_bl_en, GPIOD_IS_OUT); |
---|
| 541 | + if (ret && ret != -ENOENT) { |
---|
| 542 | + printf("%s: Cannot get enable GPIO: %d\n", __func__, ret); |
---|
| 543 | + return ret; |
---|
| 544 | + } |
---|
| 545 | + |
---|
460 | 546 | ret = gpio_request_by_name(dev, "enable-gpios", 0, |
---|
461 | 547 | &priv->enable_gpio, GPIOD_IS_OUT); |
---|
462 | 548 | if (ret && ret != -ENOENT) { |
---|
.. | .. |
---|
471 | 557 | return ret; |
---|
472 | 558 | } |
---|
473 | 559 | |
---|
| 560 | + ret = gpio_request_by_name(dev, "lvds-gpio0", 0, |
---|
| 561 | + &priv->lvds_gpio0, GPIOD_IS_OUT); |
---|
| 562 | + if (ret && ret != -ENOENT) { |
---|
| 563 | + printf("%s: Cannot get lvds-gpio0: %d\n", __func__, ret); |
---|
| 564 | + return ret; |
---|
| 565 | + } |
---|
| 566 | + |
---|
| 567 | + ret = gpio_request_by_name(dev, "lvds-gpio1", 0, |
---|
| 568 | + &priv->lvds_gpio1, GPIOD_IS_OUT); |
---|
| 569 | + if (ret && ret != -ENOENT) { |
---|
| 570 | + printf("%s: Cannot get lvds-gpio1: %d\n", __func__, ret); |
---|
| 571 | + return ret; |
---|
| 572 | + } |
---|
| 573 | + |
---|
| 574 | + ret = gpio_request_by_name(dev, "lvds-gpio2", 0, |
---|
| 575 | + &priv->lvds_gpio2, GPIOD_IS_OUT); |
---|
| 576 | + if (ret && ret != -ENOENT) { |
---|
| 577 | + printf("%s: Cannot get lvds-gpio2: %d\n", __func__, ret); |
---|
| 578 | + return ret; |
---|
| 579 | + } |
---|
| 580 | + |
---|
| 581 | + ret = gpio_request_by_name(dev, "lvds-gpio3", 0, |
---|
| 582 | + &priv->lvds_gpio3, GPIOD_IS_OUT); |
---|
| 583 | + if (ret && ret != -ENOENT) { |
---|
| 584 | + printf("%s: Cannot get lvds-gpio3: %d\n", __func__, ret); |
---|
| 585 | + return ret; |
---|
| 586 | + } |
---|
| 587 | + |
---|
474 | 588 | ret = uclass_get_device_by_phandle(UCLASS_PANEL_BACKLIGHT, dev, |
---|
475 | 589 | "backlight", &priv->backlight); |
---|
476 | 590 | if (ret && ret != -ENOENT) { |
---|