arm: tegra: roth: Set initialized mode for panel
Rakesh Iyer [Thu, 14 Feb 2013 20:43:03 +0000 (12:43 -0800)]
Set initialized mode only for roth panel. This excludes dalmore 5''.

Bug 1219004

Change-Id: I5944b8aa0770610d07ddc891be72cd22b5245f6a
Signed-off-by: Rakesh Iyer <riyer@nvidia.com>
Reviewed-on: http://git-master/r/200901
Reviewed-by: Mandar Padmawar <mpadmawar@nvidia.com>
Tested-by: Mandar Padmawar <mpadmawar@nvidia.com>

arch/arm/mach-tegra/board-dalmore.c
arch/arm/mach-tegra/board-dalmore.h
arch/arm/mach-tegra/board-roth-panel.c
arch/arm/mach-tegra/board-roth.c
arch/arm/mach-tegra/board-roth.h

index 784bf10..b58464b 100644 (file)
@@ -826,7 +826,7 @@ static void __init tegra_dalmore_init(void)
        dalmore_edp_init();
        dalmore_touch_init();
        if (board_info.board_id == BOARD_E1582)
-               roth_panel_init();
+               roth_panel_init(board_info.board_id);
        else
                dalmore_panel_init();
        dalmore_kbc_init();
index f242c9a..6694421 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * arch/arm/mach-tegra/board-dalmore.h
  *
- * Copyright (c) 2012, NVIDIA Corporation.
+ * Copyright (c) 2012-2013, NVIDIA Corporation. All rights reserved.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
@@ -116,7 +116,7 @@ int dalmore_sensors_init(void);
 int dalmore_emc_init(void);
 int dalmore_edp_init(void);
 int dalmore_panel_init(void);
-int roth_panel_init(void);
+int roth_panel_init(int board_id);
 int dalmore_kbc_init(void);
 int dalmore_pmon_init(void);
 int dalmore_soctherm_init(void);
index 7da326c..11d1c25 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * arch/arm/mach-tegra/board-roth-panel.c
  *
- * Copyright (c) 2011-2012, NVIDIA Corporation.
+ * Copyright (c) 2011-2013, NVIDIA Corporation. All rights reserved.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -718,7 +718,7 @@ static struct platform_device __maybe_unused
        &roth_disp1_bl_device,
 };
 
-int __init roth_panel_init(void)
+int __init roth_panel_init(int board_id)
 {
        int err = 0;
        struct resource __maybe_unused *res;
@@ -772,6 +772,12 @@ int __init roth_panel_init(void)
        res->start = tegra_fb2_start;
        res->end = tegra_fb2_start + tegra_fb2_size - 1;
 
+       /*
+        * only roth supports initialized mode.
+        */
+       if (!board_id)
+               roth_disp1_out.flags |= TEGRA_DC_OUT_INITIALIZED_MODE;
+
        roth_disp1_device.dev.parent = &phost1x->dev;
        err = platform_device_register(&roth_disp1_device);
        if (err) {
index 6181198..27952d9 100644 (file)
@@ -714,7 +714,8 @@ static void __init tegra_roth_init(void)
        roth_emc_init();
        roth_edp_init();
        roth_touch_init();
-       roth_panel_init();
+       /* roth will pass a null board id to panel_init */
+       roth_panel_init(0);
        roth_kbc_init();
        roth_pmon_init();
 #ifdef CONFIG_BT_BLUESLEEP
index 567d8da..7ed3530 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * arch/arm/mach-tegra/board-roth.h
  *
- * Copyright (c) 2012, NVIDIA Corporation.
+ * Copyright (c) 2012 - 2013, NVIDIA Corporation. All rights reserved.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
@@ -101,7 +101,7 @@ int roth_pinmux_init(void);
 int roth_sensors_init(void);
 int roth_emc_init(void);
 int roth_edp_init(void);
-int roth_panel_init(void);
+int roth_panel_init(int board_id);
 int roth_kbc_init(void);
 int roth_pmon_init(void);
 int roth_soctherm_init(void);