18c2ecf20Sopenharmony_ciNVIDIA Tegra host1x
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciRequired properties:
48c2ecf20Sopenharmony_ci- compatible: "nvidia,tegra<chip>-host1x"
58c2ecf20Sopenharmony_ci- reg: Physical base address and length of the controller's registers.
68c2ecf20Sopenharmony_ci  For pre-Tegra186, one entry describing the whole register area.
78c2ecf20Sopenharmony_ci  For Tegra186, one entry for each entry in reg-names:
88c2ecf20Sopenharmony_ci    "vm" - VM region assigned to Linux
98c2ecf20Sopenharmony_ci    "hypervisor" - Hypervisor region (only if Linux acts as hypervisor)
108c2ecf20Sopenharmony_ci- interrupts: The interrupt outputs from the controller.
118c2ecf20Sopenharmony_ci- #address-cells: The number of cells used to represent physical base addresses
128c2ecf20Sopenharmony_ci  in the host1x address space. Should be 1.
138c2ecf20Sopenharmony_ci- #size-cells: The number of cells used to represent the size of an address
148c2ecf20Sopenharmony_ci  range in the host1x address space. Should be 1.
158c2ecf20Sopenharmony_ci- ranges: The mapping of the host1x address space to the CPU address space.
168c2ecf20Sopenharmony_ci- clocks: Must contain one entry, for the module clock.
178c2ecf20Sopenharmony_ci  See ../clocks/clock-bindings.txt for details.
188c2ecf20Sopenharmony_ci- resets: Must contain an entry for each entry in reset-names.
198c2ecf20Sopenharmony_ci  See ../reset/reset.txt for details.
208c2ecf20Sopenharmony_ci- reset-names: Must include the following entries:
218c2ecf20Sopenharmony_ci  - host1x
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ciThe host1x top-level node defines a number of children, each representing one
248c2ecf20Sopenharmony_ciof the following host1x client modules:
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci- mpe: video encoder
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci  Required properties:
298c2ecf20Sopenharmony_ci  - compatible: "nvidia,tegra<chip>-mpe"
308c2ecf20Sopenharmony_ci  - reg: Physical base address and length of the controller's registers.
318c2ecf20Sopenharmony_ci  - interrupts: The interrupt outputs from the controller.
328c2ecf20Sopenharmony_ci  - clocks: Must contain one entry, for the module clock.
338c2ecf20Sopenharmony_ci    See ../clocks/clock-bindings.txt for details.
348c2ecf20Sopenharmony_ci  - resets: Must contain an entry for each entry in reset-names.
358c2ecf20Sopenharmony_ci    See ../reset/reset.txt for details.
368c2ecf20Sopenharmony_ci  - reset-names: Must include the following entries:
378c2ecf20Sopenharmony_ci    - mpe
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ci- vi: video input
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci  Required properties:
428c2ecf20Sopenharmony_ci  - compatible: "nvidia,tegra<chip>-vi"
438c2ecf20Sopenharmony_ci  - reg: Physical base address and length of the controller registers.
448c2ecf20Sopenharmony_ci  - interrupts: The interrupt outputs from the controller.
458c2ecf20Sopenharmony_ci  - clocks: clocks: Must contain one entry, for the module clock.
468c2ecf20Sopenharmony_ci    See ../clocks/clock-bindings.txt for details.
478c2ecf20Sopenharmony_ci  - Tegra20/Tegra30/Tegra114/Tegra124:
488c2ecf20Sopenharmony_ci    - resets: Must contain an entry for each entry in reset-names.
498c2ecf20Sopenharmony_ci      See ../reset/reset.txt for details.
508c2ecf20Sopenharmony_ci    - reset-names: Must include the following entries:
518c2ecf20Sopenharmony_ci      - vi
528c2ecf20Sopenharmony_ci  - Tegra210:
538c2ecf20Sopenharmony_ci    - power-domains: Must include venc powergate node as vi is in VE partition.
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_ci  ports (optional node)
568c2ecf20Sopenharmony_ci  vi can have optional ports node and max 6 ports are supported. Each port
578c2ecf20Sopenharmony_ci  should have single 'endpoint' child node. All port nodes are grouped under
588c2ecf20Sopenharmony_ci  ports node. Please refer to the bindings defined in
598c2ecf20Sopenharmony_ci  Documentation/devicetree/bindings/media/video-interfaces.txt
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ci  csi (required node)
628c2ecf20Sopenharmony_ci  Tegra210 has CSI part of VI sharing same host interface and register space.
638c2ecf20Sopenharmony_ci  So, VI device node should have CSI child node.
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ci    - csi: mipi csi interface to vi
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_ci      Required properties:
688c2ecf20Sopenharmony_ci      - compatible: "nvidia,tegra210-csi"
698c2ecf20Sopenharmony_ci      - reg: Physical base address offset to parent and length of the controller
708c2ecf20Sopenharmony_ci        registers.
718c2ecf20Sopenharmony_ci      - clocks: Must contain entries csi, cilab, cilcd, cile, csi_tpg clocks.
728c2ecf20Sopenharmony_ci        See ../clocks/clock-bindings.txt for details.
738c2ecf20Sopenharmony_ci      - power-domains: Must include sor powergate node as csicil is in
748c2ecf20Sopenharmony_ci        SOR partition.
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ci      channel (optional nodes)
778c2ecf20Sopenharmony_ci      Maximum 6 channels are supported with each csi brick as either x4 or x2
788c2ecf20Sopenharmony_ci      based on hw connectivity to sensor.
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ci      Required properties:
818c2ecf20Sopenharmony_ci      - reg: csi port number. Valid port numbers are 0 through 5.
828c2ecf20Sopenharmony_ci      - nvidia,mipi-calibrate: Should contain a phandle and a specifier
838c2ecf20Sopenharmony_ci        specifying which pads are used by this CSI port and need to be
848c2ecf20Sopenharmony_ci	calibrated. See also ../display/tegra/nvidia,tegra114-mipi.txt.
858c2ecf20Sopenharmony_ci
868c2ecf20Sopenharmony_ci      Each channel node must contain 2 port nodes which can be grouped
878c2ecf20Sopenharmony_ci      under 'ports' node and each port should have a single child 'endpoint'
888c2ecf20Sopenharmony_ci      node.
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ci        ports node
918c2ecf20Sopenharmony_ci        Please refer to the bindings defined in
928c2ecf20Sopenharmony_ci        Documentation/devicetree/bindings/media/video-interfaces.txt
938c2ecf20Sopenharmony_ci
948c2ecf20Sopenharmony_ci        ports node must contain below 2 port nodes.
958c2ecf20Sopenharmony_ci        port@0 with single child 'endpoint' node always a sink.
968c2ecf20Sopenharmony_ci        port@1 with single child 'endpoint' node always a source.
978c2ecf20Sopenharmony_ci
988c2ecf20Sopenharmony_ci        port@0 (required node)
998c2ecf20Sopenharmony_ci        Required properties:
1008c2ecf20Sopenharmony_ci        - reg: 0
1018c2ecf20Sopenharmony_ci
1028c2ecf20Sopenharmony_ci	  endpoint (required node)
1038c2ecf20Sopenharmony_ci	  Required properties:
1048c2ecf20Sopenharmony_ci	  - data-lanes: an array of data lane from 1 to 4. Valid array
1058c2ecf20Sopenharmony_ci	    lengths are 1/2/4.
1068c2ecf20Sopenharmony_ci	  - remote-endpoint: phandle to sensor 'endpoint' node.
1078c2ecf20Sopenharmony_ci
1088c2ecf20Sopenharmony_ci        port@1 (required node)
1098c2ecf20Sopenharmony_ci        Required properties:
1108c2ecf20Sopenharmony_ci        - reg: 1
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ci	  endpoint (required node)
1138c2ecf20Sopenharmony_ci	  Required properties:
1148c2ecf20Sopenharmony_ci	  - remote-endpoint: phandle to vi port 'endpoint' node.
1158c2ecf20Sopenharmony_ci
1168c2ecf20Sopenharmony_ci- epp: encoder pre-processor
1178c2ecf20Sopenharmony_ci
1188c2ecf20Sopenharmony_ci  Required properties:
1198c2ecf20Sopenharmony_ci  - compatible: "nvidia,tegra<chip>-epp"
1208c2ecf20Sopenharmony_ci  - reg: Physical base address and length of the controller's registers.
1218c2ecf20Sopenharmony_ci  - interrupts: The interrupt outputs from the controller.
1228c2ecf20Sopenharmony_ci  - clocks: Must contain one entry, for the module clock.
1238c2ecf20Sopenharmony_ci    See ../clocks/clock-bindings.txt for details.
1248c2ecf20Sopenharmony_ci  - resets: Must contain an entry for each entry in reset-names.
1258c2ecf20Sopenharmony_ci    See ../reset/reset.txt for details.
1268c2ecf20Sopenharmony_ci  - reset-names: Must include the following entries:
1278c2ecf20Sopenharmony_ci    - epp
1288c2ecf20Sopenharmony_ci
1298c2ecf20Sopenharmony_ci- isp: image signal processor
1308c2ecf20Sopenharmony_ci
1318c2ecf20Sopenharmony_ci  Required properties:
1328c2ecf20Sopenharmony_ci  - compatible: "nvidia,tegra<chip>-isp"
1338c2ecf20Sopenharmony_ci  - reg: Physical base address and length of the controller's registers.
1348c2ecf20Sopenharmony_ci  - interrupts: The interrupt outputs from the controller.
1358c2ecf20Sopenharmony_ci  - clocks: Must contain one entry, for the module clock.
1368c2ecf20Sopenharmony_ci    See ../clocks/clock-bindings.txt for details.
1378c2ecf20Sopenharmony_ci  - resets: Must contain an entry for each entry in reset-names.
1388c2ecf20Sopenharmony_ci    See ../reset/reset.txt for details.
1398c2ecf20Sopenharmony_ci  - reset-names: Must include the following entries:
1408c2ecf20Sopenharmony_ci    - isp
1418c2ecf20Sopenharmony_ci
1428c2ecf20Sopenharmony_ci- gr2d: 2D graphics engine
1438c2ecf20Sopenharmony_ci
1448c2ecf20Sopenharmony_ci  Required properties:
1458c2ecf20Sopenharmony_ci  - compatible: "nvidia,tegra<chip>-gr2d"
1468c2ecf20Sopenharmony_ci  - reg: Physical base address and length of the controller's registers.
1478c2ecf20Sopenharmony_ci  - interrupts: The interrupt outputs from the controller.
1488c2ecf20Sopenharmony_ci  - clocks: Must contain one entry, for the module clock.
1498c2ecf20Sopenharmony_ci    See ../clocks/clock-bindings.txt for details.
1508c2ecf20Sopenharmony_ci  - resets: Must contain an entry for each entry in reset-names.
1518c2ecf20Sopenharmony_ci    See ../reset/reset.txt for details.
1528c2ecf20Sopenharmony_ci  - reset-names: Must include the following entries:
1538c2ecf20Sopenharmony_ci    - 2d
1548c2ecf20Sopenharmony_ci
1558c2ecf20Sopenharmony_ci- gr3d: 3D graphics engine
1568c2ecf20Sopenharmony_ci
1578c2ecf20Sopenharmony_ci  Required properties:
1588c2ecf20Sopenharmony_ci  - compatible: "nvidia,tegra<chip>-gr3d"
1598c2ecf20Sopenharmony_ci  - reg: Physical base address and length of the controller's registers.
1608c2ecf20Sopenharmony_ci  - clocks: Must contain an entry for each entry in clock-names.
1618c2ecf20Sopenharmony_ci    See ../clocks/clock-bindings.txt for details.
1628c2ecf20Sopenharmony_ci  - clock-names: Must include the following entries:
1638c2ecf20Sopenharmony_ci    (This property may be omitted if the only clock in the list is "3d")
1648c2ecf20Sopenharmony_ci    - 3d
1658c2ecf20Sopenharmony_ci      This MUST be the first entry.
1668c2ecf20Sopenharmony_ci    - 3d2 (Only required on SoCs with two 3D clocks)
1678c2ecf20Sopenharmony_ci  - resets: Must contain an entry for each entry in reset-names.
1688c2ecf20Sopenharmony_ci    See ../reset/reset.txt for details.
1698c2ecf20Sopenharmony_ci  - reset-names: Must include the following entries:
1708c2ecf20Sopenharmony_ci    - 3d
1718c2ecf20Sopenharmony_ci    - 3d2 (Only required on SoCs with two 3D clocks)
1728c2ecf20Sopenharmony_ci
1738c2ecf20Sopenharmony_ci- dc: display controller
1748c2ecf20Sopenharmony_ci
1758c2ecf20Sopenharmony_ci  Required properties:
1768c2ecf20Sopenharmony_ci  - compatible: "nvidia,tegra<chip>-dc"
1778c2ecf20Sopenharmony_ci  - reg: Physical base address and length of the controller's registers.
1788c2ecf20Sopenharmony_ci  - interrupts: The interrupt outputs from the controller.
1798c2ecf20Sopenharmony_ci  - clocks: Must contain an entry for each entry in clock-names.
1808c2ecf20Sopenharmony_ci    See ../clocks/clock-bindings.txt for details.
1818c2ecf20Sopenharmony_ci  - clock-names: Must include the following entries:
1828c2ecf20Sopenharmony_ci    - dc
1838c2ecf20Sopenharmony_ci      This MUST be the first entry.
1848c2ecf20Sopenharmony_ci    - parent
1858c2ecf20Sopenharmony_ci  - resets: Must contain an entry for each entry in reset-names.
1868c2ecf20Sopenharmony_ci    See ../reset/reset.txt for details.
1878c2ecf20Sopenharmony_ci  - reset-names: Must include the following entries:
1888c2ecf20Sopenharmony_ci    - dc
1898c2ecf20Sopenharmony_ci  - nvidia,head: The number of the display controller head. This is used to
1908c2ecf20Sopenharmony_ci    setup the various types of output to receive video data from the given
1918c2ecf20Sopenharmony_ci    head.
1928c2ecf20Sopenharmony_ci
1938c2ecf20Sopenharmony_ci  Each display controller node has a child node, named "rgb", that represents
1948c2ecf20Sopenharmony_ci  the RGB output associated with the controller. It can take the following
1958c2ecf20Sopenharmony_ci  optional properties:
1968c2ecf20Sopenharmony_ci  - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
1978c2ecf20Sopenharmony_ci  - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection
1988c2ecf20Sopenharmony_ci  - nvidia,edid: supplies a binary EDID blob
1998c2ecf20Sopenharmony_ci  - nvidia,panel: phandle of a display panel
2008c2ecf20Sopenharmony_ci
2018c2ecf20Sopenharmony_ci- hdmi: High Definition Multimedia Interface
2028c2ecf20Sopenharmony_ci
2038c2ecf20Sopenharmony_ci  Required properties:
2048c2ecf20Sopenharmony_ci  - compatible: "nvidia,tegra<chip>-hdmi"
2058c2ecf20Sopenharmony_ci  - reg: Physical base address and length of the controller's registers.
2068c2ecf20Sopenharmony_ci  - interrupts: The interrupt outputs from the controller.
2078c2ecf20Sopenharmony_ci  - hdmi-supply: supply for the +5V HDMI connector pin
2088c2ecf20Sopenharmony_ci  - vdd-supply: regulator for supply voltage
2098c2ecf20Sopenharmony_ci  - pll-supply: regulator for PLL
2108c2ecf20Sopenharmony_ci  - clocks: Must contain an entry for each entry in clock-names.
2118c2ecf20Sopenharmony_ci    See ../clocks/clock-bindings.txt for details.
2128c2ecf20Sopenharmony_ci  - clock-names: Must include the following entries:
2138c2ecf20Sopenharmony_ci    - hdmi
2148c2ecf20Sopenharmony_ci      This MUST be the first entry.
2158c2ecf20Sopenharmony_ci    - parent
2168c2ecf20Sopenharmony_ci  - resets: Must contain an entry for each entry in reset-names.
2178c2ecf20Sopenharmony_ci    See ../reset/reset.txt for details.
2188c2ecf20Sopenharmony_ci  - reset-names: Must include the following entries:
2198c2ecf20Sopenharmony_ci    - hdmi
2208c2ecf20Sopenharmony_ci
2218c2ecf20Sopenharmony_ci  Optional properties:
2228c2ecf20Sopenharmony_ci  - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
2238c2ecf20Sopenharmony_ci  - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection
2248c2ecf20Sopenharmony_ci  - nvidia,edid: supplies a binary EDID blob
2258c2ecf20Sopenharmony_ci  - nvidia,panel: phandle of a display panel
2268c2ecf20Sopenharmony_ci
2278c2ecf20Sopenharmony_ci- tvo: TV encoder output
2288c2ecf20Sopenharmony_ci
2298c2ecf20Sopenharmony_ci  Required properties:
2308c2ecf20Sopenharmony_ci  - compatible: "nvidia,tegra<chip>-tvo"
2318c2ecf20Sopenharmony_ci  - reg: Physical base address and length of the controller's registers.
2328c2ecf20Sopenharmony_ci  - interrupts: The interrupt outputs from the controller.
2338c2ecf20Sopenharmony_ci  - clocks: Must contain one entry, for the module clock.
2348c2ecf20Sopenharmony_ci    See ../clocks/clock-bindings.txt for details.
2358c2ecf20Sopenharmony_ci
2368c2ecf20Sopenharmony_ci- dsi: display serial interface
2378c2ecf20Sopenharmony_ci
2388c2ecf20Sopenharmony_ci  Required properties:
2398c2ecf20Sopenharmony_ci  - compatible: "nvidia,tegra<chip>-dsi"
2408c2ecf20Sopenharmony_ci  - reg: Physical base address and length of the controller's registers.
2418c2ecf20Sopenharmony_ci  - clocks: Must contain an entry for each entry in clock-names.
2428c2ecf20Sopenharmony_ci    See ../clocks/clock-bindings.txt for details.
2438c2ecf20Sopenharmony_ci  - clock-names: Must include the following entries:
2448c2ecf20Sopenharmony_ci    - dsi
2458c2ecf20Sopenharmony_ci      This MUST be the first entry.
2468c2ecf20Sopenharmony_ci    - lp
2478c2ecf20Sopenharmony_ci    - parent
2488c2ecf20Sopenharmony_ci  - resets: Must contain an entry for each entry in reset-names.
2498c2ecf20Sopenharmony_ci    See ../reset/reset.txt for details.
2508c2ecf20Sopenharmony_ci  - reset-names: Must include the following entries:
2518c2ecf20Sopenharmony_ci    - dsi
2528c2ecf20Sopenharmony_ci  - avdd-dsi-supply: phandle of a supply that powers the DSI controller
2538c2ecf20Sopenharmony_ci  - nvidia,mipi-calibrate: Should contain a phandle and a specifier specifying
2548c2ecf20Sopenharmony_ci    which pads are used by this DSI output and need to be calibrated. See also
2558c2ecf20Sopenharmony_ci    ../display/tegra/nvidia,tegra114-mipi.txt.
2568c2ecf20Sopenharmony_ci
2578c2ecf20Sopenharmony_ci  Optional properties:
2588c2ecf20Sopenharmony_ci  - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
2598c2ecf20Sopenharmony_ci  - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection
2608c2ecf20Sopenharmony_ci  - nvidia,edid: supplies a binary EDID blob
2618c2ecf20Sopenharmony_ci  - nvidia,panel: phandle of a display panel
2628c2ecf20Sopenharmony_ci  - nvidia,ganged-mode: contains a phandle to a second DSI controller to gang
2638c2ecf20Sopenharmony_ci    up with in order to support up to 8 data lanes
2648c2ecf20Sopenharmony_ci
2658c2ecf20Sopenharmony_ci- sor: serial output resource
2668c2ecf20Sopenharmony_ci
2678c2ecf20Sopenharmony_ci  Required properties:
2688c2ecf20Sopenharmony_ci  - compatible: Should be:
2698c2ecf20Sopenharmony_ci    - "nvidia,tegra124-sor": for Tegra124 and Tegra132
2708c2ecf20Sopenharmony_ci    - "nvidia,tegra132-sor": for Tegra132
2718c2ecf20Sopenharmony_ci    - "nvidia,tegra210-sor": for Tegra210
2728c2ecf20Sopenharmony_ci    - "nvidia,tegra210-sor1": for Tegra210
2738c2ecf20Sopenharmony_ci    - "nvidia,tegra186-sor": for Tegra186
2748c2ecf20Sopenharmony_ci    - "nvidia,tegra186-sor1": for Tegra186
2758c2ecf20Sopenharmony_ci  - reg: Physical base address and length of the controller's registers.
2768c2ecf20Sopenharmony_ci  - interrupts: The interrupt outputs from the controller.
2778c2ecf20Sopenharmony_ci  - clocks: Must contain an entry for each entry in clock-names.
2788c2ecf20Sopenharmony_ci    See ../clocks/clock-bindings.txt for details.
2798c2ecf20Sopenharmony_ci  - clock-names: Must include the following entries:
2808c2ecf20Sopenharmony_ci    - sor: clock input for the SOR hardware
2818c2ecf20Sopenharmony_ci    - out: SOR output clock
2828c2ecf20Sopenharmony_ci    - parent: input for the pixel clock
2838c2ecf20Sopenharmony_ci    - dp: reference clock for the SOR clock
2848c2ecf20Sopenharmony_ci    - safe: safe reference for the SOR clock during power up
2858c2ecf20Sopenharmony_ci
2868c2ecf20Sopenharmony_ci    For Tegra186 and later:
2878c2ecf20Sopenharmony_ci    - pad: SOR pad output clock (on Tegra186 and later)
2888c2ecf20Sopenharmony_ci
2898c2ecf20Sopenharmony_ci    Obsolete:
2908c2ecf20Sopenharmony_ci    - source: source clock for the SOR clock (obsolete, use "out" instead)
2918c2ecf20Sopenharmony_ci
2928c2ecf20Sopenharmony_ci  - resets: Must contain an entry for each entry in reset-names.
2938c2ecf20Sopenharmony_ci    See ../reset/reset.txt for details.
2948c2ecf20Sopenharmony_ci  - reset-names: Must include the following entries:
2958c2ecf20Sopenharmony_ci    - sor
2968c2ecf20Sopenharmony_ci
2978c2ecf20Sopenharmony_ci  Required properties on Tegra186 and later:
2988c2ecf20Sopenharmony_ci  - nvidia,interface: index of the SOR interface
2998c2ecf20Sopenharmony_ci
3008c2ecf20Sopenharmony_ci  Optional properties:
3018c2ecf20Sopenharmony_ci  - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
3028c2ecf20Sopenharmony_ci  - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection
3038c2ecf20Sopenharmony_ci  - nvidia,edid: supplies a binary EDID blob
3048c2ecf20Sopenharmony_ci  - nvidia,panel: phandle of a display panel
3058c2ecf20Sopenharmony_ci  - nvidia,xbar-cfg: 5 cells containing the crossbar configuration. Each lane
3068c2ecf20Sopenharmony_ci    of the SOR, identified by the cell's index, is mapped via the crossbar to
3078c2ecf20Sopenharmony_ci    the pad specified by the cell's value.
3088c2ecf20Sopenharmony_ci
3098c2ecf20Sopenharmony_ci  Optional properties when driving an eDP output:
3108c2ecf20Sopenharmony_ci  - nvidia,dpaux: phandle to a DispayPort AUX interface
3118c2ecf20Sopenharmony_ci
3128c2ecf20Sopenharmony_ci- dpaux: DisplayPort AUX interface
3138c2ecf20Sopenharmony_ci  - compatible : Should contain one of the following:
3148c2ecf20Sopenharmony_ci    - "nvidia,tegra124-dpaux": for Tegra124 and Tegra132
3158c2ecf20Sopenharmony_ci    - "nvidia,tegra210-dpaux": for Tegra210
3168c2ecf20Sopenharmony_ci  - reg: Physical base address and length of the controller's registers.
3178c2ecf20Sopenharmony_ci  - interrupts: The interrupt outputs from the controller.
3188c2ecf20Sopenharmony_ci  - clocks: Must contain an entry for each entry in clock-names.
3198c2ecf20Sopenharmony_ci    See ../clocks/clock-bindings.txt for details.
3208c2ecf20Sopenharmony_ci  - clock-names: Must include the following entries:
3218c2ecf20Sopenharmony_ci    - dpaux: clock input for the DPAUX hardware
3228c2ecf20Sopenharmony_ci    - parent: reference clock
3238c2ecf20Sopenharmony_ci  - resets: Must contain an entry for each entry in reset-names.
3248c2ecf20Sopenharmony_ci    See ../reset/reset.txt for details.
3258c2ecf20Sopenharmony_ci  - reset-names: Must include the following entries:
3268c2ecf20Sopenharmony_ci    - dpaux
3278c2ecf20Sopenharmony_ci  - vdd-supply: phandle of a supply that powers the DisplayPort link
3288c2ecf20Sopenharmony_ci  - i2c-bus: Subnode where I2C slave devices are listed. This subnode
3298c2ecf20Sopenharmony_ci    must be always present. If there are no I2C slave devices, an empty
3308c2ecf20Sopenharmony_ci    node should be added. See ../../i2c/i2c.txt for more information.
3318c2ecf20Sopenharmony_ci
3328c2ecf20Sopenharmony_ci  See ../pinctrl/nvidia,tegra124-dpaux-padctl.txt for information
3338c2ecf20Sopenharmony_ci  regarding the DPAUX pad controller bindings.
3348c2ecf20Sopenharmony_ci
3358c2ecf20Sopenharmony_ci- vic: Video Image Compositor
3368c2ecf20Sopenharmony_ci  - compatible : "nvidia,tegra<chip>-vic"
3378c2ecf20Sopenharmony_ci  - reg: Physical base address and length of the controller's registers.
3388c2ecf20Sopenharmony_ci  - interrupts: The interrupt outputs from the controller.
3398c2ecf20Sopenharmony_ci  - clocks: Must contain an entry for each entry in clock-names.
3408c2ecf20Sopenharmony_ci    See ../clocks/clock-bindings.txt for details.
3418c2ecf20Sopenharmony_ci  - clock-names: Must include the following entries:
3428c2ecf20Sopenharmony_ci    - vic: clock input for the VIC hardware
3438c2ecf20Sopenharmony_ci  - resets: Must contain an entry for each entry in reset-names.
3448c2ecf20Sopenharmony_ci    See ../reset/reset.txt for details.
3458c2ecf20Sopenharmony_ci  - reset-names: Must include the following entries:
3468c2ecf20Sopenharmony_ci    - vic
3478c2ecf20Sopenharmony_ci
3488c2ecf20Sopenharmony_ciExample:
3498c2ecf20Sopenharmony_ci
3508c2ecf20Sopenharmony_ci/ {
3518c2ecf20Sopenharmony_ci	...
3528c2ecf20Sopenharmony_ci
3538c2ecf20Sopenharmony_ci	host1x {
3548c2ecf20Sopenharmony_ci		compatible = "nvidia,tegra20-host1x", "simple-bus";
3558c2ecf20Sopenharmony_ci		reg = <0x50000000 0x00024000>;
3568c2ecf20Sopenharmony_ci		interrupts = <0 65 0x04   /* mpcore syncpt */
3578c2ecf20Sopenharmony_ci			      0 67 0x04>; /* mpcore general */
3588c2ecf20Sopenharmony_ci		clocks = <&tegra_car TEGRA20_CLK_HOST1X>;
3598c2ecf20Sopenharmony_ci		resets = <&tegra_car 28>;
3608c2ecf20Sopenharmony_ci		reset-names = "host1x";
3618c2ecf20Sopenharmony_ci
3628c2ecf20Sopenharmony_ci		#address-cells = <1>;
3638c2ecf20Sopenharmony_ci		#size-cells = <1>;
3648c2ecf20Sopenharmony_ci
3658c2ecf20Sopenharmony_ci		ranges = <0x54000000 0x54000000 0x04000000>;
3668c2ecf20Sopenharmony_ci
3678c2ecf20Sopenharmony_ci		mpe {
3688c2ecf20Sopenharmony_ci			compatible = "nvidia,tegra20-mpe";
3698c2ecf20Sopenharmony_ci			reg = <0x54040000 0x00040000>;
3708c2ecf20Sopenharmony_ci			interrupts = <0 68 0x04>;
3718c2ecf20Sopenharmony_ci			clocks = <&tegra_car TEGRA20_CLK_MPE>;
3728c2ecf20Sopenharmony_ci			resets = <&tegra_car 60>;
3738c2ecf20Sopenharmony_ci			reset-names = "mpe";
3748c2ecf20Sopenharmony_ci		};
3758c2ecf20Sopenharmony_ci
3768c2ecf20Sopenharmony_ci		vi@54080000 {
3778c2ecf20Sopenharmony_ci			compatible = "nvidia,tegra210-vi";
3788c2ecf20Sopenharmony_ci			reg = <0x0 0x54080000 0x0 0x700>;
3798c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
3808c2ecf20Sopenharmony_ci			assigned-clocks = <&tegra_car TEGRA210_CLK_VI>;
3818c2ecf20Sopenharmony_ci			assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>;
3828c2ecf20Sopenharmony_ci
3838c2ecf20Sopenharmony_ci			clocks = <&tegra_car TEGRA210_CLK_VI>;
3848c2ecf20Sopenharmony_ci			power-domains = <&pd_venc>;
3858c2ecf20Sopenharmony_ci
3868c2ecf20Sopenharmony_ci			#address-cells = <1>;
3878c2ecf20Sopenharmony_ci			#size-cells = <1>;
3888c2ecf20Sopenharmony_ci
3898c2ecf20Sopenharmony_ci			ranges = <0x0 0x0 0x54080000 0x2000>;
3908c2ecf20Sopenharmony_ci
3918c2ecf20Sopenharmony_ci			ports {
3928c2ecf20Sopenharmony_ci				#address-cells = <1>;
3938c2ecf20Sopenharmony_ci				#size-cells = <0>;
3948c2ecf20Sopenharmony_ci
3958c2ecf20Sopenharmony_ci				port@0 {
3968c2ecf20Sopenharmony_ci					reg = <0>;
3978c2ecf20Sopenharmony_ci					imx219_vi_in0: endpoint {
3988c2ecf20Sopenharmony_ci						remote-endpoint = <&imx219_csi_out0>;
3998c2ecf20Sopenharmony_ci					};
4008c2ecf20Sopenharmony_ci				};
4018c2ecf20Sopenharmony_ci			};
4028c2ecf20Sopenharmony_ci
4038c2ecf20Sopenharmony_ci			csi@838 {
4048c2ecf20Sopenharmony_ci				compatible = "nvidia,tegra210-csi";
4058c2ecf20Sopenharmony_ci				reg = <0x838 0x1300>;
4068c2ecf20Sopenharmony_ci				assigned-clocks = <&tegra_car TEGRA210_CLK_CILAB>,
4078c2ecf20Sopenharmony_ci						  <&tegra_car TEGRA210_CLK_CILCD>,
4088c2ecf20Sopenharmony_ci						  <&tegra_car TEGRA210_CLK_CILE>,
4098c2ecf20Sopenharmony_ci						  <&tegra_car TEGRA210_CLK_CSI_TPG>;
4108c2ecf20Sopenharmony_ci				assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_P>,
4118c2ecf20Sopenharmony_ci							 <&tegra_car TEGRA210_CLK_PLL_P>,
4128c2ecf20Sopenharmony_ci							 <&tegra_car TEGRA210_CLK_PLL_P>;
4138c2ecf20Sopenharmony_ci				assigned-clock-rates = <102000000>,
4148c2ecf20Sopenharmony_ci						       <102000000>,
4158c2ecf20Sopenharmony_ci						       <102000000>,
4168c2ecf20Sopenharmony_ci						       <972000000>;
4178c2ecf20Sopenharmony_ci
4188c2ecf20Sopenharmony_ci				clocks = <&tegra_car TEGRA210_CLK_CSI>,
4198c2ecf20Sopenharmony_ci					 <&tegra_car TEGRA210_CLK_CILAB>,
4208c2ecf20Sopenharmony_ci					 <&tegra_car TEGRA210_CLK_CILCD>,
4218c2ecf20Sopenharmony_ci					 <&tegra_car TEGRA210_CLK_CILE>,
4228c2ecf20Sopenharmony_ci					 <&tegra_car TEGRA210_CLK_CSI_TPG>;
4238c2ecf20Sopenharmony_ci				clock-names = "csi", "cilab", "cilcd", "cile", "csi_tpg";
4248c2ecf20Sopenharmony_ci				power-domains = <&pd_sor>;
4258c2ecf20Sopenharmony_ci
4268c2ecf20Sopenharmony_ci				#address-cells = <1>;
4278c2ecf20Sopenharmony_ci				#size-cells = <0>;
4288c2ecf20Sopenharmony_ci
4298c2ecf20Sopenharmony_ci				channel@0 {
4308c2ecf20Sopenharmony_ci					reg = <0>;
4318c2ecf20Sopenharmony_ci					nvidia,mipi-calibrate = <&mipi 0x001>;
4328c2ecf20Sopenharmony_ci
4338c2ecf20Sopenharmony_ci					ports {
4348c2ecf20Sopenharmony_ci						#address-cells = <1>;
4358c2ecf20Sopenharmony_ci						#size-cells = <0>;
4368c2ecf20Sopenharmony_ci
4378c2ecf20Sopenharmony_ci						port@0 {
4388c2ecf20Sopenharmony_ci							reg = <0>;
4398c2ecf20Sopenharmony_ci							imx219_csi_in0: endpoint {
4408c2ecf20Sopenharmony_ci								data-lanes = <1 2>;
4418c2ecf20Sopenharmony_ci								remote-endpoint = <&imx219_out0>;
4428c2ecf20Sopenharmony_ci							};
4438c2ecf20Sopenharmony_ci						};
4448c2ecf20Sopenharmony_ci
4458c2ecf20Sopenharmony_ci						port@1 {
4468c2ecf20Sopenharmony_ci							reg = <1>;
4478c2ecf20Sopenharmony_ci							imx219_csi_out0: endpoint {
4488c2ecf20Sopenharmony_ci								remote-endpoint = <&imx219_vi_in0>;
4498c2ecf20Sopenharmony_ci							};
4508c2ecf20Sopenharmony_ci						};
4518c2ecf20Sopenharmony_ci					};
4528c2ecf20Sopenharmony_ci				};
4538c2ecf20Sopenharmony_ci			};
4548c2ecf20Sopenharmony_ci		};
4558c2ecf20Sopenharmony_ci
4568c2ecf20Sopenharmony_ci		epp {
4578c2ecf20Sopenharmony_ci			compatible = "nvidia,tegra20-epp";
4588c2ecf20Sopenharmony_ci			reg = <0x540c0000 0x00040000>;
4598c2ecf20Sopenharmony_ci			interrupts = <0 70 0x04>;
4608c2ecf20Sopenharmony_ci			clocks = <&tegra_car TEGRA20_CLK_EPP>;
4618c2ecf20Sopenharmony_ci			resets = <&tegra_car 19>;
4628c2ecf20Sopenharmony_ci			reset-names = "epp";
4638c2ecf20Sopenharmony_ci		};
4648c2ecf20Sopenharmony_ci
4658c2ecf20Sopenharmony_ci		isp {
4668c2ecf20Sopenharmony_ci			compatible = "nvidia,tegra20-isp";
4678c2ecf20Sopenharmony_ci			reg = <0x54100000 0x00040000>;
4688c2ecf20Sopenharmony_ci			interrupts = <0 71 0x04>;
4698c2ecf20Sopenharmony_ci			clocks = <&tegra_car TEGRA20_CLK_ISP>;
4708c2ecf20Sopenharmony_ci			resets = <&tegra_car 23>;
4718c2ecf20Sopenharmony_ci			reset-names = "isp";
4728c2ecf20Sopenharmony_ci		};
4738c2ecf20Sopenharmony_ci
4748c2ecf20Sopenharmony_ci		gr2d {
4758c2ecf20Sopenharmony_ci			compatible = "nvidia,tegra20-gr2d";
4768c2ecf20Sopenharmony_ci			reg = <0x54140000 0x00040000>;
4778c2ecf20Sopenharmony_ci			interrupts = <0 72 0x04>;
4788c2ecf20Sopenharmony_ci			clocks = <&tegra_car TEGRA20_CLK_GR2D>;
4798c2ecf20Sopenharmony_ci			resets = <&tegra_car 21>;
4808c2ecf20Sopenharmony_ci			reset-names = "2d";
4818c2ecf20Sopenharmony_ci		};
4828c2ecf20Sopenharmony_ci
4838c2ecf20Sopenharmony_ci		gr3d {
4848c2ecf20Sopenharmony_ci			compatible = "nvidia,tegra20-gr3d";
4858c2ecf20Sopenharmony_ci			reg = <0x54180000 0x00040000>;
4868c2ecf20Sopenharmony_ci			clocks = <&tegra_car TEGRA20_CLK_GR3D>;
4878c2ecf20Sopenharmony_ci			resets = <&tegra_car 24>;
4888c2ecf20Sopenharmony_ci			reset-names = "3d";
4898c2ecf20Sopenharmony_ci		};
4908c2ecf20Sopenharmony_ci
4918c2ecf20Sopenharmony_ci		dc@54200000 {
4928c2ecf20Sopenharmony_ci			compatible = "nvidia,tegra20-dc";
4938c2ecf20Sopenharmony_ci			reg = <0x54200000 0x00040000>;
4948c2ecf20Sopenharmony_ci			interrupts = <0 73 0x04>;
4958c2ecf20Sopenharmony_ci			clocks = <&tegra_car TEGRA20_CLK_DISP1>,
4968c2ecf20Sopenharmony_ci				 <&tegra_car TEGRA20_CLK_PLL_P>;
4978c2ecf20Sopenharmony_ci			clock-names = "dc", "parent";
4988c2ecf20Sopenharmony_ci			resets = <&tegra_car 27>;
4998c2ecf20Sopenharmony_ci			reset-names = "dc";
5008c2ecf20Sopenharmony_ci
5018c2ecf20Sopenharmony_ci			rgb {
5028c2ecf20Sopenharmony_ci				status = "disabled";
5038c2ecf20Sopenharmony_ci			};
5048c2ecf20Sopenharmony_ci		};
5058c2ecf20Sopenharmony_ci
5068c2ecf20Sopenharmony_ci		dc@54240000 {
5078c2ecf20Sopenharmony_ci			compatible = "nvidia,tegra20-dc";
5088c2ecf20Sopenharmony_ci			reg = <0x54240000 0x00040000>;
5098c2ecf20Sopenharmony_ci			interrupts = <0 74 0x04>;
5108c2ecf20Sopenharmony_ci			clocks = <&tegra_car TEGRA20_CLK_DISP2>,
5118c2ecf20Sopenharmony_ci				 <&tegra_car TEGRA20_CLK_PLL_P>;
5128c2ecf20Sopenharmony_ci			clock-names = "dc", "parent";
5138c2ecf20Sopenharmony_ci			resets = <&tegra_car 26>;
5148c2ecf20Sopenharmony_ci			reset-names = "dc";
5158c2ecf20Sopenharmony_ci
5168c2ecf20Sopenharmony_ci			rgb {
5178c2ecf20Sopenharmony_ci				status = "disabled";
5188c2ecf20Sopenharmony_ci			};
5198c2ecf20Sopenharmony_ci		};
5208c2ecf20Sopenharmony_ci
5218c2ecf20Sopenharmony_ci		hdmi {
5228c2ecf20Sopenharmony_ci			compatible = "nvidia,tegra20-hdmi";
5238c2ecf20Sopenharmony_ci			reg = <0x54280000 0x00040000>;
5248c2ecf20Sopenharmony_ci			interrupts = <0 75 0x04>;
5258c2ecf20Sopenharmony_ci			clocks = <&tegra_car TEGRA20_CLK_HDMI>,
5268c2ecf20Sopenharmony_ci				 <&tegra_car TEGRA20_CLK_PLL_D_OUT0>;
5278c2ecf20Sopenharmony_ci			clock-names = "hdmi", "parent";
5288c2ecf20Sopenharmony_ci			resets = <&tegra_car 51>;
5298c2ecf20Sopenharmony_ci			reset-names = "hdmi";
5308c2ecf20Sopenharmony_ci			status = "disabled";
5318c2ecf20Sopenharmony_ci		};
5328c2ecf20Sopenharmony_ci
5338c2ecf20Sopenharmony_ci		tvo {
5348c2ecf20Sopenharmony_ci			compatible = "nvidia,tegra20-tvo";
5358c2ecf20Sopenharmony_ci			reg = <0x542c0000 0x00040000>;
5368c2ecf20Sopenharmony_ci			interrupts = <0 76 0x04>;
5378c2ecf20Sopenharmony_ci			clocks = <&tegra_car TEGRA20_CLK_TVO>;
5388c2ecf20Sopenharmony_ci			status = "disabled";
5398c2ecf20Sopenharmony_ci		};
5408c2ecf20Sopenharmony_ci
5418c2ecf20Sopenharmony_ci		dsi {
5428c2ecf20Sopenharmony_ci			compatible = "nvidia,tegra20-dsi";
5438c2ecf20Sopenharmony_ci			reg = <0x54300000 0x00040000>;
5448c2ecf20Sopenharmony_ci			clocks = <&tegra_car TEGRA20_CLK_DSI>,
5458c2ecf20Sopenharmony_ci				 <&tegra_car TEGRA20_CLK_PLL_D_OUT0>;
5468c2ecf20Sopenharmony_ci			clock-names = "dsi", "parent";
5478c2ecf20Sopenharmony_ci			resets = <&tegra_car 48>;
5488c2ecf20Sopenharmony_ci			reset-names = "dsi";
5498c2ecf20Sopenharmony_ci			status = "disabled";
5508c2ecf20Sopenharmony_ci		};
5518c2ecf20Sopenharmony_ci	};
5528c2ecf20Sopenharmony_ci
5538c2ecf20Sopenharmony_ci	...
5548c2ecf20Sopenharmony_ci};
555