Lines Matching +full:tv101wum +full:- +full:nl6
1 // SPDX-License-Identifier: GPL-2.0
69 struct mipi_dsi_multi_context ctx = { .dsi = boe->dsi }; in boe_tv110c9m_init()
441 struct mipi_dsi_multi_context ctx = { .dsi = boe->dsi }; in inx_hj110iz_init()
840 struct mipi_dsi_multi_context ctx = { .dsi = boe->dsi }; in boe_init()
1140 struct mipi_dsi_multi_context ctx = { .dsi = boe->dsi }; in auo_kd101n80_45na_init()
1157 struct mipi_dsi_multi_context ctx = { .dsi = boe->dsi }; in auo_b101uan08_3_init()
1210 struct mipi_dsi_multi_context ctx = { .dsi = boe->dsi }; in starry_qfh032011_53g_init()
1320 struct mipi_dsi_multi_context ctx = { .dsi = boe->dsi }; in boe_panel_disable()
1322 boe->dsi->mode_flags &= ~MIPI_DSI_MODE_LPM; in boe_panel_disable()
1336 if (boe->desc->discharge_on_disable) { in boe_panel_unprepare()
1337 regulator_disable(boe->avee); in boe_panel_unprepare()
1338 regulator_disable(boe->avdd); in boe_panel_unprepare()
1340 gpiod_set_value(boe->enable_gpio, 0); in boe_panel_unprepare()
1342 regulator_disable(boe->pp1800); in boe_panel_unprepare()
1343 regulator_disable(boe->pp3300); in boe_panel_unprepare()
1345 gpiod_set_value(boe->enable_gpio, 0); in boe_panel_unprepare()
1347 regulator_disable(boe->avee); in boe_panel_unprepare()
1348 regulator_disable(boe->avdd); in boe_panel_unprepare()
1350 regulator_disable(boe->pp1800); in boe_panel_unprepare()
1351 regulator_disable(boe->pp3300); in boe_panel_unprepare()
1362 gpiod_set_value(boe->enable_gpio, 0); in boe_panel_prepare()
1365 ret = regulator_enable(boe->pp3300); in boe_panel_prepare()
1369 ret = regulator_enable(boe->pp1800); in boe_panel_prepare()
1375 ret = regulator_enable(boe->avdd); in boe_panel_prepare()
1378 ret = regulator_enable(boe->avee); in boe_panel_prepare()
1384 if (boe->desc->lp11_before_reset) { in boe_panel_prepare()
1385 ret = mipi_dsi_dcs_nop(boe->dsi); in boe_panel_prepare()
1387 dev_err(&boe->dsi->dev, "Failed to send NOP: %d\n", ret); in boe_panel_prepare()
1392 gpiod_set_value(boe->enable_gpio, 1); in boe_panel_prepare()
1394 gpiod_set_value(boe->enable_gpio, 0); in boe_panel_prepare()
1396 gpiod_set_value(boe->enable_gpio, 1); in boe_panel_prepare()
1399 ret = boe->desc->init(boe); in boe_panel_prepare()
1406 gpiod_set_value(boe->enable_gpio, 0); in boe_panel_prepare()
1407 regulator_disable(boe->avee); in boe_panel_prepare()
1409 regulator_disable(boe->avdd); in boe_panel_prepare()
1412 regulator_disable(boe->pp1800); in boe_panel_prepare()
1649 const struct drm_display_mode *m = boe->desc->modes; in boe_panel_get_modes()
1652 mode = drm_mode_duplicate(connector->dev, m); in boe_panel_get_modes()
1654 dev_err(panel->dev, "failed to add mode %ux%u@%u\n", in boe_panel_get_modes()
1655 m->hdisplay, m->vdisplay, drm_mode_vrefresh(m)); in boe_panel_get_modes()
1656 return -ENOMEM; in boe_panel_get_modes()
1659 mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED; in boe_panel_get_modes()
1663 connector->display_info.width_mm = boe->desc->size.width_mm; in boe_panel_get_modes()
1664 connector->display_info.height_mm = boe->desc->size.height_mm; in boe_panel_get_modes()
1665 connector->display_info.bpc = boe->desc->bpc; in boe_panel_get_modes()
1670 drm_connector_set_panel_orientation(connector, boe->orientation); in boe_panel_get_modes()
1679 return boe->orientation; in boe_panel_get_orientation()
1693 struct device *dev = &boe->dsi->dev; in boe_panel_add()
1696 boe->avdd = devm_regulator_get(dev, "avdd"); in boe_panel_add()
1697 if (IS_ERR(boe->avdd)) in boe_panel_add()
1698 return PTR_ERR(boe->avdd); in boe_panel_add()
1700 boe->avee = devm_regulator_get(dev, "avee"); in boe_panel_add()
1701 if (IS_ERR(boe->avee)) in boe_panel_add()
1702 return PTR_ERR(boe->avee); in boe_panel_add()
1704 boe->pp3300 = devm_regulator_get(dev, "pp3300"); in boe_panel_add()
1705 if (IS_ERR(boe->pp3300)) in boe_panel_add()
1706 return PTR_ERR(boe->pp3300); in boe_panel_add()
1708 boe->pp1800 = devm_regulator_get(dev, "pp1800"); in boe_panel_add()
1709 if (IS_ERR(boe->pp1800)) in boe_panel_add()
1710 return PTR_ERR(boe->pp1800); in boe_panel_add()
1712 boe->enable_gpio = devm_gpiod_get(dev, "enable", GPIOD_OUT_LOW); in boe_panel_add()
1713 if (IS_ERR(boe->enable_gpio)) { in boe_panel_add()
1714 dev_err(dev, "cannot get reset-gpios %ld\n", in boe_panel_add()
1715 PTR_ERR(boe->enable_gpio)); in boe_panel_add()
1716 return PTR_ERR(boe->enable_gpio); in boe_panel_add()
1719 gpiod_set_value(boe->enable_gpio, 0); in boe_panel_add()
1721 boe->base.prepare_prev_first = true; in boe_panel_add()
1723 drm_panel_init(&boe->base, dev, &boe_panel_funcs, in boe_panel_add()
1725 err = of_drm_get_panel_orientation(dev->of_node, &boe->orientation); in boe_panel_add()
1727 dev_err(dev, "%pOF: failed to get orientation %d\n", dev->of_node, err); in boe_panel_add()
1731 err = drm_panel_of_backlight(&boe->base); in boe_panel_add()
1735 boe->base.funcs = &boe_panel_funcs; in boe_panel_add()
1736 boe->base.dev = &boe->dsi->dev; in boe_panel_add()
1738 drm_panel_add(&boe->base); in boe_panel_add()
1749 boe = devm_kzalloc(&dsi->dev, sizeof(*boe), GFP_KERNEL); in boe_panel_probe()
1751 return -ENOMEM; in boe_panel_probe()
1753 desc = of_device_get_match_data(&dsi->dev); in boe_panel_probe()
1754 dsi->lanes = desc->lanes; in boe_panel_probe()
1755 dsi->format = desc->format; in boe_panel_probe()
1756 dsi->mode_flags = desc->mode_flags; in boe_panel_probe()
1757 boe->desc = desc; in boe_panel_probe()
1758 boe->dsi = dsi; in boe_panel_probe()
1767 drm_panel_remove(&boe->base); in boe_panel_probe()
1779 dev_err(&dsi->dev, "failed to detach from DSI host: %d\n", ret); in boe_panel_remove()
1781 if (boe->base.dev) in boe_panel_remove()
1782 drm_panel_remove(&boe->base); in boe_panel_remove()
1786 { .compatible = "boe,tv101wum-nl6",
1789 { .compatible = "auo,kd101n80-45na",
1792 { .compatible = "boe,tv101wum-n53",
1798 { .compatible = "boe,tv105wum-nw0",
1801 { .compatible = "boe,tv110c9m-ll3",
1804 { .compatible = "innolux,hj110iz-01a",
1807 { .compatible = "starry,2081101qfh032011-53g",
1816 .name = "panel-boe-tv101wum-nl6",
1825 MODULE_DESCRIPTION("BOE tv101wum-nl6 1200x1920 video mode panel driver");