Lines Matching refs:boe

1716 static int boe_panel_init_dcs_cmd(struct boe_panel *boe)
1718 struct mipi_dsi_device *dsi = boe->dsi;
1719 struct drm_panel *panel = &boe->base;
1722 if (boe->desc->init_cmds) {
1723 const struct panel_init_cmd *init_cmds = boe->desc->init_cmds;
1755 static int boe_panel_enter_sleep_mode(struct boe_panel *boe)
1757 struct mipi_dsi_device *dsi = boe->dsi;
1775 struct boe_panel *boe = to_boe_panel(panel);
1778 ret = boe_panel_enter_sleep_mode(boe);
1791 struct boe_panel *boe = to_boe_panel(panel);
1793 if (!boe->prepared)
1796 if (boe->desc->discharge_on_disable) {
1797 regulator_disable(boe->avee);
1798 regulator_disable(boe->avdd);
1800 gpiod_set_value(boe->enable_gpio, 0);
1802 regulator_disable(boe->pp1800);
1803 regulator_disable(boe->pp3300);
1805 gpiod_set_value(boe->enable_gpio, 0);
1807 regulator_disable(boe->avee);
1808 regulator_disable(boe->avdd);
1810 regulator_disable(boe->pp1800);
1811 regulator_disable(boe->pp3300);
1814 boe->prepared = false;
1821 struct boe_panel *boe = to_boe_panel(panel);
1824 if (boe->prepared)
1827 gpiod_set_value(boe->enable_gpio, 0);
1830 ret = regulator_enable(boe->pp3300);
1834 ret = regulator_enable(boe->pp1800);
1840 ret = regulator_enable(boe->avdd);
1843 ret = regulator_enable(boe->avee);
1849 if (boe->desc->lp11_before_reset) {
1850 mipi_dsi_dcs_nop(boe->dsi);
1853 gpiod_set_value(boe->enable_gpio, 1);
1855 gpiod_set_value(boe->enable_gpio, 0);
1857 gpiod_set_value(boe->enable_gpio, 1);
1860 ret = boe_panel_init_dcs_cmd(boe);
1866 boe->prepared = true;
1871 regulator_disable(boe->avee);
1873 regulator_disable(boe->avdd);
1876 regulator_disable(boe->pp1800);
1877 gpiod_set_value(boe->enable_gpio, 0);
2169 struct boe_panel *boe = to_boe_panel(panel);
2170 const struct drm_display_mode *m = boe->desc->modes;
2184 connector->display_info.width_mm = boe->desc->size.width_mm;
2185 connector->display_info.height_mm = boe->desc->size.height_mm;
2186 connector->display_info.bpc = boe->desc->bpc;
2191 drm_connector_set_panel_orientation(connector, boe->orientation);
2198 struct boe_panel *boe = to_boe_panel(panel);
2200 return boe->orientation;
2212 static int boe_panel_add(struct boe_panel *boe)
2214 struct device *dev = &boe->dsi->dev;
2217 boe->avdd = devm_regulator_get(dev, "avdd");
2218 if (IS_ERR(boe->avdd))
2219 return PTR_ERR(boe->avdd);
2221 boe->avee = devm_regulator_get(dev, "avee");
2222 if (IS_ERR(boe->avee))
2223 return PTR_ERR(boe->avee);
2225 boe->pp3300 = devm_regulator_get(dev, "pp3300");
2226 if (IS_ERR(boe->pp3300))
2227 return PTR_ERR(boe->pp3300);
2229 boe->pp1800 = devm_regulator_get(dev, "pp1800");
2230 if (IS_ERR(boe->pp1800))
2231 return PTR_ERR(boe->pp1800);
2233 boe->enable_gpio = devm_gpiod_get(dev, "enable", GPIOD_OUT_LOW);
2234 if (IS_ERR(boe->enable_gpio)) {
2236 PTR_ERR(boe->enable_gpio));
2237 return PTR_ERR(boe->enable_gpio);
2240 gpiod_set_value(boe->enable_gpio, 0);
2242 boe->base.prepare_prev_first = true;
2244 drm_panel_init(&boe->base, dev, &boe_panel_funcs,
2246 err = of_drm_get_panel_orientation(dev->of_node, &boe->orientation);
2252 err = drm_panel_of_backlight(&boe->base);
2256 boe->base.funcs = &boe_panel_funcs;
2257 boe->base.dev = &boe->dsi->dev;
2259 drm_panel_add(&boe->base);
2266 struct boe_panel *boe;
2270 boe = devm_kzalloc(&dsi->dev, sizeof(*boe), GFP_KERNEL);
2271 if (!boe)
2278 boe->desc = desc;
2279 boe->dsi = dsi;
2280 ret = boe_panel_add(boe);
2284 mipi_dsi_set_drvdata(dsi, boe);
2288 drm_panel_remove(&boe->base);
2295 struct boe_panel *boe = mipi_dsi_get_drvdata(dsi);
2297 drm_panel_disable(&boe->base);
2298 drm_panel_unprepare(&boe->base);
2303 struct boe_panel *boe = mipi_dsi_get_drvdata(dsi);
2312 if (boe->base.dev)
2313 drm_panel_remove(&boe->base);
2317 { .compatible = "boe,tv101wum-nl6",
2323 { .compatible = "boe,tv101wum-n53",
2329 { .compatible = "boe,tv105wum-nw0",
2332 { .compatible = "boe,tv110c9m-ll3",
2353 .name = "panel-boe-tv101wum-nl6",