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
diff --git a/arch/arm/mach-tegra/common.c b/arch/arm/mach-tegra/common.c
index b2e981b..344d7d4 100644
--- a/arch/arm/mach-tegra/common.c
+++ b/arch/arm/mach-tegra/common.c
@@ -232,52 +232,6 @@
}
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 @@
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;
}
/*