xref: /linux/Documentation/devicetree/bindings/display/tegra/nvidia,tegra124-sor.yaml (revision a1c613ae4c322ddd58d5a8539dbfba2a0380a8c0)
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,tegra124-sor.yaml#
5fe8b45aaSThierry Reding$schema: http://devicetree.org/meta-schemas/core.yaml#
6fe8b45aaSThierry Reding
7fe8b45aaSThierry Redingtitle: NVIDIA Tegra SOR Output Encoder
8fe8b45aaSThierry Reding
9fe8b45aaSThierry Redingmaintainers:
10fe8b45aaSThierry Reding  - Thierry Reding <thierry.reding@gmail.com>
11fe8b45aaSThierry Reding  - Jon Hunter <jonathanh@nvidia.com>
12fe8b45aaSThierry Reding
13fe8b45aaSThierry Redingdescription: |
14fe8b45aaSThierry Reding  The Serial Output Resource (SOR) can be used to drive HDMI, LVDS, eDP
15fe8b45aaSThierry Reding  and DP outputs.
16fe8b45aaSThierry Reding
17fe8b45aaSThierry Redingproperties:
18fe8b45aaSThierry Reding  $nodename:
19fe8b45aaSThierry Reding    pattern: "^sor@[0-9a-f]+$"
20fe8b45aaSThierry Reding
21fe8b45aaSThierry Reding  compatible:
22fe8b45aaSThierry Reding    oneOf:
23fe8b45aaSThierry Reding      - enum:
24fe8b45aaSThierry Reding          - nvidia,tegra124-sor
25fe8b45aaSThierry Reding          - nvidia,tegra210-sor
26fe8b45aaSThierry Reding          - nvidia,tegra210-sor1
27fe8b45aaSThierry Reding          - nvidia,tegra186-sor
28fe8b45aaSThierry Reding          - nvidia,tegra186-sor1
29fe8b45aaSThierry Reding          - nvidia,tegra194-sor
30fe8b45aaSThierry Reding
31fe8b45aaSThierry Reding      - items:
32fe8b45aaSThierry Reding          - const: nvidia,tegra132-sor
33fe8b45aaSThierry Reding          - const: nvidia,tegra124-sor
34fe8b45aaSThierry Reding
35fe8b45aaSThierry Reding  reg:
36fe8b45aaSThierry Reding    maxItems: 1
37fe8b45aaSThierry Reding
38fe8b45aaSThierry Reding  interrupts:
39fe8b45aaSThierry Reding    maxItems: 1
40fe8b45aaSThierry Reding
41fe8b45aaSThierry Reding  clocks:
42fe8b45aaSThierry Reding    minItems: 5
43fe8b45aaSThierry Reding    maxItems: 6
44fe8b45aaSThierry Reding
45fe8b45aaSThierry Reding  clock-names:
46fe8b45aaSThierry Reding    minItems: 5
47fe8b45aaSThierry Reding    maxItems: 6
48fe8b45aaSThierry Reding
49fe8b45aaSThierry Reding  resets:
50fe8b45aaSThierry Reding    items:
51fe8b45aaSThierry Reding      - description: module reset
52fe8b45aaSThierry Reding
53fe8b45aaSThierry Reding  reset-names:
54fe8b45aaSThierry Reding    items:
55fe8b45aaSThierry Reding      - const: sor
56fe8b45aaSThierry Reding
57fe8b45aaSThierry Reding  power-domains:
58fe8b45aaSThierry Reding    maxItems: 1
59fe8b45aaSThierry Reding
60fe8b45aaSThierry Reding  avdd-io-hdmi-dp-supply:
61fe8b45aaSThierry Reding    description: I/O supply for HDMI/DP
62fe8b45aaSThierry Reding
63fe8b45aaSThierry Reding  vdd-hdmi-dp-pll-supply:
64fe8b45aaSThierry Reding    description: PLL supply for HDMI/DP
65fe8b45aaSThierry Reding
66fe8b45aaSThierry Reding  hdmi-supply:
67fe8b45aaSThierry Reding    description: +5.0V HDMI connector supply, required for HDMI
68fe8b45aaSThierry Reding
69fe8b45aaSThierry Reding  # Tegra186 and later
70fe8b45aaSThierry Reding  nvidia,interface:
71fe8b45aaSThierry Reding    description: index of the SOR interface
724334aec0SRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
73fe8b45aaSThierry Reding
74fe8b45aaSThierry Reding  nvidia,ddc-i2c-bus:
75fe8b45aaSThierry Reding    description: phandle of an I2C controller used for DDC EDID
76fe8b45aaSThierry Reding      probing
774334aec0SRob Herring    $ref: /schemas/types.yaml#/definitions/phandle
78fe8b45aaSThierry Reding
79fe8b45aaSThierry Reding  nvidia,hpd-gpio:
80fe8b45aaSThierry Reding    description: specifies a GPIO used for hotplug detection
81fe8b45aaSThierry Reding    maxItems: 1
82fe8b45aaSThierry Reding
83fe8b45aaSThierry Reding  nvidia,edid:
84fe8b45aaSThierry Reding    description: supplies a binary EDID blob
854334aec0SRob Herring    $ref: /schemas/types.yaml#/definitions/uint8-array
86fe8b45aaSThierry Reding
87fe8b45aaSThierry Reding  nvidia,panel:
88fe8b45aaSThierry Reding    description: phandle of a display panel, required for eDP
894334aec0SRob Herring    $ref: /schemas/types.yaml#/definitions/phandle
90fe8b45aaSThierry Reding
91fe8b45aaSThierry Reding  nvidia,xbar-cfg:
92fe8b45aaSThierry Reding    description: 5 cells containing the crossbar configuration.
93fe8b45aaSThierry Reding      Each lane of the SOR, identified by the cell's index, is
94fe8b45aaSThierry Reding      mapped via the crossbar to the pad specified by the cell's
95fe8b45aaSThierry Reding      value.
964334aec0SRob Herring    $ref: /schemas/types.yaml#/definitions/uint32-array
97fe8b45aaSThierry Reding
98fe8b45aaSThierry Reding  # optional when driving an eDP output
99fe8b45aaSThierry Reding  nvidia,dpaux:
100*47aab533SBjorn Helgaas    description: phandle to a DisplayPort AUX interface
1014334aec0SRob Herring    $ref: /schemas/types.yaml#/definitions/phandle
102fe8b45aaSThierry Reding
103fe8b45aaSThierry RedingallOf:
104fe8b45aaSThierry Reding  - if:
105fe8b45aaSThierry Reding      properties:
106fe8b45aaSThierry Reding        compatible:
107fe8b45aaSThierry Reding          contains:
108fe8b45aaSThierry Reding            enum:
109fe8b45aaSThierry Reding              - nvidia,tegra186-sor
110fe8b45aaSThierry Reding              - nvidia,tegra194-sor
111fe8b45aaSThierry Reding    then:
112fe8b45aaSThierry Reding      properties:
113fe8b45aaSThierry Reding        clocks:
114fe8b45aaSThierry Reding          items:
115fe8b45aaSThierry Reding            - description: clock input for the SOR hardware
116fe8b45aaSThierry Reding            - description: SOR output clock
117fe8b45aaSThierry Reding            - description: input for the pixel clock
118fe8b45aaSThierry Reding            - description: reference clock for the SOR clock
119fe8b45aaSThierry Reding            - description: safe reference clock for the SOR clock
120fe8b45aaSThierry Reding                during power up
121fe8b45aaSThierry Reding            - description: SOR pad output clock
122fe8b45aaSThierry Reding
123fe8b45aaSThierry Reding        clock-names:
124fe8b45aaSThierry Reding          items:
125fe8b45aaSThierry Reding            - const: sor
126fe8b45aaSThierry Reding            - enum:
127fe8b45aaSThierry Reding                - source # deprecated
128fe8b45aaSThierry Reding                - out
129fe8b45aaSThierry Reding            - const: parent
130fe8b45aaSThierry Reding            - const: dp
131fe8b45aaSThierry Reding            - const: safe
132fe8b45aaSThierry Reding            - const: pad
133fe8b45aaSThierry Reding    else:
134fe8b45aaSThierry Reding      properties:
135fe8b45aaSThierry Reding        clocks:
136fe8b45aaSThierry Reding          items:
137fe8b45aaSThierry Reding            - description: clock input for the SOR hardware
138fe8b45aaSThierry Reding            - description: SOR output clock
139fe8b45aaSThierry Reding            - description: input for the pixel clock
140fe8b45aaSThierry Reding            - description: reference clock for the SOR clock
141fe8b45aaSThierry Reding            - description: safe reference clock for the SOR clock
142fe8b45aaSThierry Reding                during power up
143fe8b45aaSThierry Reding
144fe8b45aaSThierry Reding        clock-names:
145fe8b45aaSThierry Reding          items:
146fe8b45aaSThierry Reding            - const: sor
147fe8b45aaSThierry Reding            - enum:
148fe8b45aaSThierry Reding                - source # deprecated
149fe8b45aaSThierry Reding                - out
150fe8b45aaSThierry Reding            - const: parent
151fe8b45aaSThierry Reding            - const: dp
152fe8b45aaSThierry Reding            - const: safe
153fe8b45aaSThierry Reding
154fe8b45aaSThierry RedingadditionalProperties: false
155fe8b45aaSThierry Reding
156fe8b45aaSThierry Redingrequired:
157fe8b45aaSThierry Reding  - compatible
158fe8b45aaSThierry Reding  - reg
159fe8b45aaSThierry Reding  - interrupts
160fe8b45aaSThierry Reding  - clocks
161fe8b45aaSThierry Reding  - clock-names
162fe8b45aaSThierry Reding  - resets
163fe8b45aaSThierry Reding  - reset-names
164fe8b45aaSThierry Reding  - avdd-io-hdmi-dp-supply
165fe8b45aaSThierry Reding  - vdd-hdmi-dp-pll-supply
166fe8b45aaSThierry Reding
167fe8b45aaSThierry Redingexamples:
168fe8b45aaSThierry Reding  - |
169fe8b45aaSThierry Reding    #include <dt-bindings/clock/tegra210-car.h>
170fe8b45aaSThierry Reding    #include <dt-bindings/gpio/tegra-gpio.h>
171fe8b45aaSThierry Reding    #include <dt-bindings/interrupt-controller/arm-gic.h>
172fe8b45aaSThierry Reding
173fe8b45aaSThierry Reding    sor0: sor@54540000 {
174fe8b45aaSThierry Reding        compatible = "nvidia,tegra210-sor";
175fe8b45aaSThierry Reding        reg = <0x54540000 0x00040000>;
176fe8b45aaSThierry Reding        interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
177fe8b45aaSThierry Reding        clocks = <&tegra_car TEGRA210_CLK_SOR0>,
178fe8b45aaSThierry Reding                 <&tegra_car TEGRA210_CLK_SOR0_OUT>,
179fe8b45aaSThierry Reding                 <&tegra_car TEGRA210_CLK_PLL_D_OUT0>,
180fe8b45aaSThierry Reding                 <&tegra_car TEGRA210_CLK_PLL_DP>,
181fe8b45aaSThierry Reding                 <&tegra_car TEGRA210_CLK_SOR_SAFE>;
182fe8b45aaSThierry Reding        clock-names = "sor", "out", "parent", "dp", "safe";
183fe8b45aaSThierry Reding        resets = <&tegra_car 182>;
184fe8b45aaSThierry Reding        reset-names = "sor";
185fe8b45aaSThierry Reding        pinctrl-0 = <&state_dpaux_aux>;
186fe8b45aaSThierry Reding        pinctrl-1 = <&state_dpaux_i2c>;
187fe8b45aaSThierry Reding        pinctrl-2 = <&state_dpaux_off>;
188fe8b45aaSThierry Reding        pinctrl-names = "aux", "i2c", "off";
189fe8b45aaSThierry Reding        power-domains = <&pd_sor>;
190fe8b45aaSThierry Reding
191fe8b45aaSThierry Reding        avdd-io-hdmi-dp-supply = <&avdd_1v05>;
192fe8b45aaSThierry Reding        vdd-hdmi-dp-pll-supply = <&vdd_1v8>;
193fe8b45aaSThierry Reding        hdmi-supply = <&vdd_hdmi>;
194fe8b45aaSThierry Reding
195fe8b45aaSThierry Reding        nvidia,ddc-i2c-bus = <&hdmi_ddc>;
196fe8b45aaSThierry Reding        nvidia,hpd-gpio = <&gpio TEGRA_GPIO(CC, 1) GPIO_ACTIVE_LOW>;
197fe8b45aaSThierry Reding    };
198