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