mirror of
https://github.com/torvalds/linux.git
synced 2024-12-20 10:01:56 +00:00
8a67f0ef2b
big LITTLE is ARM's new Architecture focussing power/performance needs of modern world. More information about big LITTLE can be found here: http://www.arm.com/products/processors/technologies/biglittleprocessing.php http://lwn.net/Articles/481055/ In order to keep cpufreq support for all big LITTLE platforms simple/generic, this patch tries to add a generic cpufreq driver layer for all big LITTLE platforms. The driver is divided into two parts: - Core driver: Generic and shared across all big LITTLE SoC's - Glue drivers: Per platform drivers providing ops to the core driver This patch adds in a generic glue driver which would extract information from Device Tree. Future SoC's can either reuse the DT glue or write their own depending on the need. Signed-off-by: Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
66 lines
1.4 KiB
Plaintext
66 lines
1.4 KiB
Plaintext
Generic ARM big LITTLE cpufreq driver's DT glue
|
|
-----------------------------------------------
|
|
|
|
This is DT specific glue layer for generic cpufreq driver for big LITTLE
|
|
systems.
|
|
|
|
Both required and optional properties listed below must be defined
|
|
under node /cpus/cpu@x. Where x is the first cpu inside a cluster.
|
|
|
|
FIXME: Cpus should boot in the order specified in DT and all cpus for a cluster
|
|
must be present contiguously. Generic DT driver will check only node 'x' for
|
|
cpu:x.
|
|
|
|
Required properties:
|
|
- operating-points: Refer to Documentation/devicetree/bindings/power/opp.txt
|
|
for details
|
|
|
|
Optional properties:
|
|
- clock-latency: Specify the possible maximum transition latency for clock,
|
|
in unit of nanoseconds.
|
|
|
|
Examples:
|
|
|
|
cpus {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
cpu@0 {
|
|
compatible = "arm,cortex-a15";
|
|
reg = <0>;
|
|
next-level-cache = <&L2>;
|
|
operating-points = <
|
|
/* kHz uV */
|
|
792000 1100000
|
|
396000 950000
|
|
198000 850000
|
|
>;
|
|
clock-latency = <61036>; /* two CLK32 periods */
|
|
};
|
|
|
|
cpu@1 {
|
|
compatible = "arm,cortex-a15";
|
|
reg = <1>;
|
|
next-level-cache = <&L2>;
|
|
};
|
|
|
|
cpu@100 {
|
|
compatible = "arm,cortex-a7";
|
|
reg = <100>;
|
|
next-level-cache = <&L2>;
|
|
operating-points = <
|
|
/* kHz uV */
|
|
792000 950000
|
|
396000 750000
|
|
198000 450000
|
|
>;
|
|
clock-latency = <61036>; /* two CLK32 periods */
|
|
};
|
|
|
|
cpu@101 {
|
|
compatible = "arm,cortex-a7";
|
|
reg = <101>;
|
|
next-level-cache = <&L2>;
|
|
};
|
|
};
|