1fe8b45aaSThierry Reding# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2fe8b45aaSThierry Reding%YAML 1.2
3fe8b45aaSThierry Reding---
4fe8b45aaSThierry Reding$id: http://devicetree.org/schemas/display/tegra/nvidia,tegra20-dsi.yaml#
5fe8b45aaSThierry Reding$schema: http://devicetree.org/meta-schemas/core.yaml#
6fe8b45aaSThierry Reding
7fe8b45aaSThierry Redingtitle: NVIDIA Tegra Display Serial Interface
8fe8b45aaSThierry Reding
9fe8b45aaSThierry Redingmaintainers:
10fe8b45aaSThierry Reding  - Thierry Reding <thierry.reding@gmail.com>
11fe8b45aaSThierry Reding  - Jon Hunter <jonathanh@nvidia.com>
12fe8b45aaSThierry Reding
13fe8b45aaSThierry Redingproperties:
14fe8b45aaSThierry Reding  compatible:
15fe8b45aaSThierry Reding    oneOf:
16fe8b45aaSThierry Reding      - enum:
17fe8b45aaSThierry Reding          - nvidia,tegra20-dsi
18fe8b45aaSThierry Reding          - nvidia,tegra30-dsi
19fe8b45aaSThierry Reding          - nvidia,tegra114-dsi
20fe8b45aaSThierry Reding          - nvidia,tegra124-dsi
21fe8b45aaSThierry Reding          - nvidia,tegra210-dsi
22fe8b45aaSThierry Reding          - nvidia,tegra186-dsi
23fe8b45aaSThierry Reding
24fe8b45aaSThierry Reding      - items:
25fe8b45aaSThierry Reding          - const: nvidia,tegra132-dsi
26fe8b45aaSThierry Reding          - const: nvidia,tegra124-dsi
27fe8b45aaSThierry Reding
28fe8b45aaSThierry Reding  reg:
29fe8b45aaSThierry Reding    maxItems: 1
30fe8b45aaSThierry Reding
31fe8b45aaSThierry Reding  interrupts:
32fe8b45aaSThierry Reding    maxItems: 1
33fe8b45aaSThierry Reding
34fe8b45aaSThierry Reding  clocks:
35fe8b45aaSThierry Reding    minItems: 2
36fe8b45aaSThierry Reding    maxItems: 3
37fe8b45aaSThierry Reding
38fe8b45aaSThierry Reding  clock-names:
39fe8b45aaSThierry Reding    minItems: 2
40fe8b45aaSThierry Reding    maxItems: 3
41fe8b45aaSThierry Reding
42fe8b45aaSThierry Reding  resets:
43fe8b45aaSThierry Reding    items:
44fe8b45aaSThierry Reding      - description: module reset
45fe8b45aaSThierry Reding
46fe8b45aaSThierry Reding  reset-names:
47fe8b45aaSThierry Reding    items:
48fe8b45aaSThierry Reding      - const: dsi
49fe8b45aaSThierry Reding
5021fd06dcSKrzysztof Kozlowski  operating-points-v2: true
51fe8b45aaSThierry Reding
52fe8b45aaSThierry Reding  power-domains:
53fe8b45aaSThierry Reding    maxItems: 1
54fe8b45aaSThierry Reding
55fe8b45aaSThierry Reding  avdd-dsi-csi-supply:
56fe8b45aaSThierry Reding    description: phandle of a supply that powers the DSI controller
57fe8b45aaSThierry Reding
58fe8b45aaSThierry Reding  nvidia,mipi-calibrate:
59fe8b45aaSThierry Reding    description: Should contain a phandle and a specifier specifying
60fe8b45aaSThierry Reding      which pads are used by this DSI output and need to be
61fe8b45aaSThierry Reding      calibrated. See nvidia,tegra114-mipi.yaml for details.
62*4334aec0SRob Herring    $ref: /schemas/types.yaml#/definitions/phandle-array
63fe8b45aaSThierry Reding
64fe8b45aaSThierry Reding  nvidia,ddc-i2c-bus:
65fe8b45aaSThierry Reding    description: phandle of an I2C controller used for DDC EDID
66fe8b45aaSThierry Reding      probing
67*4334aec0SRob Herring    $ref: /schemas/types.yaml#/definitions/phandle
68fe8b45aaSThierry Reding
69fe8b45aaSThierry Reding  nvidia,hpd-gpio:
70fe8b45aaSThierry Reding    description: specifies a GPIO used for hotplug detection
71fe8b45aaSThierry Reding    maxItems: 1
72fe8b45aaSThierry Reding
73fe8b45aaSThierry Reding  nvidia,edid:
74fe8b45aaSThierry Reding    description: supplies a binary EDID blob
75*4334aec0SRob Herring    $ref: /schemas/types.yaml#/definitions/uint8-array
76fe8b45aaSThierry Reding
77fe8b45aaSThierry Reding  nvidia,panel:
78fe8b45aaSThierry Reding    description: phandle of a display panel
79*4334aec0SRob Herring    $ref: /schemas/types.yaml#/definitions/phandle
80fe8b45aaSThierry Reding
81fe8b45aaSThierry Reding  nvidia,ganged-mode:
82fe8b45aaSThierry Reding    description: contains a phandle to a second DSI controller to
83fe8b45aaSThierry Reding      gang up with in order to support up to 8 data lanes
84*4334aec0SRob Herring    $ref: /schemas/types.yaml#/definitions/phandle
85fe8b45aaSThierry Reding
86fe8b45aaSThierry RedingallOf:
87*4334aec0SRob Herring  - $ref: ../dsi-controller.yaml#
88fe8b45aaSThierry Reding  - if:
89fe8b45aaSThierry Reding      properties:
90fe8b45aaSThierry Reding        compatible:
91fe8b45aaSThierry Reding          contains:
92fe8b45aaSThierry Reding            enum:
93fe8b45aaSThierry Reding              - nvidia,tegra20-dsi
94fe8b45aaSThierry Reding              - nvidia,tegra30-dsi
95fe8b45aaSThierry Reding    then:
96fe8b45aaSThierry Reding      properties:
97fe8b45aaSThierry Reding        clocks:
98fe8b45aaSThierry Reding          items:
99fe8b45aaSThierry Reding            - description: DSI module clock
100fe8b45aaSThierry Reding            - description: input for the pixel clock
101fe8b45aaSThierry Reding
102fe8b45aaSThierry Reding        clock-names:
103fe8b45aaSThierry Reding          items:
104fe8b45aaSThierry Reding            - const: dsi
105fe8b45aaSThierry Reding            - const: parent
106fe8b45aaSThierry Reding    else:
107fe8b45aaSThierry Reding      properties:
108fe8b45aaSThierry Reding        clocks:
109fe8b45aaSThierry Reding          items:
110fe8b45aaSThierry Reding            - description: DSI module clock
111fe8b45aaSThierry Reding            - description: low-power module clock
112fe8b45aaSThierry Reding            - description: input for the pixel clock
113fe8b45aaSThierry Reding
114fe8b45aaSThierry Reding        clock-names:
115fe8b45aaSThierry Reding          items:
116fe8b45aaSThierry Reding            - const: dsi
117fe8b45aaSThierry Reding            - const: lp
118fe8b45aaSThierry Reding            - const: parent
119fe8b45aaSThierry Reding
120fe8b45aaSThierry Reding  - if:
121fe8b45aaSThierry Reding      properties:
122fe8b45aaSThierry Reding        compatible:
123fe8b45aaSThierry Reding          contains:
124fe8b45aaSThierry Reding            const: nvidia,tegra186-dsi
125fe8b45aaSThierry Reding    then:
126fe8b45aaSThierry Reding      required:
127fe8b45aaSThierry Reding        - interrupts
128fe8b45aaSThierry Reding
129fe8b45aaSThierry RedingunevaluatedProperties: false
130fe8b45aaSThierry Reding
131fe8b45aaSThierry Redingrequired:
132fe8b45aaSThierry Reding  - compatible
133fe8b45aaSThierry Reding  - reg
134fe8b45aaSThierry Reding  - clocks
135fe8b45aaSThierry Reding  - clock-names
136fe8b45aaSThierry Reding  - resets
137fe8b45aaSThierry Reding  - reset-names
138fe8b45aaSThierry Reding
139fe8b45aaSThierry Redingexamples:
140fe8b45aaSThierry Reding  - |
141fe8b45aaSThierry Reding    #include <dt-bindings/clock/tegra186-clock.h>
142fe8b45aaSThierry Reding    #include <dt-bindings/interrupt-controller/arm-gic.h>
143fe8b45aaSThierry Reding    #include <dt-bindings/power/tegra186-powergate.h>
144fe8b45aaSThierry Reding    #include <dt-bindings/reset/tegra186-reset.h>
145fe8b45aaSThierry Reding
146fe8b45aaSThierry Reding    dsi@15300000 {
147fe8b45aaSThierry Reding        compatible = "nvidia,tegra186-dsi";
148fe8b45aaSThierry Reding        reg = <0x15300000 0x10000>;
149fe8b45aaSThierry Reding        interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
150fe8b45aaSThierry Reding        clocks = <&bpmp TEGRA186_CLK_DSI>,
151fe8b45aaSThierry Reding                 <&bpmp TEGRA186_CLK_DSIA_LP>,
152fe8b45aaSThierry Reding                 <&bpmp TEGRA186_CLK_PLLD>;
153fe8b45aaSThierry Reding        clock-names = "dsi", "lp", "parent";
154fe8b45aaSThierry Reding        resets = <&bpmp TEGRA186_RESET_DSI>;
155fe8b45aaSThierry Reding        reset-names = "dsi";
156fe8b45aaSThierry Reding
157fe8b45aaSThierry Reding        power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
158fe8b45aaSThierry Reding    };
159