summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaxman Dewangan <ldewangan@nvidia.com>2011-09-08 19:36:17 +0530
committerVarun Colbert <vcolbert@nvidia.com>2011-09-09 14:45:49 -0700
commitf988c97564f9ecf4b78f4e935e2cfc4ca1b6db0e (patch)
tree7cf262f31d0174ad2a8a146e6cf21800961a725b
parentaa84b06982dbea58b815fc99bbbf84c7bdaddc78 (diff)
arm: tegra: parse kernel command line for debug port id
Parsing the linux command line for the debug port id. bug 795847 Change-Id: Icba663dc97f40345d9c64a1aa7e9fff5c867bb62 Reviewed-on: http://git-master/r/51370 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
-rw-r--r--arch/arm/mach-tegra/board.h1
-rw-r--r--arch/arm/mach-tegra/common.c15
2 files changed, 14 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/board.h b/arch/arm/mach-tegra/board.h
index 862909de878e..fd8c43dfe484 100644
--- a/arch/arm/mach-tegra/board.h
+++ b/arch/arm/mach-tegra/board.h
@@ -37,6 +37,7 @@ void tegra_move_framebuffer(unsigned long to, unsigned long from,
unsigned long size);
int tegra_dvfs_rail_disable_by_name(const char *reg_id);
bool is_tegra_debug_uartport_hs(void);
+int get_tegra_uart_debug_port_id(void);
int arb_lost_recovery(int scl_gpio, int sda_gpio);
extern unsigned long tegra_bootloader_fb_start;
diff --git a/arch/arm/mach-tegra/common.c b/arch/arm/mach-tegra/common.c
index 96ca3c54f5c2..a5f373ec0284 100644
--- a/arch/arm/mach-tegra/common.c
+++ b/arch/arm/mach-tegra/common.c
@@ -96,6 +96,7 @@ static int pmu_core_edp = 1200; /* default 1.2V EDP limit */
static int board_panel_type;
static enum power_supply_type pow_supply_type;
static int modem_id;
+static int debug_uart_port_id;
void (*tegra_reset)(char mode, const char *cmd);
/* WARNING: There is implicit client of pllp_out3 like i2c, uart, dsi
@@ -522,11 +523,17 @@ __setup("core_edp_mv=", tegra_pmu_core_edp);
static int __init tegra_debug_uartport(char *info)
{
- if (!strcmp(info, "hsport"))
+ char *p = info;
+ if (!strncmp(p, "hsport", 6))
is_tegra_debug_uart_hsport = true;
- else if (!strcmp(info, "lsport"))
+ else if (!strncmp(p, "lsport", 6))
is_tegra_debug_uart_hsport = false;
+ if (p[6] == ',')
+ debug_uart_port_id = memparse(p + 7, &p);
+ else
+ debug_uart_port_id = -1;
+
return 1;
}
@@ -535,6 +542,10 @@ bool is_tegra_debug_uartport_hs(void)
return is_tegra_debug_uart_hsport;
}
+int get_tegra_uart_debug_port_id(void)
+{
+ return debug_uart_port_id;
+}
__setup("debug_uartport=", tegra_debug_uartport);
void tegra_get_board_info(struct board_info *bi)