1 Binding for ST's CPUFreq driver 1 Binding for ST's CPUFreq driver 2 =============================== 2 =============================== 3 3 4 ST's CPUFreq driver attempts to read 'process' 4 ST's CPUFreq driver attempts to read 'process' and 'version' attributes 5 from the SoC, then supplies the OPP framework 5 from the SoC, then supplies the OPP framework with 'prop' and 'supported 6 hardware' information respectively. The frame 6 hardware' information respectively. The framework is then able to read 7 the DT and operate in the usual way. 7 the DT and operate in the usual way. 8 8 9 Frequency Scaling only 9 Frequency Scaling only 10 ---------------------- 10 ---------------------- 11 11 12 No vendor specific driver required for this. 12 No vendor specific driver required for this. 13 13 14 Located in CPU's node: 14 Located in CPU's node: 15 15 16 - operating-points : [See: ../pow 16 - operating-points : [See: ../power/opp-v1.yaml] 17 17 18 Example [safe] 18 Example [safe] 19 -------------- 19 -------------- 20 20 21 cpus { 21 cpus { 22 cpu@0 { 22 cpu@0 { 23 /* kHz uV 23 /* kHz uV */ 24 operating-points = <1500000 0 24 operating-points = <1500000 0 25 1200000 0 25 1200000 0 26 800000 0 26 800000 0 27 500000 0> 27 500000 0>; 28 }; 28 }; 29 }; 29 }; 30 30 31 Dynamic Voltage and Frequency Scaling (DVFS) 31 Dynamic Voltage and Frequency Scaling (DVFS) 32 -------------------------------------------- 32 -------------------------------------------- 33 33 34 This requires the ST CPUFreq driver to supply 34 This requires the ST CPUFreq driver to supply 'process' and 'version' info. 35 35 36 Located in CPU's node: 36 Located in CPU's node: 37 37 38 - operating-points-v2 : [See ../powe 38 - operating-points-v2 : [See ../power/opp-v2.yaml] 39 39 40 Example [unsafe] 40 Example [unsafe] 41 ---------------- 41 ---------------- 42 42 43 cpus { 43 cpus { 44 cpu@0 { 44 cpu@0 { 45 operating-points-v2 = <&cp 45 operating-points-v2 = <&cpu0_opp_table>; 46 }; 46 }; 47 }; 47 }; 48 48 49 cpu0_opp_table: opp_table { 49 cpu0_opp_table: opp_table { 50 compatible = "operating-points-v2"; 50 compatible = "operating-points-v2"; 51 51 52 /* ################################### 52 /* ############################################################### */ 53 /* # WARNING: Do not attempt to copy/r 53 /* # WARNING: Do not attempt to copy/replicate these nodes, # */ 54 /* # they are only to be supp 54 /* # they are only to be supplied by the bootloader !!! # */ 55 /* ################################### 55 /* ############################################################### */ 56 opp0 { 56 opp0 { 57 /* Maj 57 /* Major Minor Substrate */ 58 /* 2 58 /* 2 all all */ 59 opp-supported-hw = <0x0 59 opp-supported-hw = <0x00000004 0xffffffff 0xffffffff>; 60 opp-hz = /bit 60 opp-hz = /bits/ 64 <1500000000>; 61 clock-latency-ns = <100 61 clock-latency-ns = <10000000>; 62 62 63 opp-microvolt-pcode0 = <120 63 opp-microvolt-pcode0 = <1200000>; 64 opp-microvolt-pcode1 = <120 64 opp-microvolt-pcode1 = <1200000>; 65 opp-microvolt-pcode2 = <120 65 opp-microvolt-pcode2 = <1200000>; 66 opp-microvolt-pcode3 = <120 66 opp-microvolt-pcode3 = <1200000>; 67 opp-microvolt-pcode4 = <117 67 opp-microvolt-pcode4 = <1170000>; 68 opp-microvolt-pcode5 = <114 68 opp-microvolt-pcode5 = <1140000>; 69 opp-microvolt-pcode6 = <110 69 opp-microvolt-pcode6 = <1100000>; 70 opp-microvolt-pcode7 = <107 70 opp-microvolt-pcode7 = <1070000>; 71 }; 71 }; 72 72 73 opp1 { 73 opp1 { 74 /* Maj 74 /* Major Minor Substrate */ 75 /* all 75 /* all all all */ 76 opp-supported-hw = <0xf 76 opp-supported-hw = <0xffffffff 0xffffffff 0xffffffff>; 77 opp-hz = /bit 77 opp-hz = /bits/ 64 <1200000000>; 78 clock-latency-ns = <100 78 clock-latency-ns = <10000000>; 79 79 80 opp-microvolt-pcode0 = <111 80 opp-microvolt-pcode0 = <1110000>; 81 opp-microvolt-pcode1 = <115 81 opp-microvolt-pcode1 = <1150000>; 82 opp-microvolt-pcode2 = <110 82 opp-microvolt-pcode2 = <1100000>; 83 opp-microvolt-pcode3 = <108 83 opp-microvolt-pcode3 = <1080000>; 84 opp-microvolt-pcode4 = <104 84 opp-microvolt-pcode4 = <1040000>; 85 opp-microvolt-pcode5 = <102 85 opp-microvolt-pcode5 = <1020000>; 86 opp-microvolt-pcode6 = <980 86 opp-microvolt-pcode6 = <980000>; 87 opp-microvolt-pcode7 = <930 87 opp-microvolt-pcode7 = <930000>; 88 }; 88 }; 89 }; 89 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.