]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
arm: tegra: enterprise: support A01 camera module
authorJihoon Bang <jbang@nvidia.com>
Mon, 12 Dec 2011 19:00:14 +0000 (11:00 -0800)
committerDan Willemsen <dwillemsen@nvidia.com>
Sat, 14 Sep 2013 07:58:32 +0000 (00:58 -0700)
Change if statement to support E1513 A01 board in E1197.
Add tegra_get_camera_board_info to parse camera module id
that is passed in from bootloader.

Bug 914552

Change-Id: I20c3bcaf181e29446aa254ea189d917bc6905488
Signed-off-by: Jihoon Bang <jbang@nvidia.com>
Reviewed-on: http://git-master/r/69504
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Dan Willemsen <dwillemsen@nvidia.com>
Rebase-Id: Re823d0ebe9e0e54a74dc9930ab9f45049c34d6ef

arch/arm/mach-tegra/board.h
arch/arm/mach-tegra/common.c

index 43b7012c1f4b46f81b158e50dec5642332d16046..391111342c3e7597aeb5d817a075f06d6b435921 100644 (file)
@@ -118,6 +118,7 @@ enum audio_codec_type {
 void tegra_get_board_info(struct board_info *);
 void tegra_get_pmu_board_info(struct board_info *bi);
 void tegra_get_display_board_info(struct board_info *bi);
+void tegra_get_camera_board_info(struct board_info *bi);
 
 int get_core_edp(void);
 enum panel_type get_panel_type(void);
index 0f58742702d3d61fa1a7cda0948e1b2f8489bbeb..56cdb61d744d0ee2fcc5256c9dea83547e21cf24 100644 (file)
@@ -92,6 +92,7 @@ unsigned long tegra_grhost_aperture = ~0ul;
 static   bool is_tegra_debug_uart_hsport;
 static struct board_info pmu_board_info;
 static struct board_info display_board_info;
+static struct board_info camera_board_info;
 
 static int pmu_core_edp = 1200;        /* default 1.2V EDP limit */
 static int board_panel_type;
@@ -502,6 +503,24 @@ void tegra_get_display_board_info(struct board_info *bi)
 
 __setup("displayboard=", tegra_display_board_info);
 
+static int __init tegra_camera_board_info(char *info)
+{
+       char *p = info;
+       camera_board_info.board_id = memparse(p, &p);
+       camera_board_info.sku = memparse(p+1, &p);
+       camera_board_info.fab = memparse(p+1, &p);
+       camera_board_info.major_revision = memparse(p+1, &p);
+       camera_board_info.minor_revision = memparse(p+1, &p);
+       return 1;
+}
+
+void tegra_get_camera_board_info(struct board_info *bi)
+{
+       memcpy(bi, &camera_board_info, sizeof(struct board_info));
+}
+
+__setup("cameraboard=", tegra_camera_board_info);
+
 static int __init tegra_modem_id(char *id)
 {
        char *p = id;
@@ -517,6 +536,8 @@ int tegra_get_modem_id(void)
 
 __setup("modem_id=", tegra_modem_id);
 
+
+
 /*
  * Tegra has a protected aperture that prevents access by most non-CPU
  * memory masters to addresses above the aperture value.  Enabling it