[PATCH 1/2] dt-bindings: display: simple: Add EDT ETML1010G0DKA panel

2022-08-18 Thread Dominik Haller
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

2022-08-24 Thread Dominik Haller
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

2023-02-06 Thread Dominik Haller
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

2024-05-22 Thread Dominik Haller
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

2025-03-20 Thread Dominik Haller
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
>