lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251114064336.3683731-2-s-jain1@ti.com>
Date: Fri, 14 Nov 2025 12:13:34 +0530
From: Swamil Jain <s-jain1@...com>
To: <jyri.sarha@....fi>, <tomi.valkeinen@...asonboard.com>,
	<airlied@...il.com>, <simona@...ll.ch>, <maarten.lankhorst@...ux.intel.com>,
	<mripard@...nel.org>, <tzimmermann@...e.de>, <robh@...nel.org>,
	<krzk+dt@...nel.org>, <conor+dt@...nel.org>, <aradhya.bhatia@...ux.dev>
CC: <dri-devel@...ts.freedesktop.org>, <devicetree@...r.kernel.org>,
	<linux-kernel@...r.kernel.org>, <devarsht@...com>, <praneeth@...com>,
	<h-shenoy@...com>, <u-kumar1@...com>, <s-jain1@...com>
Subject: [PATCH 1/3] dt-bindings: display: ti,am65x-dss: Add am62p dss compatible

TI's AM62P SoC contains two instances of the TI Keystone Display
SubSystem (DSS), each with two video ports and two video planes. These
instances support up to three independent video streams through OLDI,
DPI, and DSI interfaces.

DSS0 (first instance) supports:
 - Two OLDI transmitters on video port 1, configurable in dual-link or
   single-link mode.
 - DPI output on video port 2.

DSS1 (second instance) supports:
 - One OLDI transmitter on video port 1 (single-link mode only).
 - DSI controller output on video port 2.

The two OLDI transmitters can be configured in clone mode to drive a
pair of identical OLDI single-link displays. DPI outputs from
DSS0 VP2, DSS1 VP1, and DSS1 VP2 are multiplexed, allowing only one
DPI output at a time.

Add the compatible string "ti,am62p-dss" and update related
description accordingly.

AM62P has different power domains for DSS and OLDI compared to other
Keystone SoCs. Therefore, add 'minItems' and set to 1 and update the
'maxItems' field in the power-domains property to 3 for the
"ti,am62p-dss" compatible entry to reflect this hardware difference.

Signed-off-by: Swamil Jain <s-jain1@...com>
---
 .../bindings/display/ti/ti,am65x-dss.yaml     | 127 +++++++++++++++++-
 1 file changed, 126 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/display/ti/ti,am65x-dss.yaml b/Documentation/devicetree/bindings/display/ti/ti,am65x-dss.yaml
index 361e9cae6896..8bd188e7f09b 100644
--- a/Documentation/devicetree/bindings/display/ti/ti,am65x-dss.yaml
+++ b/Documentation/devicetree/bindings/display/ti/ti,am65x-dss.yaml
@@ -24,6 +24,19 @@ description: |
   DPI signals are also routed internally to DSI Tx controller present within the
   SoC. Due to clocking limitations only one of the interface i.e. either DSI or
   DPI can be used at once.
+  The AM62P has two instances of TI Keystone Display SubSystem, each with two
+  video ports and two video planes. These instances can support up to 3
+  independent video streams through OLDI, DPI, and DSI interfaces.
+  DSS0 (first instance) supports:
+    - Two OLDI TXes on video port 1, configurable in dual-link or
+      single link clone mode
+    - DPI output on video port 2
+  DSS1 (second instance) supports:
+    - One OLDI TX on video port 1 (single-link mode only)
+    - DSI controller output on video port 2
+  The two OLDI TXes can be configured in clone mode to drive a pair of
+  identical OLDI single-link displays. DPI outputs from DSS0 VP2, DSS1 VP1,
+  and DSS1 VP2 are muxed, allowing only one DPI output at a time.
 
 properties:
   compatible:
@@ -31,6 +44,7 @@ properties:
       - ti,am625-dss
       - ti,am62a7-dss
       - ti,am62l-dss
+      - ti,am62p-dss
       - ti,am65x-dss
 
   reg:
