arm: tegra: norrin: add touch support for norrin.
Hayden Du [Tue, 3 Dec 2013 09:47:34 +0000 (17:47 +0800)]
bug 1405054

Change-Id: I31e5adc40dc4424b9de3daad053952c53c8b7439
Signed-off-by: Hayden Du <haydend@nvidia.com>
Reviewed-on: http://git-master/r/337730
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>

arch/arm/mach-tegra/board-ardbeg.c
arch/arm/mach-tegra/board-ardbeg.h
arch/arm/mach-tegra/board-laguna-pinmux-t12x.h
arch/arm/mach-tegra/board-laguna-pinmux.c
arch/arm/mach-tegra/board-norrin-power.c

index 14d5962..a8130c5 100644 (file)
@@ -821,6 +821,7 @@ static void ardbeg_modem_init(void)
 #ifndef CONFIG_USE_OF
 static struct platform_device *ardbeg_spi_devices[] __initdata = {
        &tegra11_spi_device1,
+       &tegra11_spi_device3,
        &tegra11_spi_device4,
 };
 
@@ -830,6 +831,12 @@ static struct tegra_spi_platform_data ardbeg_spi1_pdata = {
        .clock_always_on        = false,
 };
 
+static struct tegra_spi_platform_data ardbeg_spi3_pdata = {
+       .dma_req_sel            = 15,
+       .spi_max_frequency      = 25000000,
+       .clock_always_on        = false,
+};
+
 static struct tegra_spi_platform_data ardbeg_spi4_pdata = {
        .dma_req_sel            = 18,
        .spi_max_frequency      = 25000000,
@@ -839,6 +846,7 @@ static struct tegra_spi_platform_data ardbeg_spi4_pdata = {
 static void __init ardbeg_spi_init(void)
 {
        tegra11_spi_device1.dev.platform_data = &ardbeg_spi1_pdata;
+       tegra11_spi_device3.dev.platform_data = &ardbeg_spi3_pdata;
        tegra11_spi_device4.dev.platform_data = &ardbeg_spi4_pdata;
        platform_add_devices(ardbeg_spi_devices,
                        ARRAY_SIZE(ardbeg_spi_devices));
@@ -947,6 +955,14 @@ static struct rm_spi_ts_platform_data rm31080ts_ardbeg_data = {
        .name_of_clock_con = "extern2",
 };
 
+static struct rm_spi_ts_platform_data rm31080ts_norrin_data = {
+       .gpio_reset = TOUCH_GPIO_RST_RAYDIUM_SPI,
+       .config = 0,
+       .platform_id = RM_PLATFORM_P140,
+       .name_of_clock = "clk_out_2",
+       .name_of_clock_con = "extern2",
+};
+
 static struct tegra_spi_device_controller_data dev_cdata = {
        .rx_clk_tap_delay = 0,
        .tx_clk_tap_delay = 16,
@@ -964,8 +980,23 @@ static struct spi_board_info rm31080a_ardbeg_spi_board[1] = {
        },
 };
 
+static struct spi_board_info rm31080a_norrin_spi_board[1] = {
+       {
+               .modalias = "rm_ts_spidev",
+               .bus_num = NORRIN_TOUCH_SPI_ID,
+               .chip_select = NORRIN_TOUCH_SPI_CS,
+               .max_speed_hz = 12 * 1000 * 1000,
+               .mode = SPI_MODE_0,
+               .controller_data = &dev_cdata,
+               .platform_data = &rm31080ts_norrin_data,
+       },
+};
+
 static int __init ardbeg_touch_init(void)
 {
+       struct board_info pmu_board_info;
+       tegra_get_board_info(&board_info);
+
        if (tegra_get_touch_vendor_id() == MAXIM_TOUCH) {
                pr_info("%s init maxim touch\n", __func__);
 #if defined(CONFIG_TOUCHSCREEN_MAXIM_STI) || \
@@ -975,13 +1006,23 @@ static int __init ardbeg_touch_init(void)
        } else if (tegra_get_touch_vendor_id() == RAYDIUM_TOUCH) {
                pr_info("%s init raydium touch\n", __func__);
                tegra_clk_init_from_table(touch_clk_init_table);
-               rm31080a_ardbeg_spi_board[0].irq =
-                       gpio_to_irq(TOUCH_GPIO_IRQ_RAYDIUM_SPI);
-               touch_init_raydium(TOUCH_GPIO_IRQ_RAYDIUM_SPI,
-                               TOUCH_GPIO_RST_RAYDIUM_SPI,
-                               &rm31080ts_ardbeg_data,
-                               &rm31080a_ardbeg_spi_board[0],
-                               ARRAY_SIZE(rm31080a_ardbeg_spi_board));
+               if (board_info.board_id == BOARD_PM374) {
+                       rm31080a_norrin_spi_board[0].irq =
+                               gpio_to_irq(TOUCH_GPIO_IRQ_RAYDIUM_SPI);
+                       touch_init_raydium(TOUCH_GPIO_IRQ_RAYDIUM_SPI,
+                                       TOUCH_GPIO_RST_RAYDIUM_SPI,
+                                       &rm31080ts_norrin_data,
+                                       &rm31080a_norrin_spi_board[0],
+                                       ARRAY_SIZE(rm31080a_norrin_spi_board));
+               } else {
+                       rm31080a_ardbeg_spi_board[0].irq =
+                               gpio_to_irq(TOUCH_GPIO_IRQ_RAYDIUM_SPI);
+                       touch_init_raydium(TOUCH_GPIO_IRQ_RAYDIUM_SPI,
+                                       TOUCH_GPIO_RST_RAYDIUM_SPI,
+                                       &rm31080ts_ardbeg_data,
+                                       &rm31080a_ardbeg_spi_board[0],
+                                       ARRAY_SIZE(rm31080a_ardbeg_spi_board));
+               }
        }
        return 0;
 }
@@ -1175,8 +1216,6 @@ 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 d351f00..8a43e17 100644 (file)
@@ -106,6 +106,8 @@ enum tegra_bb_type {
 #define TOUCH_GPIO_RST_RAYDIUM_SPI     TEGRA_GPIO_PK4
 #define TOUCH_SPI_ID                   0       /*SPI 1 on ardbeg_interposer*/
 #define TOUCH_SPI_CS                   0       /*CS  0 on ardbeg_interposer*/
+#define NORRIN_TOUCH_SPI_ID                    2       /*SPI 2 on Norrin*/
+#define NORRIN_TOUCH_SPI_CS                    1       /*CS  1 on Norrin*/
 
 #define TOUCH_GPIO_IRQ_MAXIM_STI_SPI   TEGRA_GPIO_PK2
 #define TOUCH_GPIO_RST_MAXIM_STI_SPI   TEGRA_GPIO_PK4
index dde5231..1710798 100644 (file)
@@ -47,10 +47,16 @@ static __initdata struct tegra_pingroup_config laguna_pinmux_common[] = {
        DEFAULT_PINMUX(DVFS_CLK,      CLDVFS,      NORMAL,    NORMAL,   OUTPUT),
 
        /* SPI1 pinmux */
-       DEFAULT_PINMUX(ULPI_CLK,      SPI1,        NORMAL,    NORMAL,   OUTPUT),
-       DEFAULT_PINMUX(ULPI_DIR,      SPI1,        NORMAL,    NORMAL,   INPUT),
-       DEFAULT_PINMUX(ULPI_NXT,      SPI1,        NORMAL,    NORMAL,   OUTPUT),
-       DEFAULT_PINMUX(ULPI_STP,      SPI1,        NORMAL,    NORMAL,   OUTPUT),
+       DEFAULT_PINMUX(ULPI_CLK,      SPI1,        PULL_UP,    NORMAL,   INPUT),
+       DEFAULT_PINMUX(ULPI_DIR,      SPI1,        PULL_UP,    NORMAL,   INPUT),
+       DEFAULT_PINMUX(ULPI_NXT,      SPI1,        PULL_UP,    NORMAL,   INPUT),
+       DEFAULT_PINMUX(ULPI_STP,      SPI1,        PULL_UP,    NORMAL,   INPUT),
+
+       /* SPI3 pinmux */
+       DEFAULT_PINMUX(ULPI_DATA0,      SPI3,        PULL_UP,    NORMAL,   INPUT),
+       DEFAULT_PINMUX(ULPI_DATA1,      SPI3,        PULL_UP,    NORMAL,   INPUT),
+       DEFAULT_PINMUX(ULPI_DATA2,      SPI3,        PULL_UP,    NORMAL,   INPUT),
+       DEFAULT_PINMUX(ULPI_DATA3,      SPI3,        PULL_UP,    NORMAL,   INPUT),
 
        /* I2C3 pinmux */
        I2C_PINMUX(CAM_I2C_SCL, I2C3, NORMAL, NORMAL, INPUT, DISABLE, ENABLE),
@@ -149,6 +155,9 @@ static __initdata struct tegra_pingroup_config laguna_pinmux_common[] = {
        /* CLK pinmux */
        DEFAULT_PINMUX(CLK_32K_IN,    CLK,         NORMAL,    NORMAL,   INPUT),
 
+       /* EXTPERIPH2 pinmux */
+       DEFAULT_PINMUX(CLK2_OUT,      EXTPERIPH2,  NORMAL,    NORMAL,   INPUT),
+
        /* PWRON pinmux */
        DEFAULT_PINMUX(CORE_PWR_REQ,  PWRON,       NORMAL,    NORMAL,   OUTPUT),
 
@@ -218,9 +227,7 @@ static __initdata struct tegra_pingroup_config laguna_pinmux_common[] = {
        GPIO_PINMUX_NON_OD(DAP3_FS, NORMAL, NORMAL, OUTPUT),
        GPIO_PINMUX_NON_OD(GPIO_PV0, PULL_UP, NORMAL, INPUT),
        GPIO_PINMUX_NON_OD(GPIO_PV1, PULL_UP, NORMAL, INPUT),
-       GPIO_PINMUX_NON_OD(ULPI_DATA0, PULL_UP, NORMAL, INPUT),
-       GPIO_PINMUX_NON_OD(ULPI_DATA1, PULL_UP, NORMAL, INPUT),
-       GPIO_PINMUX_NON_OD(ULPI_DATA2, PULL_UP, NORMAL, INPUT),
+
        GPIO_PINMUX_NON_OD(ULPI_DATA4, PULL_UP, NORMAL, INPUT),
        GPIO_PINMUX_NON_OD(ULPI_DATA5, NORMAL, NORMAL, OUTPUT),
        GPIO_PINMUX_NON_OD(ULPI_DATA6, PULL_UP, NORMAL, INPUT),
@@ -255,7 +262,6 @@ static __initdata struct tegra_pingroup_config laguna_pinmux_common[] = {
        GPIO_PINMUX_NON_OD(GPIO_PI0, NORMAL, NORMAL, OUTPUT),
        GPIO_PINMUX_NON_OD(PEX_L1_CLKREQ_N, NORMAL, NORMAL, OUTPUT),
        GPIO_PINMUX_NON_OD(GPIO_PFF2, PULL_UP, NORMAL, INPUT),
-       GPIO_PINMUX_NON_OD(CLK2_OUT, NORMAL, NORMAL, OUTPUT),
        GPIO_PINMUX_NON_OD(CLK2_REQ, NORMAL, NORMAL, OUTPUT),
        GPIO_PINMUX_NON_OD(KB_COL0, PULL_UP, NORMAL, INPUT),
        GPIO_PINMUX_NON_OD(KB_COL1, NORMAL, NORMAL, INPUT),
@@ -291,7 +297,6 @@ static __initdata struct tegra_pingroup_config laguna_pinmux_common[] = {
 
 static __initdata struct tegra_pingroup_config unused_pins_lowpower[] = {
        UNUSED_PINMUX(DAP3_SCLK),
-       UNUSED_PINMUX(ULPI_DATA3),
        UNUSED_PINMUX(GPIO_PH7),
        UNUSED_PINMUX(GPIO_PH0),
        UNUSED_PINMUX(GPIO_PI1),
@@ -315,9 +320,6 @@ static struct gpio_init_pin_info init_gpio_mode_laguna_common[] = {
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PP0, false, 0),
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PV0, true, 0),
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PV1, true, 0),
-       GPIO_INIT_PIN_MODE(TEGRA_GPIO_PO1, true, 0),
-       GPIO_INIT_PIN_MODE(TEGRA_GPIO_PO2, true, 0),
-       GPIO_INIT_PIN_MODE(TEGRA_GPIO_PO3, true, 0),
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PO5, true, 0),
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PO6, false, 0),
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PO7, true, 0),
@@ -342,7 +344,7 @@ static struct gpio_init_pin_info init_gpio_mode_laguna_common[] = {
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PJ0, true, 0),
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PJ2, true, 0),
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PK3, true, 0),
-       GPIO_INIT_PIN_MODE(TEGRA_GPIO_PK4, false, 0),
+       GPIO_INIT_PIN_MODE(TEGRA_GPIO_PK4, false, 1),
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PK2, true, 0),
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PI6, true, 0),
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PI2, false, 0),
@@ -354,7 +356,6 @@ static struct gpio_init_pin_info init_gpio_mode_laguna_common[] = {
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PDD6, false, 0),
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PFF1, false, 0),
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PFF2, true, 0),
-       GPIO_INIT_PIN_MODE(TEGRA_GPIO_PW5, false, 0),
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PCC5, false, 0),
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PQ0, true, 0),
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PQ1, true, 0),
index 260d197..c23c6fc 100644 (file)
 #include "gpio-names.h"
 
 #include <mach/pinmux-t12.h>
