# SPDX-License-Identifier: GPL-2.0-only
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/tegra/nvidia,tegra20-host1x.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: NVIDIA Tegra host1x controller

maintainers:
  - Thierry Reding <thierry.reding@gmail.com>
  - Jon Hunter <jonathanh@nvidia.com>

description: The host1x top-level node defines a number of children, each
  representing one of the host1x client modules defined in this binding.

properties:
  compatible:
    oneOf:
      - enum:
          - nvidia,tegra20-host1x
          - nvidia,tegra30-host1x
          - nvidia,tegra114-host1x
          - nvidia,tegra124-host1x
          - nvidia,tegra210-host1x
          - nvidia,tegra186-host1x
          - nvidia,tegra194-host1x
          - nvidia,tegra234-host1x

      - items:
          - const: nvidia,tegra132-host1x
          - const: nvidia,tegra124-host1x

  reg:
    minItems: 1
    maxItems: 3

  reg-names:
    minItems: 1
    maxItems: 3

  interrupts:
    minItems: 1
    maxItems: 9

  interrupt-names:
    minItems: 1
    maxItems: 9

  '#address-cells':
    description: The number of cells used to represent physical base addresses
      in the host1x address space.
    enum: [1, 2]

  '#size-cells':
    description: The number of cells used to represent the size of an address
      range in the host1x address space.
    enum: [1, 2]

  ranges:
    maxItems: 1

  clocks:
    description: Must contain one entry, for the module clock. See
      ../clocks/clock-bindings.txt for details.

  clock-names:
    items:
      - const: host1x

  resets:
    minItems: 1 # MC reset is optional on Tegra186 and later
    items:
      - description: module reset
      - description: memory client hotflush reset

  reset-names:
    minItems: 1 # MC reset is optional on Tegra186 and later
    items:
      - const: host1x
      - const: mc

  iommus:
    maxItems: 1

  interconnects:
    items:
      - description: memory read client for host1x

  interconnect-names:
    items:
      - const: dma-mem # read

  operating-points-v2:
    $ref: "/schemas/types.yaml#/definitions/phandle"

  power-domains:
    items:
      - description: phandle to the HEG or core power domain

required:
  - compatible
  - interrupts
  - interrupt-names
  - '#address-cells'
  - '#size-cells'
  - ranges
  - reg
  - clocks
  - clock-names

unevaluatedProperties:
  type: object

allOf:
  - if:
      properties:
        compatible:
          contains:
            enum:
              - nvidia,tegra20-host1x
              - nvidia,tegra30-host1x
              - nvidia,tegra114-host1x
              - nvidia,tegra124-host1x
              - nvidia,tegra210-host1x
    then:
      properties:
        interrupts:
          items:
            - description: host1x syncpoint interrupt
            - description: host1x general interrupt

        interrupt-names:
          items:
            - const: syncpt
            - const: host1x
      required:
        - resets
        - reset-names
  - if:
      properties:
        compatible:
          contains:
            enum:
              - nvidia,tegra186-host1x
              - nvidia,tegra194-host1x
    then:
      properties:
        reg-names:
          items:
            - const: hypervisor
            - const: vm

        reg:
          items:
            - description: region used by the hypervisor
            - description: region assigned to the virtual machine

        resets:
          maxItems: 1

        reset-names:
          maxItems: 1

        interrupts:
          items:
            - description: host1x syncpoint interrupt
            - description: host1x general interrupt

        interrupt-names:
          items:
            - const: syncpt
            - const: host1x

        iommu-map:
          description: Specification of stream IDs available for memory context device
            use. Should be a mapping of IDs 0..n to IOMMU entries corresponding to
            usable stream IDs.

      required:
        - reg-names
  - if:
      properties:
        compatible:
          contains:
            enum:
              - nvidia,tegra234-host1x
    then:
      properties:
        reg-names:
          items:
            - const: common
            - const: hypervisor
            - const: vm

        reg:
          items:
            - description: region used by host1x server
            - description: region used by the hypervisor
            - description: region assigned to the virtual machine

        interrupts:
          items:
            - description: host1x syncpoint interrupt 0
            - description: host1x syncpoint interrupt 1
            - description: host1x syncpoint interrupt 2
            - description: host1x syncpoint interrupt 3
            - description: host1x syncpoint interrupt 4
            - description: host1x syncpoint interrupt 5
            - description: host1x syncpoint interrupt 6
            - description: host1x syncpoint interrupt 7
            - description: host1x general interrupt

        interrupt-names:
          items:
            - const: syncpt0
            - const: syncpt1
            - const: syncpt2
            - const: syncpt3
            - const: syncpt4
            - const: syncpt5
            - const: syncpt6
            - const: syncpt7
            - const: host1x

        iommu-map:
          description: Specification of stream IDs available for memory context device
            use. Should be a mapping of IDs 0..n to IOMMU entries corresponding to
            usable stream IDs.

      required:
        - reg-names

