arm: tegra: soctherm: Support configuring OC alarms
[linux-2.6.git] / arch / arm / mach-tegra / board-pluto-power.c
index d0ceb7d..8b89032 100644 (file)
@@ -96,6 +96,8 @@ static struct regulator_consumer_supply palmas_smps8_supply[] = {
        REGULATOR_SUPPLY("vdd_gps", NULL),
        REGULATOR_SUPPLY("vdd_nfc", NULL),
        REGULATOR_SUPPLY("vlogic", "0-0069"),
+       REGULATOR_SUPPLY("vid", "0-000d"),
+       REGULATOR_SUPPLY("vddio", "0-0078"),
        REGULATOR_SUPPLY("vdd_dtv", NULL),
        REGULATOR_SUPPLY("vdd_bb", NULL),
        REGULATOR_SUPPLY("vcore1_lpddr", NULL),
@@ -182,6 +184,8 @@ static struct regulator_consumer_supply palmas_ldo6_supply[] = {
        REGULATOR_SUPPLY("vdd", "0-004c"),
        REGULATOR_SUPPLY("avdd", "spi3.2"),
        REGULATOR_SUPPLY("vdd", "0-0069"),
+       REGULATOR_SUPPLY("vdd", "0-000d"),
+       REGULATOR_SUPPLY("vdd", "0-0078"),
 };
 
 static struct regulator_consumer_supply palmas_ldo7_supply[] = {
@@ -630,11 +634,6 @@ static struct palmas_platform_data palmas_pdata = {
        .gpio_base = PALMAS_TEGRA_GPIO_BASE,
        .irq_base = PALMAS_TEGRA_IRQ_BASE,
        .pmic_pdata = &pmic_platform,
-       .mux_from_pdata = true,
-       .pad1 = 0,
-       .pad2 = (PALMAS_PRIMARY_SECONDARY_PAD2_GPIO_5_MASK &
-                       (1 << PALMAS_PRIMARY_SECONDARY_PAD2_GPIO_5_SHIFT)),
-       .pad3 = PALMAS_PRIMARY_SECONDARY_PAD3_DVFS2,
        .clk32k_init_data =  palmas_clk32k_idata,
        .clk32k_init_data_size = ARRAY_SIZE(palmas_clk32k_idata),
        .irq_type = IRQ_TYPE_LEVEL_HIGH,
@@ -817,9 +816,40 @@ static struct soctherm_platform_data pluto_soctherm_data = {
        },
        .throttle = {
                [THROTTLE_HEAVY] = {
+                       .priority = 100,
                        .devs = {
                                [THROTTLE_DEV_CPU] = {
-                                       .enable = 1,
+                                       .enable = true,
+                                       .depth = 80,
+                               },
+                       },
+               },
+               [THROTTLE_OC2] = {
+                       .throt_mode = BRIEF,
+                       .polarity = 0,
+                       .devs = {
+                               [THROTTLE_DEV_CPU] = {
+                                       .enable = true,
+                                       .depth = 50,
+                               },
+                               [THROTTLE_DEV_GPU] = {
+                                       .enable = true,
+                                       .depth = 50,
+                               },
+                       },
+               },
+               [THROTTLE_OC4] = {
+                       .throt_mode = BRIEF,
+                       .polarity = 1,
+                       .intr = true,
+                       .devs = {
+                               [THROTTLE_DEV_CPU] = {
+                                       .enable = true,
+                                       .depth = 50,
+                               },
+                               [THROTTLE_DEV_GPU] = {
+                                       .enable = true,
+                                       .depth = 50,
                                },
                        },
                },
@@ -834,84 +864,85 @@ int __init pluto_soctherm_init(void)
                        8000);  /* edp temperature margin */
        tegra_add_tj_trips(pluto_soctherm_data.therm[THERM_CPU].trips,
                        &pluto_soctherm_data.therm[THERM_CPU].num_trips);
+       tegra_add_vc_trips(pluto_soctherm_data.therm[THERM_CPU].trips,
+                       &pluto_soctherm_data.therm[THERM_CPU].num_trips);
 
        return tegra11_soctherm_init(&pluto_soctherm_data);
 }
 
 static struct tegra_sysedp_corecap pluto_sysedp_corecap[] = {
-       {  1000,    0, {   606, 276, 204 }, {   606, 276, 204 } },
-       {  2000,    0, {   606, 276, 204 }, {   606, 276, 204 } },
-       {  3000,    0, {   606, 276, 204 }, {   606, 276, 204 } },
-       {  4000,    0, {   606, 276, 204 }, {   606, 276, 204 } },
-       {  5000,    0, {   606, 276, 204 }, {   606, 276, 204 } },
-       {  6000,    0, {  1606, 276, 204 }, {  1606, 276, 204 } },
-       {  7000,    0, {  2606, 276, 204 }, {  2606, 276, 204 } },
-       {  8000,    0, {  3606, 276, 204 }, {  3606, 276, 204 } },
-       {  8000, 1000, {  4606, 276, 204 }, {  4606, 276, 204 } },
-       {  8000, 2000, {  5606, 276, 204 }, {  5627, 348, 204 } },
-       {  8000, 3000, {  5094, 276, 660 }, {  5241, 420, 408 } },
-       {  8000, 4000, {  6094, 276, 660 }, {  5321, 420, 660 } },
-       {  9000,    0, {  4606, 276, 204 }, {  4606, 276, 204 } },
-       {  9000, 1000, {  5606, 276, 204 }, {  5627, 348, 204 } },
-       {  9000, 2000, {  5094, 276, 660 }, {  5506, 348, 408 } },
-       {  9000, 3000, {  6094, 276, 660 }, {  5792, 492, 408 } },
-       {  9000, 4000, {  7094, 276, 660 }, {  5192, 528, 660 } },
-       { 10000,    0, {  5606, 276, 204 }, {  5627, 348, 204 } },
-       { 10000, 1000, {  5094, 276, 660 }, {  5506, 348, 408 } },
-       { 10000, 2000, {  6094, 276, 660 }, {  5792, 492, 408 } },
-       { 10000, 3000, {  6503, 276, 792 }, {  5192, 528, 660 } },
-       { 10000, 4000, {  7503, 276, 792 }, {  5646, 600, 660 } },
-       { 11000,    0, {  4503, 276, 792 }, {  5506, 348, 408 } },
-       { 11000, 1000, {  5503, 276, 792 }, {  4192, 528, 660 } },
-       { 11000, 2000, {  6503, 276, 792 }, {  4646, 600, 660 } },
-       { 11000, 3000, {  7503, 276, 792 }, {  4810, 600, 792 } },
-       { 11000, 4000, {  8503, 276, 792 }, {  5810, 600, 792 } },
-       { 12000,    0, {  5503, 276, 792 }, {  5782, 348, 660 } },
-       { 12000, 1000, {  6503, 276, 792 }, {  4646, 600, 660 } },
-       { 12000, 2000, {  7503, 276, 792 }, {  4810, 600, 792 } },
-       { 12000, 3000, {  8503, 276, 792 }, {  5810, 600, 792 } },
-       { 12000, 4000, {  9503, 276, 792 }, {  6810, 600, 792 } },
-       { 13000,    0, {  6503, 276, 792 }, {  4646, 600, 660 } },
-       { 13000, 1000, {  7503, 276, 792 }, {  4810, 600, 792 } },
-       { 13000, 2000, {  8503, 276, 792 }, {  5810, 600, 792 } },
-       { 13000, 3000, {  9503, 276, 792 }, {  6810, 600, 792 } },
-       { 13000, 4000, { 10503, 276, 792 }, {  7810, 600, 792 } },
-       { 14000,    0, {  7503, 276, 792 }, {  5646, 600, 660 } },
-       { 14000, 1000, {  8503, 276, 792 }, {  5810, 600, 792 } },
-       { 14000, 2000, {  9503, 276, 792 }, {  6810, 600, 792 } },
-       { 14000, 3000, { 10503, 276, 792 }, {  7810, 600, 792 } },
-       { 14000, 4000, { 11503, 276, 792 }, {  8810, 600, 792 } },
-       { 15000,    0, {  8503, 276, 792 }, {  5810, 600, 792 } },
-       { 15000, 1000, {  9503, 276, 792 }, {  6810, 600, 792 } },
-       { 15000, 2000, { 10503, 276, 792 }, {  7810, 600, 792 } },
-       { 15000, 3000, { 11503, 276, 792 }, {  8810, 600, 792 } },
-       { 15000, 4000, { 12503, 276, 792 }, {  9810, 600, 792 } },
-       { 16000,    0, {  9503, 276, 792 }, {  6810, 600, 792 } },
-       { 16000, 1000, { 10503, 276, 792 }, {  7810, 600, 792 } },
-       { 16000, 2000, { 11503, 276, 792 }, {  8810, 600, 792 } },
-       { 16000, 3000, { 12503, 276, 792 }, {  9810, 600, 792 } },
-       { 16000, 4000, { 13503, 276, 792 }, { 10810, 600, 792 } },
-       { 17000,    0, { 10503, 276, 792 }, {  7810, 600, 792 } },
-       { 17000, 1000, { 11503, 276, 792 }, {  8810, 600, 792 } },
-       { 17000, 2000, { 12503, 276, 792 }, {  9810, 600, 792 } },
-       { 17000, 3000, { 13503, 276, 792 }, { 10810, 600, 792 } },
-       { 17000, 4000, { 14503, 276, 792 }, { 11810, 600, 792 } },
-       { 18000,    0, { 11503, 276, 792 }, {  8810, 600, 792 } },
-       { 18000, 1000, { 12503, 276, 792 }, {  9810, 600, 792 } },
-       { 18000, 2000, { 13503, 276, 792 }, { 10810, 600, 792 } },
-       { 18000, 3000, { 14503, 276, 792 }, { 11810, 600, 792 } },
-       { 18000, 4000, { 15503, 276, 792 }, { 12810, 600, 792 } },
-       { 19000,    0, { 12503, 276, 792 }, {  9810, 600, 792 } },
-       { 19000, 1000, { 13503, 276, 792 }, { 10810, 600, 792 } },
-       { 19000, 2000, { 14503, 276, 792 }, { 11810, 600, 792 } },
-       { 19000, 3000, { 15503, 276, 792 }, { 12810, 600, 792 } },
-       { 19000, 4000, { 16503, 276, 792 }, { 13810, 600, 792 } },
-       { 20000,    0, { 13503, 276, 792 }, { 10810, 600, 792 } },
-       { 20000, 1000, { 14503, 276, 792 }, { 11810, 600, 792 } },
-       { 20000, 2000, { 15503, 276, 792 }, { 12810, 600, 792 } },
-       { 20000, 3000, { 16503, 276, 792 }, { 13810, 600, 792 } },
-       { 20000, 4000, { 17503, 276, 792 }, { 14810, 600, 792 } },
-       { 24000,    0, { 14810, 600, 792 }, { 14810, 600, 792 } }
+       {  1000,    0, {   748, 240, 204 }, {   748, 240, 204 } },
+       {  2000,    0, {   748, 240, 204 }, {   748, 240, 204 } },
+       {  3000,    0, {   748, 240, 204 }, {   748, 240, 204 } },
+       {  4000,    0, {   748, 240, 204 }, {   748, 240, 204 } },
+       {  5000,    0, {   748, 240, 204 }, {   748, 240, 204 } },
+       {  6000,    0, {  1748, 240, 204 }, {  1748, 240, 204 } },
+       {  7000,    0, {  2748, 240, 204 }, {  2748, 240, 204 } },
+       {  7000, 1000, {  3748, 240, 204 }, {  3748, 240, 204 } },
+       {  7000, 2000, {  4748, 240, 204 }, {  4696, 324, 204 } },
+       {  7000, 3000, {  4843, 240, 624 }, {  4913, 420, 408 } },
+       {  7000, 4000, {  5843, 240, 624 }, {  5306, 420, 624 } },
+       {  8000,    0, {  3748, 240, 204 }, {  3748, 240, 204 } },
+       {  8000, 1000, {  4748, 240, 204 }, {  4696, 324, 204 } },
+       {  8000, 2000, {  4843, 240, 624 }, {  4975, 324, 408 } },
+       {  8000, 3000, {  5843, 240, 624 }, {  5913, 420, 408 } },
+       {  8000, 4000, {  6843, 240, 624 }, {  5895, 528, 624 } },
+       {  9000,    0, {  4748, 240, 204 }, {  3975, 324, 408 } },
+       {  9000, 1000, {  4843, 240, 624 }, {  4975, 324, 408 } },
+       {  9000, 2000, {  5843, 240, 624 }, {  5913, 420, 408 } },
+       {  9000, 3000, {  6565, 240, 792 }, {  5895, 528, 624 } },
+       {  9000, 4000, {  7565, 240, 792 }, {  6405, 600, 624 } },
+       { 10000,    0, {  4565, 240, 792 }, {  3895, 528, 624 } },
+       { 10000, 1000, {  5565, 240, 792 }, {  4895, 528, 624 } },
+       { 10000, 2000, {  6565, 240, 792 }, {  5405, 600, 624 } },
+       { 10000, 3000, {  7565, 240, 792 }, {  5277, 600, 792 } },
+       { 10000, 4000, {  8565, 240, 792 }, {  6277, 600, 792 } },
+       { 11000,    0, {  5565, 240, 792 }, {  5553, 324, 624 } },
+       { 11000, 1000, {  6565, 240, 792 }, {  5405, 600, 624 } },
+       { 11000, 2000, {  7565, 240, 792 }, {  5277, 600, 792 } },
+       { 11000, 3000, {  8565, 240, 792 }, {  6277, 600, 792 } },
+       { 11000, 4000, {  9565, 240, 792 }, {  7277, 600, 792 } },
+       { 12000,    0, {  6565, 240, 792 }, {  5405, 600, 624 } },
+       { 12000, 1000, {  7565, 240, 792 }, {  5277, 600, 792 } },
+       { 12000, 2000, {  8565, 240, 792 }, {  6277, 600, 792 } },
+       { 12000, 3000, {  9565, 240, 792 }, {  7277, 600, 792 } },
+       { 12000, 4000, { 10565, 240, 792 }, {  8277, 600, 792 } },
+       { 13000,    0, {  7565, 240, 792 }, {  6405, 600, 624 } },
+       { 13000, 1000, {  8565, 240, 792 }, {  6277, 600, 792 } },
+       { 13000, 2000, {  9565, 240, 792 }, {  7277, 600, 792 } },
+       { 13000, 3000, { 10565, 240, 792 }, {  8277, 600, 792 } },
+       { 13000, 4000, { 11565, 240, 792 }, {  9277, 600, 792 } },
+       { 14000,    0, {  8565, 240, 792 }, {  6277, 600, 792 } },
+       { 14000, 1000, {  9565, 240, 792 }, {  7277, 600, 792 } },
+       { 14000, 2000, { 10565, 240, 792 }, {  8277, 600, 792 } },
+       { 14000, 3000, { 11565, 240, 792 }, {  9277, 600, 792 } },
+       { 14000, 4000, { 12565, 240, 792 }, { 10277, 600, 792 } },
+       { 15000,    0, {  9565, 240, 792 }, {  7277, 600, 792 } },
+       { 15000, 1000, { 10565, 240, 792 }, {  8277, 600, 792 } },
+       { 15000, 2000, { 11565, 240, 792 }, {  9277, 600, 792 } },
+       { 15000, 3000, { 12565, 240, 792 }, { 10277, 600, 792 } },
+       { 15000, 4000, { 13565, 240, 792 }, { 11277, 600, 792 } },
+       { 16000,    0, { 10565, 240, 792 }, {  8277, 600, 792 } },
+       { 16000, 1000, { 11565, 240, 792 }, {  9277, 600, 792 } },
+       { 16000, 2000, { 12565, 240, 792 }, { 10277, 600, 792 } },
+       { 16000, 3000, { 13565, 240, 792 }, { 11277, 600, 792 } },
+       { 16000, 4000, { 14565, 240, 792 }, { 12277, 600, 792 } },
+       { 17000,    0, { 11565, 240, 792 }, {  9277, 600, 792 } },
+       { 17000, 1000, { 12565, 240, 792 }, { 10277, 600, 792 } },
+       { 17000, 2000, { 13565, 240, 792 }, { 11277, 600, 792 } },
+       { 17000, 3000, { 14565, 240, 792 }, { 12277, 600, 792 } },
+       { 17000, 4000, { 15565, 240, 792 }, { 13277, 600, 792 } },
+       { 18000,    0, { 12565, 240, 792 }, { 10277, 600, 792 } },
+       { 18000, 1000, { 13565, 240, 792 }, { 11277, 600, 792 } },
+       { 18000, 2000, { 14565, 240, 792 }, { 12277, 600, 792 } },
+       { 18000, 3000, { 15565, 240, 792 }, { 13277, 600, 792 } },
+       { 18000, 4000, { 16565, 240, 792 }, { 14277, 600, 792 } },
+       { 19000,    0, { 13565, 240, 792 }, { 11277, 600, 792 } },
+       { 19000, 1000, { 14565, 240, 792 }, { 12277, 600, 792 } },
+       { 19000, 2000, { 15565, 240, 792 }, { 13277, 600, 792 } },
+       { 19000, 3000, { 16565, 240, 792 }, { 14277, 600, 792 } },
+       { 19000, 4000, { 17565, 240, 792 }, { 15277, 600, 792 } },
+       { 23000,    0, { 15277, 600, 792 }, { 15277, 600, 792 } }
 };
 
 static struct tegra_sysedp_platform_data pluto_sysedp_platdata = {