ARM: tegra11: dvfs: Update dvfs tables and parameters
Alex Frid [Fri, 31 Aug 2012 06:19:19 +0000 (23:19 -0700)]
- increased maximum voltage on CPU rail
- updated host1x and sdmmc tables
- added xusb clocks dvfs tables
- change clk_out maximum limits

Change-Id: Id34a0242891bc21fd25815765c57d9913b02bbc1
Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/130351
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>

arch/arm/mach-tegra/tegra11_clocks.c
arch/arm/mach-tegra/tegra11_dvfs.c

index 6edf834..d844708 100644 (file)
@@ -5347,7 +5347,7 @@ static struct clk_mux_sel *mux_extern_out_list[] = {
        mux_clkm_clkm2_clkm4_extern3,
 };
 
-#define CLK_OUT_CLK(_id)                                       \
+#define CLK_OUT_CLK(_id, _max_rate)                                    \
        {                                                       \
                .name      = "clk_out_" #_id,                   \
                .lookup    = {                                  \
@@ -5358,15 +5358,15 @@ static struct clk_mux_sel *mux_extern_out_list[] = {
                .reg       = 0x1a8,                             \
                .inputs    = mux_clkm_clkm2_clkm4_extern##_id,  \
                .flags     = MUX_CLK_OUT,                       \
-               .max_rate  = 216000000,                         \
+               .max_rate  = _max_rate,                         \
                .u.periph = {                                   \
                        .clk_num   = (_id - 1) * 8 + 2,         \
                },                                              \
        }
 static struct clk tegra_clk_out_list[] = {
-       CLK_OUT_CLK(1),
-       CLK_OUT_CLK(2),
-       CLK_OUT_CLK(3),
+       CLK_OUT_CLK(1, 12288000),
+       CLK_OUT_CLK(2, 25500000),
+       CLK_OUT_CLK(3, 12288000),
 };
 
 /* called after peripheral external clocks are initialized */
index 97a1d84..eba41a4 100644 (file)
@@ -40,7 +40,7 @@ static bool tegra_dvfs_core_disabled;
 
 static struct dvfs_rail tegra11_dvfs_rail_vdd_cpu = {
        .reg_id = "vdd_cpu",
-       .max_millivolts = 1250,
+       .max_millivolts = 1350,
        .min_millivolts = 800,
        .step = VDD_SAFE_STEP,
        .jmp_to_zero = true,
@@ -147,7 +147,7 @@ static struct dvfs core_dvfs_table[] = {
        CORE_DVFS("tsec",  -1, 1, KHZ,        1, 120000, 144000, 168000, 216000,  276000,  276000),
        CORE_DVFS("vde",   -1, 1, KHZ,        1, 120000, 144000, 168000, 216000,  276000,  276000),
 
-       CORE_DVFS("host1x", -1, 1, KHZ,       1,  81600, 102000, 136000, 163000,  204000,  204000),
+       CORE_DVFS("host1x", -1, 1, KHZ,       1,  81600, 102000, 136000, 163200,  204000,  204000),
 
 #ifdef CONFIG_TEGRA_DUAL_CBUS
        CORE_DVFS("c2bus", -1, 1, KHZ,        1, 132000, 180000, 204000, 264000,  336000,  336000),
@@ -178,10 +178,10 @@ static struct dvfs core_dvfs_table[] = {
        CORE_DVFS("sbc5", -1, 1, KHZ,         1,  24000,  24000,  48000,  48000,   48000,   48000),
        CORE_DVFS("sbc6", -1, 1, KHZ,         1,  24000,  24000,  48000,  48000,   48000,   48000),
 
-       CORE_DVFS("sdmmc1", -1, 1, KHZ,       1, 102000, 102000, 163000, 163000,  163000,  163000),
-       CORE_DVFS("sdmmc2", -1, 1, KHZ,       1, 102000, 102000, 163000, 163000,  163000,  163000),
-       CORE_DVFS("sdmmc3", -1, 1, KHZ,       1, 102000, 102000, 163000, 163000,  163000,  163000),
-       CORE_DVFS("sdmmc4", -1, 1, KHZ,       1, 102000, 102000, 163000, 163000,  163000,  163000),
+       CORE_DVFS("sdmmc1", -1, 1, KHZ,       1, 102000, 102000, 163200, 163200,  163200,  163200),
+       CORE_DVFS("sdmmc2", -1, 1, KHZ,       1, 102000, 102000, 163200, 163200,  163200,  163200),
+       CORE_DVFS("sdmmc3", -1, 1, KHZ,       1, 102000, 102000, 163200, 163200,  163200,  163200),
+       CORE_DVFS("sdmmc4", -1, 1, KHZ,       1, 102000, 102000, 163200, 163200,  163200,  163200),
 
        CORE_DVFS("pwm",  -1, 1, KHZ,         1,  40800,  48000,  48000,  48000,   48000,   48000),
 
@@ -200,6 +200,13 @@ static struct dvfs core_dvfs_table[] = {
         */
        CORE_DVFS("disp1", -1, 0, KHZ,         1, 108000, 120000, 144000, 192000,  240000,  240000),
        CORE_DVFS("disp2", -1, 0, KHZ,         1, 108000, 120000, 144000, 192000,  240000,  240000),
+
+       CORE_DVFS("xusb_falcon_src", -1, 1, KHZ, 1, 204000, 204000, 204000, 336000,  336000,  336000),
+       CORE_DVFS("xusb_host_src",   -1, 1, KHZ, 1,  51000,  51000,  51000, 112000,  112000,  112000),
+       CORE_DVFS("xusb_dev_src",    -1, 1, KHZ, 1,  51000,  51000,  51000, 112000,  112000,  112000),
+       CORE_DVFS("xusb_ss_src",     -1, 1, KHZ, 1,  60000,  60000,  60000, 120000,  120000,  120000),
+       CORE_DVFS("xusb_fs_src",     -1, 1, KHZ, 1,      1,  48000,  48000,  48000,   48000,   48000),
+       CORE_DVFS("xusb_hs_src",     -1, 1, KHZ, 1,      1,  60000,  60000,  60000,   60000,   60000),
 #endif
 };