From c0f1802a8e2b91a5185c10bb0bf62a14154456a0 Mon Sep 17 00:00:00 2001 From: Laxman Dewangan Date: Sat, 5 Feb 2011 16:26:42 +0530 Subject: 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 Tested-by: Laxman Dewangan Reviewed-by: Scott Williams Original-Change-Id: I92fe8ba752606bd52039bea4c4447f24c9e56c6a Rebase-Id: R3c2d0c6913e9f7994048eed69a7172a399acf876 --- arch/arm/mach-tegra/common.c | 52 +++++--------------------------------------- 1 file 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; } /* -- cgit v1.2.3