[<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