xref: /openbmc/linux/Documentation/devicetree/bindings/opp/opp-v2.yaml (revision 7ae9fb1b7ecbb5d85d07857943f677fd1a559b18)
194274f20SRob Herring# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
294274f20SRob Herring%YAML 1.2
394274f20SRob Herring---
494274f20SRob Herring$id: http://devicetree.org/schemas/opp/opp-v2.yaml#
594274f20SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml#
694274f20SRob Herring
7*84e85359SKrzysztof Kozlowskititle: Generic OPP (Operating Performance Points)
894274f20SRob Herring
994274f20SRob Herringmaintainers:
1094274f20SRob Herring  - Viresh Kumar <viresh.kumar@linaro.org>
1194274f20SRob Herring
1294274f20SRob HerringallOf:
1394274f20SRob Herring  - $ref: opp-v2-base.yaml#
1494274f20SRob Herring
1594274f20SRob Herringproperties:
1694274f20SRob Herring  compatible:
1794274f20SRob Herring    const: operating-points-v2
1894274f20SRob Herring
1994274f20SRob HerringunevaluatedProperties: false
2094274f20SRob Herring
2194274f20SRob Herringexamples:
2294274f20SRob Herring  - |
2394274f20SRob Herring    /*
2494274f20SRob Herring     * Example 1: Single cluster Dual-core ARM cortex A9, switch DVFS states
2594274f20SRob Herring     * together.
2694274f20SRob Herring     */
2794274f20SRob Herring    cpus {
2894274f20SRob Herring        #address-cells = <1>;
2994274f20SRob Herring        #size-cells = <0>;
3094274f20SRob Herring
3194274f20SRob Herring        cpu@0 {
3294274f20SRob Herring            compatible = "arm,cortex-a9";
3394274f20SRob Herring            device_type = "cpu";
3494274f20SRob Herring            reg = <0>;
3594274f20SRob Herring            next-level-cache = <&L2>;
3694274f20SRob Herring            clocks = <&clk_controller 0>;
3794274f20SRob Herring            clock-names = "cpu";
3894274f20SRob Herring            cpu-supply = <&cpu_supply0>;
3994274f20SRob Herring            operating-points-v2 = <&cpu0_opp_table0>;
4094274f20SRob Herring        };
4194274f20SRob Herring
4294274f20SRob Herring        cpu@1 {
4394274f20SRob Herring            compatible = "arm,cortex-a9";
4494274f20SRob Herring            device_type = "cpu";
4594274f20SRob Herring            reg = <1>;
4694274f20SRob Herring            next-level-cache = <&L2>;
4794274f20SRob Herring            clocks = <&clk_controller 0>;
4894274f20SRob Herring            clock-names = "cpu";
4994274f20SRob Herring            cpu-supply = <&cpu_supply0>;
5094274f20SRob Herring            operating-points-v2 = <&cpu0_opp_table0>;
5194274f20SRob Herring        };
5294274f20SRob Herring    };
5394274f20SRob Herring
5494274f20SRob Herring    cpu0_opp_table0: opp-table {
5594274f20SRob Herring        compatible = "operating-points-v2";
5694274f20SRob Herring        opp-shared;
5794274f20SRob Herring
5894274f20SRob Herring        opp-1000000000 {
5994274f20SRob Herring            opp-hz = /bits/ 64 <1000000000>;
6094274f20SRob Herring            opp-microvolt = <975000 970000 985000>;
6194274f20SRob Herring            opp-microamp = <70000>;
6294274f20SRob Herring            clock-latency-ns = <300000>;
6394274f20SRob Herring            opp-suspend;
6494274f20SRob Herring        };
6594274f20SRob Herring        opp-1100000000 {
6694274f20SRob Herring            opp-hz = /bits/ 64 <1100000000>;
6794274f20SRob Herring            opp-microvolt = <1000000 980000 1010000>;
6894274f20SRob Herring            opp-microamp = <80000>;
6994274f20SRob Herring            clock-latency-ns = <310000>;
7094274f20SRob Herring        };
7194274f20SRob Herring        opp-1200000000 {
7294274f20SRob Herring            opp-hz = /bits/ 64 <1200000000>;
7394274f20SRob Herring            opp-microvolt = <1025000>;
7494274f20SRob Herring            clock-latency-ns = <290000>;
7594274f20SRob Herring            turbo-mode;
7694274f20SRob Herring        };
7794274f20SRob Herring    };
7894274f20SRob Herring
7994274f20SRob Herring  - |
8094274f20SRob Herring    /*
8194274f20SRob Herring     * Example 2: Single cluster, Quad-core Qualcom-krait, switches DVFS states
8294274f20SRob Herring     * independently.
8394274f20SRob Herring     */
8494274f20SRob Herring    cpus {
8594274f20SRob Herring        #address-cells = <1>;
8694274f20SRob Herring        #size-cells = <0>;
8794274f20SRob Herring
8894274f20SRob Herring        cpu@0 {
8994274f20SRob Herring            compatible = "qcom,krait";
9094274f20SRob Herring            device_type = "cpu";
9194274f20SRob Herring            reg = <0>;
9294274f20SRob Herring            next-level-cache = <&L2>;
9394274f20SRob Herring            clocks = <&clk_controller 0>;
9494274f20SRob Herring            clock-names = "cpu";
9594274f20SRob Herring            cpu-supply = <&cpu_supply0>;
9694274f20SRob Herring            operating-points-v2 = <&cpu_opp_table>;
9794274f20SRob Herring        };
9894274f20SRob Herring
9994274f20SRob Herring        cpu@1 {
10094274f20SRob Herring            compatible = "qcom,krait";
10194274f20SRob Herring            device_type = "cpu";
10294274f20SRob Herring            reg = <1>;
10394274f20SRob Herring            next-level-cache = <&L2>;
10494274f20SRob Herring            clocks = <&clk_controller 1>;
10594274f20SRob Herring            clock-names = "cpu";
10694274f20SRob Herring            cpu-supply = <&cpu_supply1>;
10794274f20SRob Herring            operating-points-v2 = <&cpu_opp_table>;
10894274f20SRob Herring        };
10994274f20SRob Herring
11094274f20SRob Herring        cpu@2 {
11194274f20SRob Herring            compatible = "qcom,krait";
11294274f20SRob Herring            device_type = "cpu";
11394274f20SRob Herring            reg = <2>;
11494274f20SRob Herring            next-level-cache = <&L2>;
11594274f20SRob Herring            clocks = <&clk_controller 2>;
11694274f20SRob Herring            clock-names = "cpu";
11794274f20SRob Herring            cpu-supply = <&cpu_supply2>;
11894274f20SRob Herring            operating-points-v2 = <&cpu_opp_table>;
11994274f20SRob Herring        };
12094274f20SRob Herring
12194274f20SRob Herring        cpu@3 {
12294274f20SRob Herring            compatible = "qcom,krait";
12394274f20SRob Herring            device_type = "cpu";
12494274f20SRob Herring            reg = <3>;
12594274f20SRob Herring            next-level-cache = <&L2>;
12694274f20SRob Herring            clocks = <&clk_controller 3>;
12794274f20SRob Herring            clock-names = "cpu";
12894274f20SRob Herring            cpu-supply = <&cpu_supply3>;
12994274f20SRob Herring            operating-points-v2 = <&cpu_opp_table>;
13094274f20SRob Herring        };
13194274f20SRob Herring    };
13294274f20SRob Herring
13394274f20SRob Herring    cpu_opp_table: opp-table {
13494274f20SRob Herring        compatible = "operating-points-v2";
13594274f20SRob Herring
13694274f20SRob Herring        /*
13794274f20SRob Herring         * Missing opp-shared property means CPUs switch DVFS states
13894274f20SRob Herring         * independently.
13994274f20SRob Herring         */
14094274f20SRob Herring
14194274f20SRob Herring        opp-1000000000 {
14294274f20SRob Herring            opp-hz = /bits/ 64 <1000000000>;
14394274f20SRob Herring            opp-microvolt = <975000 970000 985000>;
14494274f20SRob Herring            opp-microamp = <70000>;
14594274f20SRob Herring            clock-latency-ns = <300000>;
14694274f20SRob Herring            opp-suspend;
14794274f20SRob Herring        };
14894274f20SRob Herring        opp-1100000000 {
14994274f20SRob Herring            opp-hz = /bits/ 64 <1100000000>;
15094274f20SRob Herring            opp-microvolt = <1000000 980000 1010000>;
15194274f20SRob Herring            opp-microamp = <80000>;
15294274f20SRob Herring            clock-latency-ns = <310000>;
15394274f20SRob Herring        };
15494274f20SRob Herring        opp-1200000000 {
15594274f20SRob Herring            opp-hz = /bits/ 64 <1200000000>;
15694274f20SRob Herring            opp-microvolt = <1025000>;
15794274f20SRob Herring            opp-microamp = <90000>;
158dba79b78SSerge Semin            clock-latency-ns = <290000>;
15994274f20SRob Herring            turbo-mode;
16094274f20SRob Herring        };
16194274f20SRob Herring    };
16294274f20SRob Herring
16394274f20SRob Herring  - |
16494274f20SRob Herring    /*
16594274f20SRob Herring     * Example 3: Dual-cluster, Dual-core per cluster. CPUs within a cluster switch
16694274f20SRob Herring     * DVFS state together.
16794274f20SRob Herring     */
16894274f20SRob Herring    cpus {
16994274f20SRob Herring        #address-cells = <1>;
17094274f20SRob Herring        #size-cells = <0>;
17194274f20SRob Herring
17294274f20SRob Herring        cpu@0 {
17394274f20SRob Herring            compatible = "arm,cortex-a7";
17494274f20SRob Herring            device_type = "cpu";
17594274f20SRob Herring            reg = <0>;
17694274f20SRob Herring            next-level-cache = <&L2>;
17794274f20SRob Herring            clocks = <&clk_controller 0>;
17894274f20SRob Herring            clock-names = "cpu";
17994274f20SRob Herring            cpu-supply = <&cpu_supply0>;
18094274f20SRob Herring            operating-points-v2 = <&cluster0_opp>;
18194274f20SRob Herring        };
18294274f20SRob Herring
18394274f20SRob Herring        cpu@1 {
18494274f20SRob Herring            compatible = "arm,cortex-a7";
18594274f20SRob Herring            device_type = "cpu";
18694274f20SRob Herring            reg = <1>;
18794274f20SRob Herring            next-level-cache = <&L2>;
18894274f20SRob Herring            clocks = <&clk_controller 0>;
18994274f20SRob Herring            clock-names = "cpu";
19094274f20SRob Herring            cpu-supply = <&cpu_supply0>;
19194274f20SRob Herring            operating-points-v2 = <&cluster0_opp>;
19294274f20SRob Herring        };
19394274f20SRob Herring
19494274f20SRob Herring        cpu@100 {
19594274f20SRob Herring            compatible = "arm,cortex-a15";
19694274f20SRob Herring            device_type = "cpu";
19794274f20SRob Herring            reg = <100>;
19894274f20SRob Herring            next-level-cache = <&L2>;
19994274f20SRob Herring            clocks = <&clk_controller 1>;
20094274f20SRob Herring            clock-names = "cpu";
20194274f20SRob Herring            cpu-supply = <&cpu_supply1>;
20294274f20SRob Herring            operating-points-v2 = <&cluster1_opp>;
20394274f20SRob Herring        };
20494274f20SRob Herring
20594274f20SRob Herring        cpu@101 {
20694274f20SRob Herring            compatible = "arm,cortex-a15";
20794274f20SRob Herring            device_type = "cpu";
20894274f20SRob Herring            reg = <101>;
20994274f20SRob Herring            next-level-cache = <&L2>;
21094274f20SRob Herring            clocks = <&clk_controller 1>;
21194274f20SRob Herring            clock-names = "cpu";
21294274f20SRob Herring            cpu-supply = <&cpu_supply1>;
21394274f20SRob Herring            operating-points-v2 = <&cluster1_opp>;
21494274f20SRob Herring        };
21594274f20SRob Herring    };
21694274f20SRob Herring
21794274f20SRob Herring    cluster0_opp: opp-table-0 {
21894274f20SRob Herring        compatible = "operating-points-v2";
21994274f20SRob Herring        opp-shared;
22094274f20SRob Herring
22194274f20SRob Herring        opp-1000000000 {
22294274f20SRob Herring            opp-hz = /bits/ 64 <1000000000>;
22394274f20SRob Herring            opp-microvolt = <975000 970000 985000>;
22494274f20SRob Herring            opp-microamp = <70000>;
22594274f20SRob Herring            clock-latency-ns = <300000>;
22694274f20SRob Herring            opp-suspend;
22794274f20SRob Herring        };
22894274f20SRob Herring        opp-1100000000 {
22994274f20SRob Herring            opp-hz = /bits/ 64 <1100000000>;
23094274f20SRob Herring            opp-microvolt = <1000000 980000 1010000>;
23194274f20SRob Herring            opp-microamp = <80000>;
23294274f20SRob Herring            clock-latency-ns = <310000>;
23394274f20SRob Herring        };
23494274f20SRob Herring        opp-1200000000 {
23594274f20SRob Herring            opp-hz = /bits/ 64 <1200000000>;
23694274f20SRob Herring            opp-microvolt = <1025000>;
23794274f20SRob Herring            opp-microamp = <90000>;
23894274f20SRob Herring            clock-latency-ns = <290000>;
23994274f20SRob Herring            turbo-mode;
24094274f20SRob Herring        };
24194274f20SRob Herring    };
24294274f20SRob Herring
24394274f20SRob Herring    cluster1_opp: opp-table-1 {
24494274f20SRob Herring        compatible = "operating-points-v2";
24594274f20SRob Herring        opp-shared;
24694274f20SRob Herring
24794274f20SRob Herring        opp-1300000000 {
24894274f20SRob Herring            opp-hz = /bits/ 64 <1300000000>;
24994274f20SRob Herring            opp-microvolt = <1050000 1045000 1055000>;
25094274f20SRob Herring            opp-microamp = <95000>;
25194274f20SRob Herring            clock-latency-ns = <400000>;
25294274f20SRob Herring            opp-suspend;
25394274f20SRob Herring        };
25494274f20SRob Herring        opp-1400000000 {
25594274f20SRob Herring            opp-hz = /bits/ 64 <1400000000>;
25694274f20SRob Herring            opp-microvolt = <1075000>;
25794274f20SRob Herring            opp-microamp = <100000>;
25894274f20SRob Herring            clock-latency-ns = <400000>;
25994274f20SRob Herring        };
26094274f20SRob Herring        opp-1500000000 {
26194274f20SRob Herring            opp-hz = /bits/ 64 <1500000000>;
26294274f20SRob Herring            opp-microvolt = <1100000 1010000 1110000>;
26394274f20SRob Herring            opp-microamp = <95000>;
26494274f20SRob Herring            clock-latency-ns = <400000>;
26594274f20SRob Herring            turbo-mode;
26694274f20SRob Herring        };
26794274f20SRob Herring    };
26894274f20SRob Herring
26994274f20SRob Herring  - |
27094274f20SRob Herring    /* Example 4: Handling multiple regulators */
27194274f20SRob Herring    cpus {
27294274f20SRob Herring        #address-cells = <1>;
27394274f20SRob Herring        #size-cells = <0>;
27494274f20SRob Herring
27594274f20SRob Herring        cpu@0 {
27694274f20SRob Herring            compatible = "foo,cpu-type";
27794274f20SRob Herring            device_type = "cpu";
27894274f20SRob Herring            reg = <0>;
27994274f20SRob Herring
28094274f20SRob Herring            vcc0-supply = <&cpu_supply0>;
28194274f20SRob Herring            vcc1-supply = <&cpu_supply1>;
28294274f20SRob Herring            vcc2-supply = <&cpu_supply2>;
28394274f20SRob Herring            operating-points-v2 = <&cpu0_opp_table4>;
28494274f20SRob Herring        };
28594274f20SRob Herring    };
28694274f20SRob Herring
28794274f20SRob Herring    cpu0_opp_table4: opp-table-0 {
28894274f20SRob Herring        compatible = "operating-points-v2";
28994274f20SRob Herring        opp-shared;
29094274f20SRob Herring
29194274f20SRob Herring        opp-1000000000 {
29294274f20SRob Herring            opp-hz = /bits/ 64 <1000000000>;
29394274f20SRob Herring            opp-microvolt = <970000>, /* Supply 0 */
29494274f20SRob Herring                            <960000>, /* Supply 1 */
29594274f20SRob Herring                            <960000>; /* Supply 2 */
29694274f20SRob Herring            opp-microamp =  <70000>,  /* Supply 0 */
29794274f20SRob Herring                            <70000>,  /* Supply 1 */
29894274f20SRob Herring                            <70000>;  /* Supply 2 */
29994274f20SRob Herring            clock-latency-ns = <300000>;
30094274f20SRob Herring        };
30194274f20SRob Herring
30294274f20SRob Herring        /* OR */
30394274f20SRob Herring
30494274f20SRob Herring        opp-1000000001 {
30594274f20SRob Herring            opp-hz = /bits/ 64 <1000000001>;
30694274f20SRob Herring            opp-microvolt = <975000 970000 985000>, /* Supply 0 */
30794274f20SRob Herring                            <965000 960000 975000>, /* Supply 1 */
30894274f20SRob Herring                            <965000 960000 975000>; /* Supply 2 */
30994274f20SRob Herring            opp-microamp =  <70000>,    /* Supply 0 */
31094274f20SRob Herring                <70000>,    /* Supply 1 */
31194274f20SRob Herring                <70000>;    /* Supply 2 */
31294274f20SRob Herring            clock-latency-ns = <300000>;
31394274f20SRob Herring        };
31494274f20SRob Herring
31594274f20SRob Herring        /* OR */
31694274f20SRob Herring
31794274f20SRob Herring        opp-1000000002 {
31894274f20SRob Herring            opp-hz = /bits/ 64 <1000000002>;
31994274f20SRob Herring            opp-microvolt = <975000 970000 985000>, /* Supply 0 */
32094274f20SRob Herring                <965000 960000 975000>, /* Supply 1 */
32194274f20SRob Herring                <965000 960000 975000>; /* Supply 2 */
32294274f20SRob Herring            opp-microamp =  <70000>,    /* Supply 0 */
32394274f20SRob Herring                <0>,      /* Supply 1 doesn't need this */
32494274f20SRob Herring                <70000>;    /* Supply 2 */
32594274f20SRob Herring            clock-latency-ns = <300000>;
32694274f20SRob Herring        };
32794274f20SRob Herring    };
32894274f20SRob Herring
32994274f20SRob Herring  - |
33094274f20SRob Herring    /*
33194274f20SRob Herring     * Example 5: opp-supported-hw
33294274f20SRob Herring     * (example: three level hierarchy of versions: cuts, substrate and process)
33394274f20SRob Herring     */
33494274f20SRob Herring    cpus {
33594274f20SRob Herring        #address-cells = <1>;
33694274f20SRob Herring        #size-cells = <0>;
33794274f20SRob Herring
33894274f20SRob Herring        cpu@0 {
33994274f20SRob Herring            compatible = "arm,cortex-a7";
34094274f20SRob Herring            device_type = "cpu";
34194274f20SRob Herring            reg = <0>;
34294274f20SRob Herring            cpu-supply = <&cpu_supply>;
34394274f20SRob Herring            operating-points-v2 = <&cpu0_opp_table_slow>;
34494274f20SRob Herring        };
34594274f20SRob Herring    };
34694274f20SRob Herring
34794274f20SRob Herring    cpu0_opp_table_slow: opp-table {
34894274f20SRob Herring        compatible = "operating-points-v2";
34994274f20SRob Herring        opp-shared;
35094274f20SRob Herring
35194274f20SRob Herring        opp-600000000 {
35294274f20SRob Herring            /*
35394274f20SRob Herring             * Supports all substrate and process versions for 0xF
35494274f20SRob Herring             * cuts, i.e. only first four cuts.
35594274f20SRob Herring             */
35694274f20SRob Herring            opp-supported-hw = <0xF 0xFFFFFFFF 0xFFFFFFFF>;
35794274f20SRob Herring            opp-hz = /bits/ 64 <600000000>;
35894274f20SRob Herring        };
35994274f20SRob Herring
36094274f20SRob Herring        opp-800000000 {
36194274f20SRob Herring            /*
36294274f20SRob Herring             * Supports:
36394274f20SRob Herring             * - cuts: only one, 6th cut (represented by 6th bit).
36494274f20SRob Herring             * - substrate: supports 16 different substrate versions
36594274f20SRob Herring             * - process: supports 9 different process versions
36694274f20SRob Herring             */
36794274f20SRob Herring            opp-supported-hw = <0x20 0xff0000ff 0x0000f4f0>;
36894274f20SRob Herring            opp-hz = /bits/ 64 <800000000>;
36994274f20SRob Herring        };
37094274f20SRob Herring
37194274f20SRob Herring        opp-900000000 {
37294274f20SRob Herring            /*
37394274f20SRob Herring             * Supports:
37494274f20SRob Herring             * - All cuts and substrate where process version is 0x2.
37594274f20SRob Herring             * - All cuts and process where substrate version is 0x2.
37694274f20SRob Herring             */
37794274f20SRob Herring            opp-supported-hw = <0xFFFFFFFF 0xFFFFFFFF 0x02>,
37894274f20SRob Herring                               <0xFFFFFFFF 0x01 0xFFFFFFFF>;
37994274f20SRob Herring            opp-hz = /bits/ 64 <900000000>;
38094274f20SRob Herring        };
38194274f20SRob Herring    };
38294274f20SRob Herring
38394274f20SRob Herring  - |
38494274f20SRob Herring    /*
38594274f20SRob Herring     * Example 6: opp-microvolt-<name>, opp-microamp-<name>:
38694274f20SRob Herring     * (example: device with two possible microvolt ranges: slow and fast)
38794274f20SRob Herring     */
38894274f20SRob Herring    cpus {
38994274f20SRob Herring        #address-cells = <1>;
39094274f20SRob Herring        #size-cells = <0>;
39194274f20SRob Herring
39294274f20SRob Herring        cpu@0 {
39394274f20SRob Herring            compatible = "arm,cortex-a7";
39494274f20SRob Herring            device_type = "cpu";
39594274f20SRob Herring            reg = <0>;
39694274f20SRob Herring            operating-points-v2 = <&cpu0_opp_table6>;
39794274f20SRob Herring        };
39894274f20SRob Herring    };
39994274f20SRob Herring
40094274f20SRob Herring    cpu0_opp_table6: opp-table-0 {
40194274f20SRob Herring        compatible = "operating-points-v2";
40294274f20SRob Herring        opp-shared;
40394274f20SRob Herring
40494274f20SRob Herring        opp-1000000000 {
40594274f20SRob Herring            opp-hz = /bits/ 64 <1000000000>;
40694274f20SRob Herring            opp-microvolt-slow = <915000 900000 925000>;
40794274f20SRob Herring            opp-microvolt-fast = <975000 970000 985000>;
40894274f20SRob Herring            opp-microamp-slow =  <70000>;
40994274f20SRob Herring            opp-microamp-fast =  <71000>;
41094274f20SRob Herring        };
41194274f20SRob Herring
41294274f20SRob Herring        opp-1200000000 {
41394274f20SRob Herring            opp-hz = /bits/ 64 <1200000000>;
41494274f20SRob Herring            opp-microvolt-slow = <915000 900000 925000>, /* Supply vcc0 */
41594274f20SRob Herring                                 <925000 910000 935000>; /* Supply vcc1 */
41694274f20SRob Herring            opp-microvolt-fast = <975000 970000 985000>, /* Supply vcc0 */
41794274f20SRob Herring                                 <965000 960000 975000>; /* Supply vcc1 */
41894274f20SRob Herring            opp-microamp =  <70000>; /* Will be used for both slow/fast */
41994274f20SRob Herring        };
42094274f20SRob Herring    };
42194274f20SRob Herring
42294274f20SRob Herring  - |
42394274f20SRob Herring    /*
42494274f20SRob Herring     * Example 7: Single cluster Quad-core ARM cortex A53, OPP points from firmware,
42594274f20SRob Herring     * distinct clock controls but two sets of clock/voltage/current lines.
42694274f20SRob Herring     */
42794274f20SRob Herring    cpus {
42894274f20SRob Herring        #address-cells = <2>;
42994274f20SRob Herring        #size-cells = <0>;
43094274f20SRob Herring
43194274f20SRob Herring        cpu@0 {
43294274f20SRob Herring            compatible = "arm,cortex-a53";
43394274f20SRob Herring            device_type = "cpu";
43494274f20SRob Herring            reg = <0x0 0x100>;
43594274f20SRob Herring            next-level-cache = <&A53_L2>;
43694274f20SRob Herring            clocks = <&dvfs_controller 0>;
43794274f20SRob Herring            operating-points-v2 = <&cpu_opp0_table>;
43894274f20SRob Herring        };
43994274f20SRob Herring        cpu@1 {
44094274f20SRob Herring            compatible = "arm,cortex-a53";
44194274f20SRob Herring            device_type = "cpu";
44294274f20SRob Herring            reg = <0x0 0x101>;
44394274f20SRob Herring            next-level-cache = <&A53_L2>;
44494274f20SRob Herring            clocks = <&dvfs_controller 1>;
44594274f20SRob Herring            operating-points-v2 = <&cpu_opp0_table>;
44694274f20SRob Herring        };
44794274f20SRob Herring        cpu@2 {
44894274f20SRob Herring            compatible = "arm,cortex-a53";
44994274f20SRob Herring            device_type = "cpu";
45094274f20SRob Herring            reg = <0x0 0x102>;
45194274f20SRob Herring            next-level-cache = <&A53_L2>;
45294274f20SRob Herring            clocks = <&dvfs_controller 2>;
45394274f20SRob Herring            operating-points-v2 = <&cpu_opp1_table>;
45494274f20SRob Herring        };
45594274f20SRob Herring        cpu@3 {
45694274f20SRob Herring            compatible = "arm,cortex-a53";
45794274f20SRob Herring            device_type = "cpu";
45894274f20SRob Herring            reg = <0x0 0x103>;
45994274f20SRob Herring            next-level-cache = <&A53_L2>;
46094274f20SRob Herring            clocks = <&dvfs_controller 3>;
46194274f20SRob Herring            operating-points-v2 = <&cpu_opp1_table>;
46294274f20SRob Herring        };
46394274f20SRob Herring
46494274f20SRob Herring    };
46594274f20SRob Herring
46694274f20SRob Herring    cpu_opp0_table: opp-table-0 {
46794274f20SRob Herring        compatible = "operating-points-v2";
46894274f20SRob Herring        opp-shared;
46994274f20SRob Herring    };
47094274f20SRob Herring
47194274f20SRob Herring    cpu_opp1_table: opp-table-1 {
47294274f20SRob Herring        compatible = "operating-points-v2";
47394274f20SRob Herring        opp-shared;
47494274f20SRob Herring    };
47594274f20SRob Herring...
476