1Binding for Rockchip's CPUFreq driver 2=============================== 3 4Rockchip's CPUFreq driver attempts to read leakage value from eFuse 5and get frequency count from pvtm, then supplies the OPP framework 6with 'prop' information which is used to determine opp-microvolt-<name> 7property of OPPS when it is parsed by the OPP framework. This is based 8on operating-points-v2, but the driver can also create the "cpufreq-dt" 9platform_device to compatibility with operating-points. 10 11For more information about the expected DT format [See: ../opp/opp.txt]. 12 13Optional properties: 14In 'operating-points-v2' table: 15- rockchip,leakage-voltage-sel: The property is an array of 3-tuples items, and 16 each item consists of leakage and voltage selector like 17 <min-leakage max-leakage volt-selector>. 18 min-leakage: minimum leakage in mA, ranges from 1 to 254. 19 max-leakage: maximum leakage in mA, ranges from 1 to 254. 20 voltage-selector: a sequence number which is used to math 21 opp-microvolt-L<number> roperty in OPP node. 22 23- rockchip,pvtm-voltage-sel: The property is an array of 3-tuples items, and 24 each item consists of pvtm and voltage selector like 25 <min-pvtm max-pvtm volt-selector>. 26 min-pvtm: minimum frequency count in KHz. 27 max-pvtm: maximum frequency count in KHz. 28 voltage-selector: a sequence number which is used to math 29 opp-microvolt-L<number> roperty in OPP node. 30- rockchip,pvtm-freq: Clock frequency in KHz, which is used to set the cpu clock 31 frequency before get frequency count of pvtm. 32- rockchip,pvtm-volt: Voltage in uV, which is used to set the cpu voltage before 33 get frequency count of pvtm. 34- rockchip,pvtm-ch: An array of two integers containing pvtm channel and clock 35 oscillation ring. 36- rockchip,pvtm-sample-time: The number of milliseconds to wait for pvtm to 37 finish counting. 38- rockchip,pvtm-number: An integer indicating the number of sampling points. 39- rockchip,pvtm-error: An integer indicating the error between the sample 40 results. 41- rockchip,pvtm-ref-temp: The SoC internal temperature in degree centigrade, the 42 min-pvtm and max-pvtm in 'leakage-voltage-sel' are 43 measured at reference temperature. 44- rockchip,pvtm-temp-prop: An array of two integers containing proportional 45 constants which is used to convert the value at current 46 temperature to reference temperature. The first one is 47 used when current temperature is below reference 48 temperature. Conversely, The second one is used when 49 current temperature is above reference temperature. 50- rockchip,pvtm-thermal-zone: A thermal zone node containing thermal sensor, 51 it's used to get the current temperature. 52- rockchip,thermal-zone: A thermal zone node containing thermal sensor, 53 it's used to get the current temperature. 54 55- nvmem-cells: A phandle to cpu_leakage data provided by a nvmem device. 56- nvmem-cell-names: Should be "cpu_leakage" 57 58- rockchip,threshold-freq: Clock frequency in KHz, it's used to reduce power 59 for SoCs with two clusters. 60- rockchip,freq-limit: Only one cluster can contain the property, and the 61 cluster's maximum frequency will be limited to its 62 threshold frequency, if the other cluster's frequency 63 is geater than or equal to its threshold frequency. 64 65Examples: 66 67cpus { 68 cpu@0 { 69 operating-points-v2 = <&cluster0_opp>; 70 }; 71} 72 73cluster0_opp: opp_table0 { 74 compatible = "operating-points-v2"; 75 opp-shared; 76 rockchip,leakage-voltage-sel = < 77 1 24 0 78 25 254 1 79 >; 80 nvmem-cells = <&cpu_leakage>; 81 nvmem-cell-names = "cpu_leakage"; 82 83 opp@216000000 { 84 opp-hz = /bits/ 64 <216000000>; 85 opp-microvolt = <950000 950000 1350000>; 86 opp-microvolt-L0 = <1050000 1050000 1350000>; 87 opp-microvolt-L1 = <950000 950000 1350000>; 88 opp-suspend; 89 } 90}; 91