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] [day] [month] [year] [list]
Message-ID: <20251114-vanilla-pork-f3854bd230f2@spud>
Date: Fri, 14 Nov 2025 17:58:23 +0000
From: Conor Dooley <conor@...nel.org>
To: Swamil Jain <s-jain1@...com>
Cc: 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,
	dri-devel@...ts.freedesktop.org, devicetree@...r.kernel.org,
	linux-kernel@...r.kernel.org, devarsht@...com, praneeth@...com,
	h-shenoy@...com, u-kumar1@...com
Subject: Re: [PATCH 1/3] dt-bindings: display: ti,am65x-dss: Add am62p dss
 compatible

On Fri, Nov 14, 2025 at 12:13:34PM +0530, Swamil Jain wrote:
> 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:

I don't think you need a new 15 line example to add 2 power domains when
everything else remains the same.

Please also restrict the power domains by compatible. I'm not sure
reading this binding if the new device can function with 1 power domain,
but your binding permits that as well as not being clear that other
devices only need one.

pw-bot: changes-requested

Cheers,
Conor.

>              };
>          };
>      };
> +
> +  - |
> +    #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>;
> +                };
> +            };
> +        };
> +    };

Download attachment "signature.asc" of type "application/pgp-signature" (229 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