summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorLaxman Dewangan <ldewangan@nvidia.com>2011-02-05 16:26:42 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:42:20 -0800
commitc0f1802a8e2b91a5185c10bb0bf62a14154456a0 (patch)
treedc2ef6c411af3bddbaf0a0ec1ebf2f2c18ee07cb /arch
parent6bd50efc794ac2c4cb49bf2b2b69d96f17f25a26 (diff)
arm: tegra: atag: Board information through ATAG_SERIAL
Fastboot passes the information of board info through ATAG_SERIAL. Using this tag information to extract board info. Original-Change-Id: I359044236756464ee3b8084878b2fd8969956fe7 Reviewed-on: http://git-master/r/18485 Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com> Tested-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-by: Scott Williams <scwilliams@nvidia.com> Original-Change-Id: I92fe8ba752606bd52039bea4c4447f24c9e56c6a Rebase-Id: R3c2d0c6913e9f7994048eed69a7172a399acf876
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-tegra/common.c52
1 files changed, 5 insertions, 47 deletions
diff --git a/arch/arm/mach-tegra/common.c b/arch/arm/mach-tegra/common.c
index b2e981bb490c..344d7d4bb3e2 100644
--- a/arch/arm/mach-tegra/common.c
+++ b/arch/arm/mach-tegra/common.c
@@ -232,52 +232,6 @@ static int __init tegra_bootloader_fb_arg(char *options)
}
early_param("tegra_fbmem", tegra_bootloader_fb_arg);
-static int __init tegra_board_info_parse(char *info)
-{
- char *p;
- int pos = 0;
- struct board_info *bi = &tegra_board_info;
-
- while (info && *info) {
- if ((p = strchr(info, ':')))
- *p++ = '\0';
-
- if (strlen(info) > 0) {
- switch(pos) {
- case 0:
- bi->board_id = simple_strtol(info, NULL, 16);
- break;
- case 1:
- bi->sku = simple_strtol(info, NULL, 16);
- break;
- case 2:
- bi->fab = simple_strtol(info, NULL, 16);
- break;
- case 3:
- bi->major_revision = simple_strtol(info, NULL, 16);
- break;
- case 4:
- bi->minor_revision = simple_strtol(info, NULL, 16);
- break;
- default:
- break;
- }
- }
-
- info = p;
- pos++;
- }
-
- pr_info("board info: Id:%d%2d SKU:%d%02d Fab:%d Rev:%c MinRev:%d\n",
- bi->board_id >> 8 & 0xFF, bi->board_id & 0xFF,
- bi->sku >> 8 & 0xFF, bi->sku & 0xFF, bi->fab,
- bi->major_revision, bi->minor_revision);
-
- return 1;
-}
-
-__setup("board_info=", tegra_board_info_parse);
-
static int __init tegra_debug_uartport(char *info)
{
if (!strcmp(info, "hsport"))
@@ -297,7 +251,11 @@ __setup("debug_uartport=", tegra_debug_uartport);
void tegra_get_board_info(struct board_info *bi)
{
- memcpy(bi, &tegra_board_info, sizeof(*bi));
+ bi->board_id = (system_serial_high >> 16) & 0xFFFF;
+ bi->sku = (system_serial_high) & 0xFFFF;
+ bi->fab = (system_serial_low >> 24) & 0xFF;
+ bi->major_revision = (system_serial_low >> 16) & 0xFF;
+ bi->minor_revision = (system_serial_low >> 8) & 0xFF;
}
/*