blob: 3aeb8c7a5385a59dff1fb868ccd9d6022b0c680d [file] [log] [blame]
/*
* Google Veyron (and derivatives) fragment for ddr3 ddrfreq settings
*
* Copyright 2015 Google, Inc
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
&dmc {
status = "okay";
rockchip,pd-enable-freq = <533000000>;
operating-points = <
/* KHz uV */
200000 1050000
333000 1100000
533000 1150000
666000 1200000
>;
};
&cpu_thermal {
trips {
cpu_almost_alert0: cpu_almost_alert0 {
temperature = <68000>; /* millicelsius */
hysteresis = <2000>; /* millicelsius */
type = "passive";
};
};
cooling-maps {
/*
* Try to use the memory controller to help cool the CPU.
*
* We'll go down to 533MHz when we start getting hot.
*
* In the future more trip points should be added with further
* testing.
*
* We lock into certain frequencies instead of allowing the
* thermal framework to work with a range for a few reasons:
* 1. The thermal framework has lots of ways to cool down the
* cpu. It has no way to known how to trade off between CPU
* and memory, so this helps keep it from trying to do both
* at the same time.
* 2. Flipping DMC frequencies is expensive. If we did it as
* much as the thermal framework wanted we'd just waste good
* processing time.
* 3. Once we're really hot it's hard to flip DMC frequencies
* because the CPU isn't running fast enough to complete the
* needed work in time.
*
* Note that we always flip DMC freq a little before CPU freq.
* Again, this is to avoid lots of expensive flipping.
*/
dmc_map1 {
trip = <&cpu_almost_alert0>;
cooling-device =
<&dmc 1 1>;
};
};
};