diff options
author | Laxman Dewangan <ldewangan@nvidia.com> | 2011-05-09 19:15:29 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:42:37 -0800 |
commit | b1a6ea2c728bff8570c4a3c2fbb514f3c52b50d0 (patch) | |
tree | 2475a8ae735287f1a5f0a54492d429ff2b4d8260 /arch/arm/mach-tegra/common.c | |
parent | 5951a79d97185d75f092e8a7995237d66e0c0a37 (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.c | 31 |
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")) |