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