examples:
  - |
    #include <dt-bindings/clock/tegra20-car.h>
    #include <dt-bindings/gpio/tegra-gpio.h>
    #include <dt-bindings/memory/tegra20-mc.h>

    host1x@50000000 {
        compatible = "nvidia,tegra20-host1x";
        reg = <0x50000000 0x00024000>;
        interrupts = <0 65 0x04>, /* mpcore syncpt */
                     <0 67 0x04>; /* mpcore general */
        interrupt-names = "syncpt", "host1x";
        clocks = <&tegra_car TEGRA20_CLK_HOST1X>;
        clock-names = "host1x";
        resets = <&tegra_car 28>, <&mc TEGRA20_MC_RESET_HC>;
        reset-names = "host1x", "mc";

        #address-cells = <1>;
        #size-cells = <1>;

        ranges = <0x54000000 0x54000000 0x04000000>;

        mpe@54040000 {
            compatible = "nvidia,tegra20-mpe";
            reg = <0x54040000 0x00040000>;
            interrupts = <0 68 0x04>;
            clocks = <&tegra_car TEGRA20_CLK_MPE>;
            resets = <&tegra_car 60>;
            reset-names = "mpe";
        };

        vi@54080000 {
            compatible = "nvidia,tegra20-vi";
            reg = <0x54080000 0x00040000>;
            interrupts = <0 69 0x04>;
            clocks = <&tegra_car TEGRA20_CLK_VI>;
            resets = <&tegra_car 100>;
            reset-names = "vi";
        };

        epp@540c0000 {
            compatible = "nvidia,tegra20-epp";
            reg = <0x540c0000 0x00040000>;
            interrupts = <0 70 0x04>;
            clocks = <&tegra_car TEGRA20_CLK_EPP>;
            resets = <&tegra_car 19>;
            reset-names = "epp";
        };

        isp@54100000 {
            compatible = "nvidia,tegra20-isp";
            reg = <0x54100000 0x00040000>;
            interrupts = <0 71 0x04>;
            clocks = <&tegra_car TEGRA20_CLK_ISP>;
            resets = <&tegra_car 23>;
            reset-names = "isp";
        };

        gr2d@54140000 {
            compatible = "nvidia,tegra20-gr2d";
            reg = <0x54140000 0x00040000>;
            interrupts = <0 72 0x04>;
            clocks = <&tegra_car TEGRA20_CLK_GR2D>;
            resets = <&tegra_car 21>, <&mc TEGRA20_MC_RESET_2D>;
            reset-names = "2d", "mc";
        };

        gr3d@54180000 {
            compatible = "nvidia,tegra20-gr3d";
            reg = <0x54180000 0x00040000>;
            clocks = <&tegra_car TEGRA20_CLK_GR3D>;
            resets = <&tegra_car 24>, <&mc TEGRA20_MC_RESET_3D>;
            reset-names = "3d", "mc";
        };

        dc@54200000 {
            compatible = "nvidia,tegra20-dc";
            reg = <0x54200000 0x00040000>;
            interrupts = <0 73 0x04>;
            clocks = <&tegra_car TEGRA20_CLK_DISP1>;
            clock-names = "dc";
            resets = <&tegra_car 27>;
            reset-names = "dc";

            rgb {
            };
        };

        dc@54240000 {
            compatible = "nvidia,tegra20-dc";
            reg = <0x54240000 0x00040000>;
            interrupts = <0 74 0x04>;
            clocks = <&tegra_car TEGRA20_CLK_DISP2>;
            clock-names = "dc";
            resets = <&tegra_car 26>;
            reset-names = "dc";

            rgb {
            };
        };

        hdmi@54280000 {
            compatible = "nvidia,tegra20-hdmi";
            reg = <0x54280000 0x00040000>;
            interrupts = <0 75 0x04>;
            clocks = <&tegra_car TEGRA20_CLK_HDMI>,
                     <&tegra_car TEGRA20_CLK_PLL_D_OUT0>;
            clock-names = "hdmi", "parent";
            resets = <&tegra_car 51>;
            reset-names = "hdmi";

            hdmi-supply = <&vdd_5v0_hdmi>;
            pll-supply = <&vdd_hdmi_pll>;
            vdd-supply = <&vdd_3v3_hdmi>;

            nvidia,ddc-i2c-bus = <&hdmi_ddc>;
            nvidia,hpd-gpio = <&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>;
        };

        tvo@542c0000 {
            compatible = "nvidia,tegra20-tvo";
            reg = <0x542c0000 0x00040000>;
            interrupts = <0 76 0x04>;
            clocks = <&tegra_car TEGRA20_CLK_TVO>;
        };

        dsi@54300000 {
            compatible = "nvidia,tegra20-dsi";
            reg = <0x54300000 0x00040000>;
            clocks = <&tegra_car TEGRA20_CLK_DSI>,
                     <&tegra_car TEGRA20_CLK_PLL_D_OUT0>;
            clock-names = "dsi", "parent";
            resets = <&tegra_car 48>;
            reset-names = "dsi";
        };
    };

  - |
    #include <dt-bindings/clock/tegra210-car.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/memory/tegra210-mc.h>

    host1x@50000000 {
        compatible = "nvidia,tegra210-host1x";
        reg = <0x50000000 0x00024000>;
        interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>, /* mpcore syncpt */
                     <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* mpcore general */
        interrupt-names = "syncpt", "host1x";
        clocks = <&tegra_car TEGRA210_CLK_HOST1X>;
        clock-names = "host1x";
        resets = <&tegra_car 28>;
        reset-names = "host1x";

        #address-cells = <1>;
        #size-cells = <1>;

        ranges = <0x54000000 0x54000000 0x01000000>;
        iommus = <&mc TEGRA_SWGROUP_HC>;

        vi@54080000 {
            compatible = "nvidia,tegra210-vi";
            reg = <0x54080000 0x00000700>;
            interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
            assigned-clocks = <&tegra_car TEGRA210_CLK_VI>;
            assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>;

            clocks = <&tegra_car TEGRA210_CLK_VI>;
            power-domains = <&pd_venc>;

            #address-cells = <1>;
            #size-cells = <1>;

            ranges = <0x0 0x54080000 0x2000>;

            csi@838 {
                compatible = "nvidia,tegra210-csi";
                reg = <0x838 0x1300>;
                assigned-clocks = <&tegra_car TEGRA210_CLK_CILAB>,
                                  <&tegra_car TEGRA210_CLK_CILCD>,
                                  <&tegra_car TEGRA210_CLK_CILE>,
                                  <&tegra_car TEGRA210_CLK_CSI_TPG>;
                assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_P>,
                                         <&tegra_car TEGRA210_CLK_PLL_P>,
                                         <&tegra_car TEGRA210_CLK_PLL_P>;
                assigned-clock-rates = <102000000>,
                                       <102000000>,
                                       <102000000>,
                                       <972000000>;

                clocks = <&tegra_car TEGRA210_CLK_CSI>,
                         <&tegra_car TEGRA210_CLK_CILAB>,
                         <&tegra_car TEGRA210_CLK_CILCD>,
                         <&tegra_car TEGRA210_CLK_CILE>,
                         <&tegra_car TEGRA210_CLK_CSI_TPG>;
                clock-names = "csi", "cilab", "cilcd", "cile", "csi_tpg";
                power-domains = <&pd_sor>;
            };
        };
    };
