[PATCH 1/2] dt-bindings: display: simple: Add EDT ETML1010G0DKA panel
Add binding for the Emerging Display Technology ETML1010G0DKA panel. It's a 10.1" WXGA (1280 x 800) LVDS panel with backlight and capacitive touch. Signed-off-by: Dominik Haller --- .../devicetree/bindings/display/panel/panel-simple.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml index 18241f4051d2..bd8a7c77e90f 100644 --- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml +++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml @@ -143,6 +143,8 @@ properties: - edt,etm0700g0edh6 # Emerging Display Technology Corp. LVDS WSVGA TFT Display with capacitive touch - edt,etml0700y5dha +# Emerging Display Technology Corp. 10.1" LVDS WXGA TFT Display with capacitive touch + - edt,etml1010g0dka # Emerging Display Technology Corp. 5.7" VGA TFT LCD panel with # capacitive touch - edt,etmv570g2dhu -- 2.25.1
[PATCH 2/2] drm/panel: simple: Add EDT ETML1010G0DKA panel
Add support for the EDT ETML1010G0DKA 10.1" 1280x800 LVDS panel. Signed-off-by: Dominik Haller --- drivers/gpu/drm/panel/panel-simple.c | 29 1 file changed, 29 insertions(+) diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index f9e1f85daef7..9314db24ab51 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -1779,6 +1779,32 @@ static const struct panel_desc edt_etml0700y5dha = { .connector_type = DRM_MODE_CONNECTOR_LVDS, }; +static const struct drm_display_mode edt_etml1010g0dka_mode = { + .clock = 7, + .hdisplay = 1280, + .hsync_start = 1280 + 100, + .hsync_end = 1280 + 100 + 19, + .htotal = 1280 + 100 + 19 + 41, + .vdisplay = 800, + .vsync_start = 800 + 4, + .vsync_end = 800 + 4 + 4, + .vtotal = 800 + 4 + 4 + 15, + .flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC, +}; + +static const struct panel_desc edt_etml1010g0dka = { + .modes = &edt_etml1010g0dka_mode, + .num_modes = 1, + .bpc = 8, + .size = { + .width = 216, + .height = 135, + }, + .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG, + .bus_flags = DRM_BUS_FLAG_DE_HIGH, + .connector_type = DRM_MODE_CONNECTOR_LVDS, +}; + static const struct drm_display_mode edt_etmv570g2dhu_mode = { .clock = 25175, .hdisplay = 640, @@ -4057,6 +4083,9 @@ static const struct of_device_id platform_of_match[] = { }, { .compatible = "edt,etml0700y5dha", .data = &edt_etml0700y5dha, + }, { + .compatible = "edt,etml1010g0dka", + .data = &edt_etml1010g0dka, }, { .compatible = "edt,etmv570g2dhu", .data = &edt_etmv570g2dhu, -- 2.25.1
Re: [PATCH 2/2] drm/panel: simple: Add EDT ETML1010G0DKA panel
Hello, ping here, this one got forgotten. It still applies on drm-misc-next and v6.2-rc7 On 18.08.22 14:45, Dominik Haller wrote: > Add support for the EDT ETML1010G0DKA 10.1" 1280x800 LVDS panel. > > Signed-off-by: Dominik Haller > --- > drivers/gpu/drm/panel/panel-simple.c | 29 > 1 file changed, 29 insertions(+) > > diff --git a/drivers/gpu/drm/panel/panel-simple.c > b/drivers/gpu/drm/panel/panel-simple.c > index f9e1f85daef7..9314db24ab51 100644 > --- a/drivers/gpu/drm/panel/panel-simple.c > +++ b/drivers/gpu/drm/panel/panel-simple.c > @@ -1779,6 +1779,32 @@ static const struct panel_desc edt_etml0700y5dha = { > .connector_type = DRM_MODE_CONNECTOR_LVDS, > }; > > +static const struct drm_display_mode edt_etml1010g0dka_mode = { > + .clock = 7, > + .hdisplay = 1280, > + .hsync_start = 1280 + 100, > + .hsync_end = 1280 + 100 + 19, > + .htotal = 1280 + 100 + 19 + 41, > + .vdisplay = 800, > + .vsync_start = 800 + 4, > + .vsync_end = 800 + 4 + 4, > + .vtotal = 800 + 4 + 4 + 15, > + .flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC, > +}; > + > +static const struct panel_desc edt_etml1010g0dka = { > + .modes = &edt_etml1010g0dka_mode, > + .num_modes = 1, > + .bpc = 8, > + .size = { > + .width = 216, > + .height = 135, > + }, > + .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG, > + .bus_flags = DRM_BUS_FLAG_DE_HIGH, > + .connector_type = DRM_MODE_CONNECTOR_LVDS, > +}; > + > static const struct drm_display_mode edt_etmv570g2dhu_mode = { > .clock = 25175, > .hdisplay = 640, > @@ -4057,6 +4083,9 @@ static const struct of_device_id platform_of_match[] = { > }, { > .compatible = "edt,etml0700y5dha", > .data = &edt_etml0700y5dha, > + }, { > + .compatible = "edt,etml1010g0dka", > + .data = &edt_etml1010g0dka, > }, { > .compatible = "edt,etmv570g2dhu", > .data = &edt_etmv570g2dhu, -- PHYTEC Messtechnik GmbH | Barcelona-Allee 1 | 55129 Mainz, Germany Geschäftsführer: Dipl.-Ing. Michael Mitezki, Dipl.-Ing. Bodo Huber | Handelsregister Mainz HRB 4656 | Finanzamt Mainz-Mitte | St.Nr. 266500608, DE 149059855
Re: [EXTERNAL] [PATCH 3/7] drm/bridge: cdns-dsi: Wait for Clk and Data Lanes to be ready
Hi Aradhya, this fixes the color-shift bug on our setup: j721s2 -> ti,sn65dsi83 -> edt,etml1010g3dra Tested-by: Dominik Haller On Sat, 2024-05-11 at 21:00 +0530, Aradhya Bhatia wrote: > Once the DSI Link and DSI Phy are initialized, the code needs to wait > for Clk and Data Lanes to be ready, before continuing configuration. > This is in accordance with the DSI Start-up procedure, found in the > Technical Reference Manual of Texas Instrument's J721E SoC[0] which > houses this DSI TX controller. > > If the previous bridge (or crtc/encoder) are configured pre-maturely, > the input signal FIFO gets corrupt. This introduces a color-shift on > the > display. > > Allow the driver to wait for the clk and data lanes to get ready > during > DSI enable. > > Fixes: e19233955d9e ("drm/bridge: Add Cadence DSI driver") > Signed-off-by: Aradhya Bhatia > --- > drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c | 13 - > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c > b/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c > index 557b037bbc67..05d2f4cc50da 100644 > --- a/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c > +++ b/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c > @@ -761,7 +761,7 @@ static void cdns_dsi_bridge_enable(struct > drm_bridge *bridge) > struct phy_configure_opts_mipi_dphy *phy_cfg = &output- > >phy_opts.mipi_dphy; > unsigned long tx_byte_period; > struct cdns_dsi_cfg dsi_cfg; > - u32 tmp, reg_wakeup, div; > + u32 tmp, reg_wakeup, div, status; > int nlanes; > > if (WARN_ON(pm_runtime_get_sync(dsi->base.dev) < 0)) > @@ -778,6 +778,17 @@ static void cdns_dsi_bridge_enable(struct > drm_bridge *bridge) > cdns_dsi_init_link(dsi); > cdns_dsi_hs_init(dsi); > > + /* > + * Now that the DSI Link and DSI Phy are initialized, > + * wait for the CLK and Data Lanes to be ready. > + */ > + tmp = CLK_LANE_RDY; > + for (int i = 0; i < nlanes; i++) > + tmp |= DATA_LANE_RDY(i); > + > + WARN_ON_ONCE(readl_poll_timeout(dsi->regs + MCTL_MAIN_STS, > status, > + status & tmp, 100, 0)); > + > writel(HBP_LEN(dsi_cfg.hbp) | HSA_LEN(dsi_cfg.hsa), > dsi->regs + VID_HSIZE1); > writel(HFP_LEN(dsi_cfg.hfp) | HACT_LEN(dsi_cfg.hact),
Re: [PATCH v3 1/2] dt-bindings: drm/bridge: Add no-hpd property
Hi, On Wed, 2025-02-05 at 17:20 +0530, Harikrishna Shenoy wrote: > From: Rahul T R > > The mhdp bridge can work without its HPD pin hooked up to the > connector, > but the current bridge driver throws an error when hpd line is not > connected to the connector. For such cases, we need an indication for > no-hpd, using which we can bypass the hpd detection and instead use > the > auxiliary channels connected to the DP connector to confirm the > connection. > So add no-hpd property to the bindings, to disable hpd when not > connected or unusable due to DP0-HPD not connected to correct HPD > pin on SOC like in case of J721S2. out of curiosity. This series doesn't have anything to do with the other DP HPD pin (AA24 MCASP1_ACLKX.DP0_HPD in case of J721S2) still being mandatory to mux? > Signed-off-by: Rahul T R > Signed-off-by: Jayesh Choudhary > --- > .../devicetree/bindings/display/bridge/cdns,mhdp8546.yaml | 6 > ++ > 1 file changed, 6 insertions(+) > > diff --git > a/Documentation/devicetree/bindings/display/bridge/cdns,mhdp8546.yaml > b/Documentation/devicetree/bindings/display/bridge/cdns,mhdp8546.yaml > index c2b369456e4e..3a6c6d837593 100644 > --- > a/Documentation/devicetree/bindings/display/bridge/cdns,mhdp8546.yaml > +++ > b/Documentation/devicetree/bindings/display/bridge/cdns,mhdp8546.yaml > @@ -57,6 +57,12 @@ properties: > interrupts: > maxItems: 1 > > + cdns,no-hpd: > + type: boolean > + description: > + Set if the HPD line on the bridge isn't hooked up to anything > or is > + otherwise unusable. > + > ports: > $ref: /schemas/graph.yaml#/properties/ports >