xref: /linux/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.yaml (revision 621cde16e49b3ecf7d59a8106a20aaebfb4a59a9)
1fe8b45aaSThierry Reding# SPDX-License-Identifier: GPL-2.0-only
2fe8b45aaSThierry Reding%YAML 1.2
3fe8b45aaSThierry Reding---
4fe8b45aaSThierry Reding$id: http://devicetree.org/schemas/display/tegra/nvidia,tegra20-host1x.yaml#
5fe8b45aaSThierry Reding$schema: http://devicetree.org/meta-schemas/core.yaml#
6fe8b45aaSThierry Reding
7fe8b45aaSThierry Redingtitle: NVIDIA Tegra host1x controller
8fe8b45aaSThierry Reding
9fe8b45aaSThierry Redingmaintainers:
10fe8b45aaSThierry Reding  - Thierry Reding <thierry.reding@gmail.com>
11fe8b45aaSThierry Reding  - Jon Hunter <jonathanh@nvidia.com>
12fe8b45aaSThierry Reding
13fe8b45aaSThierry Redingdescription: The host1x top-level node defines a number of children, each
14fe8b45aaSThierry Reding  representing one of the host1x client modules defined in this binding.
15fe8b45aaSThierry Reding
16fe8b45aaSThierry Redingproperties:
17fe8b45aaSThierry Reding  compatible:
18fe8b45aaSThierry Reding    oneOf:
19fe8b45aaSThierry Reding      - enum:
20fe8b45aaSThierry Reding          - nvidia,tegra20-host1x
21fe8b45aaSThierry Reding          - nvidia,tegra30-host1x
22fe8b45aaSThierry Reding          - nvidia,tegra114-host1x
23fe8b45aaSThierry Reding          - nvidia,tegra124-host1x
24fe8b45aaSThierry Reding          - nvidia,tegra210-host1x
25fe8b45aaSThierry Reding          - nvidia,tegra186-host1x
26fe8b45aaSThierry Reding          - nvidia,tegra194-host1x
275c5a6ff7SMikko Perttunen          - nvidia,tegra234-host1x
28fe8b45aaSThierry Reding
29fe8b45aaSThierry Reding      - items:
30fe8b45aaSThierry Reding          - const: nvidia,tegra132-host1x
31fe8b45aaSThierry Reding          - const: nvidia,tegra124-host1x
32fe8b45aaSThierry Reding
33fe8b45aaSThierry Reding  reg:
34fe8b45aaSThierry Reding    minItems: 1
355c5a6ff7SMikko Perttunen    maxItems: 3
36fe8b45aaSThierry Reding
37fe8b45aaSThierry Reding  reg-names:
38fe8b45aaSThierry Reding    minItems: 1
395c5a6ff7SMikko Perttunen    maxItems: 3
40fe8b45aaSThierry Reding
41fe8b45aaSThierry Reding  interrupts:
42fe8b45aaSThierry Reding    minItems: 1
435c5a6ff7SMikko Perttunen    maxItems: 9
44fe8b45aaSThierry Reding
45fe8b45aaSThierry Reding  interrupt-names:
46fe8b45aaSThierry Reding    minItems: 1
475c5a6ff7SMikko Perttunen    maxItems: 9
48fe8b45aaSThierry Reding
49fe8b45aaSThierry Reding  '#address-cells':
50fe8b45aaSThierry Reding    description: The number of cells used to represent physical base addresses
51fe8b45aaSThierry Reding      in the host1x address space.
52fe8b45aaSThierry Reding    enum: [1, 2]
53fe8b45aaSThierry Reding
54fe8b45aaSThierry Reding  '#size-cells':
55fe8b45aaSThierry Reding    description: The number of cells used to represent the size of an address
56fe8b45aaSThierry Reding      range in the host1x address space.
57fe8b45aaSThierry Reding    enum: [1, 2]
58fe8b45aaSThierry Reding
59fe8b45aaSThierry Reding  ranges:
60fe8b45aaSThierry Reding    maxItems: 1
61fe8b45aaSThierry Reding
62fe8b45aaSThierry Reding  clocks:
63fe8b45aaSThierry Reding    description: Must contain one entry, for the module clock. See
64fe8b45aaSThierry Reding      ../clocks/clock-bindings.txt for details.
65fe8b45aaSThierry Reding
66fe8b45aaSThierry Reding  clock-names:
67fe8b45aaSThierry Reding    items:
68fe8b45aaSThierry Reding      - const: host1x
69fe8b45aaSThierry Reding
70fe8b45aaSThierry Reding  resets:
71fe8b45aaSThierry Reding    minItems: 1 # MC reset is optional on Tegra186 and later
72fe8b45aaSThierry Reding    items:
73fe8b45aaSThierry Reding      - description: module reset
74fe8b45aaSThierry Reding      - description: memory client hotflush reset
75fe8b45aaSThierry Reding
76fe8b45aaSThierry Reding  reset-names:
77fe8b45aaSThierry Reding    minItems: 1 # MC reset is optional on Tegra186 and later
78fe8b45aaSThierry Reding    items:
79fe8b45aaSThierry Reding      - const: host1x
80fe8b45aaSThierry Reding      - const: mc
81fe8b45aaSThierry Reding
82fe8b45aaSThierry Reding  iommus:
83fe8b45aaSThierry Reding    maxItems: 1
84fe8b45aaSThierry Reding
85fe8b45aaSThierry Reding  interconnects:
86fe8b45aaSThierry Reding    items:
87fe8b45aaSThierry Reding      - description: memory read client for host1x
88fe8b45aaSThierry Reding
89fe8b45aaSThierry Reding  interconnect-names:
90fe8b45aaSThierry Reding    items:
91fe8b45aaSThierry Reding      - const: dma-mem # read
92fe8b45aaSThierry Reding
9321fd06dcSKrzysztof Kozlowski  operating-points-v2: true
94fe8b45aaSThierry Reding
95fe8b45aaSThierry Reding  power-domains:
96fe8b45aaSThierry Reding    items:
97fe8b45aaSThierry Reding      - description: phandle to the HEG or core power domain
98fe8b45aaSThierry Reding
99fe8b45aaSThierry Redingrequired:
100fe8b45aaSThierry Reding  - compatible
101fe8b45aaSThierry Reding  - interrupts
102fe8b45aaSThierry Reding  - interrupt-names
103fe8b45aaSThierry Reding  - '#address-cells'
104fe8b45aaSThierry Reding  - '#size-cells'
105fe8b45aaSThierry Reding  - ranges
106fe8b45aaSThierry Reding  - reg
107fe8b45aaSThierry Reding  - clocks
108fe8b45aaSThierry Reding  - clock-names
109fe8b45aaSThierry Reding
110fe8b45aaSThierry RedingunevaluatedProperties:
111fe8b45aaSThierry Reding  type: object
112fe8b45aaSThierry Reding
113fe8b45aaSThierry RedingallOf:
114fe8b45aaSThierry Reding  - if:
115fe8b45aaSThierry Reding      properties:
116fe8b45aaSThierry Reding        compatible:
117fe8b45aaSThierry Reding          contains:
118fe8b45aaSThierry Reding            enum:
1195c5a6ff7SMikko Perttunen              - nvidia,tegra20-host1x
1205c5a6ff7SMikko Perttunen              - nvidia,tegra30-host1x
1215c5a6ff7SMikko Perttunen              - nvidia,tegra114-host1x
1225c5a6ff7SMikko Perttunen              - nvidia,tegra124-host1x
1235c5a6ff7SMikko Perttunen              - nvidia,tegra210-host1x
1245c5a6ff7SMikko Perttunen    then:
1255c5a6ff7SMikko Perttunen      properties:
1265c5a6ff7SMikko Perttunen        interrupts:
1275c5a6ff7SMikko Perttunen          items:
1285c5a6ff7SMikko Perttunen            - description: host1x syncpoint interrupt
1295c5a6ff7SMikko Perttunen            - description: host1x general interrupt
1305c5a6ff7SMikko Perttunen
1315c5a6ff7SMikko Perttunen        interrupt-names:
1325c5a6ff7SMikko Perttunen          items:
1335c5a6ff7SMikko Perttunen            - const: syncpt
1345c5a6ff7SMikko Perttunen            - const: host1x
1355c5a6ff7SMikko Perttunen      required:
1365c5a6ff7SMikko Perttunen        - resets
1375c5a6ff7SMikko Perttunen        - reset-names
1385c5a6ff7SMikko Perttunen  - if:
1395c5a6ff7SMikko Perttunen      properties:
1405c5a6ff7SMikko Perttunen        compatible:
1415c5a6ff7SMikko Perttunen          contains:
1425c5a6ff7SMikko Perttunen            enum:
143fe8b45aaSThierry Reding              - nvidia,tegra186-host1x
144fe8b45aaSThierry Reding              - nvidia,tegra194-host1x
145fe8b45aaSThierry Reding    then:
146fe8b45aaSThierry Reding      properties:
147fe8b45aaSThierry Reding        reg-names:
148fe8b45aaSThierry Reding          items:
149fe8b45aaSThierry Reding            - const: hypervisor
150fe8b45aaSThierry Reding            - const: vm
151fe8b45aaSThierry Reding
152fe8b45aaSThierry Reding        reg:
153fe8b45aaSThierry Reding          items:
1545c5a6ff7SMikko Perttunen            - description: region used by the hypervisor
1555c5a6ff7SMikko Perttunen            - description: region assigned to the virtual machine
156fe8b45aaSThierry Reding
157fe8b45aaSThierry Reding        resets:
158fe8b45aaSThierry Reding          maxItems: 1
159fe8b45aaSThierry Reding
160fe8b45aaSThierry Reding        reset-names:
161fe8b45aaSThierry Reding          maxItems: 1
162fe8b45aaSThierry Reding
1635c5a6ff7SMikko Perttunen        interrupts:
1645c5a6ff7SMikko Perttunen          items:
1655c5a6ff7SMikko Perttunen            - description: host1x syncpoint interrupt
1665c5a6ff7SMikko Perttunen            - description: host1x general interrupt
1675c5a6ff7SMikko Perttunen
1685c5a6ff7SMikko Perttunen        interrupt-names:
1695c5a6ff7SMikko Perttunen          items:
1705c5a6ff7SMikko Perttunen            - const: syncpt
1715c5a6ff7SMikko Perttunen            - const: host1x
1725c5a6ff7SMikko Perttunen
1735c5a6ff7SMikko Perttunen        iommu-map:
1745c5a6ff7SMikko Perttunen          description: Specification of stream IDs available for memory context device
1755c5a6ff7SMikko Perttunen            use. Should be a mapping of IDs 0..n to IOMMU entries corresponding to
1765c5a6ff7SMikko Perttunen            usable stream IDs.
1775c5a6ff7SMikko Perttunen
1785c5a6ff7SMikko Perttunen      required:
1795c5a6ff7SMikko Perttunen        - reg-names
1805c5a6ff7SMikko Perttunen  - if:
1815c5a6ff7SMikko Perttunen      properties:
1825c5a6ff7SMikko Perttunen        compatible:
1835c5a6ff7SMikko Perttunen          contains:
1845c5a6ff7SMikko Perttunen            enum:
185*22b92b28SThierry Reding              - nvidia,tegra194-host1x
186*22b92b28SThierry Reding    then:
187*22b92b28SThierry Reding      properties:
188*22b92b28SThierry Reding        dma-coherent: true
189*22b92b28SThierry Reding  - if:
190*22b92b28SThierry Reding      properties:
191*22b92b28SThierry Reding        compatible:
192*22b92b28SThierry Reding          contains:
193*22b92b28SThierry Reding            enum:
1945c5a6ff7SMikko Perttunen              - nvidia,tegra234-host1x
1955c5a6ff7SMikko Perttunen    then:
1965c5a6ff7SMikko Perttunen      properties:
1975c5a6ff7SMikko Perttunen        reg-names:
1985c5a6ff7SMikko Perttunen          items:
1995c5a6ff7SMikko Perttunen            - const: common
2005c5a6ff7SMikko Perttunen            - const: hypervisor
2015c5a6ff7SMikko Perttunen            - const: vm
2025c5a6ff7SMikko Perttunen
2035c5a6ff7SMikko Perttunen        reg:
2045c5a6ff7SMikko Perttunen          items:
2055c5a6ff7SMikko Perttunen            - description: region used by host1x server
2065c5a6ff7SMikko Perttunen            - description: region used by the hypervisor
2075c5a6ff7SMikko Perttunen            - description: region assigned to the virtual machine
2085c5a6ff7SMikko Perttunen
2095c5a6ff7SMikko Perttunen        interrupts:
2105c5a6ff7SMikko Perttunen          items:
2115c5a6ff7SMikko Perttunen            - description: host1x syncpoint interrupt 0
2125c5a6ff7SMikko Perttunen            - description: host1x syncpoint interrupt 1
2135c5a6ff7SMikko Perttunen            - description: host1x syncpoint interrupt 2
2145c5a6ff7SMikko Perttunen            - description: host1x syncpoint interrupt 3
2155c5a6ff7SMikko Perttunen            - description: host1x syncpoint interrupt 4
2165c5a6ff7SMikko Perttunen            - description: host1x syncpoint interrupt 5
2175c5a6ff7SMikko Perttunen            - description: host1x syncpoint interrupt 6
2185c5a6ff7SMikko Perttunen            - description: host1x syncpoint interrupt 7
2195c5a6ff7SMikko Perttunen            - description: host1x general interrupt
2205c5a6ff7SMikko Perttunen
2215c5a6ff7SMikko Perttunen        interrupt-names:
2225c5a6ff7SMikko Perttunen          items:
2235c5a6ff7SMikko Perttunen            - const: syncpt0
2245c5a6ff7SMikko Perttunen            - const: syncpt1
2255c5a6ff7SMikko Perttunen            - const: syncpt2
2265c5a6ff7SMikko Perttunen            - const: syncpt3
2275c5a6ff7SMikko Perttunen            - const: syncpt4
2285c5a6ff7SMikko Perttunen            - const: syncpt5
2295c5a6ff7SMikko Perttunen            - const: syncpt6
2305c5a6ff7SMikko Perttunen            - const: syncpt7
2315c5a6ff7SMikko Perttunen            - const: host1x
2325c5a6ff7SMikko Perttunen
233ea1a6270SMikko Perttunen        iommu-map:
234ea1a6270SMikko Perttunen          description: Specification of stream IDs available for memory context device
235ea1a6270SMikko Perttunen            use. Should be a mapping of IDs 0..n to IOMMU entries corresponding to
236ea1a6270SMikko Perttunen            usable stream IDs.
237ea1a6270SMikko Perttunen
238*22b92b28SThierry Reding        dma-coherent: true
239*22b92b28SThierry Reding
240fe8b45aaSThierry Reding      required:
241fe8b45aaSThierry Reding        - reg-names
242fe8b45aaSThierry Reding
243fe8b45aaSThierry Redingexamples:
244fe8b45aaSThierry Reding  - |
245fe8b45aaSThierry Reding    #include <dt-bindings/clock/tegra20-car.h>
246fe8b45aaSThierry Reding    #include <dt-bindings/gpio/tegra-gpio.h>
247fe8b45aaSThierry Reding    #include <dt-bindings/memory/tegra20-mc.h>
248fe8b45aaSThierry Reding
249fe8b45aaSThierry Reding    host1x@50000000 {
250fe8b45aaSThierry Reding        compatible = "nvidia,tegra20-host1x";
251fe8b45aaSThierry Reding        reg = <0x50000000 0x00024000>;
252a72d4b18SMikko Perttunen        interrupts = <0 65 0x04>, /* mpcore syncpt */
253a72d4b18SMikko Perttunen                     <0 67 0x04>; /* mpcore general */
254fe8b45aaSThierry Reding        interrupt-names = "syncpt", "host1x";
255fe8b45aaSThierry Reding        clocks = <&tegra_car TEGRA20_CLK_HOST1X>;
256fe8b45aaSThierry Reding        clock-names = "host1x";
257fe8b45aaSThierry Reding        resets = <&tegra_car 28>, <&mc TEGRA20_MC_RESET_HC>;
258fe8b45aaSThierry Reding        reset-names = "host1x", "mc";
259fe8b45aaSThierry Reding
260fe8b45aaSThierry Reding        #address-cells = <1>;
261fe8b45aaSThierry Reding        #size-cells = <1>;
262fe8b45aaSThierry Reding
263fe8b45aaSThierry Reding        ranges = <0x54000000 0x54000000 0x04000000>;
264fe8b45aaSThierry Reding
265fe8b45aaSThierry Reding        mpe@54040000 {
266fe8b45aaSThierry Reding            compatible = "nvidia,tegra20-mpe";
267fe8b45aaSThierry Reding            reg = <0x54040000 0x00040000>;
268fe8b45aaSThierry Reding            interrupts = <0 68 0x04>;
269fe8b45aaSThierry Reding            clocks = <&tegra_car TEGRA20_CLK_MPE>;
270fe8b45aaSThierry Reding            resets = <&tegra_car 60>;
271fe8b45aaSThierry Reding            reset-names = "mpe";
272fe8b45aaSThierry Reding        };
273fe8b45aaSThierry Reding
274fe8b45aaSThierry Reding        vi@54080000 {
275fe8b45aaSThierry Reding            compatible = "nvidia,tegra20-vi";
276fe8b45aaSThierry Reding            reg = <0x54080000 0x00040000>;
277fe8b45aaSThierry Reding            interrupts = <0 69 0x04>;
278fe8b45aaSThierry Reding            clocks = <&tegra_car TEGRA20_CLK_VI>;
279fe8b45aaSThierry Reding            resets = <&tegra_car 100>;
280fe8b45aaSThierry Reding            reset-names = "vi";
281fe8b45aaSThierry Reding        };
282fe8b45aaSThierry Reding
283fe8b45aaSThierry Reding        epp@540c0000 {
284fe8b45aaSThierry Reding            compatible = "nvidia,tegra20-epp";
285fe8b45aaSThierry Reding            reg = <0x540c0000 0x00040000>;
286fe8b45aaSThierry Reding            interrupts = <0 70 0x04>;
287fe8b45aaSThierry Reding            clocks = <&tegra_car TEGRA20_CLK_EPP>;
288fe8b45aaSThierry Reding            resets = <&tegra_car 19>;
289fe8b45aaSThierry Reding            reset-names = "epp";
290fe8b45aaSThierry Reding        };
291fe8b45aaSThierry Reding
292fe8b45aaSThierry Reding        isp@54100000 {
293fe8b45aaSThierry Reding            compatible = "nvidia,tegra20-isp";
294fe8b45aaSThierry Reding            reg = <0x54100000 0x00040000>;
295fe8b45aaSThierry Reding            interrupts = <0 71 0x04>;
296fe8b45aaSThierry Reding            clocks = <&tegra_car TEGRA20_CLK_ISP>;
297fe8b45aaSThierry Reding            resets = <&tegra_car 23>;
298fe8b45aaSThierry Reding            reset-names = "isp";
299fe8b45aaSThierry Reding        };
300fe8b45aaSThierry Reding
301fe8b45aaSThierry Reding        gr2d@54140000 {
302fe8b45aaSThierry Reding            compatible = "nvidia,tegra20-gr2d";
303fe8b45aaSThierry Reding            reg = <0x54140000 0x00040000>;
304fe8b45aaSThierry Reding            interrupts = <0 72 0x04>;
305fe8b45aaSThierry Reding            clocks = <&tegra_car TEGRA20_CLK_GR2D>;
306fe8b45aaSThierry Reding            resets = <&tegra_car 21>, <&mc TEGRA20_MC_RESET_2D>;
307fe8b45aaSThierry Reding            reset-names = "2d", "mc";
308fe8b45aaSThierry Reding        };
309fe8b45aaSThierry Reding
310fe8b45aaSThierry Reding        gr3d@54180000 {
311fe8b45aaSThierry Reding            compatible = "nvidia,tegra20-gr3d";
312fe8b45aaSThierry Reding            reg = <0x54180000 0x00040000>;
313fe8b45aaSThierry Reding            clocks = <&tegra_car TEGRA20_CLK_GR3D>;
314fe8b45aaSThierry Reding            resets = <&tegra_car 24>, <&mc TEGRA20_MC_RESET_3D>;
315fe8b45aaSThierry Reding            reset-names = "3d", "mc";
316fe8b45aaSThierry Reding        };
317fe8b45aaSThierry Reding
318fe8b45aaSThierry Reding        dc@54200000 {
319fe8b45aaSThierry Reding            compatible = "nvidia,tegra20-dc";
320fe8b45aaSThierry Reding            reg = <0x54200000 0x00040000>;
321fe8b45aaSThierry Reding            interrupts = <0 73 0x04>;
322fe8b45aaSThierry Reding            clocks = <&tegra_car TEGRA20_CLK_DISP1>;
323fe8b45aaSThierry Reding            clock-names = "dc";
324fe8b45aaSThierry Reding            resets = <&tegra_car 27>;
325fe8b45aaSThierry Reding            reset-names = "dc";
326fe8b45aaSThierry Reding
327fe8b45aaSThierry Reding            rgb {
328fe8b45aaSThierry Reding            };
329fe8b45aaSThierry Reding        };
330fe8b45aaSThierry Reding
331fe8b45aaSThierry Reding        dc@54240000 {
332fe8b45aaSThierry Reding            compatible = "nvidia,tegra20-dc";
333fe8b45aaSThierry Reding            reg = <0x54240000 0x00040000>;
334fe8b45aaSThierry Reding            interrupts = <0 74 0x04>;
335fe8b45aaSThierry Reding            clocks = <&tegra_car TEGRA20_CLK_DISP2>;
336fe8b45aaSThierry Reding            clock-names = "dc";
337fe8b45aaSThierry Reding            resets = <&tegra_car 26>;
338fe8b45aaSThierry Reding            reset-names = "dc";
339fe8b45aaSThierry Reding
340fe8b45aaSThierry Reding            rgb {
341fe8b45aaSThierry Reding            };
342fe8b45aaSThierry Reding        };
343fe8b45aaSThierry Reding
344fe8b45aaSThierry Reding        hdmi@54280000 {
345fe8b45aaSThierry Reding            compatible = "nvidia,tegra20-hdmi";
346fe8b45aaSThierry Reding            reg = <0x54280000 0x00040000>;
347fe8b45aaSThierry Reding            interrupts = <0 75 0x04>;
348fe8b45aaSThierry Reding            clocks = <&tegra_car TEGRA20_CLK_HDMI>,
349fe8b45aaSThierry Reding                     <&tegra_car TEGRA20_CLK_PLL_D_OUT0>;
350fe8b45aaSThierry Reding            clock-names = "hdmi", "parent";
351fe8b45aaSThierry Reding            resets = <&tegra_car 51>;
352fe8b45aaSThierry Reding            reset-names = "hdmi";
353fe8b45aaSThierry Reding
354fe8b45aaSThierry Reding            hdmi-supply = <&vdd_5v0_hdmi>;
355fe8b45aaSThierry Reding            pll-supply = <&vdd_hdmi_pll>;
356fe8b45aaSThierry Reding            vdd-supply = <&vdd_3v3_hdmi>;
357fe8b45aaSThierry Reding
358fe8b45aaSThierry Reding            nvidia,ddc-i2c-bus = <&hdmi_ddc>;
359fe8b45aaSThierry Reding            nvidia,hpd-gpio = <&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>;
360fe8b45aaSThierry Reding        };
361fe8b45aaSThierry Reding
362fe8b45aaSThierry Reding        tvo@542c0000 {
363fe8b45aaSThierry Reding            compatible = "nvidia,tegra20-tvo";
364fe8b45aaSThierry Reding            reg = <0x542c0000 0x00040000>;
365fe8b45aaSThierry Reding            interrupts = <0 76 0x04>;
366fe8b45aaSThierry Reding            clocks = <&tegra_car TEGRA20_CLK_TVO>;
367fe8b45aaSThierry Reding        };
368fe8b45aaSThierry Reding
369fe8b45aaSThierry Reding        dsi@54300000 {
370fe8b45aaSThierry Reding            compatible = "nvidia,tegra20-dsi";
371fe8b45aaSThierry Reding            reg = <0x54300000 0x00040000>;
372fe8b45aaSThierry Reding            clocks = <&tegra_car TEGRA20_CLK_DSI>,
373fe8b45aaSThierry Reding                     <&tegra_car TEGRA20_CLK_PLL_D_OUT0>;
374fe8b45aaSThierry Reding            clock-names = "dsi", "parent";
375fe8b45aaSThierry Reding            resets = <&tegra_car 48>;
376fe8b45aaSThierry Reding            reset-names = "dsi";
377fe8b45aaSThierry Reding        };
378fe8b45aaSThierry Reding    };
379fe8b45aaSThierry Reding
380fe8b45aaSThierry Reding  - |
381fe8b45aaSThierry Reding    #include <dt-bindings/clock/tegra210-car.h>
382fe8b45aaSThierry Reding    #include <dt-bindings/interrupt-controller/arm-gic.h>
383fe8b45aaSThierry Reding    #include <dt-bindings/memory/tegra210-mc.h>
384fe8b45aaSThierry Reding
385fe8b45aaSThierry Reding    host1x@50000000 {
386fe8b45aaSThierry Reding        compatible = "nvidia,tegra210-host1x";
387fe8b45aaSThierry Reding        reg = <0x50000000 0x00024000>;
388fe8b45aaSThierry Reding        interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>, /* mpcore syncpt */
389fe8b45aaSThierry Reding                     <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* mpcore general */
390fe8b45aaSThierry Reding        interrupt-names = "syncpt", "host1x";
391fe8b45aaSThierry Reding        clocks = <&tegra_car TEGRA210_CLK_HOST1X>;
392fe8b45aaSThierry Reding        clock-names = "host1x";
393fe8b45aaSThierry Reding        resets = <&tegra_car 28>;
394fe8b45aaSThierry Reding        reset-names = "host1x";
395fe8b45aaSThierry Reding
396fe8b45aaSThierry Reding        #address-cells = <1>;
397fe8b45aaSThierry Reding        #size-cells = <1>;
398fe8b45aaSThierry Reding
399fe8b45aaSThierry Reding        ranges = <0x54000000 0x54000000 0x01000000>;
400fe8b45aaSThierry Reding        iommus = <&mc TEGRA_SWGROUP_HC>;
401fe8b45aaSThierry Reding
402fe8b45aaSThierry Reding        vi@54080000 {
403fe8b45aaSThierry Reding            compatible = "nvidia,tegra210-vi";
404fe8b45aaSThierry Reding            reg = <0x54080000 0x00000700>;
405fe8b45aaSThierry Reding            interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
406fe8b45aaSThierry Reding            assigned-clocks = <&tegra_car TEGRA210_CLK_VI>;
407fe8b45aaSThierry Reding            assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>;
408fe8b45aaSThierry Reding
409fe8b45aaSThierry Reding            clocks = <&tegra_car TEGRA210_CLK_VI>;
410fe8b45aaSThierry Reding            power-domains = <&pd_venc>;
411fe8b45aaSThierry Reding
412fe8b45aaSThierry Reding            #address-cells = <1>;
413fe8b45aaSThierry Reding            #size-cells = <1>;
414fe8b45aaSThierry Reding
415fe8b45aaSThierry Reding            ranges = <0x0 0x54080000 0x2000>;
416fe8b45aaSThierry Reding
417fe8b45aaSThierry Reding            csi@838 {
418fe8b45aaSThierry Reding                compatible = "nvidia,tegra210-csi";
419fe8b45aaSThierry Reding                reg = <0x838 0x1300>;
420fe8b45aaSThierry Reding                assigned-clocks = <&tegra_car TEGRA210_CLK_CILAB>,
421fe8b45aaSThierry Reding                                  <&tegra_car TEGRA210_CLK_CILCD>,
422fe8b45aaSThierry Reding                                  <&tegra_car TEGRA210_CLK_CILE>,
423fe8b45aaSThierry Reding                                  <&tegra_car TEGRA210_CLK_CSI_TPG>;
424fe8b45aaSThierry Reding                assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_P>,
425fe8b45aaSThierry Reding                                         <&tegra_car TEGRA210_CLK_PLL_P>,
426fe8b45aaSThierry Reding                                         <&tegra_car TEGRA210_CLK_PLL_P>;
427fe8b45aaSThierry Reding                assigned-clock-rates = <102000000>,
428fe8b45aaSThierry Reding                                       <102000000>,
429fe8b45aaSThierry Reding                                       <102000000>,
430fe8b45aaSThierry Reding                                       <972000000>;
431fe8b45aaSThierry Reding
432fe8b45aaSThierry Reding                clocks = <&tegra_car TEGRA210_CLK_CSI>,
433fe8b45aaSThierry Reding                         <&tegra_car TEGRA210_CLK_CILAB>,
434fe8b45aaSThierry Reding                         <&tegra_car TEGRA210_CLK_CILCD>,
435fe8b45aaSThierry Reding                         <&tegra_car TEGRA210_CLK_CILE>,
436fe8b45aaSThierry Reding                         <&tegra_car TEGRA210_CLK_CSI_TPG>;
437fe8b45aaSThierry Reding                clock-names = "csi", "cilab", "cilcd", "cile", "csi_tpg";
438fe8b45aaSThierry Reding                power-domains = <&pd_sor>;
439fe8b45aaSThierry Reding            };
440fe8b45aaSThierry Reding        };
441fe8b45aaSThierry Reding    };
442