From: James Wylder Date: Mon, 7 Jun 2010 16:28:42 +0000 (-0500) Subject: [ARM] tegra: stingray: Add board revision identification X-Git-Tag: firefly_0821_release~9834^2~862 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=e9340eaf97e06dc18877d157c1ef04890728016a;p=firefly-linux-kernel-4.4.55.git [ARM] tegra: stingray: Add board revision identification Add function stingray_revision to return current board revision. Signed-off-by: James Wylder --- diff --git a/arch/arm/mach-tegra/board-stingray.c b/arch/arm/mach-tegra/board-stingray.c index dae71d8feb3c..52b3e74a5cac 100644 --- a/arch/arm/mach-tegra/board-stingray.c +++ b/arch/arm/mach-tegra/board-stingray.c @@ -283,6 +283,29 @@ static void __init stingray_power_off_init(void) } } +static int stingray_board_revision = STINGRAY_REVISION_UNKNOWN; + +int stingray_revision(void) +{ + return stingray_board_revision; +} + +static int __init stingray_revision_parse(char *options) +{ + if (!strcmp(options, "m1")) + stingray_board_revision = STINGRAY_REVISION_M1; + else if (!strcmp(options, "p0")) + stingray_board_revision = STINGRAY_REVISION_P0; + else if (!strcmp(options, "p1")) + stingray_board_revision = STINGRAY_REVISION_P1; + else if (!strcmp(options, "p2")) + stingray_board_revision = STINGRAY_REVISION_P2; + + return 1; +} + +__setup("hw_rev=", stingray_revision_parse); + static void __init tegra_stingray_init(void) { struct clk *clk; diff --git a/arch/arm/mach-tegra/board-stingray.h b/arch/arm/mach-tegra/board-stingray.h index 336f7ba40b97..466183778305 100644 --- a/arch/arm/mach-tegra/board-stingray.h +++ b/arch/arm/mach-tegra/board-stingray.h @@ -25,5 +25,14 @@ int stingray_wlan_init(void); int stingray_sensors_init(void); int stingray_touch_init(void); int stingray_spi_init(void); +int stingray_revision(void); + +enum { + STINGRAY_REVISION_UNKNOWN, + STINGRAY_REVISION_M1, + STINGRAY_REVISION_P0, + STINGRAY_REVISION_P1, + STINGRAY_REVISION_P2, +}; #endif