| # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) |
| # Copyright 2019 Texas Instruments Incorporated |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/display/ti/ti,am65x-dss.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Texas Instruments AM65x Display Subsystem |
| |
| maintainers: |
| - Jyri Sarha <jsarha@ti.com> |
| - Tomi Valkeinen <tomi.valkeinen@ti.com> |
| |
| description: | |
| The AM625 and AM65x TI Keystone Display SubSystem with two output |
| ports and two video planes. In AM65x DSS, the first video port |
| supports 1 OLDI TX and in AM625 DSS, the first video port output is |
| internally routed to 2 OLDI TXes. The second video port supports DPI |
| format. The first plane is full video plane with all features and the |
| second is a "lite plane" without scaling support. |
| |
| properties: |
| compatible: |
| enum: |
| - ti,am625-dss |
| - ti,am65x-dss |
| |
| reg: |
| description: |
| Addresses to each DSS memory region described in the SoC's TRM. |
| items: |
| - description: common DSS register area |
| - description: VIDL1 light video plane |
| - description: VID video plane |
| - description: OVR1 overlay manager for vp1 |
| - description: OVR2 overlay manager for vp2 |
| - description: VP1 video port 1 |
| - description: VP2 video port 2 |
| |
| reg-names: |
| items: |
| - const: common |
| - const: vidl1 |
| - const: vid |
| - const: ovr1 |
| - const: ovr2 |
| - const: vp1 |
| - const: vp2 |
| |
| clocks: |
| items: |
| - description: fck DSS functional clock |
| - description: vp1 Video Port 1 pixel clock |
| - description: vp2 Video Port 2 pixel clock |
| |
| clock-names: |
| items: |
| - const: fck |
| - const: vp1 |
| - const: vp2 |
| |
| assigned-clocks: |
| minItems: 1 |
| maxItems: 3 |
| |
| assigned-clock-parents: |
| minItems: 1 |
| maxItems: 3 |
| |
| interrupts: |
| maxItems: 1 |
| |
| power-domains: |
| maxItems: 1 |
| description: phandle to the associated power domain |
| |
| dma-coherent: |
| type: boolean |
| |
| ports: |
| $ref: /schemas/graph.yaml#/properties/ports |
| |
| properties: |
| port@0: |
| $ref: /schemas/graph.yaml#/properties/port |
| description: |
| For AM65x DSS, the OLDI output port node from video port 1. |
| For AM625 DSS, the internal DPI output port node from video |
| port 1. |
| |
| port@1: |
| $ref: /schemas/graph.yaml#/properties/port |
| description: |
| The DSS DPI output port node from video port 2 |
| |
| ti,am65x-oldi-io-ctrl: |
| $ref: /schemas/types.yaml#/definitions/phandle |
| description: |
| phandle to syscon device node mapping OLDI IO_CTRL registers. |
| The mapped range should point to OLDI_DAT0_IO_CTRL, map it and |
| following OLDI_DAT1_IO_CTRL, OLDI_DAT2_IO_CTRL, OLDI_DAT3_IO_CTRL, |
| and OLDI_CLK_IO_CTRL registers. This property is needed for OLDI |
| interface to work. |
| |
| max-memory-bandwidth: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| description: |
| Input memory (from main memory to dispc) bandwidth limit in |
| bytes per second |
| |
| required: |
| - compatible |
| - reg |
| - reg-names |
| - clocks |
| - clock-names |
| - interrupts |
| - ports |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/interrupt-controller/arm-gic.h> |
| #include <dt-bindings/interrupt-controller/irq.h> |
| #include <dt-bindings/soc/ti,sci_pm_domain.h> |
| |
| dss: dss@4a00000 { |
| compatible = "ti,am65x-dss"; |
| reg = <0x04a00000 0x1000>, /* common */ |
| <0x04a02000 0x1000>, /* vidl1 */ |
| <0x04a06000 0x1000>, /* vid */ |
| <0x04a07000 0x1000>, /* ovr1 */ |
| <0x04a08000 0x1000>, /* ovr2 */ |
| <0x04a0a000 0x1000>, /* vp1 */ |
| <0x04a0b000 0x1000>; /* vp2 */ |
| reg-names = "common", "vidl1", "vid", |
| "ovr1", "ovr2", "vp1", "vp2"; |
| ti,am65x-oldi-io-ctrl = <&dss_oldi_io_ctrl>; |
| power-domains = <&k3_pds 67 TI_SCI_PD_EXCLUSIVE>; |
| clocks = <&k3_clks 67 1>, |
| <&k3_clks 216 1>, |
| <&k3_clks 67 2>; |
| clock-names = "fck", "vp1", "vp2"; |
| interrupts = <GIC_SPI 166 IRQ_TYPE_EDGE_RISING>; |
| ports { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| port@0 { |
| reg = <0>; |
| oldi_out0: endpoint { |
| remote-endpoint = <&lcd_in0>; |
| }; |
| }; |
| }; |
| }; |