Lines Matching +full:vci +full:- +full:supply

1 // SPDX-License-Identifier: GPL-2.0
4 * Found in the Samsung Galaxy Ace 2 GT-I8160 mobile phone.
15 #include <linux/media-bus-format.h>
76 struct mipi_dbi *dbi = &ctx->dbi; in s6d27a1_read_mtp_id()
82 dev_err(ctx->dev, "unable to read MTP ID 1\n"); in s6d27a1_read_mtp_id()
87 dev_err(ctx->dev, "unable to read MTP ID 2\n"); in s6d27a1_read_mtp_id()
92 dev_err(ctx->dev, "unable to read MTP ID 3\n"); in s6d27a1_read_mtp_id()
95 dev_info(ctx->dev, "MTP ID: %02x %02x %02x\n", id1, id2, id3); in s6d27a1_read_mtp_id()
100 struct mipi_dbi *dbi = &ctx->dbi; in s6d27a1_power_on()
104 ret = regulator_bulk_enable(ARRAY_SIZE(ctx->regulators), in s6d27a1_power_on()
105 ctx->regulators); in s6d27a1_power_on()
107 dev_err(ctx->dev, "failed to enable regulators: %d\n", ret); in s6d27a1_power_on()
114 gpiod_set_value_cansleep(ctx->reset, 1); in s6d27a1_power_on()
116 /* De-assert reset */ in s6d27a1_power_on()
117 gpiod_set_value_cansleep(ctx->reset, 0); in s6d27a1_power_on()
122 * Exit sleep mode and initialize display - some hammering is in s6d27a1_power_on()
166 gpiod_set_value_cansleep(ctx->reset, 1); in s6d27a1_power_off()
167 return regulator_bulk_disable(ARRAY_SIZE(ctx->regulators), in s6d27a1_power_off()
168 ctx->regulators); in s6d27a1_power_off()
174 struct mipi_dbi *dbi = &ctx->dbi; in s6d27a1_unprepare()
184 struct mipi_dbi *dbi = &ctx->dbi; in s6d27a1_disable()
200 struct mipi_dbi *dbi = &ctx->dbi; in s6d27a1_enable()
214 mode = drm_mode_duplicate(connector->dev, &s6d27a1_480_800_mode); in s6d27a1_get_modes()
216 dev_err(ctx->dev, "failed to add mode\n"); in s6d27a1_get_modes()
217 return -ENOMEM; in s6d27a1_get_modes()
220 connector->display_info.bpc = 8; in s6d27a1_get_modes()
221 connector->display_info.width_mm = mode->width_mm; in s6d27a1_get_modes()
222 connector->display_info.height_mm = mode->height_mm; in s6d27a1_get_modes()
223 connector->display_info.bus_flags = in s6d27a1_get_modes()
225 drm_display_info_set_bus_formats(&connector->display_info, in s6d27a1_get_modes()
229 mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED; in s6d27a1_get_modes()
246 struct device *dev = &spi->dev; in s6d27a1_probe()
252 return -ENOMEM; in s6d27a1_probe()
254 ctx->dev = dev; in s6d27a1_probe()
257 * VCI is the analog voltage supply in s6d27a1_probe()
258 * VCCIO is the digital I/O voltage supply in s6d27a1_probe()
260 ctx->regulators[0].supply = "vci"; in s6d27a1_probe()
261 ctx->regulators[1].supply = "vccio"; in s6d27a1_probe()
263 ARRAY_SIZE(ctx->regulators), in s6d27a1_probe()
264 ctx->regulators); in s6d27a1_probe()
268 ctx->reset = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH); in s6d27a1_probe()
269 if (IS_ERR(ctx->reset)) { in s6d27a1_probe()
270 ret = PTR_ERR(ctx->reset); in s6d27a1_probe()
274 ret = mipi_dbi_spi_init(spi, &ctx->dbi, NULL); in s6d27a1_probe()
278 ctx->dbi.read_commands = s6d27a1_dbi_read_commands; in s6d27a1_probe()
280 drm_panel_init(&ctx->panel, dev, &s6d27a1_drm_funcs, in s6d27a1_probe()
283 ret = drm_panel_of_backlight(&ctx->panel); in s6d27a1_probe()
289 drm_panel_add(&ctx->panel); in s6d27a1_probe()
298 drm_panel_remove(&ctx->panel); in s6d27a1_remove()
311 .name = "s6d27a1-panel",