[TEGRA194_CPUFREQ PATCH v6 1/4] dt-bindings: arm: Add NVIDIA Tegra194 CPU Complex binding

Rob Herring robh at kernel.org
Tue Jul 14 16:47:42 EDT 2020


On Tue, Jul 14, 2020 at 09:37:50PM +0530, Sumit Gupta wrote:
> Add device-tree binding documentation to represent Tegra194
> CPU Complex with compatible string under 'cpus' node. This
> can be used by drivers like cpufreq which don't have their
> node or CPU Complex node to bind to. Also, documenting
> 'nvidia,bpmp' property which points to BPMP device.
> 
> Signed-off-by: Sumit Gupta <sumitg at nvidia.com>
> ---
>  .../bindings/arm/nvidia,tegra194-ccplex.yaml       | 106 +++++++++++++++++++++
>  1 file changed, 106 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/arm/nvidia,tegra194-ccplex.yaml
> 
> diff --git a/Documentation/devicetree/bindings/arm/nvidia,tegra194-ccplex.yaml b/Documentation/devicetree/bindings/arm/nvidia,tegra194-ccplex.yaml
> new file mode 100644
> index 0000000..06dbdaa
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/nvidia,tegra194-ccplex.yaml
> @@ -0,0 +1,106 @@
> +# SPDX-License-Identifier: GPL-2.0

Dual license please.

> +%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 at gmail.com>
> +  - Jonathan Hunter <jonathanh at nvidia.com>
> +  - Sumit Gupta <sumitg at 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.
> +
> +      Optional for systems that have a "compatible"
> +      property value of "nvidia,tegra194-ccplex".

The schema says this already.

> +
> +  "#address-cells":
> +    const: 1

This is wrong. The binding says it's 2 cells on aarch64 cpus though we 
don't enforce that.

> +
> +  "#size-cells":
> +    const: 0
> +
> +dependencies:
> +  nvidia,bpmp: [compatible]

This is kind of redundant as 'compatible' is required in order to apply 
the schema.

> +
> +examples:
> +  - |
> +    cpus {
> +      compatible = "nvidia,tegra194-ccplex";
> +      nvidia,bpmp = <&bpmp>;
> +      #address-cells = <1>;
> +      #size-cells = <0>;
> +
> +      cpu0_0: cpu at 0 {
> +        compatible = "nvidia,tegra194-carmel";
> +        device_type = "cpu";
> +        reg = <0x0>;
> +        enable-method = "psci";
> +      };
> +
> +      cpu0_1: cpu at 1 {
> +        compatible = "nvidia,tegra194-carmel";
> +        device_type = "cpu";
> +        reg = <0x001>;
> +        enable-method = "psci";
> +      };
> +
> +      cpu1_0: cpu at 100 {
> +        compatible = "nvidia,tegra194-carmel";
> +        device_type = "cpu";
> +        reg = <0x100>;
> +        enable-method = "psci";
> +      };
> +
> +      cpu1_1: cpu at 101 {
> +        compatible = "nvidia,tegra194-carmel";
> +        device_type = "cpu";
> +        reg = <0x101>;
> +        enable-method = "psci";
> +      };
> +
> +      cpu2_0: cpu at 200 {
> +        compatible = "nvidia,tegra194-carmel";
> +        device_type = "cpu";
> +        reg = <0x200>;
> +        enable-method = "psci";
> +      };
> +
> +      cpu2_1: cpu at 201 {
> +        compatible = "nvidia,tegra194-carmel";
> +        device_type = "cpu";
> +        reg = <0x201>;
> +        enable-method = "psci";
> +      };
> +
> +      cpu3_0: cpu at 300 {
> +        compatible = "nvidia,tegra194-carmel";
> +        device_type = "cpu";
> +        reg = <0x300>;
> +        enable-method = "psci";
> +      };
> +
> +      cpu3_1: cpu at 301 {
> +        compatible = "nvidia,tegra194-carmel";
> +        device_type = "cpu";
> +        reg = <0x301>;
> +        enable-method = "psci";
> +       };

Not really that useful describing all these cpus.

> +    };
> +...
> -- 
> 2.7.4
> 



More information about the linux-arm-kernel mailing list