arm64: versal: Add frequency scaling support
Add CPU Operating Performance Points (OPP) table and ACPU clock for cpu0. This is needed by cpufreq driver to manage CPU frequency scaling. e.g. In the design if we have 72 as the multiplier and 33.333 MHz as the ref frequency: pllfreq = 33.33*72 = 2399.76 MHz It is the pll output. Now, with the integral divisors we can achieve: 2399.76 / 2 = 1199.88 MHz 2399.76 / 3 = 799.92 MHz 2399.76 / 4 = 599.94 MHz 2399.76 / 5 = 479.95 MHz 2399.76 / 6 = 399.96 MHz 2399.76 / 7 = 342.82 MHz etc. Therefore, some of them are chosen to be in the device tree. For more reference: https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841831/CPU+frequency+scaling Signed-off-by: Izhar Ameer Shaikh <izhar.ameer.shaikh@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This commit is contained in:
committed by
Michal Simek
parent
100650c719
commit
8e841bd828
@@ -80,6 +80,10 @@
|
||||
};
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
clocks = <&versal_clk ACPU>;
|
||||
};
|
||||
|
||||
&can0 {
|
||||
clocks = <&versal_clk CAN0_REF>, <&versal_clk LPD_LSBUS>;
|
||||
power-domains = <&versal_firmware PD_CAN_FD_0>;
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
compatible = "arm,cortex-a72", "arm,armv8";
|
||||
device_type = "cpu";
|
||||
enable-method = "psci";
|
||||
operating-points-v2 = <&cpu_opp_table>;
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
@@ -30,10 +31,36 @@
|
||||
compatible = "arm,cortex-a72", "arm,armv8";
|
||||
device_type = "cpu";
|
||||
enable-method = "psci";
|
||||
operating-points-v2 = <&cpu_opp_table>;
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
cpu_opp_table: cpu_opp_table {
|
||||
compatible = "operating-points-v2";
|
||||
opp-shared;
|
||||
opp00 {
|
||||
opp-hz = /bits/ 64 <1199999988>;
|
||||
opp-microvolt = <1000000>;
|
||||
clock-latency-ns = <500000>;
|
||||
};
|
||||
opp01 {
|
||||
opp-hz = /bits/ 64 <599999994>;
|
||||
opp-microvolt = <1000000>;
|
||||
clock-latency-ns = <500000>;
|
||||
};
|
||||
opp02 {
|
||||
opp-hz = /bits/ 64 <399999996>;
|
||||
opp-microvolt = <1000000>;
|
||||
clock-latency-ns = <500000>;
|
||||
};
|
||||
opp03 {
|
||||
opp-hz = /bits/ 64 <299999997>;
|
||||
opp-microvolt = <1000000>;
|
||||
clock-latency-ns = <500000>;
|
||||
};
|
||||
};
|
||||
|
||||
dcc: dcc {
|
||||
compatible = "arm,dcc";
|
||||
status = "disabled";
|
||||
|
||||
Reference in New Issue
Block a user