]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
arm: tegra: add pm374 and pm370 support.
authorHayden Du <haydend@nvidia.com>
Wed, 20 Nov 2013 11:55:13 +0000 (19:55 +0800)
committerLaxman Dewangan <ldewangan@nvidia.com>
Thu, 28 Nov 2013 09:01:28 +0000 (01:01 -0800)
Bug 1405054

Change-Id: I505e3b8a132b425462459de0a470f9f6c89a245a
Signed-off-by: Hayden Du <haydend@nvidia.com>
Reviewed-on: http://git-master/r/333403
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
arch/arm/mach-tegra/board-ardbeg-sensors.c
arch/arm/mach-tegra/board-ardbeg.c
arch/arm/mach-tegra/board-laguna-power.c
arch/arm/mach-tegra/tegra-board-id.h

index eec6a8b6453c8d4c62906d92883ea67bd4e7a5e4..58219b0c80993d854c3a89a50274e1e121eb8bfb 100644 (file)
@@ -1462,6 +1462,8 @@ static int ardbeg_nct72_init(void)
        /* ardbeg has thermal sensor on GEN2-I2C i.e. instance 1 */
        if (board_info.board_id == BOARD_PM358 ||
                        board_info.board_id == BOARD_PM359 ||
+                       board_info.board_id == BOARD_PM370 ||
+                       board_info.board_id == BOARD_PM374 ||
                        board_info.board_id == BOARD_PM363)
                i2c_register_board_info(1, laguna_i2c_nct72_board_info,
                ARRAY_SIZE(laguna_i2c_nct72_board_info));
