12d8730f1SJyri Sarha# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
22d8730f1SJyri Sarha# Copyright 2019 Texas Instruments Incorporated
32d8730f1SJyri Sarha%YAML 1.2
42d8730f1SJyri Sarha---
54334aec0SRob Herring$id: http://devicetree.org/schemas/display/ti/ti,am65x-dss.yaml#
64334aec0SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml#
72d8730f1SJyri Sarha
82d8730f1SJyri Sarhatitle: Texas Instruments AM65x Display Subsystem
92d8730f1SJyri Sarha
102d8730f1SJyri Sarhamaintainers:
112d8730f1SJyri Sarha  - Jyri Sarha <jsarha@ti.com>
122d8730f1SJyri Sarha  - Tomi Valkeinen <tomi.valkeinen@ti.com>
132d8730f1SJyri Sarha
142d8730f1SJyri Sarhadescription: |
15*13126d7fSAradhya Bhatia  The AM625 and AM65x TI Keystone Display SubSystem with two output
16*13126d7fSAradhya Bhatia  ports and two video planes. In AM65x DSS, the first video port
17*13126d7fSAradhya Bhatia  supports 1 OLDI TX and in AM625 DSS, the first video port output is
18*13126d7fSAradhya Bhatia  internally routed to 2 OLDI TXes. The second video port supports DPI
19*13126d7fSAradhya Bhatia  format. The first plane is full video plane with all features and the
20*13126d7fSAradhya Bhatia  second is a "lite plane" without scaling support.
212d8730f1SJyri Sarha
222d8730f1SJyri Sarhaproperties:
232d8730f1SJyri Sarha  compatible:
24*13126d7fSAradhya Bhatia    enum:
25*13126d7fSAradhya Bhatia      - ti,am625-dss
26*13126d7fSAradhya Bhatia      - ti,am65x-dss
272d8730f1SJyri Sarha
282d8730f1SJyri Sarha  reg:
292d8730f1SJyri Sarha    description:
302d8730f1SJyri Sarha      Addresses to each DSS memory region described in the SoC's TRM.
312d8730f1SJyri Sarha    items:
322d8730f1SJyri Sarha      - description: common DSS register area
332d8730f1SJyri Sarha      - description: VIDL1 light video plane
342d8730f1SJyri Sarha      - description: VID video plane
352d8730f1SJyri Sarha      - description: OVR1 overlay manager for vp1
362d8730f1SJyri Sarha      - description: OVR2 overlay manager for vp2
372d8730f1SJyri Sarha      - description: VP1 video port 1
382d8730f1SJyri Sarha      - description: VP2 video port 2
392d8730f1SJyri Sarha
402d8730f1SJyri Sarha  reg-names:
412d8730f1SJyri Sarha    items:
422d8730f1SJyri Sarha      - const: common
432d8730f1SJyri Sarha      - const: vidl1
442d8730f1SJyri Sarha      - const: vid
452d8730f1SJyri Sarha      - const: ovr1
462d8730f1SJyri Sarha      - const: ovr2
472d8730f1SJyri Sarha      - const: vp1
482d8730f1SJyri Sarha      - const: vp2
492d8730f1SJyri Sarha
502d8730f1SJyri Sarha  clocks:
512d8730f1SJyri Sarha    items:
522d8730f1SJyri Sarha      - description: fck DSS functional clock
532d8730f1SJyri Sarha      - description: vp1 Video Port 1 pixel clock
542d8730f1SJyri Sarha      - description: vp2 Video Port 2 pixel clock
552d8730f1SJyri Sarha
562d8730f1SJyri Sarha  clock-names:
572d8730f1SJyri Sarha    items:
582d8730f1SJyri Sarha      - const: fck
592d8730f1SJyri Sarha      - const: vp1
602d8730f1SJyri Sarha      - const: vp2
612d8730f1SJyri Sarha
626468f234STomi Valkeinen  assigned-clocks:
636468f234STomi Valkeinen    minItems: 1
646468f234STomi Valkeinen    maxItems: 3
656468f234STomi Valkeinen
666468f234STomi Valkeinen  assigned-clock-parents:
676468f234STomi Valkeinen    minItems: 1
686468f234STomi Valkeinen    maxItems: 3
696468f234STomi Valkeinen
702d8730f1SJyri Sarha  interrupts:
712d8730f1SJyri Sarha    maxItems: 1
722d8730f1SJyri Sarha
732d8730f1SJyri Sarha  power-domains:
742d8730f1SJyri Sarha    maxItems: 1
752d8730f1SJyri Sarha    description: phandle to the associated power domain
762d8730f1SJyri Sarha
776468f234STomi Valkeinen  dma-coherent:
786468f234STomi Valkeinen    type: boolean
796468f234STomi Valkeinen
802d8730f1SJyri Sarha  ports:
81b6755423SRob Herring    $ref: /schemas/graph.yaml#/properties/ports
82b6755423SRob Herring
832d8730f1SJyri Sarha    properties:
842d8730f1SJyri Sarha      port@0:
85b6755423SRob Herring        $ref: /schemas/graph.yaml#/properties/port
862d8730f1SJyri Sarha        description:
87*13126d7fSAradhya Bhatia          For AM65x DSS, the OLDI output port node from video port 1.
88*13126d7fSAradhya Bhatia          For AM625 DSS, the internal DPI output port node from video
89*13126d7fSAradhya Bhatia          port 1.
902d8730f1SJyri Sarha
912d8730f1SJyri Sarha      port@1:
92b6755423SRob Herring        $ref: /schemas/graph.yaml#/properties/port
932d8730f1SJyri Sarha        description:
942d8730f1SJyri Sarha          The DSS DPI output port node from video port 2
952d8730f1SJyri Sarha
962d8730f1SJyri Sarha  ti,am65x-oldi-io-ctrl:
974334aec0SRob Herring    $ref: /schemas/types.yaml#/definitions/phandle
982d8730f1SJyri Sarha    description:
992d8730f1SJyri Sarha      phandle to syscon device node mapping OLDI IO_CTRL registers.
1002d8730f1SJyri Sarha      The mapped range should point to OLDI_DAT0_IO_CTRL, map it and
1012d8730f1SJyri Sarha      following OLDI_DAT1_IO_CTRL, OLDI_DAT2_IO_CTRL, OLDI_DAT3_IO_CTRL,
1022d8730f1SJyri Sarha      and OLDI_CLK_IO_CTRL registers. This property is needed for OLDI
1032d8730f1SJyri Sarha      interface to work.
1042d8730f1SJyri Sarha
1052d8730f1SJyri Sarha  max-memory-bandwidth:
1062d8730f1SJyri Sarha    $ref: /schemas/types.yaml#/definitions/uint32
1072d8730f1SJyri Sarha    description:
1082d8730f1SJyri Sarha      Input memory (from main memory to dispc) bandwidth limit in
1092d8730f1SJyri Sarha      bytes per second
1102d8730f1SJyri Sarha
1112d8730f1SJyri Sarharequired:
1122d8730f1SJyri Sarha  - compatible
1132d8730f1SJyri Sarha  - reg
1142d8730f1SJyri Sarha  - reg-names
1152d8730f1SJyri Sarha  - clocks
1162d8730f1SJyri Sarha  - clock-names
1172d8730f1SJyri Sarha  - interrupts
1182d8730f1SJyri Sarha  - ports
1192d8730f1SJyri Sarha
1202d8730f1SJyri SarhaadditionalProperties: false
1212d8730f1SJyri Sarha
1222d8730f1SJyri Sarhaexamples:
1232d8730f1SJyri Sarha  - |
1242d8730f1SJyri Sarha    #include <dt-bindings/interrupt-controller/arm-gic.h>
1252d8730f1SJyri Sarha    #include <dt-bindings/interrupt-controller/irq.h>
1262d8730f1SJyri Sarha    #include <dt-bindings/soc/ti,sci_pm_domain.h>
1272d8730f1SJyri Sarha
12898878d9dSRob Herring    dss: dss@4a00000 {
1292d8730f1SJyri Sarha            compatible = "ti,am65x-dss";
130fba56184SRob Herring            reg =   <0x04a00000 0x1000>, /* common */
131fba56184SRob Herring                    <0x04a02000 0x1000>, /* vidl1 */
132fba56184SRob Herring                    <0x04a06000 0x1000>, /* vid */
133fba56184SRob Herring                    <0x04a07000 0x1000>, /* ovr1 */
134fba56184SRob Herring                    <0x04a08000 0x1000>, /* ovr2 */
135fba56184SRob Herring                    <0x04a0a000 0x1000>, /* vp1 */
136fba56184SRob Herring                    <0x04a0b000 0x1000>; /* vp2 */
1372d8730f1SJyri Sarha            reg-names = "common", "vidl1", "vid",
1382d8730f1SJyri Sarha                    "ovr1", "ovr2", "vp1", "vp2";
1392d8730f1SJyri Sarha            ti,am65x-oldi-io-ctrl = <&dss_oldi_io_ctrl>;
1402d8730f1SJyri Sarha            power-domains = <&k3_pds 67 TI_SCI_PD_EXCLUSIVE>;
1412d8730f1SJyri Sarha            clocks =        <&k3_clks 67 1>,
1422d8730f1SJyri Sarha                            <&k3_clks 216 1>,
1432d8730f1SJyri Sarha                            <&k3_clks 67 2>;
1442d8730f1SJyri Sarha            clock-names = "fck", "vp1", "vp2";
1452d8730f1SJyri Sarha            interrupts = <GIC_SPI 166 IRQ_TYPE_EDGE_RISING>;
1462d8730f1SJyri Sarha            ports {
1472d8730f1SJyri Sarha                    #address-cells = <1>;
1482d8730f1SJyri Sarha                    #size-cells = <0>;
1492d8730f1SJyri Sarha                    port@0 {
1502d8730f1SJyri Sarha                            reg = <0>;
1512d8730f1SJyri Sarha                            oldi_out0: endpoint {
1522d8730f1SJyri Sarha                                    remote-endpoint = <&lcd_in0>;
1532d8730f1SJyri Sarha                            };
1542d8730f1SJyri Sarha                    };
1552d8730f1SJyri Sarha            };
1562d8730f1SJyri Sarha    };
157