162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/opp/operating-points-v2-ti-cpu.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: TI CPU OPP (Operating Performance Points)
862306a36Sopenharmony_ci
962306a36Sopenharmony_cidescription:
1062306a36Sopenharmony_ci  TI SoCs, like those in the AM335x, AM437x, AM57xx, AM62x, and DRA7xx
1162306a36Sopenharmony_ci  families, the CPU frequencies subset and the voltage value of each
1262306a36Sopenharmony_ci  OPP vary based on the silicon variant used. The data sheet sections
1362306a36Sopenharmony_ci  corresponding to "Operating Performance Points" describe the frequency
1462306a36Sopenharmony_ci  and voltage values based on device type and speed bin information
1562306a36Sopenharmony_ci  blown in corresponding eFuse bits as referred to by the Technical
1662306a36Sopenharmony_ci  Reference Manual.
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci  This document extends the operating-points-v2 binding by providing
1962306a36Sopenharmony_ci  the hardware description for the scheme mentioned above.
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_cimaintainers:
2262306a36Sopenharmony_ci  - Nishanth Menon <nm@ti.com>
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ciallOf:
2562306a36Sopenharmony_ci  - $ref: opp-v2-base.yaml#
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ciproperties:
2862306a36Sopenharmony_ci  compatible:
2962306a36Sopenharmony_ci    const: operating-points-v2-ti-cpu
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci  syscon:
3262306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/phandle
3362306a36Sopenharmony_ci    description: |
3462306a36Sopenharmony_ci      points to syscon node representing the control module
3562306a36Sopenharmony_ci      register space of the SoC.
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci  opp-shared: true
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_cipatternProperties:
4062306a36Sopenharmony_ci  '^opp(-?[0-9]+)*$':
4162306a36Sopenharmony_ci    type: object
4262306a36Sopenharmony_ci    additionalProperties: false
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci    properties:
4562306a36Sopenharmony_ci      clock-latency-ns: true
4662306a36Sopenharmony_ci      opp-hz: true
4762306a36Sopenharmony_ci      opp-microvolt: true
4862306a36Sopenharmony_ci      opp-supported-hw: true
4962306a36Sopenharmony_ci      opp-suspend: true
5062306a36Sopenharmony_ci      turbo-mode: true
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci    required:
5362306a36Sopenharmony_ci      - opp-hz
5462306a36Sopenharmony_ci      - opp-supported-hw
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_cirequired:
5762306a36Sopenharmony_ci  - compatible
5862306a36Sopenharmony_ci  - syscon
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ciadditionalProperties: false
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ciexamples:
6362306a36Sopenharmony_ci  - |
6462306a36Sopenharmony_ci    opp-table {
6562306a36Sopenharmony_ci        compatible = "operating-points-v2-ti-cpu";
6662306a36Sopenharmony_ci        syscon = <&scm_conf>;
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci        opp-300000000 {
6962306a36Sopenharmony_ci            opp-hz = /bits/ 64 <300000000>;
7062306a36Sopenharmony_ci            opp-microvolt = <1100000 1078000 1122000>;
7162306a36Sopenharmony_ci            opp-supported-hw = <0x06 0x0020>;
7262306a36Sopenharmony_ci            opp-suspend;
7362306a36Sopenharmony_ci        };
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci        opp-500000000 {
7662306a36Sopenharmony_ci            opp-hz = /bits/ 64 <500000000>;
7762306a36Sopenharmony_ci            opp-microvolt = <1100000 1078000 1122000>;
7862306a36Sopenharmony_ci            opp-supported-hw = <0x01 0xFFFF>;
7962306a36Sopenharmony_ci        };
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci        opp-600000000 {
8262306a36Sopenharmony_ci            opp-hz = /bits/ 64 <600000000>;
8362306a36Sopenharmony_ci            opp-microvolt = <1100000 1078000 1122000>;
8462306a36Sopenharmony_ci            opp-supported-hw = <0x06 0x0040>;
8562306a36Sopenharmony_ci        };
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ci        opp-1000000000 {
8862306a36Sopenharmony_ci            opp-hz = /bits/ 64 <1000000000>;
8962306a36Sopenharmony_ci            opp-microvolt = <1325000 1298500 1351500>;
9062306a36Sopenharmony_ci            opp-supported-hw = <0x04 0x0200>;
9162306a36Sopenharmony_ci        };
9262306a36Sopenharmony_ci    };
93