On 03/05/2025 11:41, Svyatoslav Ryhel wrote:
From: Maxim Schwalm <maxim.schw...@gmail.com>

Driver adds support for panels with Renesas R69328 IC

Currently supported compatible is:
- jdi,dx12d100vm0eaa

Co-developed-by: Svyatoslav Ryhel <clamo...@gmail.com>
Signed-off-by: Svyatoslav Ryhel <clamo...@gmail.com>
Signed-off-by: Maxim Schwalm <maxim.schw...@gmail.com>
---
  drivers/gpu/drm/panel/Kconfig                |  13 +
  drivers/gpu/drm/panel/Makefile               |   1 +
  drivers/gpu/drm/panel/panel-renesas-r69328.c | 283 +++++++++++++++++++
  3 files changed, 297 insertions(+)
  create mode 100644 drivers/gpu/drm/panel/panel-renesas-r69328.c


<snip>

+
+static int renesas_r69328_probe(struct mipi_dsi_device *dsi)
+{
+       struct device *dev = &dsi->dev;
+       struct renesas_r69328 *priv;
+       int ret;
+
+       priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
+       if (!priv)
+               return -ENOMEM;
+
+       priv->vdd_supply = devm_regulator_get(dev, "vdd");
+       if (IS_ERR(priv->vdd_supply))
+               return dev_err_probe(dev, PTR_ERR(priv->vdd_supply),
+                                    "Failed to get vdd-supply\n");
+
+       priv->vddio_supply = devm_regulator_get(dev, "vddio");
+       if (IS_ERR(priv->vddio_supply))
+               return dev_err_probe(dev, PTR_ERR(priv->vddio_supply),
+                                    "Failed to get vddio-supply\n");
+
+       priv->reset_gpio = devm_gpiod_get_optional(dev, "reset",
+                                                  GPIOD_OUT_LOW);
+       if (IS_ERR(priv->reset_gpio))
+               return dev_err_probe(dev, PTR_ERR(priv->reset_gpio),
+                                    "Failed to get reset-gpios\n");
+
+       priv->dsi = dsi;
+       mipi_dsi_set_drvdata(dsi, priv);
+
+       dsi->lanes = 4;
+       dsi->format = MIPI_DSI_FMT_RGB888;
+       dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_SYNC_PULSE |
+                         MIPI_DSI_CLOCK_NON_CONTINUOUS | MIPI_DSI_MODE_LPM;
+
+       drm_panel_init(&priv->panel, dev, &renesas_r69328_panel_funcs,
+                      DRM_MODE_CONNECTOR_DSI);

Same as patch 2

+
+       ret = drm_panel_of_backlight(&priv->panel);
+       if (ret)
+               return dev_err_probe(dev, ret, "Failed to get backlight\n");
+
+       drm_panel_add(&priv->panel);
+
+       ret = mipi_dsi_attach(dsi);
+       if (ret) {
+               dev_err(dev, "Failed to attach to DSI host: %d\n", ret);
+               drm_panel_remove(&priv->panel);
+               return ret;
+       }
+
+       return 0;
+}
+
<snip>

With that fixed:
Reviewed-by: Neil Armstrong <neil.armstr...@linaro.org>

Reply via email to