1*b122bcd9SLee JonesBinding for ST's CPUFreq driver 2*b122bcd9SLee Jones=============================== 3*b122bcd9SLee Jones 4*b122bcd9SLee JonesST's CPUFreq driver attempts to read 'process' and 'version' attributes 5*b122bcd9SLee Jonesfrom the SoC, then supplies the OPP framework with 'prop' and 'supported 6*b122bcd9SLee Joneshardware' information respectively. The framework is then able to read 7*b122bcd9SLee Jonesthe DT and operate in the usual way. 8*b122bcd9SLee Jones 9*b122bcd9SLee JonesFor more information about the expected DT format [See: ../opp/opp.txt]. 10*b122bcd9SLee Jones 11*b122bcd9SLee JonesFrequency Scaling only 12*b122bcd9SLee Jones---------------------- 13*b122bcd9SLee Jones 14*b122bcd9SLee JonesNo vendor specific driver required for this. 15*b122bcd9SLee Jones 16*b122bcd9SLee JonesLocated in CPU's node: 17*b122bcd9SLee Jones 18*b122bcd9SLee Jones- operating-points : [See: ../power/opp.txt] 19*b122bcd9SLee Jones 20*b122bcd9SLee JonesExample [safe] 21*b122bcd9SLee Jones-------------- 22*b122bcd9SLee Jones 23*b122bcd9SLee Jonescpus { 24*b122bcd9SLee Jones cpu@0 { 25*b122bcd9SLee Jones /* kHz uV */ 26*b122bcd9SLee Jones operating-points = <1500000 0 27*b122bcd9SLee Jones 1200000 0 28*b122bcd9SLee Jones 800000 0 29*b122bcd9SLee Jones 500000 0>; 30*b122bcd9SLee Jones }; 31*b122bcd9SLee Jones}; 32*b122bcd9SLee Jones 33*b122bcd9SLee JonesDynamic Voltage and Frequency Scaling (DVFS) 34*b122bcd9SLee Jones-------------------------------------------- 35*b122bcd9SLee Jones 36*b122bcd9SLee JonesThis requires the ST CPUFreq driver to supply 'process' and 'version' info. 37*b122bcd9SLee Jones 38*b122bcd9SLee JonesLocated in CPU's node: 39*b122bcd9SLee Jones 40*b122bcd9SLee Jones- operating-points-v2 : [See ../power/opp.txt] 41*b122bcd9SLee Jones 42*b122bcd9SLee JonesExample [unsafe] 43*b122bcd9SLee Jones---------------- 44*b122bcd9SLee Jones 45*b122bcd9SLee Jonescpus { 46*b122bcd9SLee Jones cpu@0 { 47*b122bcd9SLee Jones operating-points-v2 = <&cpu0_opp_table>; 48*b122bcd9SLee Jones }; 49*b122bcd9SLee Jones}; 50*b122bcd9SLee Jones 51*b122bcd9SLee Jonescpu0_opp_table: opp_table { 52*b122bcd9SLee Jones compatible = "operating-points-v2"; 53*b122bcd9SLee Jones 54*b122bcd9SLee Jones /* ############################################################### */ 55*b122bcd9SLee Jones /* # WARNING: Do not attempt to copy/replicate these nodes, # */ 56*b122bcd9SLee Jones /* # they are only to be supplied by the bootloader !!! # */ 57*b122bcd9SLee Jones /* ############################################################### */ 58*b122bcd9SLee Jones opp0 { 59*b122bcd9SLee Jones /* Major Minor Substrate */ 60*b122bcd9SLee Jones /* 2 all all */ 61*b122bcd9SLee Jones opp-supported-hw = <0x00000004 0xffffffff 0xffffffff>; 62*b122bcd9SLee Jones opp-hz = /bits/ 64 <1500000000>; 63*b122bcd9SLee Jones clock-latency-ns = <10000000>; 64*b122bcd9SLee Jones 65*b122bcd9SLee Jones opp-microvolt-pcode0 = <1200000>; 66*b122bcd9SLee Jones opp-microvolt-pcode1 = <1200000>; 67*b122bcd9SLee Jones opp-microvolt-pcode2 = <1200000>; 68*b122bcd9SLee Jones opp-microvolt-pcode3 = <1200000>; 69*b122bcd9SLee Jones opp-microvolt-pcode4 = <1170000>; 70*b122bcd9SLee Jones opp-microvolt-pcode5 = <1140000>; 71*b122bcd9SLee Jones opp-microvolt-pcode6 = <1100000>; 72*b122bcd9SLee Jones opp-microvolt-pcode7 = <1070000>; 73*b122bcd9SLee Jones }; 74*b122bcd9SLee Jones 75*b122bcd9SLee Jones opp1 { 76*b122bcd9SLee Jones /* Major Minor Substrate */ 77*b122bcd9SLee Jones /* all all all */ 78*b122bcd9SLee Jones opp-supported-hw = <0xffffffff 0xffffffff 0xffffffff>; 79*b122bcd9SLee Jones opp-hz = /bits/ 64 <1200000000>; 80*b122bcd9SLee Jones clock-latency-ns = <10000000>; 81*b122bcd9SLee Jones 82*b122bcd9SLee Jones opp-microvolt-pcode0 = <1110000>; 83*b122bcd9SLee Jones opp-microvolt-pcode1 = <1150000>; 84*b122bcd9SLee Jones opp-microvolt-pcode2 = <1100000>; 85*b122bcd9SLee Jones opp-microvolt-pcode3 = <1080000>; 86*b122bcd9SLee Jones opp-microvolt-pcode4 = <1040000>; 87*b122bcd9SLee Jones opp-microvolt-pcode5 = <1020000>; 88*b122bcd9SLee Jones opp-microvolt-pcode6 = <980000>; 89*b122bcd9SLee Jones opp-microvolt-pcode7 = <930000>; 90*b122bcd9SLee Jones }; 91*b122bcd9SLee Jones}; 92