62 lines
1.4 KiB
Plaintext
62 lines
1.4 KiB
Plaintext
STM32 CPUFreq and OPP bindings
|
|
==============================
|
|
|
|
STM32 CPUFreq driver needs to read chip information from the SoC to list
|
|
available OPPs. Then it depends on cpufreq-dt bindings.
|
|
|
|
Required properties:
|
|
--------------------
|
|
- clocks: Phandle to the cpu clock "cpu".
|
|
- clocks-name: Should contain "cpu".
|
|
- nvmem-cells: Phandle to nvmem cell that contains "part_number".
|
|
- nvmem-cell-names: Must be "part_number".
|
|
- operating-points-v2: Phandle to operating points table. See ../power/opp.txt
|
|
for more details.
|
|
|
|
Optional properties:
|
|
--------------------
|
|
See cpufreq-dt.txt for optional properties.
|
|
|
|
Examples:
|
|
---------
|
|
cpus {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
cpu0: cpu@0 {
|
|
compatible = "arm,cortex-a7";
|
|
device_type = "cpu";
|
|
reg = <0>;
|
|
clocks = <&rcc CK_MPU>;
|
|
clock-names = "cpu";
|
|
operating-points-v2 = <&cpu0_opp_table>;
|
|
nvmem-cells = <&part_number_otp>;
|
|
nvmem-cell-names = "part_number";
|
|
};
|
|
|
|
cpu1: cpu@1 {
|
|
compatible = "arm,cortex-a7";
|
|
device_type = "cpu";
|
|
reg = <1>;
|
|
clocks = <&rcc CK_MPU>;
|
|
clock-names = "cpu";
|
|
operating-points-v2 = <&cpu0_opp_table>;
|
|
};
|
|
};
|
|
|
|
cpu0_opp_table: cpu0-opp-table {
|
|
compatible = "operating-points-v2";
|
|
opp-shared;
|
|
|
|
opp-650000000 {
|
|
opp-hz = /bits/ 64 <650000000>;
|
|
opp-microvolt = <1200000>;
|
|
opp-supported-hw = <0x1>;
|
|
};
|
|
opp-800000000 {
|
|
opp-hz = /bits/ 64 <800000000>;
|
|
opp-microvolt = <1350000>;
|
|
opp-supported-hw = <0x2>;
|
|
};
|
|
};
|