xref: /freebsd/sys/contrib/device-tree/Bindings/display/ti/ti,am65x-dss.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
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---
5*fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/display/ti/ti,am65x-dss.yaml#
6*fac71e4eSEmmanuel 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: |
15c66ec88fSEmmanuel Vadot  The AM65x TI Keystone Display SubSystem with two output ports and
16c66ec88fSEmmanuel Vadot  two video planes. The first video port supports OLDI and the second
17c66ec88fSEmmanuel Vadot  supports DPI format. The fist plane is full video plane with all
18c66ec88fSEmmanuel Vadot  features and the second is a "lite plane" without scaling support.
19c66ec88fSEmmanuel Vadot
20c66ec88fSEmmanuel Vadotproperties:
21c66ec88fSEmmanuel Vadot  compatible:
22c66ec88fSEmmanuel Vadot    const: ti,am65x-dss
23c66ec88fSEmmanuel Vadot
24c66ec88fSEmmanuel Vadot  reg:
25c66ec88fSEmmanuel Vadot    description:
26c66ec88fSEmmanuel Vadot      Addresses to each DSS memory region described in the SoC's TRM.
27c66ec88fSEmmanuel Vadot    items:
28c66ec88fSEmmanuel Vadot      - description: common DSS register area
29c66ec88fSEmmanuel Vadot      - description: VIDL1 light video plane
30c66ec88fSEmmanuel Vadot      - description: VID video plane
31c66ec88fSEmmanuel Vadot      - description: OVR1 overlay manager for vp1
32c66ec88fSEmmanuel Vadot      - description: OVR2 overlay manager for vp2
33c66ec88fSEmmanuel Vadot      - description: VP1 video port 1
34c66ec88fSEmmanuel Vadot      - description: VP2 video port 2
35c66ec88fSEmmanuel Vadot
36c66ec88fSEmmanuel Vadot  reg-names:
37c66ec88fSEmmanuel Vadot    items:
38c66ec88fSEmmanuel Vadot      - const: common
39c66ec88fSEmmanuel Vadot      - const: vidl1
40c66ec88fSEmmanuel Vadot      - const: vid
41c66ec88fSEmmanuel Vadot      - const: ovr1
42c66ec88fSEmmanuel Vadot      - const: ovr2
43c66ec88fSEmmanuel Vadot      - const: vp1
44c66ec88fSEmmanuel Vadot      - const: vp2
45c66ec88fSEmmanuel Vadot
46c66ec88fSEmmanuel Vadot  clocks:
47c66ec88fSEmmanuel Vadot    items:
48c66ec88fSEmmanuel Vadot      - description: fck DSS functional clock
49c66ec88fSEmmanuel Vadot      - description: vp1 Video Port 1 pixel clock
50c66ec88fSEmmanuel Vadot      - description: vp2 Video Port 2 pixel clock
51c66ec88fSEmmanuel Vadot
52c66ec88fSEmmanuel Vadot  clock-names:
53c66ec88fSEmmanuel Vadot    items:
54c66ec88fSEmmanuel Vadot      - const: fck
55c66ec88fSEmmanuel Vadot      - const: vp1
56c66ec88fSEmmanuel Vadot      - const: vp2
57c66ec88fSEmmanuel Vadot
585def4c47SEmmanuel Vadot  assigned-clocks:
595def4c47SEmmanuel Vadot    minItems: 1
605def4c47SEmmanuel Vadot    maxItems: 3
615def4c47SEmmanuel Vadot
625def4c47SEmmanuel Vadot  assigned-clock-parents:
635def4c47SEmmanuel Vadot    minItems: 1
645def4c47SEmmanuel Vadot    maxItems: 3
655def4c47SEmmanuel Vadot
66c66ec88fSEmmanuel Vadot  interrupts:
67c66ec88fSEmmanuel Vadot    maxItems: 1
68c66ec88fSEmmanuel Vadot
69c66ec88fSEmmanuel Vadot  power-domains:
70c66ec88fSEmmanuel Vadot    maxItems: 1
71c66ec88fSEmmanuel Vadot    description: phandle to the associated power domain
72c66ec88fSEmmanuel Vadot
735def4c47SEmmanuel Vadot  dma-coherent:
745def4c47SEmmanuel Vadot    type: boolean
755def4c47SEmmanuel Vadot
76c66ec88fSEmmanuel Vadot  ports:
775def4c47SEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
785def4c47SEmmanuel Vadot
79c66ec88fSEmmanuel Vadot    properties:
80c66ec88fSEmmanuel Vadot      port@0:
815def4c47SEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
82c66ec88fSEmmanuel Vadot        description:
83c66ec88fSEmmanuel Vadot          The DSS OLDI output port node form video port 1
84c66ec88fSEmmanuel Vadot
85c66ec88fSEmmanuel Vadot      port@1:
865def4c47SEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
87c66ec88fSEmmanuel Vadot        description:
88c66ec88fSEmmanuel Vadot          The DSS DPI output port node from video port 2
89c66ec88fSEmmanuel Vadot
90c66ec88fSEmmanuel Vadot  ti,am65x-oldi-io-ctrl:
91*fac71e4eSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
92c66ec88fSEmmanuel Vadot    description:
93c66ec88fSEmmanuel Vadot      phandle to syscon device node mapping OLDI IO_CTRL registers.
94c66ec88fSEmmanuel Vadot      The mapped range should point to OLDI_DAT0_IO_CTRL, map it and
95c66ec88fSEmmanuel Vadot      following OLDI_DAT1_IO_CTRL, OLDI_DAT2_IO_CTRL, OLDI_DAT3_IO_CTRL,
96c66ec88fSEmmanuel Vadot      and OLDI_CLK_IO_CTRL registers. This property is needed for OLDI
97c66ec88fSEmmanuel Vadot      interface to work.
98c66ec88fSEmmanuel Vadot
99c66ec88fSEmmanuel Vadot  max-memory-bandwidth:
100c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
101c66ec88fSEmmanuel Vadot    description:
102c66ec88fSEmmanuel Vadot      Input memory (from main memory to dispc) bandwidth limit in
103c66ec88fSEmmanuel Vadot      bytes per second
104c66ec88fSEmmanuel Vadot
105c66ec88fSEmmanuel Vadotrequired:
106c66ec88fSEmmanuel Vadot  - compatible
107c66ec88fSEmmanuel Vadot  - reg
108c66ec88fSEmmanuel Vadot  - reg-names
109c66ec88fSEmmanuel Vadot  - clocks
110c66ec88fSEmmanuel Vadot  - clock-names
111c66ec88fSEmmanuel Vadot  - interrupts
112c66ec88fSEmmanuel Vadot  - ports
113c66ec88fSEmmanuel Vadot
114c66ec88fSEmmanuel VadotadditionalProperties: false
115c66ec88fSEmmanuel Vadot
116c66ec88fSEmmanuel Vadotexamples:
117c66ec88fSEmmanuel Vadot  - |
118c66ec88fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
119c66ec88fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
120c66ec88fSEmmanuel Vadot    #include <dt-bindings/soc/ti,sci_pm_domain.h>
121c66ec88fSEmmanuel Vadot
122c66ec88fSEmmanuel Vadot    dss: dss@4a00000 {
123c66ec88fSEmmanuel Vadot            compatible = "ti,am65x-dss";
124c66ec88fSEmmanuel Vadot            reg =   <0x04a00000 0x1000>, /* common */
125c66ec88fSEmmanuel Vadot                    <0x04a02000 0x1000>, /* vidl1 */
126c66ec88fSEmmanuel Vadot                    <0x04a06000 0x1000>, /* vid */
127c66ec88fSEmmanuel Vadot                    <0x04a07000 0x1000>, /* ovr1 */
128c66ec88fSEmmanuel Vadot                    <0x04a08000 0x1000>, /* ovr2 */
129c66ec88fSEmmanuel Vadot                    <0x04a0a000 0x1000>, /* vp1 */
130c66ec88fSEmmanuel Vadot                    <0x04a0b000 0x1000>; /* vp2 */
131c66ec88fSEmmanuel Vadot            reg-names = "common", "vidl1", "vid",
132c66ec88fSEmmanuel Vadot                    "ovr1", "ovr2", "vp1", "vp2";
133c66ec88fSEmmanuel Vadot            ti,am65x-oldi-io-ctrl = <&dss_oldi_io_ctrl>;
134c66ec88fSEmmanuel Vadot            power-domains = <&k3_pds 67 TI_SCI_PD_EXCLUSIVE>;
135c66ec88fSEmmanuel Vadot            clocks =        <&k3_clks 67 1>,
136c66ec88fSEmmanuel Vadot                            <&k3_clks 216 1>,
137c66ec88fSEmmanuel Vadot                            <&k3_clks 67 2>;
138c66ec88fSEmmanuel Vadot            clock-names = "fck", "vp1", "vp2";
139c66ec88fSEmmanuel Vadot            interrupts = <GIC_SPI 166 IRQ_TYPE_EDGE_RISING>;
140c66ec88fSEmmanuel Vadot            ports {
141c66ec88fSEmmanuel Vadot                    #address-cells = <1>;
142c66ec88fSEmmanuel Vadot                    #size-cells = <0>;
143c66ec88fSEmmanuel Vadot                    port@0 {
144c66ec88fSEmmanuel Vadot                            reg = <0>;
145c66ec88fSEmmanuel Vadot                            oldi_out0: endpoint {
146c66ec88fSEmmanuel Vadot                                    remote-endpoint = <&lcd_in0>;
147c66ec88fSEmmanuel Vadot                            };
148c66ec88fSEmmanuel Vadot                    };
149c66ec88fSEmmanuel Vadot            };
150c66ec88fSEmmanuel Vadot    };
151