162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 262306a36Sopenharmony_ci# Copyright 2019 Texas Instruments Incorporated 362306a36Sopenharmony_ci%YAML 1.2 462306a36Sopenharmony_ci--- 562306a36Sopenharmony_ci$id: http://devicetree.org/schemas/display/ti/ti,am65x-dss.yaml# 662306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 762306a36Sopenharmony_ci 862306a36Sopenharmony_cititle: Texas Instruments AM65x Display Subsystem 962306a36Sopenharmony_ci 1062306a36Sopenharmony_cimaintainers: 1162306a36Sopenharmony_ci - Jyri Sarha <jsarha@ti.com> 1262306a36Sopenharmony_ci - Tomi Valkeinen <tomi.valkeinen@ti.com> 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_cidescription: | 1562306a36Sopenharmony_ci The AM625 and AM65x TI Keystone Display SubSystem with two output 1662306a36Sopenharmony_ci ports and two video planes. In AM65x DSS, the first video port 1762306a36Sopenharmony_ci supports 1 OLDI TX and in AM625 DSS, the first video port output is 1862306a36Sopenharmony_ci internally routed to 2 OLDI TXes. The second video port supports DPI 1962306a36Sopenharmony_ci format. The first plane is full video plane with all features and the 2062306a36Sopenharmony_ci second is a "lite plane" without scaling support. 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ciproperties: 2362306a36Sopenharmony_ci compatible: 2462306a36Sopenharmony_ci enum: 2562306a36Sopenharmony_ci - ti,am625-dss 2662306a36Sopenharmony_ci - ti,am65x-dss 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci reg: 2962306a36Sopenharmony_ci description: 3062306a36Sopenharmony_ci Addresses to each DSS memory region described in the SoC's TRM. 3162306a36Sopenharmony_ci items: 3262306a36Sopenharmony_ci - description: common DSS register area 3362306a36Sopenharmony_ci - description: VIDL1 light video plane 3462306a36Sopenharmony_ci - description: VID video plane 3562306a36Sopenharmony_ci - description: OVR1 overlay manager for vp1 3662306a36Sopenharmony_ci - description: OVR2 overlay manager for vp2 3762306a36Sopenharmony_ci - description: VP1 video port 1 3862306a36Sopenharmony_ci - description: VP2 video port 2 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci reg-names: 4162306a36Sopenharmony_ci items: 4262306a36Sopenharmony_ci - const: common 4362306a36Sopenharmony_ci - const: vidl1 4462306a36Sopenharmony_ci - const: vid 4562306a36Sopenharmony_ci - const: ovr1 4662306a36Sopenharmony_ci - const: ovr2 4762306a36Sopenharmony_ci - const: vp1 4862306a36Sopenharmony_ci - const: vp2 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci clocks: 5162306a36Sopenharmony_ci items: 5262306a36Sopenharmony_ci - description: fck DSS functional clock 5362306a36Sopenharmony_ci - description: vp1 Video Port 1 pixel clock 5462306a36Sopenharmony_ci - description: vp2 Video Port 2 pixel clock 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci clock-names: 5762306a36Sopenharmony_ci items: 5862306a36Sopenharmony_ci - const: fck 5962306a36Sopenharmony_ci - const: vp1 6062306a36Sopenharmony_ci - const: vp2 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci assigned-clocks: 6362306a36Sopenharmony_ci minItems: 1 6462306a36Sopenharmony_ci maxItems: 3 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci assigned-clock-parents: 6762306a36Sopenharmony_ci minItems: 1 6862306a36Sopenharmony_ci maxItems: 3 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ci interrupts: 7162306a36Sopenharmony_ci maxItems: 1 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci power-domains: 7462306a36Sopenharmony_ci maxItems: 1 7562306a36Sopenharmony_ci description: phandle to the associated power domain 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci dma-coherent: 7862306a36Sopenharmony_ci type: boolean 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ci ports: 8162306a36Sopenharmony_ci $ref: /schemas/graph.yaml#/properties/ports 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ci properties: 8462306a36Sopenharmony_ci port@0: 8562306a36Sopenharmony_ci $ref: /schemas/graph.yaml#/properties/port 8662306a36Sopenharmony_ci description: 8762306a36Sopenharmony_ci For AM65x DSS, the OLDI output port node from video port 1. 8862306a36Sopenharmony_ci For AM625 DSS, the internal DPI output port node from video 8962306a36Sopenharmony_ci port 1. 9062306a36Sopenharmony_ci 9162306a36Sopenharmony_ci port@1: 9262306a36Sopenharmony_ci $ref: /schemas/graph.yaml#/properties/port 9362306a36Sopenharmony_ci description: 9462306a36Sopenharmony_ci The DSS DPI output port node from video port 2 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ci ti,am65x-oldi-io-ctrl: 9762306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/phandle 9862306a36Sopenharmony_ci description: 9962306a36Sopenharmony_ci phandle to syscon device node mapping OLDI IO_CTRL registers. 10062306a36Sopenharmony_ci The mapped range should point to OLDI_DAT0_IO_CTRL, map it and 10162306a36Sopenharmony_ci following OLDI_DAT1_IO_CTRL, OLDI_DAT2_IO_CTRL, OLDI_DAT3_IO_CTRL, 10262306a36Sopenharmony_ci and OLDI_CLK_IO_CTRL registers. This property is needed for OLDI 10362306a36Sopenharmony_ci interface to work. 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ci max-memory-bandwidth: 10662306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 10762306a36Sopenharmony_ci description: 10862306a36Sopenharmony_ci Input memory (from main memory to dispc) bandwidth limit in 10962306a36Sopenharmony_ci bytes per second 11062306a36Sopenharmony_ci 11162306a36Sopenharmony_cirequired: 11262306a36Sopenharmony_ci - compatible 11362306a36Sopenharmony_ci - reg 11462306a36Sopenharmony_ci - reg-names 11562306a36Sopenharmony_ci - clocks 11662306a36Sopenharmony_ci - clock-names 11762306a36Sopenharmony_ci - interrupts 11862306a36Sopenharmony_ci - ports 11962306a36Sopenharmony_ci 12062306a36Sopenharmony_ciadditionalProperties: false 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ciexamples: 12362306a36Sopenharmony_ci - | 12462306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 12562306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/irq.h> 12662306a36Sopenharmony_ci #include <dt-bindings/soc/ti,sci_pm_domain.h> 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ci dss: dss@4a00000 { 12962306a36Sopenharmony_ci compatible = "ti,am65x-dss"; 13062306a36Sopenharmony_ci reg = <0x04a00000 0x1000>, /* common */ 13162306a36Sopenharmony_ci <0x04a02000 0x1000>, /* vidl1 */ 13262306a36Sopenharmony_ci <0x04a06000 0x1000>, /* vid */ 13362306a36Sopenharmony_ci <0x04a07000 0x1000>, /* ovr1 */ 13462306a36Sopenharmony_ci <0x04a08000 0x1000>, /* ovr2 */ 13562306a36Sopenharmony_ci <0x04a0a000 0x1000>, /* vp1 */ 13662306a36Sopenharmony_ci <0x04a0b000 0x1000>; /* vp2 */ 13762306a36Sopenharmony_ci reg-names = "common", "vidl1", "vid", 13862306a36Sopenharmony_ci "ovr1", "ovr2", "vp1", "vp2"; 13962306a36Sopenharmony_ci ti,am65x-oldi-io-ctrl = <&dss_oldi_io_ctrl>; 14062306a36Sopenharmony_ci power-domains = <&k3_pds 67 TI_SCI_PD_EXCLUSIVE>; 14162306a36Sopenharmony_ci clocks = <&k3_clks 67 1>, 14262306a36Sopenharmony_ci <&k3_clks 216 1>, 14362306a36Sopenharmony_ci <&k3_clks 67 2>; 14462306a36Sopenharmony_ci clock-names = "fck", "vp1", "vp2"; 14562306a36Sopenharmony_ci interrupts = <GIC_SPI 166 IRQ_TYPE_EDGE_RISING>; 14662306a36Sopenharmony_ci ports { 14762306a36Sopenharmony_ci #address-cells = <1>; 14862306a36Sopenharmony_ci #size-cells = <0>; 14962306a36Sopenharmony_ci port@0 { 15062306a36Sopenharmony_ci reg = <0>; 15162306a36Sopenharmony_ci oldi_out0: endpoint { 15262306a36Sopenharmony_ci remote-endpoint = <&lcd_in0>; 15362306a36Sopenharmony_ci }; 15462306a36Sopenharmony_ci }; 15562306a36Sopenharmony_ci }; 15662306a36Sopenharmony_ci }; 157