Binding for Rockchip's CPUFreq driver =============================== Rockchip's CPUFreq driver attempts to read leakage value from eFuse and get frequency count from pvtm, then supplies the OPP framework with 'prop' information which is used to determine opp-microvolt- property of OPPS when it is parsed by the OPP framework. This is based on operating-points-v2, but the driver can also create the "cpufreq-dt" platform_device to compatibility with operating-points. For more information about the expected DT format [See: ../opp/opp.txt]. Optional properties: In 'operating-points-v2' table: - rockchip,leakage-voltage-sel: The property is an array of 3-tuples items, and each item consists of leakage and voltage selector like . min-leakage: minimum leakage in mA, ranges from 1 to 254. max-leakage: maximum leakage in mA, ranges from 1 to 254. voltage-selector: a sequence number which is used to math opp-microvolt-L roperty in OPP node. - rockchip,pvtm-voltage-sel: The property is an array of 3-tuples items, and each item consists of pvtm and voltage selector like . min-pvtm: minimum frequency count in KHz. max-pvtm: maximum frequency count in KHz. voltage-selector: a sequence number which is used to math opp-microvolt-L roperty in OPP node. - rockchip,pvtm-freq: Clock frequency in KHz, which is used to set the cpu clock frequency before get frequency count of pvtm. - rockchip,pvtm-volt: Voltage in uV, which is used to set the cpu voltage before get frequency count of pvtm. - rockchip,pvtm-ch: An array of two integers containing pvtm channel and clock oscillation ring. - rockchip,pvtm-sample-time: The number of milliseconds to wait for pvtm to finish counting. - rockchip,pvtm-number: An integer indicating the number of sampling points. - rockchip,pvtm-error: An integer indicating the error between the sample results. - rockchip,pvtm-ref-temp: The SoC internal temperature in degree centigrade, the min-pvtm and max-pvtm in 'leakage-voltage-sel' are measured at reference temperature. - rockchip,pvtm-temp-prop: An array of two integers containing proportional constants which is used to convert the value at current temperature to reference temperature. The first one is used when current temperature is below reference temperature. Conversely, The second one is used when current temperature is above reference temperature. - rockchip,pvtm-thermal-zone: A thermal zone node containing thermal sensor, it's used to get the current temperature. - rockchip,thermal-zone: A thermal zone node containing thermal sensor, it's used to get the current temperature. - nvmem-cells: A phandle to cpu_leakage data provided by a nvmem device. - nvmem-cell-names: Should be "cpu_leakage" - rockchip,threshold-freq: Clock frequency in KHz, it's used to reduce power for SoCs with two clusters. - rockchip,freq-limit: Only one cluster can contain the property, and the cluster's maximum frequency will be limited to its threshold frequency, if the other cluster's frequency is geater than or equal to its threshold frequency. Examples: cpus { cpu@0 { operating-points-v2 = <&cluster0_opp>; }; } cluster0_opp: opp_table0 { compatible = "operating-points-v2"; opp-shared; rockchip,leakage-voltage-sel = < 1 24 0 25 254 1 >; nvmem-cells = <&cpu_leakage>; nvmem-cell-names = "cpu_leakage"; opp@216000000 { opp-hz = /bits/ 64 <216000000>; opp-microvolt = <950000 950000 1350000>; opp-microvolt-L0 = <1050000 1050000 1350000>; opp-microvolt-L1 = <950000 950000 1350000>; opp-suspend; } };