Lines Matching refs:boe

45 static void boe_bf060y8m_aj0_reset(struct boe_bf060y8m_aj0 *boe)
47 gpiod_set_value_cansleep(boe->reset_gpio, 0);
49 gpiod_set_value_cansleep(boe->reset_gpio, 1);
51 gpiod_set_value_cansleep(boe->reset_gpio, 0);
55 static int boe_bf060y8m_aj0_on(struct boe_bf060y8m_aj0 *boe)
57 struct mipi_dsi_device *dsi = boe->dsi;
99 static int boe_bf060y8m_aj0_off(struct boe_bf060y8m_aj0 *boe)
101 struct mipi_dsi_device *dsi = boe->dsi;
127 struct boe_bf060y8m_aj0 *boe = to_boe_bf060y8m_aj0(panel);
128 struct device *dev = &boe->dsi->dev;
136 ret = regulator_enable(boe->vregs[BF060Y8M_VREG_EL_VDD].consumer);
139 ret = regulator_enable(boe->vregs[BF060Y8M_VREG_EL_VSS].consumer);
143 ret = regulator_enable(boe->vregs[BF060Y8M_VREG_VCC].consumer);
147 ret = regulator_enable(boe->vregs[BF060Y8M_VREG_VDDIO].consumer);
151 ret = regulator_enable(boe->vregs[BF060Y8M_VREG_VCI].consumer);
156 boe_bf060y8m_aj0_reset(boe);
158 ret = boe_bf060y8m_aj0_on(boe);
161 gpiod_set_value_cansleep(boe->reset_gpio, 1);
168 regulator_disable(boe->vregs[BF060Y8M_VREG_VDDIO].consumer);
170 regulator_disable(boe->vregs[BF060Y8M_VREG_VCC].consumer);
172 regulator_disable(boe->vregs[BF060Y8M_VREG_EL_VSS].consumer);
174 regulator_disable(boe->vregs[BF060Y8M_VREG_EL_VDD].consumer);
180 struct boe_bf060y8m_aj0 *boe = to_boe_bf060y8m_aj0(panel);
181 struct device *dev = &boe->dsi->dev;
184 ret = boe_bf060y8m_aj0_off(boe);
188 gpiod_set_value_cansleep(boe->reset_gpio, 1);
189 ret = regulator_bulk_disable(ARRAY_SIZE(boe->vregs), boe->vregs);
279 static int boe_bf060y8m_aj0_init_vregs(struct boe_bf060y8m_aj0 *boe,
285 boe->vregs[BF060Y8M_VREG_VCC].supply = "vcc";
286 boe->vregs[BF060Y8M_VREG_VDDIO].supply = "vddio";
287 boe->vregs[BF060Y8M_VREG_VCI].supply = "vci";
288 boe->vregs[BF060Y8M_VREG_EL_VDD].supply = "elvdd";
289 boe->vregs[BF060Y8M_VREG_EL_VSS].supply = "elvss";
290 ret = devm_regulator_bulk_get(dev, ARRAY_SIZE(boe->vregs),
291 boe->vregs);
297 vreg = boe->vregs[BF060Y8M_VREG_VCC].consumer;
302 vreg = boe->vregs[BF060Y8M_VREG_VDDIO].consumer;
307 vreg = boe->vregs[BF060Y8M_VREG_VCI].consumer;
312 vreg = boe->vregs[BF060Y8M_VREG_EL_VDD].consumer;
318 vreg = boe->vregs[BF060Y8M_VREG_EL_VSS].consumer;
332 vreg = boe->vregs[BF060Y8M_VREG_VDDIO].consumer;
336 boe->vregs[1].supply, ret);
338 vreg = boe->vregs[BF060Y8M_VREG_VCI].consumer;
342 boe->vregs[2].supply, ret);
350 struct boe_bf060y8m_aj0 *boe;
353 boe = devm_kzalloc(dev, sizeof(*boe), GFP_KERNEL);
354 if (!boe)
357 ret = boe_bf060y8m_aj0_init_vregs(boe, dev);
362 boe->reset_gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_ASIS);
363 if (IS_ERR(boe->reset_gpio))
364 return dev_err_probe(dev, PTR_ERR(boe->reset_gpio),
367 boe->dsi = dsi;
368 mipi_dsi_set_drvdata(dsi, boe);
377 drm_panel_init(&boe->panel, dev, &boe_bf060y8m_aj0_panel_funcs,
380 boe->panel.backlight = boe_bf060y8m_aj0_create_backlight(dsi);
381 if (IS_ERR(boe->panel.backlight))
382 return dev_err_probe(dev, PTR_ERR(boe->panel.backlight),
385 drm_panel_add(&boe->panel);
398 struct boe_bf060y8m_aj0 *boe = mipi_dsi_get_drvdata(dsi);
405 drm_panel_remove(&boe->panel);
409 { .compatible = "boe,bf060y8m-aj0" },
418 .name = "panel-sw43404-boe-fhd-amoled",