162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/display/tegra/nvidia,tegra20-host1x.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: NVIDIA Tegra host1x controller
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Thierry Reding <thierry.reding@gmail.com>
1162306a36Sopenharmony_ci  - Jon Hunter <jonathanh@nvidia.com>
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_cidescription: The host1x top-level node defines a number of children, each
1462306a36Sopenharmony_ci  representing one of the host1x client modules defined in this binding.
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciproperties:
1762306a36Sopenharmony_ci  compatible:
1862306a36Sopenharmony_ci    oneOf:
1962306a36Sopenharmony_ci      - enum:
2062306a36Sopenharmony_ci          - nvidia,tegra20-host1x
2162306a36Sopenharmony_ci          - nvidia,tegra30-host1x
2262306a36Sopenharmony_ci          - nvidia,tegra114-host1x
2362306a36Sopenharmony_ci          - nvidia,tegra124-host1x
2462306a36Sopenharmony_ci          - nvidia,tegra210-host1x
2562306a36Sopenharmony_ci          - nvidia,tegra186-host1x
2662306a36Sopenharmony_ci          - nvidia,tegra194-host1x
2762306a36Sopenharmony_ci          - nvidia,tegra234-host1x
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci      - items:
3062306a36Sopenharmony_ci          - const: nvidia,tegra132-host1x
3162306a36Sopenharmony_ci          - const: nvidia,tegra124-host1x
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci  reg:
3462306a36Sopenharmony_ci    minItems: 1
3562306a36Sopenharmony_ci    maxItems: 3
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci  reg-names:
3862306a36Sopenharmony_ci    minItems: 1
3962306a36Sopenharmony_ci    maxItems: 3
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci  interrupts:
4262306a36Sopenharmony_ci    minItems: 1
4362306a36Sopenharmony_ci    maxItems: 9
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci  interrupt-names:
4662306a36Sopenharmony_ci    minItems: 1
4762306a36Sopenharmony_ci    maxItems: 9
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci  '#address-cells':
5062306a36Sopenharmony_ci    description: The number of cells used to represent physical base addresses
5162306a36Sopenharmony_ci      in the host1x address space.
5262306a36Sopenharmony_ci    enum: [1, 2]
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci  '#size-cells':
5562306a36Sopenharmony_ci    description: The number of cells used to represent the size of an address
5662306a36Sopenharmony_ci      range in the host1x address space.
5762306a36Sopenharmony_ci    enum: [1, 2]
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci  ranges:
6062306a36Sopenharmony_ci    maxItems: 1
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci  clocks:
6362306a36Sopenharmony_ci    description: Must contain one entry, for the module clock. See
6462306a36Sopenharmony_ci      ../clocks/clock-bindings.txt for details.
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci  clock-names:
6762306a36Sopenharmony_ci    items:
6862306a36Sopenharmony_ci      - const: host1x
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci  resets:
7162306a36Sopenharmony_ci    minItems: 1 # MC reset is optional on Tegra186 and later
7262306a36Sopenharmony_ci    items:
7362306a36Sopenharmony_ci      - description: module reset
7462306a36Sopenharmony_ci      - description: memory client hotflush reset
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci  reset-names:
7762306a36Sopenharmony_ci    minItems: 1 # MC reset is optional on Tegra186 and later
7862306a36Sopenharmony_ci    items:
7962306a36Sopenharmony_ci      - const: host1x
8062306a36Sopenharmony_ci      - const: mc
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci  iommus:
8362306a36Sopenharmony_ci    maxItems: 1
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci  interconnects:
8662306a36Sopenharmony_ci    items:
8762306a36Sopenharmony_ci      - description: memory read client for host1x
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ci  interconnect-names:
9062306a36Sopenharmony_ci    items:
9162306a36Sopenharmony_ci      - const: dma-mem # read
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ci  operating-points-v2: true
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci  power-domains:
9662306a36Sopenharmony_ci    items:
9762306a36Sopenharmony_ci      - description: phandle to the HEG or core power domain
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_cirequired:
10062306a36Sopenharmony_ci  - compatible
10162306a36Sopenharmony_ci  - interrupts
10262306a36Sopenharmony_ci  - interrupt-names
10362306a36Sopenharmony_ci  - '#address-cells'
10462306a36Sopenharmony_ci  - '#size-cells'
10562306a36Sopenharmony_ci  - ranges
10662306a36Sopenharmony_ci  - reg
10762306a36Sopenharmony_ci  - clocks
10862306a36Sopenharmony_ci  - clock-names
10962306a36Sopenharmony_ci
11062306a36Sopenharmony_ciunevaluatedProperties:
11162306a36Sopenharmony_ci  type: object
11262306a36Sopenharmony_ci
11362306a36Sopenharmony_ciallOf:
11462306a36Sopenharmony_ci  - if:
11562306a36Sopenharmony_ci      properties:
11662306a36Sopenharmony_ci        compatible:
11762306a36Sopenharmony_ci          contains:
11862306a36Sopenharmony_ci            enum:
11962306a36Sopenharmony_ci              - nvidia,tegra20-host1x
12062306a36Sopenharmony_ci              - nvidia,tegra30-host1x
12162306a36Sopenharmony_ci              - nvidia,tegra114-host1x
12262306a36Sopenharmony_ci              - nvidia,tegra124-host1x
12362306a36Sopenharmony_ci              - nvidia,tegra210-host1x
12462306a36Sopenharmony_ci    then:
12562306a36Sopenharmony_ci      properties:
12662306a36Sopenharmony_ci        interrupts:
12762306a36Sopenharmony_ci          items:
12862306a36Sopenharmony_ci            - description: host1x syncpoint interrupt
12962306a36Sopenharmony_ci            - description: host1x general interrupt
13062306a36Sopenharmony_ci
13162306a36Sopenharmony_ci        interrupt-names:
13262306a36Sopenharmony_ci          items:
13362306a36Sopenharmony_ci            - const: syncpt
13462306a36Sopenharmony_ci            - const: host1x
13562306a36Sopenharmony_ci      required:
13662306a36Sopenharmony_ci        - resets
13762306a36Sopenharmony_ci        - reset-names
13862306a36Sopenharmony_ci  - if:
13962306a36Sopenharmony_ci      properties:
14062306a36Sopenharmony_ci        compatible:
14162306a36Sopenharmony_ci          contains:
14262306a36Sopenharmony_ci            enum:
14362306a36Sopenharmony_ci              - nvidia,tegra186-host1x
14462306a36Sopenharmony_ci              - nvidia,tegra194-host1x
14562306a36Sopenharmony_ci    then:
14662306a36Sopenharmony_ci      properties:
14762306a36Sopenharmony_ci        reg-names:
14862306a36Sopenharmony_ci          items:
14962306a36Sopenharmony_ci            - const: hypervisor
15062306a36Sopenharmony_ci            - const: vm
15162306a36Sopenharmony_ci
15262306a36Sopenharmony_ci        reg:
15362306a36Sopenharmony_ci          items:
15462306a36Sopenharmony_ci            - description: region used by the hypervisor
15562306a36Sopenharmony_ci            - description: region assigned to the virtual machine
15662306a36Sopenharmony_ci
15762306a36Sopenharmony_ci        resets:
15862306a36Sopenharmony_ci          maxItems: 1
15962306a36Sopenharmony_ci
16062306a36Sopenharmony_ci        reset-names:
16162306a36Sopenharmony_ci          maxItems: 1
16262306a36Sopenharmony_ci
16362306a36Sopenharmony_ci        interrupts:
16462306a36Sopenharmony_ci          items:
16562306a36Sopenharmony_ci            - description: host1x syncpoint interrupt
16662306a36Sopenharmony_ci            - description: host1x general interrupt
16762306a36Sopenharmony_ci
16862306a36Sopenharmony_ci        interrupt-names:
16962306a36Sopenharmony_ci          items:
17062306a36Sopenharmony_ci            - const: syncpt
17162306a36Sopenharmony_ci            - const: host1x
17262306a36Sopenharmony_ci
17362306a36Sopenharmony_ci        iommu-map:
17462306a36Sopenharmony_ci          description: Specification of stream IDs available for memory context device
17562306a36Sopenharmony_ci            use. Should be a mapping of IDs 0..n to IOMMU entries corresponding to
17662306a36Sopenharmony_ci            usable stream IDs.
17762306a36Sopenharmony_ci
17862306a36Sopenharmony_ci      required:
17962306a36Sopenharmony_ci        - reg-names
18062306a36Sopenharmony_ci  - if:
18162306a36Sopenharmony_ci      properties:
18262306a36Sopenharmony_ci        compatible:
18362306a36Sopenharmony_ci          contains:
18462306a36Sopenharmony_ci            enum:
18562306a36Sopenharmony_ci              - nvidia,tegra234-host1x
18662306a36Sopenharmony_ci    then:
18762306a36Sopenharmony_ci      properties:
18862306a36Sopenharmony_ci        reg-names:
18962306a36Sopenharmony_ci          items:
19062306a36Sopenharmony_ci            - const: common
19162306a36Sopenharmony_ci            - const: hypervisor
19262306a36Sopenharmony_ci            - const: vm
19362306a36Sopenharmony_ci
19462306a36Sopenharmony_ci        reg:
19562306a36Sopenharmony_ci          items:
19662306a36Sopenharmony_ci            - description: region used by host1x server
19762306a36Sopenharmony_ci            - description: region used by the hypervisor
19862306a36Sopenharmony_ci            - description: region assigned to the virtual machine
19962306a36Sopenharmony_ci
20062306a36Sopenharmony_ci        interrupts:
20162306a36Sopenharmony_ci          items:
20262306a36Sopenharmony_ci            - description: host1x syncpoint interrupt 0
20362306a36Sopenharmony_ci            - description: host1x syncpoint interrupt 1
20462306a36Sopenharmony_ci            - description: host1x syncpoint interrupt 2
20562306a36Sopenharmony_ci            - description: host1x syncpoint interrupt 3
20662306a36Sopenharmony_ci            - description: host1x syncpoint interrupt 4
20762306a36Sopenharmony_ci            - description: host1x syncpoint interrupt 5
20862306a36Sopenharmony_ci            - description: host1x syncpoint interrupt 6
20962306a36Sopenharmony_ci            - description: host1x syncpoint interrupt 7
21062306a36Sopenharmony_ci            - description: host1x general interrupt
21162306a36Sopenharmony_ci
21262306a36Sopenharmony_ci        interrupt-names:
21362306a36Sopenharmony_ci          items:
21462306a36Sopenharmony_ci            - const: syncpt0
21562306a36Sopenharmony_ci            - const: syncpt1
21662306a36Sopenharmony_ci            - const: syncpt2
21762306a36Sopenharmony_ci            - const: syncpt3
21862306a36Sopenharmony_ci            - const: syncpt4
21962306a36Sopenharmony_ci            - const: syncpt5
22062306a36Sopenharmony_ci            - const: syncpt6
22162306a36Sopenharmony_ci            - const: syncpt7
22262306a36Sopenharmony_ci            - const: host1x
22362306a36Sopenharmony_ci
22462306a36Sopenharmony_ci        iommu-map:
22562306a36Sopenharmony_ci          description: Specification of stream IDs available for memory context device
22662306a36Sopenharmony_ci            use. Should be a mapping of IDs 0..n to IOMMU entries corresponding to
22762306a36Sopenharmony_ci            usable stream IDs.
22862306a36Sopenharmony_ci
22962306a36Sopenharmony_ci      required:
23062306a36Sopenharmony_ci        - reg-names
23162306a36Sopenharmony_ci
23262306a36Sopenharmony_ciexamples:
23362306a36Sopenharmony_ci  - |
23462306a36Sopenharmony_ci    #include <dt-bindings/clock/tegra20-car.h>
23562306a36Sopenharmony_ci    #include <dt-bindings/gpio/tegra-gpio.h>
23662306a36Sopenharmony_ci    #include <dt-bindings/memory/tegra20-mc.h>
23762306a36Sopenharmony_ci
23862306a36Sopenharmony_ci    host1x@50000000 {
23962306a36Sopenharmony_ci        compatible = "nvidia,tegra20-host1x";
24062306a36Sopenharmony_ci        reg = <0x50000000 0x00024000>;
24162306a36Sopenharmony_ci        interrupts = <0 65 0x04>, /* mpcore syncpt */
24262306a36Sopenharmony_ci                     <0 67 0x04>; /* mpcore general */
24362306a36Sopenharmony_ci        interrupt-names = "syncpt", "host1x";
24462306a36Sopenharmony_ci        clocks = <&tegra_car TEGRA20_CLK_HOST1X>;
24562306a36Sopenharmony_ci        clock-names = "host1x";
24662306a36Sopenharmony_ci        resets = <&tegra_car 28>, <&mc TEGRA20_MC_RESET_HC>;
24762306a36Sopenharmony_ci        reset-names = "host1x", "mc";
24862306a36Sopenharmony_ci
24962306a36Sopenharmony_ci        #address-cells = <1>;
25062306a36Sopenharmony_ci        #size-cells = <1>;
25162306a36Sopenharmony_ci
25262306a36Sopenharmony_ci        ranges = <0x54000000 0x54000000 0x04000000>;
25362306a36Sopenharmony_ci
25462306a36Sopenharmony_ci        mpe@54040000 {
25562306a36Sopenharmony_ci            compatible = "nvidia,tegra20-mpe";
25662306a36Sopenharmony_ci            reg = <0x54040000 0x00040000>;
25762306a36Sopenharmony_ci            interrupts = <0 68 0x04>;
25862306a36Sopenharmony_ci            clocks = <&tegra_car TEGRA20_CLK_MPE>;
25962306a36Sopenharmony_ci            resets = <&tegra_car 60>;
26062306a36Sopenharmony_ci            reset-names = "mpe";
26162306a36Sopenharmony_ci        };
26262306a36Sopenharmony_ci
26362306a36Sopenharmony_ci        vi@54080000 {
26462306a36Sopenharmony_ci            compatible = "nvidia,tegra20-vi";
26562306a36Sopenharmony_ci            reg = <0x54080000 0x00040000>;
26662306a36Sopenharmony_ci            interrupts = <0 69 0x04>;
26762306a36Sopenharmony_ci            clocks = <&tegra_car TEGRA20_CLK_VI>;
26862306a36Sopenharmony_ci            resets = <&tegra_car 100>;
26962306a36Sopenharmony_ci            reset-names = "vi";
27062306a36Sopenharmony_ci        };
27162306a36Sopenharmony_ci
27262306a36Sopenharmony_ci        epp@540c0000 {
27362306a36Sopenharmony_ci            compatible = "nvidia,tegra20-epp";
27462306a36Sopenharmony_ci            reg = <0x540c0000 0x00040000>;
27562306a36Sopenharmony_ci            interrupts = <0 70 0x04>;
27662306a36Sopenharmony_ci            clocks = <&tegra_car TEGRA20_CLK_EPP>;
27762306a36Sopenharmony_ci            resets = <&tegra_car 19>;
27862306a36Sopenharmony_ci            reset-names = "epp";
27962306a36Sopenharmony_ci        };
28062306a36Sopenharmony_ci
28162306a36Sopenharmony_ci        isp@54100000 {
28262306a36Sopenharmony_ci            compatible = "nvidia,tegra20-isp";
28362306a36Sopenharmony_ci            reg = <0x54100000 0x00040000>;
28462306a36Sopenharmony_ci            interrupts = <0 71 0x04>;
28562306a36Sopenharmony_ci            clocks = <&tegra_car TEGRA20_CLK_ISP>;
28662306a36Sopenharmony_ci            resets = <&tegra_car 23>;
28762306a36Sopenharmony_ci            reset-names = "isp";
28862306a36Sopenharmony_ci        };
28962306a36Sopenharmony_ci
29062306a36Sopenharmony_ci        gr2d@54140000 {
29162306a36Sopenharmony_ci            compatible = "nvidia,tegra20-gr2d";
29262306a36Sopenharmony_ci            reg = <0x54140000 0x00040000>;
29362306a36Sopenharmony_ci            interrupts = <0 72 0x04>;
29462306a36Sopenharmony_ci            clocks = <&tegra_car TEGRA20_CLK_GR2D>;
29562306a36Sopenharmony_ci            resets = <&tegra_car 21>, <&mc TEGRA20_MC_RESET_2D>;
29662306a36Sopenharmony_ci            reset-names = "2d", "mc";
29762306a36Sopenharmony_ci        };
29862306a36Sopenharmony_ci
29962306a36Sopenharmony_ci        gr3d@54180000 {
30062306a36Sopenharmony_ci            compatible = "nvidia,tegra20-gr3d";
30162306a36Sopenharmony_ci            reg = <0x54180000 0x00040000>;
30262306a36Sopenharmony_ci            clocks = <&tegra_car TEGRA20_CLK_GR3D>;
30362306a36Sopenharmony_ci            resets = <&tegra_car 24>, <&mc TEGRA20_MC_RESET_3D>;
30462306a36Sopenharmony_ci            reset-names = "3d", "mc";
30562306a36Sopenharmony_ci        };
30662306a36Sopenharmony_ci
30762306a36Sopenharmony_ci        dc@54200000 {
30862306a36Sopenharmony_ci            compatible = "nvidia,tegra20-dc";
30962306a36Sopenharmony_ci            reg = <0x54200000 0x00040000>;
31062306a36Sopenharmony_ci            interrupts = <0 73 0x04>;
31162306a36Sopenharmony_ci            clocks = <&tegra_car TEGRA20_CLK_DISP1>;
31262306a36Sopenharmony_ci            clock-names = "dc";
31362306a36Sopenharmony_ci            resets = <&tegra_car 27>;
31462306a36Sopenharmony_ci            reset-names = "dc";
31562306a36Sopenharmony_ci
31662306a36Sopenharmony_ci            rgb {
31762306a36Sopenharmony_ci            };
31862306a36Sopenharmony_ci        };
31962306a36Sopenharmony_ci
32062306a36Sopenharmony_ci        dc@54240000 {
32162306a36Sopenharmony_ci            compatible = "nvidia,tegra20-dc";
32262306a36Sopenharmony_ci            reg = <0x54240000 0x00040000>;
32362306a36Sopenharmony_ci            interrupts = <0 74 0x04>;
32462306a36Sopenharmony_ci            clocks = <&tegra_car TEGRA20_CLK_DISP2>;
32562306a36Sopenharmony_ci            clock-names = "dc";
32662306a36Sopenharmony_ci            resets = <&tegra_car 26>;
32762306a36Sopenharmony_ci            reset-names = "dc";
32862306a36Sopenharmony_ci
32962306a36Sopenharmony_ci            rgb {
33062306a36Sopenharmony_ci            };
33162306a36Sopenharmony_ci        };
33262306a36Sopenharmony_ci
33362306a36Sopenharmony_ci        hdmi@54280000 {
33462306a36Sopenharmony_ci            compatible = "nvidia,tegra20-hdmi";
33562306a36Sopenharmony_ci            reg = <0x54280000 0x00040000>;
33662306a36Sopenharmony_ci            interrupts = <0 75 0x04>;
33762306a36Sopenharmony_ci            clocks = <&tegra_car TEGRA20_CLK_HDMI>,
33862306a36Sopenharmony_ci                     <&tegra_car TEGRA20_CLK_PLL_D_OUT0>;
33962306a36Sopenharmony_ci            clock-names = "hdmi", "parent";
34062306a36Sopenharmony_ci            resets = <&tegra_car 51>;
34162306a36Sopenharmony_ci            reset-names = "hdmi";
34262306a36Sopenharmony_ci
34362306a36Sopenharmony_ci            hdmi-supply = <&vdd_5v0_hdmi>;
34462306a36Sopenharmony_ci            pll-supply = <&vdd_hdmi_pll>;
34562306a36Sopenharmony_ci            vdd-supply = <&vdd_3v3_hdmi>;
34662306a36Sopenharmony_ci
34762306a36Sopenharmony_ci            nvidia,ddc-i2c-bus = <&hdmi_ddc>;
34862306a36Sopenharmony_ci            nvidia,hpd-gpio = <&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>;
34962306a36Sopenharmony_ci        };
35062306a36Sopenharmony_ci
35162306a36Sopenharmony_ci        tvo@542c0000 {
35262306a36Sopenharmony_ci            compatible = "nvidia,tegra20-tvo";
35362306a36Sopenharmony_ci            reg = <0x542c0000 0x00040000>;
35462306a36Sopenharmony_ci            interrupts = <0 76 0x04>;
35562306a36Sopenharmony_ci            clocks = <&tegra_car TEGRA20_CLK_TVO>;
35662306a36Sopenharmony_ci        };
35762306a36Sopenharmony_ci
35862306a36Sopenharmony_ci        dsi@54300000 {
35962306a36Sopenharmony_ci            compatible = "nvidia,tegra20-dsi";
36062306a36Sopenharmony_ci            reg = <0x54300000 0x00040000>;
36162306a36Sopenharmony_ci            clocks = <&tegra_car TEGRA20_CLK_DSI>,
36262306a36Sopenharmony_ci                     <&tegra_car TEGRA20_CLK_PLL_D_OUT0>;
36362306a36Sopenharmony_ci            clock-names = "dsi", "parent";
36462306a36Sopenharmony_ci            resets = <&tegra_car 48>;
36562306a36Sopenharmony_ci            reset-names = "dsi";
36662306a36Sopenharmony_ci        };
36762306a36Sopenharmony_ci    };
36862306a36Sopenharmony_ci
36962306a36Sopenharmony_ci  - |
37062306a36Sopenharmony_ci    #include <dt-bindings/clock/tegra210-car.h>
37162306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
37262306a36Sopenharmony_ci    #include <dt-bindings/memory/tegra210-mc.h>
37362306a36Sopenharmony_ci
37462306a36Sopenharmony_ci    host1x@50000000 {
37562306a36Sopenharmony_ci        compatible = "nvidia,tegra210-host1x";
37662306a36Sopenharmony_ci        reg = <0x50000000 0x00024000>;
37762306a36Sopenharmony_ci        interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>, /* mpcore syncpt */
37862306a36Sopenharmony_ci                     <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* mpcore general */
37962306a36Sopenharmony_ci        interrupt-names = "syncpt", "host1x";
38062306a36Sopenharmony_ci        clocks = <&tegra_car TEGRA210_CLK_HOST1X>;
38162306a36Sopenharmony_ci        clock-names = "host1x";
38262306a36Sopenharmony_ci        resets = <&tegra_car 28>;
38362306a36Sopenharmony_ci        reset-names = "host1x";
38462306a36Sopenharmony_ci
38562306a36Sopenharmony_ci        #address-cells = <1>;
38662306a36Sopenharmony_ci        #size-cells = <1>;
38762306a36Sopenharmony_ci
38862306a36Sopenharmony_ci        ranges = <0x54000000 0x54000000 0x01000000>;
38962306a36Sopenharmony_ci        iommus = <&mc TEGRA_SWGROUP_HC>;
39062306a36Sopenharmony_ci
39162306a36Sopenharmony_ci        vi@54080000 {
39262306a36Sopenharmony_ci            compatible = "nvidia,tegra210-vi";
39362306a36Sopenharmony_ci            reg = <0x54080000 0x00000700>;
39462306a36Sopenharmony_ci            interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
39562306a36Sopenharmony_ci            assigned-clocks = <&tegra_car TEGRA210_CLK_VI>;
39662306a36Sopenharmony_ci            assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>;
39762306a36Sopenharmony_ci
39862306a36Sopenharmony_ci            clocks = <&tegra_car TEGRA210_CLK_VI>;
39962306a36Sopenharmony_ci            power-domains = <&pd_venc>;
40062306a36Sopenharmony_ci
40162306a36Sopenharmony_ci            #address-cells = <1>;
40262306a36Sopenharmony_ci            #size-cells = <1>;
40362306a36Sopenharmony_ci
40462306a36Sopenharmony_ci            ranges = <0x0 0x54080000 0x2000>;
40562306a36Sopenharmony_ci
40662306a36Sopenharmony_ci            csi@838 {
40762306a36Sopenharmony_ci                compatible = "nvidia,tegra210-csi";
40862306a36Sopenharmony_ci                reg = <0x838 0x1300>;
40962306a36Sopenharmony_ci                assigned-clocks = <&tegra_car TEGRA210_CLK_CILAB>,
41062306a36Sopenharmony_ci                                  <&tegra_car TEGRA210_CLK_CILCD>,
41162306a36Sopenharmony_ci                                  <&tegra_car TEGRA210_CLK_CILE>,
41262306a36Sopenharmony_ci                                  <&tegra_car TEGRA210_CLK_CSI_TPG>;
41362306a36Sopenharmony_ci                assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_P>,
41462306a36Sopenharmony_ci                                         <&tegra_car TEGRA210_CLK_PLL_P>,
41562306a36Sopenharmony_ci                                         <&tegra_car TEGRA210_CLK_PLL_P>;
41662306a36Sopenharmony_ci                assigned-clock-rates = <102000000>,
41762306a36Sopenharmony_ci                                       <102000000>,
41862306a36Sopenharmony_ci                                       <102000000>,
41962306a36Sopenharmony_ci                                       <972000000>;
42062306a36Sopenharmony_ci
42162306a36Sopenharmony_ci                clocks = <&tegra_car TEGRA210_CLK_CSI>,
42262306a36Sopenharmony_ci                         <&tegra_car TEGRA210_CLK_CILAB>,
42362306a36Sopenharmony_ci                         <&tegra_car TEGRA210_CLK_CILCD>,
42462306a36Sopenharmony_ci                         <&tegra_car TEGRA210_CLK_CILE>,
42562306a36Sopenharmony_ci                         <&tegra_car TEGRA210_CLK_CSI_TPG>;
42662306a36Sopenharmony_ci                clock-names = "csi", "cilab", "cilcd", "cile", "csi_tpg";
42762306a36Sopenharmony_ci                power-domains = <&pd_sor>;
42862306a36Sopenharmony_ci            };
42962306a36Sopenharmony_ci        };
43062306a36Sopenharmony_ci    };
431