summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-tegra/board.h8
-rw-r--r--arch/arm/mach-tegra/common.c31
2 files changed, 39 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/board.h b/arch/arm/mach-tegra/board.h
index e18c46e84724..81e1e0a77699 100644
--- a/arch/arm/mach-tegra/board.h
+++ b/arch/arm/mach-tegra/board.h
@@ -68,6 +68,14 @@ struct board_info {
u8 minor_revision;
};
+enum panel_type {
+ panel_type_lvds = 0,
+ panel_type_dsi,
+};
+
void tegra_get_board_info(struct board_info *);
+int get_core_edp(void);
+enum panel_type get_panel_type(void);
+
#endif
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"))