index 2ed21c60068ec7ea2756d4a7f361661a9338e79a..a581c3675f41bd99343299735a4401842e1debbe 100644 (file)
@@ -214,6 +214,8 @@ static void ardbeg_i2c_init(void)
 
        if (board_info.board_id == BOARD_PM359 ||
                        board_info.board_id == BOARD_PM358 ||
+                       board_info.board_id == BOARD_PM374 ||
+                       board_info.board_id == BOARD_PM370 ||
                        board_info.board_id == BOARD_PM363) {
                i2c_keyboard_board_info.irq = gpio_to_irq(I2C_KB_IRQ);
                i2c_register_board_info(1, &i2c_keyboard_board_info , 1);
@@ -303,6 +305,8 @@ static void ardbeg_audio_init(void)
        tegra_get_board_info(&board_info);
        if (board_info.board_id == BOARD_PM359 ||
                        board_info.board_id == BOARD_PM358 ||
+                       board_info.board_id == BOARD_PM370 ||
+                       board_info.board_id == BOARD_PM374 ||
                        board_info.board_id == BOARD_PM363) {
                /*Laguna*/
                ardbeg_audio_pdata_rt5645.gpio_hp_det =
@@ -609,6 +613,8 @@ static void ardbeg_usb_init(void)
 
        if (board_info.board_id == BOARD_PM359 ||
                        board_info.board_id == BOARD_PM358 ||
+                       board_info.board_id == BOARD_PM370 ||
+                       board_info.board_id == BOARD_PM374 ||
                        board_info.board_id == BOARD_PM363) {
                /* Laguna */
                /* Host cable is detected through AMS PMU Interrupt */
@@ -678,6 +684,8 @@ static void ardbeg_xusb_init(void)
 
        if (board_info.board_id == BOARD_PM359 ||
                        board_info.board_id == BOARD_PM358 ||
+                       board_info.board_id == BOARD_PM374 ||
+                       board_info.board_id == BOARD_PM370 ||
                        board_info.board_id == BOARD_PM363) {
                /* Laguna */
                pr_info("Laguna ERS. 0x%x\n", board_info.board_id);
@@ -1120,6 +1128,8 @@ static void __init tegra_ardbeg_late_init(void)
        platform_device_register(&tegra124_pinctrl_device);
        if (board_info.board_id == BOARD_PM359 ||
                        board_info.board_id == BOARD_PM358 ||
+                       board_info.board_id == BOARD_PM370 ||
+                       board_info.board_id == BOARD_PM374 ||
                        board_info.board_id == BOARD_PM363)
                laguna_pinmux_init();
        else
@@ -1140,6 +1150,8 @@ static void __init tegra_ardbeg_late_init(void)
        ardbeg_sata_init();
        if (board_info.board_id == BOARD_PM359 ||
                        board_info.board_id == BOARD_PM358 ||
+                       board_info.board_id == BOARD_PM374 ||
+                       board_info.board_id == BOARD_PM370 ||
                        board_info.board_id == BOARD_PM363)
                laguna_regulator_init();
        else
@@ -1161,6 +1173,8 @@ static void __init tegra_ardbeg_late_init(void)
                ardbeg_pmon_init();
        if (board_info.board_id == BOARD_PM359 ||
                        board_info.board_id == BOARD_PM358 ||
+                       board_info.board_id == BOARD_PM374 ||
+                       board_info.board_id == BOARD_PM370 ||
                        board_info.board_id == BOARD_PM363)
                laguna_pcie_init();
        else {
index c9a7607fafca59111f1db4a2dac2fc249e4a71d2..8ffc701a5aff2d8771e6f1491875b0d9938790f6 100644 (file)
@@ -330,6 +330,8 @@ int __init laguna_as3722_regulator_init(void)
                i2c_register_board_info(0, tca6408_expander,
                                ARRAY_SIZE(tca6408_expander));
        else if (board_info.board_id == BOARD_PM359 ||
+                       board_info.board_id == BOARD_PM370 ||
+                       board_info.board_id == BOARD_PM374 ||
                        board_info.board_id == BOARD_PM358)
                i2c_register_board_info(0, tca6416_expander,
                                ARRAY_SIZE(tca6416_expander));
@@ -769,6 +771,17 @@ static struct platform_device *fixed_reg_devs_pm363[] = {
        LAGUNA_COMMON_FIXED_REG,
        LAGUNA_PM363_FIXED_REG
 };
+/* Gpio switch regulator platform data for laguna pm370 FFD*/
+static struct platform_device *fixed_reg_devs_pm370[] = {
+       LAGUNA_COMMON_FIXED_REG,
+       LAGUNA_PM358_FIXED_REG
+};
+
+/* Gpio switch regulator platform data for laguna pm374 FFD*/
+static struct platform_device *fixed_reg_devs_pm374[] = {
+       LAGUNA_COMMON_FIXED_REG,
+       LAGUNA_PM358_FIXED_REG
+};
 
 static int __init laguna_fixed_regulator_init(void)
 {
@@ -778,12 +791,18 @@ static int __init laguna_fixed_regulator_init(void)
                return 0;
 
        tegra_get_board_info(&board_info);
-       if (board_info.board_id == BOARD_PM358)
-               return platform_add_devices(fixed_reg_devs_pm358,
-                               ARRAY_SIZE(fixed_reg_devs_pm358));
+       if (board_info.board_id == BOARD_PM374)
+               return platform_add_devices(fixed_reg_devs_pm374,
+                               ARRAY_SIZE(fixed_reg_devs_pm374));
        else if (board_info.board_id == BOARD_PM359)
                return platform_add_devices(fixed_reg_devs_pm359,
                                ARRAY_SIZE(fixed_reg_devs_pm359));
+       else if (board_info.board_id == BOARD_PM358)
+               return platform_add_devices(fixed_reg_devs_pm358,
+                               ARRAY_SIZE(fixed_reg_devs_pm358));
+       else if (board_info.board_id == BOARD_PM370)
+               return platform_add_devices(fixed_reg_devs_pm370,
+                               ARRAY_SIZE(fixed_reg_devs_pm370));
        else if (board_info.board_id == BOARD_PM363)
                return platform_add_devices(fixed_reg_devs_pm363,
                                ARRAY_SIZE(fixed_reg_devs_pm363));
index 852ddc24167939a9cf805ad39cd8ce6c19eafaeb..6fe865d87bd33b6e1615fb72fa2c6b27d6db7879 100644 (file)
@@ -49,6 +49,8 @@
 #define BOARD_PM358   0x0166
 #define BOARD_PM359   0x0167
 #define BOARD_PM363   0x016B
+#define BOARD_PM370   0x0172
+#define BOARD_PM374   0x0176
 #define BOARD_E2548   0x09F4
 #define BOARD_E2549   0x09F5
 #define BOARD_E1782   0x06F6