ARM: tegra11: dvfs: Add high voltage entries to dvfs tables
Alex Frid [Tue, 20 Nov 2012 07:20:34 +0000 (23:20 -0800)]
Added 1.17V and 1.25V entries to dvfs tables. The frequency limits
are just duplicated from 1.12V entry. Nominal voltage is still at
1.1V level, so no actual voltage increase is expected.

Bug 1161126

Change-Id: Ia7911c92184961c8e5dba6b3777146931f39bc4e
Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/165513
GVS: Gerrit_Virtual_Submit
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>

arch/arm/mach-tegra/tegra11_dvfs.c

index e84e6ac..bc366d7 100644 (file)
@@ -118,7 +118,7 @@ static struct dvfs cpu_dvfs = {
 /* Core DVFS tables */
 /* FIXME: real data */
 static const int core_millivolts[MAX_DVFS_FREQS] = {
-       900, 950, 1000, 1050, 1100, 1120};
+       900, 950, 1000, 1050, 1100, 1120, 1170, 1250};
 
 #define CORE_DVFS(_clk_name, _speedo_id, _auto, _mult, _freqs...)      \
        {                                                       \
@@ -133,76 +133,76 @@ static const int core_millivolts[MAX_DVFS_FREQS] = {
        }
 
 static struct dvfs core_dvfs_table[] = {
-       /* Core voltages (mV):                   900,    950,   1000,   1050,    1100,    1120, */
+       /* Core voltages (mV):                   900,    950,   1000,   1050,    1100,    1120,    1170,    1250 */
        /* Clock limits for internal blocks, PLLs */
 #ifndef CONFIG_TEGRA_SIMULATION_PLATFORM
-       CORE_DVFS("cpu_lp", -1, 1, KHZ,       228000, 300000, 396000, 528000,  648000,  696000),
-       CORE_DVFS("emc",   -1, 1, KHZ,             1,      1,      1,      1,  800000,  800000),
-       CORE_DVFS("sbus",  -1, 1, KHZ,        132000, 204000, 240000, 276000,  324000,  336000),
+       CORE_DVFS("cpu_lp", -1, 1, KHZ,       228000, 300000, 396000, 528000,  648000,  696000,  696000,  696000),
+       CORE_DVFS("emc",   -1, 1, KHZ,             1,      1,      1,      1,  800000,  800000,  800000,  800000),
+       CORE_DVFS("sbus",  -1, 1, KHZ,        132000, 204000, 240000, 276000,  324000,  336000,  336000,  336000),
 
-       CORE_DVFS("vi",    -1, 1, KHZ,        144000, 216000, 240000, 312000,  372000,  408000),
+       CORE_DVFS("vi",    -1, 1, KHZ,        144000, 216000, 240000, 312000,  372000,  408000,  408000,  408000),
 
-       CORE_DVFS("2d",    -1, 1, KHZ,        192000, 228000, 300000, 396000,  492000,  516000),
-       CORE_DVFS("3d",    -1, 1, KHZ,        192000, 228000, 300000, 396000,  492000,  516000),
-       CORE_DVFS("epp",   -1, 1, KHZ,        192000, 228000, 300000, 396000,  492000,  516000),
+       CORE_DVFS("2d",    -1, 1, KHZ,        192000, 228000, 300000, 396000,  492000,  516000,  516000,  516000),
+       CORE_DVFS("3d",    -1, 1, KHZ,        192000, 228000, 300000, 396000,  492000,  516000,  516000,  516000),
+       CORE_DVFS("epp",   -1, 1, KHZ,        192000, 228000, 300000, 396000,  492000,  516000,  516000,  516000),
 
-       CORE_DVFS("msenc", -1, 1, KHZ,        144000, 182000, 240000, 312000,  384000,  408000),
-       CORE_DVFS("se",    -1, 1, KHZ,        144000, 182000, 240000, 312000,  384000,  408000),
-       CORE_DVFS("tsec",  -1, 1, KHZ,        144000, 182000, 240000, 312000,  384000,  408000),
-       CORE_DVFS("vde",   -1, 1, KHZ,        144000, 182000, 240000, 312000,  384000,  408000),
+       CORE_DVFS("msenc", -1, 1, KHZ,        144000, 182000, 240000, 312000,  384000,  408000,  408000,  408000),
+       CORE_DVFS("se",    -1, 1, KHZ,        144000, 182000, 240000, 312000,  384000,  408000,  408000,  408000),
+       CORE_DVFS("tsec",  -1, 1, KHZ,        144000, 182000, 240000, 312000,  384000,  408000,  408000,  408000),
+       CORE_DVFS("vde",   -1, 1, KHZ,        144000, 182000, 240000, 312000,  384000,  408000,  408000,  408000),
 
-       CORE_DVFS("host1x", -1, 1, KHZ,       144000, 204000, 240000, 276000,  324000,  336000),
+       CORE_DVFS("host1x", -1, 1, KHZ,       144000, 204000, 240000, 276000,  324000,  336000,  336000,  336000),
 
 #ifdef CONFIG_TEGRA_DUAL_CBUS
-       CORE_DVFS("c2bus", -1, 1, KHZ,        192000, 228000, 300000, 396000,  492000,  516000),
-       CORE_DVFS("c3bus", -1, 1, KHZ,        144000, 182000, 240000, 312000,  384000,  408000),
+       CORE_DVFS("c2bus", -1, 1, KHZ,        192000, 228000, 300000, 396000,  492000,  516000,  516000,  516000),
+       CORE_DVFS("c3bus", -1, 1, KHZ,        144000, 182000, 240000, 312000,  384000,  408000,  408000,  408000),
 #else
-       CORE_DVFS("cbus",  -1, 1, KHZ,        144000, 182000, 240000, 312000,  384000,  408000),
+       CORE_DVFS("cbus",  -1, 1, KHZ,        144000, 182000, 240000, 312000,  384000,  408000,  408000,  408000),
 #endif
 
-       CORE_DVFS("pll_m", -1, 1, KHZ,             1,      1, 408000, 408000, 1066000, 1066000),
-       CORE_DVFS("pll_c", -1, 1, KHZ,             1,      1, 408000, 408000, 1066000, 1066000),
-       CORE_DVFS("pll_c2", -1, 1, KHZ,            1,      1, 408000, 408000, 1066000, 1066000),
-       CORE_DVFS("pll_c3", -1, 1, KHZ,            1,      1, 408000, 408000, 1066000, 1066000),
-       CORE_DVFS("pll_d_out0", -1, 1, KHZ,        1,      1, 408000, 408000, 1066000, 1066000),
-       CORE_DVFS("pll_d2_out0", -1, 1, KHZ,       1,      1, 408000, 408000, 1066000, 1066000),
-       CORE_DVFS("pll_re_out", -1, 1, KHZ,        1,      1, 408000, 408000, 1066000, 1066000),
+       CORE_DVFS("pll_m", -1, 1, KHZ,             1,      1, 408000, 408000, 1066000, 1066000, 1066000, 1066000),
+       CORE_DVFS("pll_c", -1, 1, KHZ,             1,      1, 408000, 408000, 1066000, 1066000, 1066000, 1066000),
+       CORE_DVFS("pll_c2", -1, 1, KHZ,            1,      1, 408000, 408000, 1066000, 1066000, 1066000, 1066000),
+       CORE_DVFS("pll_c3", -1, 1, KHZ,            1,      1, 408000, 408000, 1066000, 1066000, 1066000, 1066000),
+       CORE_DVFS("pll_d_out0", -1, 1, KHZ,        1,      1, 408000, 408000, 1066000, 1066000, 1066000, 1066000),
+       CORE_DVFS("pll_d2_out0", -1, 1, KHZ,       1,      1, 408000, 408000, 1066000, 1066000, 1066000, 1066000),
+       CORE_DVFS("pll_re_out", -1, 1, KHZ,        1,      1, 408000, 408000, 1066000, 1066000, 1066000, 1066000),
 
-       /* Core voltages (mV):                   900,    950,   1000,   1050,    1100,    1120, */
+       /* Core voltages (mV):                   900,    950,   1000,   1050,    1100,    1120,    1170,    1250 */
        /* Clock limits for I/O peripherals */
-       CORE_DVFS("i2c1", -1, 1, KHZ,          58300,  68000,  81600, 102000,  136000,  136000),
-       CORE_DVFS("i2c2", -1, 1, KHZ,          58300,  68000,  81600, 102000,  136000,  136000),
-       CORE_DVFS("i2c3", -1, 1, KHZ,          58300,  68000,  81600, 102000,  136000,  136000),
-       CORE_DVFS("i2c4", -1, 1, KHZ,          58300,  68000,  81600, 102000,  136000,  136000),
-
-       CORE_DVFS("sbc1", -1, 1, KHZ,          24000,  24000,  48000,  48000,   48000,   48000),
-       CORE_DVFS("sbc2", -1, 1, KHZ,          24000,  24000,  48000,  48000,   48000,   48000),
-       CORE_DVFS("sbc3", -1, 1, KHZ,          24000,  24000,  48000,  48000,   48000,   48000),
-       CORE_DVFS("sbc4", -1, 1, KHZ,          24000,  24000,  48000,  48000,   48000,   48000),
-       CORE_DVFS("sbc5", -1, 1, KHZ,          24000,  24000,  48000,  48000,   48000,   48000),
-       CORE_DVFS("sbc6", -1, 1, KHZ,          24000,  24000,  48000,  48000,   48000,   48000),
+       CORE_DVFS("i2c1", -1, 1, KHZ,          58300,  68000,  81600, 102000,  136000,  136000,  136000,  136000),
+       CORE_DVFS("i2c2", -1, 1, KHZ,          58300,  68000,  81600, 102000,  136000,  136000,  136000,  136000),
+       CORE_DVFS("i2c3", -1, 1, KHZ,          58300,  68000,  81600, 102000,  136000,  136000,  136000,  136000),
+       CORE_DVFS("i2c4", -1, 1, KHZ,          58300,  68000,  81600, 102000,  136000,  136000,  136000,  136000),
+
+       CORE_DVFS("sbc1", -1, 1, KHZ,          24000,  24000,  48000,  48000,   48000,   48000,   48000,   48000),
+       CORE_DVFS("sbc2", -1, 1, KHZ,          24000,  24000,  48000,  48000,   48000,   48000,   48000,   48000),
+       CORE_DVFS("sbc3", -1, 1, KHZ,          24000,  24000,  48000,  48000,   48000,   48000,   48000,   48000),
+       CORE_DVFS("sbc4", -1, 1, KHZ,          24000,  24000,  48000,  48000,   48000,   48000,   48000,   48000),
+       CORE_DVFS("sbc5", -1, 1, KHZ,          24000,  24000,  48000,  48000,   48000,   48000,   48000,   48000),
+       CORE_DVFS("sbc6", -1, 1, KHZ,          24000,  24000,  48000,  48000,   48000,   48000,   48000,   48000),
 
        /* FIXME: re-enable after UART hs driver is updated */
 #if 0
-       CORE_DVFS("uarta", -1, 1, KHZ,         58300,  58300, 102000, 102000,  102000,  102000),
-       CORE_DVFS("uartb", -1, 1, KHZ,         58300,  58300, 102000, 102000,  102000,  102000),
-       CORE_DVFS("uartc", -1, 1, KHZ,         58300,  58300, 102000, 102000,  102000,  102000),
-       CORE_DVFS("uartd", -1, 1, KHZ,         58300,  58300, 102000, 102000,  102000,  102000),
-       CORE_DVFS("uarte", -1, 1, KHZ,         58300,  58300, 102000, 102000,  102000,  102000),
+       CORE_DVFS("uarta", -1, 1, KHZ,         58300,  58300, 102000, 102000,  102000,  102000,  102000,  102000),
+       CORE_DVFS("uartb", -1, 1, KHZ,         58300,  58300, 102000, 102000,  102000,  102000,  102000,  102000),
+       CORE_DVFS("uartc", -1, 1, KHZ,         58300,  58300, 102000, 102000,  102000,  102000,  102000,  102000),
+       CORE_DVFS("uartd", -1, 1, KHZ,         58300,  58300, 102000, 102000,  102000,  102000,  102000,  102000),
+       CORE_DVFS("uarte", -1, 1, KHZ,         58300,  58300, 102000, 102000,  102000,  102000,  102000,  102000),
 #endif
-       CORE_DVFS("sdmmc1", -1, 1, KHZ,       102000, 102000, 163200, 163200,  163200,  163200),
-       CORE_DVFS("sdmmc2", -1, 1, KHZ,       102000, 102000, 163200, 163200,  163200,  163200),
-       CORE_DVFS("sdmmc3", -1, 1, KHZ,       102000, 102000, 163200, 163200,  163200,  163200),
-       CORE_DVFS("sdmmc4", -1, 1, KHZ,       102000, 102000, 163200, 163200,  163200,  163200),
+       CORE_DVFS("sdmmc1", -1, 1, KHZ,       102000, 102000, 163200, 163200,  163200,  163200,  163200,  163200),
+       CORE_DVFS("sdmmc2", -1, 1, KHZ,       102000, 102000, 163200, 163200,  163200,  163200,  163200,  163200),
+       CORE_DVFS("sdmmc3", -1, 1, KHZ,       102000, 102000, 163200, 163200,  163200,  163200,  163200,  163200),
+       CORE_DVFS("sdmmc4", -1, 1, KHZ,       102000, 102000, 163200, 163200,  163200,  163200,  163200,  163200),
 
-       CORE_DVFS("pwm",  -1, 1, KHZ,          40800,  48000,  48000,  48000,   48000,   48000),
+       CORE_DVFS("pwm",  -1, 1, KHZ,          40800,  48000,  48000,  48000,   48000,   48000,   48000,   48000),
 
-       CORE_DVFS("csi",  -1, 1, KHZ,              1,      1, 102000, 102000,  102000,  102000),
-       CORE_DVFS("dsia", -1, 1, KHZ,         100000, 125000, 155000, 155000,  500000,  500000),
-       CORE_DVFS("dsib", -1, 1, KHZ,         100000, 125000, 155000, 155000,  500000,  500000),
-       CORE_DVFS("dsialp", -1, 1, KHZ,       102000, 102000, 102000, 102000,  156000,  156000),
-       CORE_DVFS("dsiblp", -1, 1, KHZ,       102000, 102000, 102000, 102000,  156000,  156000),
-       CORE_DVFS("hdmi", -1, 1, KHZ,          99000, 118800, 148500, 198000,  198000,  198000),
+       CORE_DVFS("csi",  -1, 1, KHZ,              1,      1, 102000, 102000,  102000,  102000,  102000,  102000),
+       CORE_DVFS("dsia", -1, 1, KHZ,         100000, 125000, 155000, 155000,  500000,  500000,  500000,  500000),
+       CORE_DVFS("dsib", -1, 1, KHZ,         100000, 125000, 155000, 155000,  500000,  500000,  500000,  500000),
+       CORE_DVFS("dsialp", -1, 1, KHZ,       102000, 102000, 102000, 102000,  156000,  156000,  156000,  156000),
+       CORE_DVFS("dsiblp", -1, 1, KHZ,       102000, 102000, 102000, 102000,  156000,  156000,  156000,  156000),
+       CORE_DVFS("hdmi", -1, 1, KHZ,          99000, 118800, 148500, 198000,  198000,  198000,  198000,  198000),
 
        /*
         * The clock rate for the display controllers that determines the
@@ -210,15 +210,15 @@ static struct dvfs core_dvfs_table[] = {
         * to the display block.  Disable auto-dvfs on the display clocks,
         * and let the display driver call tegra_dvfs_set_rate manually
         */
-       CORE_DVFS("disp1", -1, 0, KHZ,        108000, 120000, 144000, 192000,  240000,  240000),
-       CORE_DVFS("disp2", -1, 0, KHZ,        108000, 120000, 144000, 192000,  240000,  240000),
-
-       CORE_DVFS("xusb_falcon_src", -1, 1, KHZ, 204000, 204000, 204000, 336000,  336000,  336000),
-       CORE_DVFS("xusb_host_src",   -1, 1, KHZ,  58300,  58300,  58300, 112000,  112000,  112000),
-       CORE_DVFS("xusb_dev_src",    -1, 1, KHZ,  58300,  58300,  58300, 112000,  112000,  112000),
-       CORE_DVFS("xusb_ss_src",     -1, 1, KHZ,  60000,  60000,  60000, 120000,  120000,  120000),
-       CORE_DVFS("xusb_fs_src",     -1, 1, KHZ,      1,  48000,  48000,  48000,   48000,   48000),
-       CORE_DVFS("xusb_hs_src",     -1, 1, KHZ,      1,  60000,  60000,  60000,   60000,   60000),
+       CORE_DVFS("disp1", -1, 0, KHZ,        108000, 120000, 144000, 192000,  240000,  240000,  240000,  240000),
+       CORE_DVFS("disp2", -1, 0, KHZ,        108000, 120000, 144000, 192000,  240000,  240000,  240000,  240000),
+
+       CORE_DVFS("xusb_falcon_src", -1, 1, KHZ, 204000, 204000, 204000, 336000,  336000,  336000,  336000,  336000),
+       CORE_DVFS("xusb_host_src",   -1, 1, KHZ,  58300,  58300,  58300, 112000,  112000,  112000,  112000,  112000),
+       CORE_DVFS("xusb_dev_src",    -1, 1, KHZ,  58300,  58300,  58300, 112000,  112000,  112000,  112000,  112000),
+       CORE_DVFS("xusb_ss_src",     -1, 1, KHZ,  60000,  60000,  60000, 120000,  120000,  120000,  120000,  120000),
+       CORE_DVFS("xusb_fs_src",     -1, 1, KHZ,      1,  48000,  48000,  48000,   48000,   48000,   48000,   48000),
+       CORE_DVFS("xusb_hs_src",     -1, 1, KHZ,      1,  60000,  60000,  60000,   60000,   60000,   60000,   60000),
 #endif
 };