cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

nvidia,tegra20-host1x.txt (24280B)


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