# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: "http://devicetree.org/schemas/arm/nvidia,tegra194-ccplex.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: NVIDIA Tegra194 CPU Complex device tree bindings

maintainers:
  - Thierry Reding <thierry.reding@gmail.com>
  - Jonathan Hunter <jonathanh@nvidia.com>
  - Sumit Gupta <sumitg@nvidia.com>

description: |+
  Tegra194 SOC has homogeneous architecture where each cluster has two
  symmetric cores. Compatible string in "cpus" node represents the CPU
  Complex having all clusters.

properties:
  $nodename:
    const: cpus

  compatible:
    enum:
      - nvidia,tegra194-ccplex

  nvidia,bpmp:
    $ref: '/schemas/types.yaml#/definitions/phandle'
    description: |
      Specifies the bpmp node that needs to be queried to get
      operating point data for all CPUs.

additionalProperties: true

examples:
  - |
    cpus {
      compatible = "nvidia,tegra194-ccplex";
      nvidia,bpmp = <&bpmp>;
      #address-cells = <1>;
      #size-cells = <0>;

      cpu0_0: cpu@0 {
        compatible = "nvidia,tegra194-carmel";
        device_type = "cpu";
        reg = <0x0>;
        enable-method = "psci";
      };

      cpu0_1: cpu@1 {
        compatible = "nvidia,tegra194-carmel";
        device_type = "cpu";
        reg = <0x001>;
        enable-method = "psci";
      };

      cpu1_0: cpu@100 {
        compatible = "nvidia,tegra194-carmel";
        device_type = "cpu";
        reg = <0x100>;
        enable-method = "psci";
      };

      cpu1_1: cpu@101 {
        compatible = "nvidia,tegra194-carmel";
        device_type = "cpu";
        reg = <0x101>;
        enable-method = "psci";
      };
    };
...
