xref: /freebsd/sys/contrib/device-tree/Bindings/opp/opp-v1.yaml (revision 8bab661a3316d8bd9b9fbd11a3b4371b91507bd2)
1354d7675SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2354d7675SEmmanuel Vadot%YAML 1.2
3354d7675SEmmanuel Vadot---
4354d7675SEmmanuel Vadot$id: http://devicetree.org/schemas/opp/opp-v1.yaml#
5354d7675SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6354d7675SEmmanuel Vadot
7*8bab661aSEmmanuel Vadottitle: Generic OPP (Operating Performance Points) v1
8354d7675SEmmanuel Vadot
9354d7675SEmmanuel Vadotmaintainers:
10354d7675SEmmanuel Vadot  - Viresh Kumar <viresh.kumar@linaro.org>
11354d7675SEmmanuel Vadot
12354d7675SEmmanuel Vadotdescription: |+
13354d7675SEmmanuel Vadot  Devices work at voltage-current-frequency combinations and some implementations
14354d7675SEmmanuel Vadot  have the liberty of choosing these. These combinations are called Operating
15354d7675SEmmanuel Vadot  Performance Points aka OPPs. This document defines bindings for these OPPs
16354d7675SEmmanuel Vadot  applicable across wide range of devices. For illustration purpose, this document
17354d7675SEmmanuel Vadot  uses CPU as a device.
18354d7675SEmmanuel Vadot
19354d7675SEmmanuel Vadot  This binding only supports voltage-frequency pairs.
20354d7675SEmmanuel Vadot
21354d7675SEmmanuel Vadotselect: true
22354d7675SEmmanuel Vadot
23354d7675SEmmanuel Vadotproperties:
24354d7675SEmmanuel Vadot  operating-points:
25354d7675SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32-matrix
26354d7675SEmmanuel Vadot    items:
27354d7675SEmmanuel Vadot      items:
28354d7675SEmmanuel Vadot        - description: Frequency in kHz
29354d7675SEmmanuel Vadot        - description: Voltage for OPP in uV
30354d7675SEmmanuel Vadot
31354d7675SEmmanuel Vadot
32354d7675SEmmanuel VadotadditionalProperties: true
33354d7675SEmmanuel Vadotexamples:
34354d7675SEmmanuel Vadot  - |
35354d7675SEmmanuel Vadot    cpus {
36354d7675SEmmanuel Vadot        #address-cells = <1>;
37354d7675SEmmanuel Vadot        #size-cells = <0>;
38354d7675SEmmanuel Vadot
39354d7675SEmmanuel Vadot        cpu@0 {
40354d7675SEmmanuel Vadot            compatible = "arm,cortex-a9";
41354d7675SEmmanuel Vadot            device_type = "cpu";
42354d7675SEmmanuel Vadot            reg = <0>;
43354d7675SEmmanuel Vadot            next-level-cache = <&L2>;
44354d7675SEmmanuel Vadot            operating-points =
45354d7675SEmmanuel Vadot                /* kHz    uV */
46354d7675SEmmanuel Vadot                <792000 1100000>,
47354d7675SEmmanuel Vadot                <396000 950000>,
48354d7675SEmmanuel Vadot                <198000 850000>;
49354d7675SEmmanuel Vadot        };
50354d7675SEmmanuel Vadot    };
51354d7675SEmmanuel Vadot...
52