1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2c66ec88fSEmmanuel Vadot# Copyright 2019 Texas Instruments Incorporated 3c66ec88fSEmmanuel Vadot%YAML 1.2 4c66ec88fSEmmanuel Vadot--- 5fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/display/ti/ti,am65x-dss.yaml# 6fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 7c66ec88fSEmmanuel Vadot 8c66ec88fSEmmanuel Vadottitle: Texas Instruments AM65x Display Subsystem 9c66ec88fSEmmanuel Vadot 10c66ec88fSEmmanuel Vadotmaintainers: 11c66ec88fSEmmanuel Vadot - Jyri Sarha <jsarha@ti.com> 12c66ec88fSEmmanuel Vadot - Tomi Valkeinen <tomi.valkeinen@ti.com> 13c66ec88fSEmmanuel Vadot 14c66ec88fSEmmanuel Vadotdescription: | 15*aa1a8ff2SEmmanuel Vadot The AM625 and AM65x TI Keystone Display SubSystem with two output 16*aa1a8ff2SEmmanuel Vadot ports and two video planes. In AM65x DSS, the first video port 17*aa1a8ff2SEmmanuel Vadot supports 1 OLDI TX and in AM625 DSS, the first video port output is 18*aa1a8ff2SEmmanuel Vadot internally routed to 2 OLDI TXes. The second video port supports DPI 19*aa1a8ff2SEmmanuel Vadot format. The first plane is full video plane with all features and the 20*aa1a8ff2SEmmanuel Vadot second is a "lite plane" without scaling support. 21c66ec88fSEmmanuel Vadot 22c66ec88fSEmmanuel Vadotproperties: 23c66ec88fSEmmanuel Vadot compatible: 24*aa1a8ff2SEmmanuel Vadot enum: 25*aa1a8ff2SEmmanuel Vadot - ti,am625-dss 26*aa1a8ff2SEmmanuel Vadot - ti,am65x-dss 27c66ec88fSEmmanuel Vadot 28c66ec88fSEmmanuel Vadot reg: 29c66ec88fSEmmanuel Vadot description: 30c66ec88fSEmmanuel Vadot Addresses to each DSS memory region described in the SoC's TRM. 31c66ec88fSEmmanuel Vadot items: 32c66ec88fSEmmanuel Vadot - description: common DSS register area 33c66ec88fSEmmanuel Vadot - description: VIDL1 light video plane 34c66ec88fSEmmanuel Vadot - description: VID video plane 35c66ec88fSEmmanuel Vadot - description: OVR1 overlay manager for vp1 36c66ec88fSEmmanuel Vadot - description: OVR2 overlay manager for vp2 37c66ec88fSEmmanuel Vadot - description: VP1 video port 1 38c66ec88fSEmmanuel Vadot - description: VP2 video port 2 39c66ec88fSEmmanuel Vadot 40c66ec88fSEmmanuel Vadot reg-names: 41c66ec88fSEmmanuel Vadot items: 42c66ec88fSEmmanuel Vadot - const: common 43c66ec88fSEmmanuel Vadot - const: vidl1 44c66ec88fSEmmanuel Vadot - const: vid 45c66ec88fSEmmanuel Vadot - const: ovr1 46c66ec88fSEmmanuel Vadot - const: ovr2 47c66ec88fSEmmanuel Vadot - const: vp1 48c66ec88fSEmmanuel Vadot - const: vp2 49c66ec88fSEmmanuel Vadot 50c66ec88fSEmmanuel Vadot clocks: 51c66ec88fSEmmanuel Vadot items: 52c66ec88fSEmmanuel Vadot - description: fck DSS functional clock 53c66ec88fSEmmanuel Vadot - description: vp1 Video Port 1 pixel clock 54c66ec88fSEmmanuel Vadot - description: vp2 Video Port 2 pixel clock 55c66ec88fSEmmanuel Vadot 56c66ec88fSEmmanuel Vadot clock-names: 57c66ec88fSEmmanuel Vadot items: 58c66ec88fSEmmanuel Vadot - const: fck 59c66ec88fSEmmanuel Vadot - const: vp1 60c66ec88fSEmmanuel Vadot - const: vp2 61c66ec88fSEmmanuel Vadot 625def4c47SEmmanuel Vadot assigned-clocks: 635def4c47SEmmanuel Vadot minItems: 1 645def4c47SEmmanuel Vadot maxItems: 3 655def4c47SEmmanuel Vadot 665def4c47SEmmanuel Vadot assigned-clock-parents: 675def4c47SEmmanuel Vadot minItems: 1 685def4c47SEmmanuel Vadot maxItems: 3 695def4c47SEmmanuel Vadot 70c66ec88fSEmmanuel Vadot interrupts: 71c66ec88fSEmmanuel Vadot maxItems: 1 72c66ec88fSEmmanuel Vadot 73c66ec88fSEmmanuel Vadot power-domains: 74c66ec88fSEmmanuel Vadot maxItems: 1 75c66ec88fSEmmanuel Vadot description: phandle to the associated power domain 76c66ec88fSEmmanuel Vadot 775def4c47SEmmanuel Vadot dma-coherent: 785def4c47SEmmanuel Vadot type: boolean 795def4c47SEmmanuel Vadot 80c66ec88fSEmmanuel Vadot ports: 815def4c47SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/ports 825def4c47SEmmanuel Vadot 83c66ec88fSEmmanuel Vadot properties: 84c66ec88fSEmmanuel Vadot port@0: 855def4c47SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 86c66ec88fSEmmanuel Vadot description: 87*aa1a8ff2SEmmanuel Vadot For AM65x DSS, the OLDI output port node from video port 1. 88*aa1a8ff2SEmmanuel Vadot For AM625 DSS, the internal DPI output port node from video 89*aa1a8ff2SEmmanuel Vadot port 1. 90c66ec88fSEmmanuel Vadot 91c66ec88fSEmmanuel Vadot port@1: 925def4c47SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 93c66ec88fSEmmanuel Vadot description: 94c66ec88fSEmmanuel Vadot The DSS DPI output port node from video port 2 95c66ec88fSEmmanuel Vadot 96c66ec88fSEmmanuel Vadot ti,am65x-oldi-io-ctrl: 97fac71e4eSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 98c66ec88fSEmmanuel Vadot description: 99c66ec88fSEmmanuel Vadot phandle to syscon device node mapping OLDI IO_CTRL registers. 100c66ec88fSEmmanuel Vadot The mapped range should point to OLDI_DAT0_IO_CTRL, map it and 101c66ec88fSEmmanuel Vadot following OLDI_DAT1_IO_CTRL, OLDI_DAT2_IO_CTRL, OLDI_DAT3_IO_CTRL, 102c66ec88fSEmmanuel Vadot and OLDI_CLK_IO_CTRL registers. This property is needed for OLDI 103c66ec88fSEmmanuel Vadot interface to work. 104c66ec88fSEmmanuel Vadot 105c66ec88fSEmmanuel Vadot max-memory-bandwidth: 106c66ec88fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 107c66ec88fSEmmanuel Vadot description: 108c66ec88fSEmmanuel Vadot Input memory (from main memory to dispc) bandwidth limit in 109c66ec88fSEmmanuel Vadot bytes per second 110c66ec88fSEmmanuel Vadot 111c66ec88fSEmmanuel Vadotrequired: 112c66ec88fSEmmanuel Vadot - compatible 113c66ec88fSEmmanuel Vadot - reg 114c66ec88fSEmmanuel Vadot - reg-names 115c66ec88fSEmmanuel Vadot - clocks 116c66ec88fSEmmanuel Vadot - clock-names 117c66ec88fSEmmanuel Vadot - interrupts 118c66ec88fSEmmanuel Vadot - ports 119c66ec88fSEmmanuel Vadot 120c66ec88fSEmmanuel VadotadditionalProperties: false 121c66ec88fSEmmanuel Vadot 122c66ec88fSEmmanuel Vadotexamples: 123c66ec88fSEmmanuel Vadot - | 124c66ec88fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 125c66ec88fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 126c66ec88fSEmmanuel Vadot #include <dt-bindings/soc/ti,sci_pm_domain.h> 127c66ec88fSEmmanuel Vadot 128c66ec88fSEmmanuel Vadot dss: dss@4a00000 { 129c66ec88fSEmmanuel Vadot compatible = "ti,am65x-dss"; 130c66ec88fSEmmanuel Vadot reg = <0x04a00000 0x1000>, /* common */ 131c66ec88fSEmmanuel Vadot <0x04a02000 0x1000>, /* vidl1 */ 132c66ec88fSEmmanuel Vadot <0x04a06000 0x1000>, /* vid */ 133c66ec88fSEmmanuel Vadot <0x04a07000 0x1000>, /* ovr1 */ 134c66ec88fSEmmanuel Vadot <0x04a08000 0x1000>, /* ovr2 */ 135c66ec88fSEmmanuel Vadot <0x04a0a000 0x1000>, /* vp1 */ 136c66ec88fSEmmanuel Vadot <0x04a0b000 0x1000>; /* vp2 */ 137c66ec88fSEmmanuel Vadot reg-names = "common", "vidl1", "vid", 138c66ec88fSEmmanuel Vadot "ovr1", "ovr2", "vp1", "vp2"; 139c66ec88fSEmmanuel Vadot ti,am65x-oldi-io-ctrl = <&dss_oldi_io_ctrl>; 140c66ec88fSEmmanuel Vadot power-domains = <&k3_pds 67 TI_SCI_PD_EXCLUSIVE>; 141c66ec88fSEmmanuel Vadot clocks = <&k3_clks 67 1>, 142c66ec88fSEmmanuel Vadot <&k3_clks 216 1>, 143c66ec88fSEmmanuel Vadot <&k3_clks 67 2>; 144c66ec88fSEmmanuel Vadot clock-names = "fck", "vp1", "vp2"; 145c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 166 IRQ_TYPE_EDGE_RISING>; 146c66ec88fSEmmanuel Vadot ports { 147c66ec88fSEmmanuel Vadot #address-cells = <1>; 148c66ec88fSEmmanuel Vadot #size-cells = <0>; 149c66ec88fSEmmanuel Vadot port@0 { 150c66ec88fSEmmanuel Vadot reg = <0>; 151c66ec88fSEmmanuel Vadot oldi_out0: endpoint { 152c66ec88fSEmmanuel Vadot remote-endpoint = <&lcd_in0>; 153c66ec88fSEmmanuel Vadot }; 154c66ec88fSEmmanuel Vadot }; 155c66ec88fSEmmanuel Vadot }; 156c66ec88fSEmmanuel Vadot }; 157