xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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