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,am65x-dss.yaml#" 68c2ecf20Sopenharmony_ci$schema: "http://devicetree.org/meta-schemas/core.yaml#" 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_cititle: Texas Instruments AM65x 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 AM65x TI Keystone Display SubSystem with two output ports and 168c2ecf20Sopenharmony_ci two video planes. The first video port supports OLDI and the second 178c2ecf20Sopenharmony_ci supports DPI format. The fist plane is full video plane with all 188c2ecf20Sopenharmony_ci features and the second is a "lite plane" without scaling support. 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ciproperties: 218c2ecf20Sopenharmony_ci compatible: 228c2ecf20Sopenharmony_ci const: ti,am65x-dss 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ci reg: 258c2ecf20Sopenharmony_ci description: 268c2ecf20Sopenharmony_ci Addresses to each DSS memory region described in the SoC's TRM. 278c2ecf20Sopenharmony_ci items: 288c2ecf20Sopenharmony_ci - description: common DSS register area 298c2ecf20Sopenharmony_ci - description: VIDL1 light video plane 308c2ecf20Sopenharmony_ci - description: VID video plane 318c2ecf20Sopenharmony_ci - description: OVR1 overlay manager for vp1 328c2ecf20Sopenharmony_ci - description: OVR2 overlay manager for vp2 338c2ecf20Sopenharmony_ci - description: VP1 video port 1 348c2ecf20Sopenharmony_ci - description: VP2 video port 2 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ci reg-names: 378c2ecf20Sopenharmony_ci items: 388c2ecf20Sopenharmony_ci - const: common 398c2ecf20Sopenharmony_ci - const: vidl1 408c2ecf20Sopenharmony_ci - const: vid 418c2ecf20Sopenharmony_ci - const: ovr1 428c2ecf20Sopenharmony_ci - const: ovr2 438c2ecf20Sopenharmony_ci - const: vp1 448c2ecf20Sopenharmony_ci - const: vp2 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_ci clocks: 478c2ecf20Sopenharmony_ci items: 488c2ecf20Sopenharmony_ci - description: fck DSS functional clock 498c2ecf20Sopenharmony_ci - description: vp1 Video Port 1 pixel clock 508c2ecf20Sopenharmony_ci - description: vp2 Video Port 2 pixel clock 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ci clock-names: 538c2ecf20Sopenharmony_ci items: 548c2ecf20Sopenharmony_ci - const: fck 558c2ecf20Sopenharmony_ci - const: vp1 568c2ecf20Sopenharmony_ci - const: vp2 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ci interrupts: 598c2ecf20Sopenharmony_ci maxItems: 1 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_ci power-domains: 628c2ecf20Sopenharmony_ci maxItems: 1 638c2ecf20Sopenharmony_ci description: phandle to the associated power domain 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ci ports: 668c2ecf20Sopenharmony_ci type: object 678c2ecf20Sopenharmony_ci description: 688c2ecf20Sopenharmony_ci Ports as described in Documentation/devicetree/bindings/graph.txt 698c2ecf20Sopenharmony_ci properties: 708c2ecf20Sopenharmony_ci "#address-cells": 718c2ecf20Sopenharmony_ci const: 1 728c2ecf20Sopenharmony_ci 738c2ecf20Sopenharmony_ci "#size-cells": 748c2ecf20Sopenharmony_ci const: 0 758c2ecf20Sopenharmony_ci 768c2ecf20Sopenharmony_ci port@0: 778c2ecf20Sopenharmony_ci type: object 788c2ecf20Sopenharmony_ci description: 798c2ecf20Sopenharmony_ci The DSS OLDI output port node form video port 1 808c2ecf20Sopenharmony_ci 818c2ecf20Sopenharmony_ci port@1: 828c2ecf20Sopenharmony_ci type: object 838c2ecf20Sopenharmony_ci description: 848c2ecf20Sopenharmony_ci The DSS DPI output port node from video port 2 858c2ecf20Sopenharmony_ci 868c2ecf20Sopenharmony_ci required: 878c2ecf20Sopenharmony_ci - "#address-cells" 888c2ecf20Sopenharmony_ci - "#size-cells" 898c2ecf20Sopenharmony_ci 908c2ecf20Sopenharmony_ci ti,am65x-oldi-io-ctrl: 918c2ecf20Sopenharmony_ci $ref: "/schemas/types.yaml#/definitions/phandle-array" 928c2ecf20Sopenharmony_ci maxItems: 1 938c2ecf20Sopenharmony_ci description: 948c2ecf20Sopenharmony_ci phandle to syscon device node mapping OLDI IO_CTRL registers. 958c2ecf20Sopenharmony_ci The mapped range should point to OLDI_DAT0_IO_CTRL, map it and 968c2ecf20Sopenharmony_ci following OLDI_DAT1_IO_CTRL, OLDI_DAT2_IO_CTRL, OLDI_DAT3_IO_CTRL, 978c2ecf20Sopenharmony_ci and OLDI_CLK_IO_CTRL registers. This property is needed for OLDI 988c2ecf20Sopenharmony_ci interface to work. 998c2ecf20Sopenharmony_ci 1008c2ecf20Sopenharmony_ci max-memory-bandwidth: 1018c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 1028c2ecf20Sopenharmony_ci description: 1038c2ecf20Sopenharmony_ci Input memory (from main memory to dispc) bandwidth limit in 1048c2ecf20Sopenharmony_ci bytes per second 1058c2ecf20Sopenharmony_ci 1068c2ecf20Sopenharmony_cirequired: 1078c2ecf20Sopenharmony_ci - compatible 1088c2ecf20Sopenharmony_ci - reg 1098c2ecf20Sopenharmony_ci - reg-names 1108c2ecf20Sopenharmony_ci - clocks 1118c2ecf20Sopenharmony_ci - clock-names 1128c2ecf20Sopenharmony_ci - interrupts 1138c2ecf20Sopenharmony_ci - ports 1148c2ecf20Sopenharmony_ci 1158c2ecf20Sopenharmony_ciadditionalProperties: false 1168c2ecf20Sopenharmony_ci 1178c2ecf20Sopenharmony_ciexamples: 1188c2ecf20Sopenharmony_ci - | 1198c2ecf20Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 1208c2ecf20Sopenharmony_ci #include <dt-bindings/interrupt-controller/irq.h> 1218c2ecf20Sopenharmony_ci #include <dt-bindings/soc/ti,sci_pm_domain.h> 1228c2ecf20Sopenharmony_ci 1238c2ecf20Sopenharmony_ci dss: dss@4a00000 { 1248c2ecf20Sopenharmony_ci compatible = "ti,am65x-dss"; 1258c2ecf20Sopenharmony_ci reg = <0x04a00000 0x1000>, /* common */ 1268c2ecf20Sopenharmony_ci <0x04a02000 0x1000>, /* vidl1 */ 1278c2ecf20Sopenharmony_ci <0x04a06000 0x1000>, /* vid */ 1288c2ecf20Sopenharmony_ci <0x04a07000 0x1000>, /* ovr1 */ 1298c2ecf20Sopenharmony_ci <0x04a08000 0x1000>, /* ovr2 */ 1308c2ecf20Sopenharmony_ci <0x04a0a000 0x1000>, /* vp1 */ 1318c2ecf20Sopenharmony_ci <0x04a0b000 0x1000>; /* vp2 */ 1328c2ecf20Sopenharmony_ci reg-names = "common", "vidl1", "vid", 1338c2ecf20Sopenharmony_ci "ovr1", "ovr2", "vp1", "vp2"; 1348c2ecf20Sopenharmony_ci ti,am65x-oldi-io-ctrl = <&dss_oldi_io_ctrl>; 1358c2ecf20Sopenharmony_ci power-domains = <&k3_pds 67 TI_SCI_PD_EXCLUSIVE>; 1368c2ecf20Sopenharmony_ci clocks = <&k3_clks 67 1>, 1378c2ecf20Sopenharmony_ci <&k3_clks 216 1>, 1388c2ecf20Sopenharmony_ci <&k3_clks 67 2>; 1398c2ecf20Sopenharmony_ci clock-names = "fck", "vp1", "vp2"; 1408c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 166 IRQ_TYPE_EDGE_RISING>; 1418c2ecf20Sopenharmony_ci ports { 1428c2ecf20Sopenharmony_ci #address-cells = <1>; 1438c2ecf20Sopenharmony_ci #size-cells = <0>; 1448c2ecf20Sopenharmony_ci port@0 { 1458c2ecf20Sopenharmony_ci reg = <0>; 1468c2ecf20Sopenharmony_ci oldi_out0: endpoint { 1478c2ecf20Sopenharmony_ci remote-endpoint = <&lcd_in0>; 1488c2ecf20Sopenharmony_ci }; 1498c2ecf20Sopenharmony_ci }; 1508c2ecf20Sopenharmony_ci }; 1518c2ecf20Sopenharmony_ci }; 152