-
-#define DEFAULT_DRIVE(_name)                                   \
-       {                                                       \
-               .pingroup = TEGRA_DRIVE_PINGROUP_##_name,       \
-               .hsm = TEGRA_HSM_DISABLE,                       \
-               .schmitt = TEGRA_SCHMITT_ENABLE,                \
-               .drive = TEGRA_DRIVE_DIV_1,                     \
-               .pull_down = TEGRA_PULL_31,                     \
-               .pull_up = TEGRA_PULL_31,                       \
-               .slew_rising = TEGRA_SLEW_SLOWEST,              \
-               .slew_falling = TEGRA_SLEW_SLOWEST,             \
-       }
-/* Setting the drive strength of pins
- * hsm: Enable High speed mode (ENABLE/DISABLE)
- * Schimit: Enable/disable schimit (ENABLE/DISABLE)
- * drive: low power mode (DIV_1, DIV_2, DIV_4, DIV_8)
- * pulldn_drive - drive down (falling edge) - Driver Output Pull-Down drive
- *                strength code. Value from 0 to 31.
- * pullup_drive - drive up (rising edge)  - Driver Output Pull-Up drive
- *                strength code. Value from 0 to 31.
- * pulldn_slew -  Driver Output Pull-Up slew control code  - 2bit code
- *                code 11 is least slewing of signal. code 00 is highest
- *                slewing of the signal.
- *                Value - FASTEST, FAST, SLOW, SLOWEST
- * pullup_slew -  Driver Output Pull-Down slew control code -
- *                code 11 is least slewing of signal. code 00 is highest
- *                slewing of the signal.
- *                Value - FASTEST, FAST, SLOW, SLOWEST
- */
-#define SET_DRIVE(_name, _hsm, _schmitt, _drive, _pulldn_drive,\
-               _pullup_drive, _pulldn_slew, _pullup_slew) \
-       {                                               \
-               .pingroup = TEGRA_DRIVE_PINGROUP_##_name,   \
-               .hsm = TEGRA_HSM_##_hsm,                    \
-               .schmitt = TEGRA_SCHMITT_##_schmitt,        \
-               .drive = TEGRA_DRIVE_##_drive,              \
-               .pull_down = TEGRA_PULL_##_pulldn_drive,    \
-               .pull_up = TEGRA_PULL_##_pullup_drive,          \
-               .slew_rising = TEGRA_SLEW_##_pulldn_slew,   \
-               .slew_falling = TEGRA_SLEW_##_pullup_slew,      \
-       }
-
-/* Setting the drive strength of pins
- * hsm: Enable High speed mode (ENABLE/DISABLE)
- * Schimit: Enable/disable schimit (ENABLE/DISABLE)
- * drive: low power mode (DIV_1, DIV_2, DIV_4, DIV_8)
- * pulldn_drive - drive down (falling edge) - Driver Output Pull-Down drive
- *                strength code. Value from 0 to 31.
- * pullup_drive - drive up (rising edge)  - Driver Output Pull-Up drive
- *                strength code. Value from 0 to 31.
- * pulldn_slew -  Driver Output Pull-Up slew control code  - 2bit code
- *                code 11 is least slewing of signal. code 00 is highest
- *                slewing of the signal.
- *                Value - FASTEST, FAST, SLOW, SLOWEST
- * pullup_slew -  Driver Output Pull-Down slew control code -
- *                code 11 is least slewing of signal. code 00 is highest
- *                slewing of the signal.
- *                Value - FASTEST, FAST, SLOW, SLOWEST
- * drive_type - Drive type to be used depending on the resistors.
- */
-
-#define SET_DRIVE_WITH_TYPE(_name, _hsm, _schmitt, _drive, _pulldn_drive,\
-               _pullup_drive, _pulldn_slew, _pullup_slew, _drive_type) \
-       {                                                               \
-               .pingroup = TEGRA_DRIVE_PINGROUP_##_name,               \
-               .hsm = TEGRA_HSM_##_hsm,                                \
-               .schmitt = TEGRA_SCHMITT_##_schmitt,                    \
-               .drive = TEGRA_DRIVE_##_drive,                          \
-               .pull_down = TEGRA_PULL_##_pulldn_drive,                \
-               .pull_up = TEGRA_PULL_##_pullup_drive,                  \
-               .slew_rising = TEGRA_SLEW_##_pulldn_slew,               \
-               .slew_falling = TEGRA_SLEW_##_pullup_slew,              \
-               .drive_type = TEGRA_DRIVE_TYPE_##_drive_type,           \
-       }
-
-#define DEFAULT_PINMUX(_pingroup, _mux, _pupd, _tri, _io)      \
-       {                                                       \
-               .pingroup       = TEGRA_PINGROUP_##_pingroup,   \
-               .func           = TEGRA_MUX_##_mux,             \
-               .pupd           = TEGRA_PUPD_##_pupd,           \
-               .tristate       = TEGRA_TRI_##_tri,             \
-               .io             = TEGRA_PIN_##_io,              \
-               .lock           = TEGRA_PIN_LOCK_DEFAULT,       \
-               .od             = TEGRA_PIN_OD_DEFAULT,         \
-               .ioreset        = TEGRA_PIN_IO_RESET_DEFAULT,   \
-       }
-
-#define I2C_PINMUX(_pingroup, _mux, _pupd, _tri, _io, _lock, _od) \
-       {                                                       \
-               .pingroup       = TEGRA_PINGROUP_##_pingroup,   \
-               .func           = TEGRA_MUX_##_mux,             \
-               .pupd           = TEGRA_PUPD_##_pupd,           \
-               .tristate       = TEGRA_TRI_##_tri,             \
-               .io             = TEGRA_PIN_##_io,              \
-               .lock           = TEGRA_PIN_LOCK_##_lock,       \
-               .od             = TEGRA_PIN_OD_##_od,           \
-               .ioreset        = TEGRA_PIN_IO_RESET_DEFAULT,   \
-       }
-
-#define DDC_PINMUX(_pingroup, _mux, _pupd, _tri, _io, _lock, _rcv_sel) \
-       {                                                       \
-               .pingroup       = TEGRA_PINGROUP_##_pingroup,   \
-               .func           = TEGRA_MUX_##_mux,             \
-               .pupd           = TEGRA_PUPD_##_pupd,           \
-               .tristate       = TEGRA_TRI_##_tri,             \
-               .io             = TEGRA_PIN_##_io,              \
-               .lock           = TEGRA_PIN_LOCK_##_lock,       \
-               .rcv_sel        = TEGRA_PIN_RCV_SEL_##_rcv_sel,         \
-               .ioreset        = TEGRA_PIN_IO_RESET_DEFAULT,   \
-       }
-
-#define VI_PINMUX(_pingroup, _mux, _pupd, _tri, _io, _lock, _ioreset) \
-       {                                                       \
-               .pingroup       = TEGRA_PINGROUP_##_pingroup,   \
-               .func           = TEGRA_MUX_##_mux,             \
-               .pupd           = TEGRA_PUPD_##_pupd,           \
-               .tristate       = TEGRA_TRI_##_tri,             \
-               .io             = TEGRA_PIN_##_io,              \
-               .lock           = TEGRA_PIN_LOCK_##_lock,       \
-               .od             = TEGRA_PIN_OD_DEFAULT,         \
-               .ioreset        = TEGRA_PIN_IO_RESET_##_ioreset \
-       }
-
-#define CEC_PINMUX(_pingroup, _mux, _pupd, _tri, _io, _lock, _od)   \
-       {                                                               \
-               .pingroup   = TEGRA_PINGROUP_##_pingroup,                   \
-               .func       = TEGRA_MUX_##_mux,                             \
-               .pupd       = TEGRA_PUPD_##_pupd,                           \
-               .tristate   = TEGRA_TRI_##_tri,                             \
-               .io         = TEGRA_PIN_##_io,                              \
-               .lock       = TEGRA_PIN_LOCK_##_lock,                       \
-               .od         = TEGRA_PIN_OD_##_od,                           \
-               .ioreset    = TEGRA_PIN_IO_RESET_DEFAULT,                   \
-       }
-
-#define USB_PINMUX CEC_PINMUX
-
-#define GPIO_INIT_PIN_MODE(_gpio, _is_input, _value)   \
-       {                                       \
-               .gpio_nr        = _gpio,        \
-               .is_input       = _is_input,    \
-               .value          = _value,       \
-       }
-#define GPIO_PINMUX(_pingroup, _pupd, _tri, _io, _od)   \
-       {                                                   \
-               .pingroup   = TEGRA_PINGROUP_##_pingroup,       \
-               .func       = TEGRA_MUX_SAFE,                   \
-               .pupd       = TEGRA_PUPD_##_pupd,               \
-               .tristate   = TEGRA_TRI_##_tri,                 \
-               .io         = TEGRA_PIN_##_io,                  \
-               .lock       = TEGRA_PIN_LOCK_DEFAULT,           \
-               .od         = TEGRA_PIN_OD_##_od,               \
-               .ioreset    = TEGRA_PIN_IO_RESET_DEFAULT,       \
-       }
-#define UNUSED_PINMUX(_pingroup)                    \
-       {                                               \
-               .pingroup   = TEGRA_PINGROUP_##_pingroup,   \
-               .func       = TEGRA_MUX_SAFE,               \
-               .pupd       = TEGRA_PUPD_PULL_DOWN,         \
-               .tristate   = TEGRA_TRI_TRISTATE,           \
-               .io         = TEGRA_PIN_OUTPUT,             \
-               .lock       = TEGRA_PIN_LOCK_DEFAULT,       \
-               .od         = TEGRA_PIN_OD_DEFAULT,         \
-               .ioreset    = TEGRA_PIN_IO_RESET_DEFAULT,   \
-       }
+#include "board-laguna-pinmux-t12x.h"
 
 static __initdata struct tegra_drive_pingroup_config laguna_drive_pinmux[] = {
 
-       /* FIXME: update settings for t124 laguna */
-       SET_DRIVE(SDIO1, ENABLE, DISABLE, DIV_1, 36, 20, SLOW, SLOW),
+       /* SDMMC1 */
+       SET_DRIVE(SDIO1, ENABLE, DISABLE, DIV_1, 32, 42, FASTEST, FASTEST),
 
        /* SDMMC3 */
        SET_DRIVE(SDIO3, ENABLE, DISABLE, DIV_1, 22, 36, FASTEST, FASTEST),
@@ -205,7 +41,6 @@ static __initdata struct tegra_drive_pingroup_config laguna_drive_pinmux[] = {
                                                                FASTEST, 1),
 };
 
-#include "board-laguna-pinmux-t12x.h"
 
 static void __init laguna_gpio_init_configure(void)
 {
index fdcf3db..e0659c8 100644 (file)
@@ -114,6 +114,7 @@ static struct regulator_consumer_supply as3722_ldo7_supply[] = {
 
 static struct regulator_consumer_supply as3722_ldo9_supply[] = {
        REGULATOR_SUPPLY("avdd", "spi0.0"),
+       REGULATOR_SUPPLY("avdd", "spi2.1"),
 };
 
 static struct regulator_consumer_supply as3722_ldo10_supply[] = {
@@ -481,6 +482,7 @@ static struct regulator_consumer_supply fixed_reg_dcdc_1v8_supply[] = {
        REGULATOR_SUPPLY("vdd_modem_1v8", NULL),
        REGULATOR_SUPPLY("vdd_1v8b", "0-0048"),
        REGULATOR_SUPPLY("dvdd", "spi0.0"),
+       REGULATOR_SUPPLY("dvdd", "spi2.1"),
        REGULATOR_SUPPLY("vlogic", "0-0069"),
        REGULATOR_SUPPLY("vid", "0-000c"),
        REGULATOR_SUPPLY("vddio", "0-0077"),