18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 28c2ecf20Sopenharmony_ci# Copyright 2019 Texas Instruments Incorporated 38c2ecf20Sopenharmony_ci%YAML 1.2 48c2ecf20Sopenharmony_ci--- 58c2ecf20Sopenharmony_ci$id: "http://devicetree.org/schemas/display/ti/ti,j721e-dss.yaml#" 68c2ecf20Sopenharmony_ci$schema: "http://devicetree.org/meta-schemas/core.yaml#" 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_cititle: Texas Instruments J721E Display Subsystem 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_cimaintainers: 118c2ecf20Sopenharmony_ci - Jyri Sarha <jsarha@ti.com> 128c2ecf20Sopenharmony_ci - Tomi Valkeinen <tomi.valkeinen@ti.com> 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_cidescription: | 158c2ecf20Sopenharmony_ci The J721E TI Keystone Display SubSystem with four output ports and 168c2ecf20Sopenharmony_ci four video planes. There is two full video planes and two "lite 178c2ecf20Sopenharmony_ci planes" without scaling support. The video ports can be connected to 188c2ecf20Sopenharmony_ci the SoC's DPI pins or to integrated display bridges on the SoC. 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ciproperties: 218c2ecf20Sopenharmony_ci compatible: 228c2ecf20Sopenharmony_ci const: ti,j721e-dss 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ci reg: 258c2ecf20Sopenharmony_ci items: 268c2ecf20Sopenharmony_ci - description: common_m DSS Master common 278c2ecf20Sopenharmony_ci - description: common_s0 DSS Shared common 0 288c2ecf20Sopenharmony_ci - description: common_s1 DSS Shared common 1 298c2ecf20Sopenharmony_ci - description: common_s2 DSS Shared common 2 308c2ecf20Sopenharmony_ci - description: VIDL1 light video plane 1 318c2ecf20Sopenharmony_ci - description: VIDL2 light video plane 2 328c2ecf20Sopenharmony_ci - description: VID1 video plane 1 338c2ecf20Sopenharmony_ci - description: VID1 video plane 2 348c2ecf20Sopenharmony_ci - description: OVR1 overlay manager for vp1 358c2ecf20Sopenharmony_ci - description: OVR2 overlay manager for vp2 368c2ecf20Sopenharmony_ci - description: OVR3 overlay manager for vp3 378c2ecf20Sopenharmony_ci - description: OVR4 overlay manager for vp4 388c2ecf20Sopenharmony_ci - description: VP1 video port 1 398c2ecf20Sopenharmony_ci - description: VP2 video port 2 408c2ecf20Sopenharmony_ci - description: VP3 video port 3 418c2ecf20Sopenharmony_ci - description: VP4 video port 4 428c2ecf20Sopenharmony_ci - description: WB Write Back 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ci reg-names: 458c2ecf20Sopenharmony_ci items: 468c2ecf20Sopenharmony_ci - const: common_m 478c2ecf20Sopenharmony_ci - const: common_s0 488c2ecf20Sopenharmony_ci - const: common_s1 498c2ecf20Sopenharmony_ci - const: common_s2 508c2ecf20Sopenharmony_ci - const: vidl1 518c2ecf20Sopenharmony_ci - const: vidl2 528c2ecf20Sopenharmony_ci - const: vid1 538c2ecf20Sopenharmony_ci - const: vid2 548c2ecf20Sopenharmony_ci - const: ovr1 558c2ecf20Sopenharmony_ci - const: ovr2 568c2ecf20Sopenharmony_ci - const: ovr3 578c2ecf20Sopenharmony_ci - const: ovr4 588c2ecf20Sopenharmony_ci - const: vp1 598c2ecf20Sopenharmony_ci - const: vp2 608c2ecf20Sopenharmony_ci - const: vp3 618c2ecf20Sopenharmony_ci - const: vp4 628c2ecf20Sopenharmony_ci - const: wb 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ci clocks: 658c2ecf20Sopenharmony_ci items: 668c2ecf20Sopenharmony_ci - description: fck DSS functional clock 678c2ecf20Sopenharmony_ci - description: vp1 Video Port 1 pixel clock 688c2ecf20Sopenharmony_ci - description: vp2 Video Port 2 pixel clock 698c2ecf20Sopenharmony_ci - description: vp3 Video Port 3 pixel clock 708c2ecf20Sopenharmony_ci - description: vp4 Video Port 4 pixel clock 718c2ecf20Sopenharmony_ci 728c2ecf20Sopenharmony_ci clock-names: 738c2ecf20Sopenharmony_ci items: 748c2ecf20Sopenharmony_ci - const: fck 758c2ecf20Sopenharmony_ci - const: vp1 768c2ecf20Sopenharmony_ci - const: vp2 778c2ecf20Sopenharmony_ci - const: vp3 788c2ecf20Sopenharmony_ci - const: vp4 798c2ecf20Sopenharmony_ci 808c2ecf20Sopenharmony_ci interrupts: 818c2ecf20Sopenharmony_ci items: 828c2ecf20Sopenharmony_ci - description: common_m DSS Master common 838c2ecf20Sopenharmony_ci - description: common_s0 DSS Shared common 0 848c2ecf20Sopenharmony_ci - description: common_s1 DSS Shared common 1 858c2ecf20Sopenharmony_ci - description: common_s2 DSS Shared common 2 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ci interrupt-names: 888c2ecf20Sopenharmony_ci items: 898c2ecf20Sopenharmony_ci - const: common_m 908c2ecf20Sopenharmony_ci - const: common_s0 918c2ecf20Sopenharmony_ci - const: common_s1 928c2ecf20Sopenharmony_ci - const: common_s2 938c2ecf20Sopenharmony_ci 948c2ecf20Sopenharmony_ci power-domains: 958c2ecf20Sopenharmony_ci maxItems: 1 968c2ecf20Sopenharmony_ci description: phandle to the associated power domain 978c2ecf20Sopenharmony_ci 988c2ecf20Sopenharmony_ci ports: 998c2ecf20Sopenharmony_ci type: object 1008c2ecf20Sopenharmony_ci description: 1018c2ecf20Sopenharmony_ci Ports as described in Documentation/devicetree/bindings/graph.txt 1028c2ecf20Sopenharmony_ci properties: 1038c2ecf20Sopenharmony_ci "#address-cells": 1048c2ecf20Sopenharmony_ci const: 1 1058c2ecf20Sopenharmony_ci 1068c2ecf20Sopenharmony_ci "#size-cells": 1078c2ecf20Sopenharmony_ci const: 0 1088c2ecf20Sopenharmony_ci 1098c2ecf20Sopenharmony_ci port@0: 1108c2ecf20Sopenharmony_ci type: object 1118c2ecf20Sopenharmony_ci description: 1128c2ecf20Sopenharmony_ci The output port node form video port 1 1138c2ecf20Sopenharmony_ci 1148c2ecf20Sopenharmony_ci port@1: 1158c2ecf20Sopenharmony_ci type: object 1168c2ecf20Sopenharmony_ci description: 1178c2ecf20Sopenharmony_ci The output port node from video port 2 1188c2ecf20Sopenharmony_ci 1198c2ecf20Sopenharmony_ci port@2: 1208c2ecf20Sopenharmony_ci type: object 1218c2ecf20Sopenharmony_ci description: 1228c2ecf20Sopenharmony_ci The output port node from video port 3 1238c2ecf20Sopenharmony_ci 1248c2ecf20Sopenharmony_ci port@3: 1258c2ecf20Sopenharmony_ci type: object 1268c2ecf20Sopenharmony_ci description: 1278c2ecf20Sopenharmony_ci The output port node from video port 4 1288c2ecf20Sopenharmony_ci 1298c2ecf20Sopenharmony_ci required: 1308c2ecf20Sopenharmony_ci - "#address-cells" 1318c2ecf20Sopenharmony_ci - "#size-cells" 1328c2ecf20Sopenharmony_ci 1338c2ecf20Sopenharmony_ci max-memory-bandwidth: 1348c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 1358c2ecf20Sopenharmony_ci description: 1368c2ecf20Sopenharmony_ci Input memory (from main memory to dispc) bandwidth limit in 1378c2ecf20Sopenharmony_ci bytes per second 1388c2ecf20Sopenharmony_ci 1398c2ecf20Sopenharmony_cirequired: 1408c2ecf20Sopenharmony_ci - compatible 1418c2ecf20Sopenharmony_ci - reg 1428c2ecf20Sopenharmony_ci - reg-names 1438c2ecf20Sopenharmony_ci - clocks 1448c2ecf20Sopenharmony_ci - clock-names 1458c2ecf20Sopenharmony_ci - interrupts 1468c2ecf20Sopenharmony_ci - interrupt-names 1478c2ecf20Sopenharmony_ci - ports 1488c2ecf20Sopenharmony_ci 1498c2ecf20Sopenharmony_ciadditionalProperties: false 1508c2ecf20Sopenharmony_ci 1518c2ecf20Sopenharmony_ciexamples: 1528c2ecf20Sopenharmony_ci - | 1538c2ecf20Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 1548c2ecf20Sopenharmony_ci #include <dt-bindings/interrupt-controller/irq.h> 1558c2ecf20Sopenharmony_ci #include <dt-bindings/soc/ti,sci_pm_domain.h> 1568c2ecf20Sopenharmony_ci 1578c2ecf20Sopenharmony_ci dss: dss@4a00000 { 1588c2ecf20Sopenharmony_ci compatible = "ti,j721e-dss"; 1598c2ecf20Sopenharmony_ci reg = <0x04a00000 0x10000>, /* common_m */ 1608c2ecf20Sopenharmony_ci <0x04a10000 0x10000>, /* common_s0*/ 1618c2ecf20Sopenharmony_ci <0x04b00000 0x10000>, /* common_s1*/ 1628c2ecf20Sopenharmony_ci <0x04b10000 0x10000>, /* common_s2*/ 1638c2ecf20Sopenharmony_ci <0x04a20000 0x10000>, /* vidl1 */ 1648c2ecf20Sopenharmony_ci <0x04a30000 0x10000>, /* vidl2 */ 1658c2ecf20Sopenharmony_ci <0x04a50000 0x10000>, /* vid1 */ 1668c2ecf20Sopenharmony_ci <0x04a60000 0x10000>, /* vid2 */ 1678c2ecf20Sopenharmony_ci <0x04a70000 0x10000>, /* ovr1 */ 1688c2ecf20Sopenharmony_ci <0x04a90000 0x10000>, /* ovr2 */ 1698c2ecf20Sopenharmony_ci <0x04ab0000 0x10000>, /* ovr3 */ 1708c2ecf20Sopenharmony_ci <0x04ad0000 0x10000>, /* ovr4 */ 1718c2ecf20Sopenharmony_ci <0x04a80000 0x10000>, /* vp1 */ 1728c2ecf20Sopenharmony_ci <0x04aa0000 0x10000>, /* vp2 */ 1738c2ecf20Sopenharmony_ci <0x04ac0000 0x10000>, /* vp3 */ 1748c2ecf20Sopenharmony_ci <0x04ae0000 0x10000>, /* vp4 */ 1758c2ecf20Sopenharmony_ci <0x04af0000 0x10000>; /* wb */ 1768c2ecf20Sopenharmony_ci reg-names = "common_m", "common_s0", 1778c2ecf20Sopenharmony_ci "common_s1", "common_s2", 1788c2ecf20Sopenharmony_ci "vidl1", "vidl2","vid1","vid2", 1798c2ecf20Sopenharmony_ci "ovr1", "ovr2", "ovr3", "ovr4", 1808c2ecf20Sopenharmony_ci "vp1", "vp2", "vp3", "vp4", 1818c2ecf20Sopenharmony_ci "wb"; 1828c2ecf20Sopenharmony_ci clocks = <&k3_clks 152 0>, 1838c2ecf20Sopenharmony_ci <&k3_clks 152 1>, 1848c2ecf20Sopenharmony_ci <&k3_clks 152 4>, 1858c2ecf20Sopenharmony_ci <&k3_clks 152 9>, 1868c2ecf20Sopenharmony_ci <&k3_clks 152 13>; 1878c2ecf20Sopenharmony_ci clock-names = "fck", "vp1", "vp2", "vp3", "vp4"; 1888c2ecf20Sopenharmony_ci power-domains = <&k3_pds 152 TI_SCI_PD_EXCLUSIVE>; 1898c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>, 1908c2ecf20Sopenharmony_ci <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>, 1918c2ecf20Sopenharmony_ci <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>, 1928c2ecf20Sopenharmony_ci <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>; 1938c2ecf20Sopenharmony_ci interrupt-names = "common_m", 1948c2ecf20Sopenharmony_ci "common_s0", 1958c2ecf20Sopenharmony_ci "common_s1", 1968c2ecf20Sopenharmony_ci "common_s2"; 1978c2ecf20Sopenharmony_ci ports { 1988c2ecf20Sopenharmony_ci #address-cells = <1>; 1998c2ecf20Sopenharmony_ci #size-cells = <0>; 2008c2ecf20Sopenharmony_ci port@0 { 2018c2ecf20Sopenharmony_ci reg = <0>; 2028c2ecf20Sopenharmony_ci 2038c2ecf20Sopenharmony_ci dpi_out_0: endpoint { 2048c2ecf20Sopenharmony_ci remote-endpoint = <&dp_bridge_input>; 2058c2ecf20Sopenharmony_ci }; 2068c2ecf20Sopenharmony_ci }; 2078c2ecf20Sopenharmony_ci }; 2088c2ecf20Sopenharmony_ci }; 209