summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/common.c
diff options
context:
space:
mode:
authorLaxman Dewangan <ldewangan@nvidia.com>2011-05-09 19:15:29 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:42:37 -0800
commitb1a6ea2c728bff8570c4a3c2fbb514f3c52b50d0 (patch)
tree2475a8ae735287f1a5f0a54492d429ff2b4d8260 /arch/arm/mach-tegra/common.c
parent5951a79d97185d75f092e8a7995237d66e0c0a37 (diff)
arm: tegra: Support for core_edp and panel type from kernel command.
Selecting the core EDP voltage and panel type from the kernel commands. The bootloader pass this information through kernel command. Board will select the default configuration if there is no command option for these parameters. bug 822053 Original-Change-Id: Id7909d70b599c4a313d60d3ba2a9cf5b9eb7f2c3 Reviewed-on: http://git-master/r/30853 Tested-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-by: Aleksandr Frid <afrid@nvidia.com> Reviewed-by: Jonathan Mayo <jmayo@nvidia.com> Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com> Rebase-Id: R168653eae3bd5965bcbef2cde3ba26c8dace8f23
Diffstat (limited to 'arch/arm/mach-tegra/common.c')
-rw-r--r--arch/arm/mach-tegra/common.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/common.c b/arch/arm/mach-tegra/common.c
index f6e6f88d99ac..36d55dc7b329 100644
--- a/arch/arm/mach-tegra/common.c
+++ b/arch/arm/mach-tegra/common.c
@@ -59,6 +59,9 @@ unsigned long tegra_lp0_vec_size;
unsigned long tegra_grhost_aperture = ~0ul;
static bool is_tegra_debug_uart_hsport;
+static int pmu_core_edp;
+static int board_panel_type;
+
void (*arch_reset)(char mode, const char *cmd) = tegra_assert_system_reset;
void tegra_assert_system_reset(char mode, const char *cmd)
@@ -252,6 +255,34 @@ static int __init tegra_bootloader_fb_arg(char *options)
}
early_param("tegra_fbmem", tegra_bootloader_fb_arg);
+enum panel_type get_panel_type(void)
+{
+ return board_panel_type;
+}
+static int __init tegra_board_panel_type(char *options)
+{
+ if (!strcmp(options, "lvds"))
+ board_panel_type = panel_type_lvds;
+ else if (!strcmp(options, "dsi"))
+ board_panel_type = panel_type_dsi;
+ else
+ return 0;
+ return 1;
+}
+__setup("panel=", tegra_board_panel_type);
+
+int get_core_edp(void)
+{
+ return pmu_core_edp;
+}
+static int __init tegra_pmu_core_edp(char *options)
+{
+ char *p = options;
+ pmu_core_edp = memparse(p, &p);
+ return 1;
+}
+__setup("core_edp_mv=", tegra_pmu_core_edp);
+
static int __init tegra_debug_uartport(char *info)
{
if (!strcmp(info, "hsport"))