1*4882a593SmuzhiyunNVIDIA Tegra host1x 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunRequired properties: 4*4882a593Smuzhiyun- compatible: "nvidia,tegra<chip>-host1x" 5*4882a593Smuzhiyun- reg: Physical base address and length of the controller's registers. 6*4882a593Smuzhiyun For pre-Tegra186, one entry describing the whole register area. 7*4882a593Smuzhiyun For Tegra186, one entry for each entry in reg-names: 8*4882a593Smuzhiyun "vm" - VM region assigned to Linux 9*4882a593Smuzhiyun "hypervisor" - Hypervisor region (only if Linux acts as hypervisor) 10*4882a593Smuzhiyun- interrupts: The interrupt outputs from the controller. 11*4882a593Smuzhiyun- #address-cells: The number of cells used to represent physical base addresses 12*4882a593Smuzhiyun in the host1x address space. Should be 1. 13*4882a593Smuzhiyun- #size-cells: The number of cells used to represent the size of an address 14*4882a593Smuzhiyun range in the host1x address space. Should be 1. 15*4882a593Smuzhiyun- ranges: The mapping of the host1x address space to the CPU address space. 16*4882a593Smuzhiyun- clocks: Must contain one entry, for the module clock. 17*4882a593Smuzhiyun See ../clocks/clock-bindings.txt for details. 18*4882a593Smuzhiyun- resets: Must contain an entry for each entry in reset-names. 19*4882a593Smuzhiyun See ../reset/reset.txt for details. 20*4882a593Smuzhiyun- reset-names: Must include the following entries: 21*4882a593Smuzhiyun - host1x 22*4882a593Smuzhiyun 23*4882a593SmuzhiyunThe host1x top-level node defines a number of children, each representing one 24*4882a593Smuzhiyunof the following host1x client modules: 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun- mpe: video encoder 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun Required properties: 29*4882a593Smuzhiyun - compatible: "nvidia,tegra<chip>-mpe" 30*4882a593Smuzhiyun - reg: Physical base address and length of the controller's registers. 31*4882a593Smuzhiyun - interrupts: The interrupt outputs from the controller. 32*4882a593Smuzhiyun - clocks: Must contain one entry, for the module clock. 33*4882a593Smuzhiyun See ../clocks/clock-bindings.txt for details. 34*4882a593Smuzhiyun - resets: Must contain an entry for each entry in reset-names. 35*4882a593Smuzhiyun See ../reset/reset.txt for details. 36*4882a593Smuzhiyun - reset-names: Must include the following entries: 37*4882a593Smuzhiyun - mpe 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun- vi: video input 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun Required properties: 42*4882a593Smuzhiyun - compatible: "nvidia,tegra<chip>-vi" 43*4882a593Smuzhiyun - reg: Physical base address and length of the controller registers. 44*4882a593Smuzhiyun - interrupts: The interrupt outputs from the controller. 45*4882a593Smuzhiyun - clocks: clocks: Must contain one entry, for the module clock. 46*4882a593Smuzhiyun See ../clocks/clock-bindings.txt for details. 47*4882a593Smuzhiyun - Tegra20/Tegra30/Tegra114/Tegra124: 48*4882a593Smuzhiyun - resets: Must contain an entry for each entry in reset-names. 49*4882a593Smuzhiyun See ../reset/reset.txt for details. 50*4882a593Smuzhiyun - reset-names: Must include the following entries: 51*4882a593Smuzhiyun - vi 52*4882a593Smuzhiyun - Tegra210: 53*4882a593Smuzhiyun - power-domains: Must include venc powergate node as vi is in VE partition. 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun ports (optional node) 56*4882a593Smuzhiyun vi can have optional ports node and max 6 ports are supported. Each port 57*4882a593Smuzhiyun should have single 'endpoint' child node. All port nodes are grouped under 58*4882a593Smuzhiyun ports node. Please refer to the bindings defined in 59*4882a593Smuzhiyun Documentation/devicetree/bindings/media/video-interfaces.txt 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun csi (required node) 62*4882a593Smuzhiyun Tegra210 has CSI part of VI sharing same host interface and register space. 63*4882a593Smuzhiyun So, VI device node should have CSI child node. 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun - csi: mipi csi interface to vi 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun Required properties: 68*4882a593Smuzhiyun - compatible: "nvidia,tegra210-csi" 69*4882a593Smuzhiyun - reg: Physical base address offset to parent and length of the controller 70*4882a593Smuzhiyun registers. 71*4882a593Smuzhiyun - clocks: Must contain entries csi, cilab, cilcd, cile, csi_tpg clocks. 72*4882a593Smuzhiyun See ../clocks/clock-bindings.txt for details. 73*4882a593Smuzhiyun - power-domains: Must include sor powergate node as csicil is in 74*4882a593Smuzhiyun SOR partition. 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun channel (optional nodes) 77*4882a593Smuzhiyun Maximum 6 channels are supported with each csi brick as either x4 or x2 78*4882a593Smuzhiyun based on hw connectivity to sensor. 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun Required properties: 81*4882a593Smuzhiyun - reg: csi port number. Valid port numbers are 0 through 5. 82*4882a593Smuzhiyun - nvidia,mipi-calibrate: Should contain a phandle and a specifier 83*4882a593Smuzhiyun specifying which pads are used by this CSI port and need to be 84*4882a593Smuzhiyun calibrated. See also ../display/tegra/nvidia,tegra114-mipi.txt. 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun Each channel node must contain 2 port nodes which can be grouped 87*4882a593Smuzhiyun under 'ports' node and each port should have a single child 'endpoint' 88*4882a593Smuzhiyun node. 89*4882a593Smuzhiyun 90*4882a593Smuzhiyun ports node 91*4882a593Smuzhiyun Please refer to the bindings defined in 92*4882a593Smuzhiyun Documentation/devicetree/bindings/media/video-interfaces.txt 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun ports node must contain below 2 port nodes. 95*4882a593Smuzhiyun port@0 with single child 'endpoint' node always a sink. 96*4882a593Smuzhiyun port@1 with single child 'endpoint' node always a source. 97*4882a593Smuzhiyun 98*4882a593Smuzhiyun port@0 (required node) 99*4882a593Smuzhiyun Required properties: 100*4882a593Smuzhiyun - reg: 0 101*4882a593Smuzhiyun 102*4882a593Smuzhiyun endpoint (required node) 103*4882a593Smuzhiyun Required properties: 104*4882a593Smuzhiyun - data-lanes: an array of data lane from 1 to 4. Valid array 105*4882a593Smuzhiyun lengths are 1/2/4. 106*4882a593Smuzhiyun - remote-endpoint: phandle to sensor 'endpoint' node. 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun port@1 (required node) 109*4882a593Smuzhiyun Required properties: 110*4882a593Smuzhiyun - reg: 1 111*4882a593Smuzhiyun 112*4882a593Smuzhiyun endpoint (required node) 113*4882a593Smuzhiyun Required properties: 114*4882a593Smuzhiyun - remote-endpoint: phandle to vi port 'endpoint' node. 115*4882a593Smuzhiyun 116*4882a593Smuzhiyun- epp: encoder pre-processor 117*4882a593Smuzhiyun 118*4882a593Smuzhiyun Required properties: 119*4882a593Smuzhiyun - compatible: "nvidia,tegra<chip>-epp" 120*4882a593Smuzhiyun - reg: Physical base address and length of the controller's registers. 121*4882a593Smuzhiyun - interrupts: The interrupt outputs from the controller. 122*4882a593Smuzhiyun - clocks: Must contain one entry, for the module clock. 123*4882a593Smuzhiyun See ../clocks/clock-bindings.txt for details. 124*4882a593Smuzhiyun - resets: Must contain an entry for each entry in reset-names. 125*4882a593Smuzhiyun See ../reset/reset.txt for details. 126*4882a593Smuzhiyun - reset-names: Must include the following entries: 127*4882a593Smuzhiyun - epp 128*4882a593Smuzhiyun 129*4882a593Smuzhiyun- isp: image signal processor 130*4882a593Smuzhiyun 131*4882a593Smuzhiyun Required properties: 132*4882a593Smuzhiyun - compatible: "nvidia,tegra<chip>-isp" 133*4882a593Smuzhiyun - reg: Physical base address and length of the controller's registers. 134*4882a593Smuzhiyun - interrupts: The interrupt outputs from the controller. 135*4882a593Smuzhiyun - clocks: Must contain one entry, for the module clock. 136*4882a593Smuzhiyun See ../clocks/clock-bindings.txt for details. 137*4882a593Smuzhiyun - resets: Must contain an entry for each entry in reset-names. 138*4882a593Smuzhiyun See ../reset/reset.txt for details. 139*4882a593Smuzhiyun - reset-names: Must include the following entries: 140*4882a593Smuzhiyun - isp 141*4882a593Smuzhiyun 142*4882a593Smuzhiyun- gr2d: 2D graphics engine 143*4882a593Smuzhiyun 144*4882a593Smuzhiyun Required properties: 145*4882a593Smuzhiyun - compatible: "nvidia,tegra<chip>-gr2d" 146*4882a593Smuzhiyun - reg: Physical base address and length of the controller's registers. 147*4882a593Smuzhiyun - interrupts: The interrupt outputs from the controller. 148*4882a593Smuzhiyun - clocks: Must contain one entry, for the module clock. 149*4882a593Smuzhiyun See ../clocks/clock-bindings.txt for details. 150*4882a593Smuzhiyun - resets: Must contain an entry for each entry in reset-names. 151*4882a593Smuzhiyun See ../reset/reset.txt for details. 152*4882a593Smuzhiyun - reset-names: Must include the following entries: 153*4882a593Smuzhiyun - 2d 154*4882a593Smuzhiyun 155*4882a593Smuzhiyun- gr3d: 3D graphics engine 156*4882a593Smuzhiyun 157*4882a593Smuzhiyun Required properties: 158*4882a593Smuzhiyun - compatible: "nvidia,tegra<chip>-gr3d" 159*4882a593Smuzhiyun - reg: Physical base address and length of the controller's registers. 160*4882a593Smuzhiyun - clocks: Must contain an entry for each entry in clock-names. 161*4882a593Smuzhiyun See ../clocks/clock-bindings.txt for details. 162*4882a593Smuzhiyun - clock-names: Must include the following entries: 163*4882a593Smuzhiyun (This property may be omitted if the only clock in the list is "3d") 164*4882a593Smuzhiyun - 3d 165*4882a593Smuzhiyun This MUST be the first entry. 166*4882a593Smuzhiyun - 3d2 (Only required on SoCs with two 3D clocks) 167*4882a593Smuzhiyun - resets: Must contain an entry for each entry in reset-names. 168*4882a593Smuzhiyun See ../reset/reset.txt for details. 169*4882a593Smuzhiyun - reset-names: Must include the following entries: 170*4882a593Smuzhiyun - 3d 171*4882a593Smuzhiyun - 3d2 (Only required on SoCs with two 3D clocks) 172*4882a593Smuzhiyun 173*4882a593Smuzhiyun- dc: display controller 174*4882a593Smuzhiyun 175*4882a593Smuzhiyun Required properties: 176*4882a593Smuzhiyun - compatible: "nvidia,tegra<chip>-dc" 177*4882a593Smuzhiyun - reg: Physical base address and length of the controller's registers. 178*4882a593Smuzhiyun - interrupts: The interrupt outputs from the controller. 179*4882a593Smuzhiyun - clocks: Must contain an entry for each entry in clock-names. 180*4882a593Smuzhiyun See ../clocks/clock-bindings.txt for details. 181*4882a593Smuzhiyun - clock-names: Must include the following entries: 182*4882a593Smuzhiyun - dc 183*4882a593Smuzhiyun This MUST be the first entry. 184*4882a593Smuzhiyun - parent 185*4882a593Smuzhiyun - resets: Must contain an entry for each entry in reset-names. 186*4882a593Smuzhiyun See ../reset/reset.txt for details. 187*4882a593Smuzhiyun - reset-names: Must include the following entries: 188*4882a593Smuzhiyun - dc 189*4882a593Smuzhiyun - nvidia,head: The number of the display controller head. This is used to 190*4882a593Smuzhiyun setup the various types of output to receive video data from the given 191*4882a593Smuzhiyun head. 192*4882a593Smuzhiyun 193*4882a593Smuzhiyun Each display controller node has a child node, named "rgb", that represents 194*4882a593Smuzhiyun the RGB output associated with the controller. It can take the following 195*4882a593Smuzhiyun optional properties: 196*4882a593Smuzhiyun - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing 197*4882a593Smuzhiyun - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection 198*4882a593Smuzhiyun - nvidia,edid: supplies a binary EDID blob 199*4882a593Smuzhiyun - nvidia,panel: phandle of a display panel 200*4882a593Smuzhiyun 201*4882a593Smuzhiyun- hdmi: High Definition Multimedia Interface 202*4882a593Smuzhiyun 203*4882a593Smuzhiyun Required properties: 204*4882a593Smuzhiyun - compatible: "nvidia,tegra<chip>-hdmi" 205*4882a593Smuzhiyun - reg: Physical base address and length of the controller's registers. 206*4882a593Smuzhiyun - interrupts: The interrupt outputs from the controller. 207*4882a593Smuzhiyun - hdmi-supply: supply for the +5V HDMI connector pin 208*4882a593Smuzhiyun - vdd-supply: regulator for supply voltage 209*4882a593Smuzhiyun - pll-supply: regulator for PLL 210*4882a593Smuzhiyun - clocks: Must contain an entry for each entry in clock-names. 211*4882a593Smuzhiyun See ../clocks/clock-bindings.txt for details. 212*4882a593Smuzhiyun - clock-names: Must include the following entries: 213*4882a593Smuzhiyun - hdmi 214*4882a593Smuzhiyun This MUST be the first entry. 215*4882a593Smuzhiyun - parent 216*4882a593Smuzhiyun - resets: Must contain an entry for each entry in reset-names. 217*4882a593Smuzhiyun See ../reset/reset.txt for details. 218*4882a593Smuzhiyun - reset-names: Must include the following entries: 219*4882a593Smuzhiyun - hdmi 220*4882a593Smuzhiyun 221*4882a593Smuzhiyun Optional properties: 222*4882a593Smuzhiyun - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing 223*4882a593Smuzhiyun - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection 224*4882a593Smuzhiyun - nvidia,edid: supplies a binary EDID blob 225*4882a593Smuzhiyun - nvidia,panel: phandle of a display panel 226*4882a593Smuzhiyun 227*4882a593Smuzhiyun- tvo: TV encoder output 228*4882a593Smuzhiyun 229*4882a593Smuzhiyun Required properties: 230*4882a593Smuzhiyun - compatible: "nvidia,tegra<chip>-tvo" 231*4882a593Smuzhiyun - reg: Physical base address and length of the controller's registers. 232*4882a593Smuzhiyun - interrupts: The interrupt outputs from the controller. 233*4882a593Smuzhiyun - clocks: Must contain one entry, for the module clock. 234*4882a593Smuzhiyun See ../clocks/clock-bindings.txt for details. 235*4882a593Smuzhiyun 236*4882a593Smuzhiyun- dsi: display serial interface 237*4882a593Smuzhiyun 238*4882a593Smuzhiyun Required properties: 239*4882a593Smuzhiyun - compatible: "nvidia,tegra<chip>-dsi" 240*4882a593Smuzhiyun - reg: Physical base address and length of the controller's registers. 241*4882a593Smuzhiyun - clocks: Must contain an entry for each entry in clock-names. 242*4882a593Smuzhiyun See ../clocks/clock-bindings.txt for details. 243*4882a593Smuzhiyun - clock-names: Must include the following entries: 244*4882a593Smuzhiyun - dsi 245*4882a593Smuzhiyun This MUST be the first entry. 246*4882a593Smuzhiyun - lp 247*4882a593Smuzhiyun - parent 248*4882a593Smuzhiyun - resets: Must contain an entry for each entry in reset-names. 249*4882a593Smuzhiyun See ../reset/reset.txt for details. 250*4882a593Smuzhiyun - reset-names: Must include the following entries: 251*4882a593Smuzhiyun - dsi 252*4882a593Smuzhiyun - avdd-dsi-supply: phandle of a supply that powers the DSI controller 253*4882a593Smuzhiyun - nvidia,mipi-calibrate: Should contain a phandle and a specifier specifying 254*4882a593Smuzhiyun which pads are used by this DSI output and need to be calibrated. See also 255*4882a593Smuzhiyun ../display/tegra/nvidia,tegra114-mipi.txt. 256*4882a593Smuzhiyun 257*4882a593Smuzhiyun Optional properties: 258*4882a593Smuzhiyun - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing 259*4882a593Smuzhiyun - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection 260*4882a593Smuzhiyun - nvidia,edid: supplies a binary EDID blob 261*4882a593Smuzhiyun - nvidia,panel: phandle of a display panel 262*4882a593Smuzhiyun - nvidia,ganged-mode: contains a phandle to a second DSI controller to gang 263*4882a593Smuzhiyun up with in order to support up to 8 data lanes 264*4882a593Smuzhiyun 265*4882a593Smuzhiyun- sor: serial output resource 266*4882a593Smuzhiyun 267*4882a593Smuzhiyun Required properties: 268*4882a593Smuzhiyun - compatible: Should be: 269*4882a593Smuzhiyun - "nvidia,tegra124-sor": for Tegra124 and Tegra132 270*4882a593Smuzhiyun - "nvidia,tegra132-sor": for Tegra132 271*4882a593Smuzhiyun - "nvidia,tegra210-sor": for Tegra210 272*4882a593Smuzhiyun - "nvidia,tegra210-sor1": for Tegra210 273*4882a593Smuzhiyun - "nvidia,tegra186-sor": for Tegra186 274*4882a593Smuzhiyun - "nvidia,tegra186-sor1": for Tegra186 275*4882a593Smuzhiyun - reg: Physical base address and length of the controller's registers. 276*4882a593Smuzhiyun - interrupts: The interrupt outputs from the controller. 277*4882a593Smuzhiyun - clocks: Must contain an entry for each entry in clock-names. 278*4882a593Smuzhiyun See ../clocks/clock-bindings.txt for details. 279*4882a593Smuzhiyun - clock-names: Must include the following entries: 280*4882a593Smuzhiyun - sor: clock input for the SOR hardware 281*4882a593Smuzhiyun - out: SOR output clock 282*4882a593Smuzhiyun - parent: input for the pixel clock 283*4882a593Smuzhiyun - dp: reference clock for the SOR clock 284*4882a593Smuzhiyun - safe: safe reference for the SOR clock during power up 285*4882a593Smuzhiyun 286*4882a593Smuzhiyun For Tegra186 and later: 287*4882a593Smuzhiyun - pad: SOR pad output clock (on Tegra186 and later) 288*4882a593Smuzhiyun 289*4882a593Smuzhiyun Obsolete: 290*4882a593Smuzhiyun - source: source clock for the SOR clock (obsolete, use "out" instead) 291*4882a593Smuzhiyun 292*4882a593Smuzhiyun - resets: Must contain an entry for each entry in reset-names. 293*4882a593Smuzhiyun See ../reset/reset.txt for details. 294*4882a593Smuzhiyun - reset-names: Must include the following entries: 295*4882a593Smuzhiyun - sor 296*4882a593Smuzhiyun 297*4882a593Smuzhiyun Required properties on Tegra186 and later: 298*4882a593Smuzhiyun - nvidia,interface: index of the SOR interface 299*4882a593Smuzhiyun 300*4882a593Smuzhiyun Optional properties: 301*4882a593Smuzhiyun - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing 302*4882a593Smuzhiyun - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection 303*4882a593Smuzhiyun - nvidia,edid: supplies a binary EDID blob 304*4882a593Smuzhiyun - nvidia,panel: phandle of a display panel 305*4882a593Smuzhiyun - nvidia,xbar-cfg: 5 cells containing the crossbar configuration. Each lane 306*4882a593Smuzhiyun of the SOR, identified by the cell's index, is mapped via the crossbar to 307*4882a593Smuzhiyun the pad specified by the cell's value. 308*4882a593Smuzhiyun 309*4882a593Smuzhiyun Optional properties when driving an eDP output: 310*4882a593Smuzhiyun - nvidia,dpaux: phandle to a DispayPort AUX interface 311*4882a593Smuzhiyun 312*4882a593Smuzhiyun- dpaux: DisplayPort AUX interface 313*4882a593Smuzhiyun - compatible : Should contain one of the following: 314*4882a593Smuzhiyun - "nvidia,tegra124-dpaux": for Tegra124 and Tegra132 315*4882a593Smuzhiyun - "nvidia,tegra210-dpaux": for Tegra210 316*4882a593Smuzhiyun - reg: Physical base address and length of the controller's registers. 317*4882a593Smuzhiyun - interrupts: The interrupt outputs from the controller. 318*4882a593Smuzhiyun - clocks: Must contain an entry for each entry in clock-names. 319*4882a593Smuzhiyun See ../clocks/clock-bindings.txt for details. 320*4882a593Smuzhiyun - clock-names: Must include the following entries: 321*4882a593Smuzhiyun - dpaux: clock input for the DPAUX hardware 322*4882a593Smuzhiyun - parent: reference clock 323*4882a593Smuzhiyun - resets: Must contain an entry for each entry in reset-names. 324*4882a593Smuzhiyun See ../reset/reset.txt for details. 325*4882a593Smuzhiyun - reset-names: Must include the following entries: 326*4882a593Smuzhiyun - dpaux 327*4882a593Smuzhiyun - vdd-supply: phandle of a supply that powers the DisplayPort link 328*4882a593Smuzhiyun - i2c-bus: Subnode where I2C slave devices are listed. This subnode 329*4882a593Smuzhiyun must be always present. If there are no I2C slave devices, an empty 330*4882a593Smuzhiyun node should be added. See ../../i2c/i2c.txt for more information. 331*4882a593Smuzhiyun 332*4882a593Smuzhiyun See ../pinctrl/nvidia,tegra124-dpaux-padctl.txt for information 333*4882a593Smuzhiyun regarding the DPAUX pad controller bindings. 334*4882a593Smuzhiyun 335*4882a593Smuzhiyun- vic: Video Image Compositor 336*4882a593Smuzhiyun - compatible : "nvidia,tegra<chip>-vic" 337*4882a593Smuzhiyun - reg: Physical base address and length of the controller's registers. 338*4882a593Smuzhiyun - interrupts: The interrupt outputs from the controller. 339*4882a593Smuzhiyun - clocks: Must contain an entry for each entry in clock-names. 340*4882a593Smuzhiyun See ../clocks/clock-bindings.txt for details. 341*4882a593Smuzhiyun - clock-names: Must include the following entries: 342*4882a593Smuzhiyun - vic: clock input for the VIC hardware 343*4882a593Smuzhiyun - resets: Must contain an entry for each entry in reset-names. 344*4882a593Smuzhiyun See ../reset/reset.txt for details. 345*4882a593Smuzhiyun - reset-names: Must include the following entries: 346*4882a593Smuzhiyun - vic 347*4882a593Smuzhiyun 348*4882a593SmuzhiyunExample: 349*4882a593Smuzhiyun 350*4882a593Smuzhiyun/ { 351*4882a593Smuzhiyun ... 352*4882a593Smuzhiyun 353*4882a593Smuzhiyun host1x { 354*4882a593Smuzhiyun compatible = "nvidia,tegra20-host1x", "simple-bus"; 355*4882a593Smuzhiyun reg = <0x50000000 0x00024000>; 356*4882a593Smuzhiyun interrupts = <0 65 0x04 /* mpcore syncpt */ 357*4882a593Smuzhiyun 0 67 0x04>; /* mpcore general */ 358*4882a593Smuzhiyun clocks = <&tegra_car TEGRA20_CLK_HOST1X>; 359*4882a593Smuzhiyun resets = <&tegra_car 28>; 360*4882a593Smuzhiyun reset-names = "host1x"; 361*4882a593Smuzhiyun 362*4882a593Smuzhiyun #address-cells = <1>; 363*4882a593Smuzhiyun #size-cells = <1>; 364*4882a593Smuzhiyun 365*4882a593Smuzhiyun ranges = <0x54000000 0x54000000 0x04000000>; 366*4882a593Smuzhiyun 367*4882a593Smuzhiyun mpe { 368*4882a593Smuzhiyun compatible = "nvidia,tegra20-mpe"; 369*4882a593Smuzhiyun reg = <0x54040000 0x00040000>; 370*4882a593Smuzhiyun interrupts = <0 68 0x04>; 371*4882a593Smuzhiyun clocks = <&tegra_car TEGRA20_CLK_MPE>; 372*4882a593Smuzhiyun resets = <&tegra_car 60>; 373*4882a593Smuzhiyun reset-names = "mpe"; 374*4882a593Smuzhiyun }; 375*4882a593Smuzhiyun 376*4882a593Smuzhiyun vi@54080000 { 377*4882a593Smuzhiyun compatible = "nvidia,tegra210-vi"; 378*4882a593Smuzhiyun reg = <0x0 0x54080000 0x0 0x700>; 379*4882a593Smuzhiyun interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 380*4882a593Smuzhiyun assigned-clocks = <&tegra_car TEGRA210_CLK_VI>; 381*4882a593Smuzhiyun assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>; 382*4882a593Smuzhiyun 383*4882a593Smuzhiyun clocks = <&tegra_car TEGRA210_CLK_VI>; 384*4882a593Smuzhiyun power-domains = <&pd_venc>; 385*4882a593Smuzhiyun 386*4882a593Smuzhiyun #address-cells = <1>; 387*4882a593Smuzhiyun #size-cells = <1>; 388*4882a593Smuzhiyun 389*4882a593Smuzhiyun ranges = <0x0 0x0 0x54080000 0x2000>; 390*4882a593Smuzhiyun 391*4882a593Smuzhiyun ports { 392*4882a593Smuzhiyun #address-cells = <1>; 393*4882a593Smuzhiyun #size-cells = <0>; 394*4882a593Smuzhiyun 395*4882a593Smuzhiyun port@0 { 396*4882a593Smuzhiyun reg = <0>; 397*4882a593Smuzhiyun imx219_vi_in0: endpoint { 398*4882a593Smuzhiyun remote-endpoint = <&imx219_csi_out0>; 399*4882a593Smuzhiyun }; 400*4882a593Smuzhiyun }; 401*4882a593Smuzhiyun }; 402*4882a593Smuzhiyun 403*4882a593Smuzhiyun csi@838 { 404*4882a593Smuzhiyun compatible = "nvidia,tegra210-csi"; 405*4882a593Smuzhiyun reg = <0x838 0x1300>; 406*4882a593Smuzhiyun assigned-clocks = <&tegra_car TEGRA210_CLK_CILAB>, 407*4882a593Smuzhiyun <&tegra_car TEGRA210_CLK_CILCD>, 408*4882a593Smuzhiyun <&tegra_car TEGRA210_CLK_CILE>, 409*4882a593Smuzhiyun <&tegra_car TEGRA210_CLK_CSI_TPG>; 410*4882a593Smuzhiyun assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_P>, 411*4882a593Smuzhiyun <&tegra_car TEGRA210_CLK_PLL_P>, 412*4882a593Smuzhiyun <&tegra_car TEGRA210_CLK_PLL_P>; 413*4882a593Smuzhiyun assigned-clock-rates = <102000000>, 414*4882a593Smuzhiyun <102000000>, 415*4882a593Smuzhiyun <102000000>, 416*4882a593Smuzhiyun <972000000>; 417*4882a593Smuzhiyun 418*4882a593Smuzhiyun clocks = <&tegra_car TEGRA210_CLK_CSI>, 419*4882a593Smuzhiyun <&tegra_car TEGRA210_CLK_CILAB>, 420*4882a593Smuzhiyun <&tegra_car TEGRA210_CLK_CILCD>, 421*4882a593Smuzhiyun <&tegra_car TEGRA210_CLK_CILE>, 422*4882a593Smuzhiyun <&tegra_car TEGRA210_CLK_CSI_TPG>; 423*4882a593Smuzhiyun clock-names = "csi", "cilab", "cilcd", "cile", "csi_tpg"; 424*4882a593Smuzhiyun power-domains = <&pd_sor>; 425*4882a593Smuzhiyun 426*4882a593Smuzhiyun #address-cells = <1>; 427*4882a593Smuzhiyun #size-cells = <0>; 428*4882a593Smuzhiyun 429*4882a593Smuzhiyun channel@0 { 430*4882a593Smuzhiyun reg = <0>; 431*4882a593Smuzhiyun nvidia,mipi-calibrate = <&mipi 0x001>; 432*4882a593Smuzhiyun 433*4882a593Smuzhiyun ports { 434*4882a593Smuzhiyun #address-cells = <1>; 435*4882a593Smuzhiyun #size-cells = <0>; 436*4882a593Smuzhiyun 437*4882a593Smuzhiyun port@0 { 438*4882a593Smuzhiyun reg = <0>; 439*4882a593Smuzhiyun imx219_csi_in0: endpoint { 440*4882a593Smuzhiyun data-lanes = <1 2>; 441*4882a593Smuzhiyun remote-endpoint = <&imx219_out0>; 442*4882a593Smuzhiyun }; 443*4882a593Smuzhiyun }; 444*4882a593Smuzhiyun 445*4882a593Smuzhiyun port@1 { 446*4882a593Smuzhiyun reg = <1>; 447*4882a593Smuzhiyun imx219_csi_out0: endpoint { 448*4882a593Smuzhiyun remote-endpoint = <&imx219_vi_in0>; 449*4882a593Smuzhiyun }; 450*4882a593Smuzhiyun }; 451*4882a593Smuzhiyun }; 452*4882a593Smuzhiyun }; 453*4882a593Smuzhiyun }; 454*4882a593Smuzhiyun }; 455*4882a593Smuzhiyun 456*4882a593Smuzhiyun epp { 457*4882a593Smuzhiyun compatible = "nvidia,tegra20-epp"; 458*4882a593Smuzhiyun reg = <0x540c0000 0x00040000>; 459*4882a593Smuzhiyun interrupts = <0 70 0x04>; 460*4882a593Smuzhiyun clocks = <&tegra_car TEGRA20_CLK_EPP>; 461*4882a593Smuzhiyun resets = <&tegra_car 19>; 462*4882a593Smuzhiyun reset-names = "epp"; 463*4882a593Smuzhiyun }; 464*4882a593Smuzhiyun 465*4882a593Smuzhiyun isp { 466*4882a593Smuzhiyun compatible = "nvidia,tegra20-isp"; 467*4882a593Smuzhiyun reg = <0x54100000 0x00040000>; 468*4882a593Smuzhiyun interrupts = <0 71 0x04>; 469*4882a593Smuzhiyun clocks = <&tegra_car TEGRA20_CLK_ISP>; 470*4882a593Smuzhiyun resets = <&tegra_car 23>; 471*4882a593Smuzhiyun reset-names = "isp"; 472*4882a593Smuzhiyun }; 473*4882a593Smuzhiyun 474*4882a593Smuzhiyun gr2d { 475*4882a593Smuzhiyun compatible = "nvidia,tegra20-gr2d"; 476*4882a593Smuzhiyun reg = <0x54140000 0x00040000>; 477*4882a593Smuzhiyun interrupts = <0 72 0x04>; 478*4882a593Smuzhiyun clocks = <&tegra_car TEGRA20_CLK_GR2D>; 479*4882a593Smuzhiyun resets = <&tegra_car 21>; 480*4882a593Smuzhiyun reset-names = "2d"; 481*4882a593Smuzhiyun }; 482*4882a593Smuzhiyun 483*4882a593Smuzhiyun gr3d { 484*4882a593Smuzhiyun compatible = "nvidia,tegra20-gr3d"; 485*4882a593Smuzhiyun reg = <0x54180000 0x00040000>; 486*4882a593Smuzhiyun clocks = <&tegra_car TEGRA20_CLK_GR3D>; 487*4882a593Smuzhiyun resets = <&tegra_car 24>; 488*4882a593Smuzhiyun reset-names = "3d"; 489*4882a593Smuzhiyun }; 490*4882a593Smuzhiyun 491*4882a593Smuzhiyun dc@54200000 { 492*4882a593Smuzhiyun compatible = "nvidia,tegra20-dc"; 493*4882a593Smuzhiyun reg = <0x54200000 0x00040000>; 494*4882a593Smuzhiyun interrupts = <0 73 0x04>; 495*4882a593Smuzhiyun clocks = <&tegra_car TEGRA20_CLK_DISP1>, 496*4882a593Smuzhiyun <&tegra_car TEGRA20_CLK_PLL_P>; 497*4882a593Smuzhiyun clock-names = "dc", "parent"; 498*4882a593Smuzhiyun resets = <&tegra_car 27>; 499*4882a593Smuzhiyun reset-names = "dc"; 500*4882a593Smuzhiyun 501*4882a593Smuzhiyun rgb { 502*4882a593Smuzhiyun status = "disabled"; 503*4882a593Smuzhiyun }; 504*4882a593Smuzhiyun }; 505*4882a593Smuzhiyun 506*4882a593Smuzhiyun dc@54240000 { 507*4882a593Smuzhiyun compatible = "nvidia,tegra20-dc"; 508*4882a593Smuzhiyun reg = <0x54240000 0x00040000>; 509*4882a593Smuzhiyun interrupts = <0 74 0x04>; 510*4882a593Smuzhiyun clocks = <&tegra_car TEGRA20_CLK_DISP2>, 511*4882a593Smuzhiyun <&tegra_car TEGRA20_CLK_PLL_P>; 512*4882a593Smuzhiyun clock-names = "dc", "parent"; 513*4882a593Smuzhiyun resets = <&tegra_car 26>; 514*4882a593Smuzhiyun reset-names = "dc"; 515*4882a593Smuzhiyun 516*4882a593Smuzhiyun rgb { 517*4882a593Smuzhiyun status = "disabled"; 518*4882a593Smuzhiyun }; 519*4882a593Smuzhiyun }; 520*4882a593Smuzhiyun 521*4882a593Smuzhiyun hdmi { 522*4882a593Smuzhiyun compatible = "nvidia,tegra20-hdmi"; 523*4882a593Smuzhiyun reg = <0x54280000 0x00040000>; 524*4882a593Smuzhiyun interrupts = <0 75 0x04>; 525*4882a593Smuzhiyun clocks = <&tegra_car TEGRA20_CLK_HDMI>, 526*4882a593Smuzhiyun <&tegra_car TEGRA20_CLK_PLL_D_OUT0>; 527*4882a593Smuzhiyun clock-names = "hdmi", "parent"; 528*4882a593Smuzhiyun resets = <&tegra_car 51>; 529*4882a593Smuzhiyun reset-names = "hdmi"; 530*4882a593Smuzhiyun status = "disabled"; 531*4882a593Smuzhiyun }; 532*4882a593Smuzhiyun 533*4882a593Smuzhiyun tvo { 534*4882a593Smuzhiyun compatible = "nvidia,tegra20-tvo"; 535*4882a593Smuzhiyun reg = <0x542c0000 0x00040000>; 536*4882a593Smuzhiyun interrupts = <0 76 0x04>; 537*4882a593Smuzhiyun clocks = <&tegra_car TEGRA20_CLK_TVO>; 538*4882a593Smuzhiyun status = "disabled"; 539*4882a593Smuzhiyun }; 540*4882a593Smuzhiyun 541*4882a593Smuzhiyun dsi { 542*4882a593Smuzhiyun compatible = "nvidia,tegra20-dsi"; 543*4882a593Smuzhiyun reg = <0x54300000 0x00040000>; 544*4882a593Smuzhiyun clocks = <&tegra_car TEGRA20_CLK_DSI>, 545*4882a593Smuzhiyun <&tegra_car TEGRA20_CLK_PLL_D_OUT0>; 546*4882a593Smuzhiyun clock-names = "dsi", "parent"; 547*4882a593Smuzhiyun resets = <&tegra_car 48>; 548*4882a593Smuzhiyun reset-names = "dsi"; 549*4882a593Smuzhiyun status = "disabled"; 550*4882a593Smuzhiyun }; 551*4882a593Smuzhiyun }; 552*4882a593Smuzhiyun 553*4882a593Smuzhiyun ... 554*4882a593Smuzhiyun}; 555