Documentation/devicetree/bindings/opp/opp-v1.yaml

Source file repositories/reference/linux-study-clean/Documentation/devicetree/bindings/opp/opp-v1.yaml

File Facts

System
Linux kernel
Corpus path
Documentation/devicetree/bindings/opp/opp-v1.yaml
Extension
.yaml
Size
1837 bytes
Lines
68
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: configuration, schema, or hardware description
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/opp/opp-v1.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Generic OPP (Operating Performance Points) v1

maintainers:
  - Viresh Kumar <viresh.kumar@linaro.org>

description: |+
  Devices work at voltage-current-frequency combinations and some implementations
  have the liberty of choosing these. These combinations are called Operating
  Performance Points aka OPPs. This document defines bindings for these OPPs
  applicable across wide range of devices. For illustration purpose, this document
  uses CPU as a device.

  This binding only supports voltage-frequency pairs.

deprecated: true

properties:
  clock-latency:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      The latency in nanoseconds for clock changes. Use OPP tables for new
      designs instead.

  voltage-tolerance:
    $ref: /schemas/types.yaml#/definitions/uint32
    maximum: 10
    description:
      The voltage tolerance in percent. Use OPP tables for new designs instead.

  operating-points:
    $ref: /schemas/types.yaml#/definitions/uint32-matrix
    items:
      items:
        - description: Frequency in kHz
        - description: Voltage for OPP in uV

dependencies:
  clock-latency: [ operating-points ]
  voltage-tolerance: [ operating-points ]

additionalProperties: true

examples:
  - |
    cpus {
        #address-cells = <1>;
        #size-cells = <0>;

        cpu@0 {
            compatible = "arm,cortex-a9";
            device_type = "cpu";
            reg = <0>;
            next-level-cache = <&L2>;
            operating-points =
                /* kHz    uV */
                <792000 1100000>,
                <396000 950000>,
                <198000 850000>;
        };
    };
...

Annotation

Implementation Notes