Lines Matching +full:vddc +full:- +full:supply

1 // SPDX-License-Identifier: GPL-2.0
24 #define FLD_MASK(start, end) (((1 << ((start) - (end) + 1)) - 1) << (end))
39 #define DSI_STARTDSI 0x0204 /* START control bit of DSI-TX */
121 #define SYS_RST_I2CS BIT(0) /* Reset I2C-Slave controller */
122 #define SYS_RST_I2CM BIT(1) /* Reset I2C-Master controller */
125 #define SYS_RST_DSIRX BIT(4) /* Reset DSI-RX and App controller */
146 "vddc", "vddio", "vddlvds"
160 int ret = ctx->error;
162 ctx->error = 0;
168 struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
171 if (ctx->error)
179 dev_dbg(ctx->dev, "read: addr=0x%04x data=0x%08x\n", addr, *val);
184 struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
188 if (ctx->error)
200 ctx->error = ret;
213 if (ctx->error)
215 dev_info(ctx->dev, "ID: %#x\n", v);
264 gpiod_set_value(ctx->gpio_reset, 1);
266 gpiod_set_value(ctx->gpio_reset, 0);
277 ret = regulator_bulk_disable(ARRAY_SIZE(ctx->supplies), ctx->supplies);
279 dev_err(ctx->dev, "error disabling regulators (%d)\n", ret);
287 ret = regulator_bulk_enable(ARRAY_SIZE(ctx->supplies), ctx->supplies);
289 dev_err(ctx->dev, "error enabling regulators (%d)\n", ret);
294 dev_err(ctx->dev, "error initializing bridge (%d)\n", ret);
303 return drm_bridge_attach(encoder, ctx->next_bridge, bridge, flags);
314 struct device *dev = ctx->dev;
316 ctx->gpio_reset = devm_gpiod_get(dev, "reset", GPIOD_OUT_LOW);
317 if (IS_ERR(ctx->gpio_reset)) {
319 return PTR_ERR(ctx->gpio_reset);
322 ctx->next_bridge = devm_drm_of_get_bridge(dev, dev->of_node, 1, 0);
323 if (IS_ERR(ctx->next_bridge))
324 return PTR_ERR(ctx->next_bridge);
333 for (i = 0; i < ARRAY_SIZE(ctx->supplies); ++i)
334 ctx->supplies[i].supply = tc358764_supplies[i];
336 ret = devm_regulator_bulk_get(ctx->dev, ARRAY_SIZE(ctx->supplies),
337 ctx->supplies);
339 dev_err(ctx->dev, "failed to get regulators: %d\n", ret);
346 struct device *dev = &dsi->dev;
357 ctx->dev = dev;
359 dsi->lanes = 4;
360 dsi->format = MIPI_DSI_FMT_RGB888;
361 dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST
372 ctx->bridge.of_node = dev->of_node;
373 ctx->bridge.pre_enable_prev_first = true;
375 drm_bridge_add(&ctx->bridge);
379 drm_bridge_remove(&ctx->bridge);
391 drm_bridge_remove(&ctx->bridge);
412 MODULE_DESCRIPTION("MIPI-DSI based Driver for TC358764 DSI/LVDS Bridge");