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