@@ -81,7 +95,8 @@ properties:
     maxItems: 1
 
   power-domains:
-    maxItems: 1
+    minItems: 1
+    maxItems: 3
     description: phandle to the associated power domain
 
   dma-coherent:
@@ -347,3 +362,113 @@ examples:
             };
         };
     };
+
+  - |
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    #include <dt-bindings/interrupt-controller/irq.h>
+    #include <dt-bindings/soc/ti,sci_pm_domain.h>
+
+    dss0: dss@...00000 {
+        compatible = "ti,am62p-dss";
+        reg = <0x30200000 0x1000>, /* common */
+              <0x30202000 0x1000>, /* vidl1 */
+              <0x30206000 0x1000>, /* vid */
+              <0x30207000 0x1000>, /* ovr1 */
+              <0x30208000 0x1000>, /* ovr2 */
+              <0x3020a000 0x1000>, /* vp1: Used for OLDI */
+              <0x3020b000 0x1000>, /* vp2: Used as DPI Out */
+              <0x30201000 0x1000>; /* common1 */
+        reg-names = "common", "vidl1", "vid",
+                    "ovr1", "ovr2", "vp1", "vp2", "common1";
+        power-domains = <&k3_pds 186 TI_SCI_PD_EXCLUSIVE>,
+                        <&k3_pds 243 TI_SCI_PD_EXCLUSIVE>,
+                        <&k3_pds 244 TI_SCI_PD_EXCLUSIVE>;
+        clocks = <&k3_clks 186 6>,
+                 <&dss0_vp1_clk>,
+                 <&k3_clks 186 2>;
+        clock-names = "fck", "vp1", "vp2";
+        interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
+
+        oldi-transmitters {
+            #address-cells = <1>;
+            #size-cells = <0>;
+
+            oldi0_am62p: oldi@0 {
+                reg = <0>;
+                clocks = <&k3_clks 186 0>;
+                clock-names = "serial";
+                ti,oldi-io-ctrl = <&dss_oldi_io_ctrl>;
+
+                ports {
+                    #address-cells = <1>;
+                    #size-cells = <0>;
+
+                    port@0 {
+                        reg = <0>;
+                        oldi0_am62p_in: endpoint {
+                            remote-endpoint = <&dpi0_am62p_out0>;
+                        };
+                    };
+
+                    port@1 {
+                        reg = <1>;
+                        oldi0_am62p_out: endpoint {
+                            remote-endpoint = <&panel0_in>;
+                        };
+                    };
+                };
+            };
+
+            oldi1_am62p: oldi@1 {
+                reg = <1>;
+                clocks = <&k3_clks 186 0>;
+                clock-names = "serial";
+                ti,oldi-io-ctrl = <&dss_oldi_io_ctrl>;
+
+                ports {
+                    #address-cells = <1>;
+                    #size-cells = <0>;
+
+                    port@0 {
+                        reg = <0>;
+                        oldi1_am62p_in: endpoint {
+                            remote-endpoint = <&dpi0_am62p_out1>;
+                        };
+                    };
+
+                    port@1 {
+                        reg = <1>;
+                        oldi1_am62p_out: endpoint {
+                            remote-endpoint = <&panel1_in>;
+                        };
+                    };
+                };
+            };
+        };
+
+        ports {
+            #address-cells = <1>;
+            #size-cells = <0>;
+
+            port@0 {
+                #address-cells = <1>;
+                #size-cells = <0>;
+                reg = <0>;
+                dpi0_am62p_out0: endpoint@0 {
+                    reg = <0>;
+                    remote-endpoint = <&oldi0_am62p_in>;
+                };
+                dpi0_am62p_out1: endpoint@1 {
+                    reg = <1>;
+                    remote-endpoint = <&oldi1_am62p_in>;
+                };
+            };
+
+            port@1 {
+                reg = <1>;
+                dpi1_am62p_out: endpoint {
+                    remote-endpoint = <&dpi_bridge>;
+                };
+            };
+        };
+    };

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