1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/display/mediatek/mediatek,dpi.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: mediatek DPI Controller Device Tree Bindings
8
9maintainers:
10  - CK Hu <ck.hu@mediatek.com>
11  - Jitao shi <jitao.shi@mediatek.com>
12
13description: |
14  The Mediatek DPI function block is a sink of the display subsystem and
15  provides 8-bit RGB/YUV444 or 8/10/10-bit YUV422 pixel data on a parallel
16  output bus.
17
18properties:
19  compatible:
20    enum:
21      - mediatek,mt2701-dpi
22      - mediatek,mt7623-dpi
23      - mediatek,mt8173-dpi
24      - mediatek,mt8183-dpi
25
26  reg:
27    maxItems: 1
28
29  interrupts:
30    maxItems: 1
31
32  clocks:
33    items:
34      - description: Pixel Clock
35      - description: Engine Clock
36      - description: DPI PLL
37
38  clock-names:
39    items:
40      - const: pixel
41      - const: engine
42      - const: pll
43
44  pinctrl-0: true
45  pinctrl-1: true
46
47  pinctrl-names:
48    items:
49      - const: default
50      - const: sleep
51
52  port:
53    type: object
54    description:
55      Output port node with endpoint definitions as described in
56      Documentation/devicetree/bindings/graph.txt. This port should be connected
57      to the input port of an attached HDMI or LVDS encoder chip.
58
59    properties:
60      endpoint:
61        type: object
62
63required:
64  - compatible
65  - reg
66  - interrupts
67  - clocks
68  - clock-names
69  - port
70
71additionalProperties: false
72
73examples:
74  - |
75    #include <dt-bindings/interrupt-controller/arm-gic.h>
76    #include <dt-bindings/clock/mt8173-clk.h>
77    #include <dt-bindings/interrupt-controller/arm-gic.h>
78    #include <dt-bindings/interrupt-controller/irq.h>
79    dpi0: dpi@1401d000 {
80        compatible = "mediatek,mt8173-dpi";
81        reg = <0x1401d000 0x1000>;
82        interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_LOW>;
83        clocks = <&mmsys CLK_MM_DPI_PIXEL>,
84             <&mmsys CLK_MM_DPI_ENGINE>,
85             <&apmixedsys CLK_APMIXED_TVDPLL>;
86        clock-names = "pixel", "engine", "pll";
87        pinctrl-names = "default", "sleep";
88        pinctrl-0 = <&dpi_pin_func>;
89        pinctrl-1 = <&dpi_pin_idle>;
90
91        port {
92            dpi0_out: endpoint {
93                remote-endpoint = <&hdmi0_in>;
94            };
95        };
96    };
97
98...
99