| Binding for ST's CPUFreq driver | |
| =============================== | |
| ST's CPUFreq driver attempts to read 'process' and 'version' attributes | |
| from the SoC, then supplies the OPP framework with 'prop' and 'supported | |
| hardware' information respectively. The framework is then able to read | |
| the DT and operate in the usual way. | |
| For more information about the expected DT format [See: ../opp/opp.txt]. | |
| Frequency Scaling only | |
| ---------------------- | |
| No vendor specific driver required for this. | |
| Located in CPU's node: | |
| - operating-points : [See: ../power/opp.txt] | |
| Example [safe] | |
| -------------- | |
| cpus { | |
| cpu@0 { | |
| /* kHz uV */ | |
| operating-points = <1500000 0 | |
| 1200000 0 | |
| 800000 0 | |
| 500000 0>; | |
| }; | |
| }; | |
| Dynamic Voltage and Frequency Scaling (DVFS) | |
| -------------------------------------------- | |
| This requires the ST CPUFreq driver to supply 'process' and 'version' info. | |
| Located in CPU's node: | |
| - operating-points-v2 : [See ../power/opp.txt] | |
| Example [unsafe] | |
| ---------------- | |
| cpus { | |
| cpu@0 { | |
| operating-points-v2 = <&cpu0_opp_table>; | |
| }; | |
| }; | |
| cpu0_opp_table: opp_table { | |
| compatible = "operating-points-v2"; | |
| /* ############################################################### */ | |
| /* # WARNING: Do not attempt to copy/replicate these nodes, # */ | |
| /* # they are only to be supplied by the bootloader !!! # */ | |
| /* ############################################################### */ | |
| opp0 { | |
| /* Major Minor Substrate */ | |
| /* 2 all all */ | |
| opp-supported-hw = <0x00000004 0xffffffff 0xffffffff>; | |
| opp-hz = /bits/ 64 <1500000000>; | |
| clock-latency-ns = <10000000>; | |
| opp-microvolt-pcode0 = <1200000>; | |
| opp-microvolt-pcode1 = <1200000>; | |
| opp-microvolt-pcode2 = <1200000>; | |
| opp-microvolt-pcode3 = <1200000>; | |
| opp-microvolt-pcode4 = <1170000>; | |
| opp-microvolt-pcode5 = <1140000>; | |
| opp-microvolt-pcode6 = <1100000>; | |
| opp-microvolt-pcode7 = <1070000>; | |
| }; | |
| opp1 { | |
| /* Major Minor Substrate */ | |
| /* all all all */ | |
| opp-supported-hw = <0xffffffff 0xffffffff 0xffffffff>; | |
| opp-hz = /bits/ 64 <1200000000>; | |
| clock-latency-ns = <10000000>; | |
| opp-microvolt-pcode0 = <1110000>; | |
| opp-microvolt-pcode1 = <1150000>; | |
| opp-microvolt-pcode2 = <1100000>; | |
| opp-microvolt-pcode3 = <1080000>; | |
| opp-microvolt-pcode4 = <1040000>; | |
| opp-microvolt-pcode5 = <1020000>; | |
| opp-microvolt-pcode6 = <980000>; | |
| opp-microvolt-pcode7 = <930000>; | |
| }; | |
| }; |