[ARM] tegra: stingray: Update board files for stingray
authorColin Cross <ccross@android.com>
Thu, 13 May 2010 21:03:59 +0000 (14:03 -0700)
committerColin Cross <ccross@android.com>
Wed, 6 Oct 2010 23:32:54 +0000 (16:32 -0700)
Change-Id: I6433bce8bb1cee03a50d1df96a3edd1d2a5d95da
Signed-off-by: Colin Cross <ccross@android.com>
arch/arm/mach-tegra/board-stingray-i2c.c
arch/arm/mach-tegra/board-stingray-keypad.c
arch/arm/mach-tegra/board-stingray-panel.c
arch/arm/mach-tegra/board-stingray-pinmux.c
arch/arm/mach-tegra/board-stingray.c

index 53e527ab806833a75a3cd67392d748379d6a037a..9112fda1cce8414519db042bf6f3b10cfbc21e5b 100644 (file)
 #include <linux/input.h>
 #include "gpio-names.h"
 
-#define STINGRAY_TOUCH_IRQ_GPIO TEGRA_GPIO_PF5
-#define STINGRAY_COMPASS_IRQ_GPIO TEGRA_GPIO_PE2
+#define XMEGAT_BL_I2C_ADDR     0x35
+#define STINGRAY_TOUCH_RESET_N_GPIO    TEGRA_GPIO_PR4
+#define STINGRAY_TOUCH_INT_N_GPIO      TEGRA_GPIO_PV2
+#define STINGRAY_TOUCH_WAKE_N_GPIO     TEGRA_GPIO_PJ2
 
-static int sholes_touch_reset(void)
+static int stingray_touch_reset(void)
 {
+       gpio_set_value(STINGRAY_TOUCH_RESET_N_GPIO, 0);
+       msleep(10);
+       gpio_set_value(STINGRAY_TOUCH_RESET_N_GPIO, 1);
+       msleep(100); /* value from moto */
        return 0;
 }
 
-static struct vkey sholes_touch_vkeys[] = {
-       {
-               .code           = KEY_BACK,
-       },
-       {
-               .code           = KEY_MENU,
-       },
-       {
-               .code           = KEY_HOME,
-       },
-       {
-               .code           = KEY_SEARCH,
-       },
-};
 
-static struct qtm_touch_keyarray_cfg sholes_key_array_data[] = {
-       {
-               .ctrl = 0,
-               .x_origin = 0,
-               .y_origin = 0,
-               .x_size = 0,
-               .y_size = 0,
-               .aks_cfg = 0,
-               .burst_len = 0,
-               .tch_det_thr = 0,
-               .tch_det_int = 0,
-               .rsvd1 = 0,
-               .rsvd2 = 0,
-       },
-       {
-               .ctrl = 0,
-               .x_origin = 0,
-               .y_origin = 0,
-               .x_size = 0,
-               .y_size = 0,
-               .aks_cfg = 0,
-               .burst_len = 0,
-               .tch_det_thr = 0,
-               .tch_det_int = 0,
-               .rsvd1 = 0,
-               .rsvd2 = 0,
-       },
-};
+/*struct qtouch_ts_platform_data stingray_touch_data = {
 
-static struct qtouch_ts_platform_data sholes_ts_platform_data = {
-       .irqflags       = IRQF_TRIGGER_LOW,
-       .flags          = (QTOUCH_SWAP_XY |
-                          QTOUCH_FLIP_X |
+       .flags          = (QTOUCH_FLIP_X |
+                          QTOUCH_FLIP_Y |
                           QTOUCH_USE_MULTITOUCH |
-                          QTOUCH_CFG_BACKUPNV |
-                          QTOUCH_EEPROM_CHECKSUM),
-       .abs_min_x      = 0,
-       .abs_max_x      = 1024,
-       .abs_min_y      = 0,
-       .abs_max_y      = 1024,
-       .abs_min_p      = 0,
-       .abs_max_p      = 255,
-       .abs_min_w      = 0,
-       .abs_max_w      = 15,
-       .x_delta        = 400,
-       .y_delta        = 250,
-       .nv_checksum    = 0xfaf5,
-       .fuzz_x         = 0,
-       .fuzz_y         = 0,
-       .fuzz_p         = 2,
-       .fuzz_w         = 2,
-       .hw_reset       = sholes_touch_reset,
+                          QTOUCH_CFG_BACKUPNV),
+       .irqflags               = (IRQF_TRIGGER_LOW),
+       .abs_min_x              = 0,
+       .abs_max_x              = 320, //1023,
+       .abs_min_y              = 0,
+       .abs_max_y              = 736, //1023,
+       .abs_min_p              = 0,
+       .abs_max_p              = 255,
+       .abs_min_w              = 0,
+       .abs_max_w              = 15,
+       .x_delta                = 400,
+       .y_delta                = 250,
+       .nv_checksum            = 0x2c30,
+       .fuzz_x                 = 0,
+       .fuzz_y                 = 0,
+       .fuzz_p                 = 2,
+       .fuzz_w                 = 2,
+       .boot_i2c_addr  = XMEGAT_BL_I2C_ADDR,
+       .hw_reset               = stingray_touch_reset,
+       .key_array = {
+               .cfg            = NULL,
+               .keys           = NULL,
+               .num_keys       = 0,
+       },
        .power_cfg      = {
                .idle_acq_int   = 0xff,
                .active_acq_int = 0xff,
-               .active_idle_to = 0x01,
+               .active_idle_to = 0x00,
        },
        .acquire_cfg    = {
-               .charge_time    = 12,
-               .atouch_drift   = 5,
-               .touch_drift    = 20,
-               .drift_susp     = 20,
-               .touch_autocal  = 0x96,
+               .charge_time    = 0x0A,
+               .atouch_drift   = 0x14,
+               .touch_drift    = 0x14,
+               .drift_susp     = 0x14,
+               .touch_autocal  = 0x00,
                .sync           = 0,
+               .atch_cal_suspend_time  = 0,
+               .atch_cal_suspend_thres = 0,
        },
        .multi_touch_cfg        = {
-               .ctrl           = 0x0b,
+               .ctrl           = 0x83,
                .x_origin       = 0,
                .y_origin       = 0,
-               .x_size         = 19,
-               .y_size         = 11,
+               .x_size         = 0x1b,
+               .y_size         = 0x2a,
                .aks_cfg        = 0,
-               .burst_len      = 0x40,
-               .tch_det_thr    = 0x12,
-               .tch_det_int    = 0x2,
-               .mov_hyst_init  = 0xe,
-               .mov_hyst_next  = 0xe,
-               .mov_filter     = 0x9,
-               .num_touch      = 2,
-               .merge_hyst     = 0,
-               .merge_thresh   = 3,
-               .amp_hyst = 2,
-                .x_res = 0x0000,
-                .y_res = 0x0000,
-                .x_low_clip = 0x00,
-                .x_high_clip = 0x00,
-                .y_low_clip = 0x00,
-                .y_high_clip = 0x00,
-       },
-    .linear_tbl_cfg = {
-                 .ctrl = 0x01,
-                 .x_offset = 0x0000,
-                 .x_segment = {
-                         0x48, 0x3f, 0x3c, 0x3E,
-                         0x3f, 0x3e, 0x3e, 0x3e,
-                         0x3f, 0x42, 0x41, 0x3f,
-                         0x41, 0x40, 0x41, 0x46
-                 },
-                 .y_offset = 0x0000,
-                 .y_segment = {
-                         0x44, 0x38, 0x37, 0x3e,
-                         0x3e, 0x41, 0x41, 0x3f,
-                         0x42, 0x41, 0x42, 0x42,
-                         0x41, 0x3f, 0x41, 0x45
-                 },
-         },
+               .burst_len      = 0x30,
+               .tch_det_thr    = 0x2D,
+               .tch_det_int    = 0x3,
+               .orient         = 1,
+               .mrg_to         = 0x00,
+               .mov_hyst_init  = 0x05,
+               .mov_hyst_next  = 0x02,
+               .mov_filter     = 0x20,
+               .num_touch      = 0x01,
+               .merge_hyst     = 0x0A,
+               .merge_thresh   = 0x0A,
+               .amp_hyst       = 0x0A,
+               .x_res          = 0x031F,
+               .y_res          = 0x04FF,
+               .x_low_clip     = 0x00,
+               .x_high_clip    = 0x00,
+               .y_low_clip     = 0x00,
+               .y_high_clip    = 0x00,
+               .x_edge_ctrl    = 0,
+               .x_edge_dist    = 0,
+               .y_edge_ctrl    = 0,
+               .y_edge_dist    = 0,
+               .jump_limit     = 0,
+       },
+       .linear_tbl_cfg = {
+               .ctrl           = 0x00,
+               .x_offset       = 0x0000,
+               .x_segment = {
+                       0x00, 0x00, 0x00, 0x00,
+                       0x00, 0x00, 0x00, 0x00,
+                       0x00, 0x00, 0x00, 0x00,
+                       0x00, 0x00, 0x00, 0x00
+               },
+               .y_offset = 0x0000,
+               .y_segment = {
+                       0x00, 0x00, 0x00, 0x00,
+                       0x00, 0x00, 0x00, 0x00,
+                       0x00, 0x00, 0x00, 0x00,
+                       0x00, 0x00, 0x00, 0x00
+               },
+       },
+       .comms_config_cfg = {
+               .ctrl           = 0,
+               .command        = 0,
+       },
+       .gpio_pwm_cfg = {
+               .ctrl                   = 0,
+               .report_mask            = 0,
+               .pin_direction          = 0,
+               .internal_pullup        = 0,
+               .output_value           = 0,
+               .wake_on_change         = 0,
+               .pwm_enable             = 0,
+               .pwm_period             = 0,
+               .duty_cycle_0           = 0,
+               .duty_cycle_1           = 0,
+               .duty_cycle_2           = 0,
+               .duty_cycle_3           = 0,
+               .trigger_0              = 0,
+               .trigger_1              = 0,
+               .trigger_2              = 0,
+               .trigger_3              = 0,
+       },
        .grip_suppression_cfg = {
                .ctrl           = 0x00,
-               .xlogrip        = 0x00,
-               .xhigrip        = 0x00,
-               .ylogrip        = 0x00,
-               .yhigrip        = 0x00,
+               .xlogrip        = 0x2F,
+               .xhigrip        = 0x2F,
+               .ylogrip        = 0x2F,
+               .yhigrip        = 0x2F,
                .maxtchs        = 0x00,
-               .reserve0   = 0x00,
-               .szthr1 = 0x00,
-               .szthr2 = 0x00,
+               .reserve0       = 0x00,
+               .szthr1         = 0x00,
+               .szthr2         = 0x00,
                .shpthr1        = 0x00,
                .shpthr2        = 0x00,
+               .supextto       = 0x00,
        },
-       .noise1_suppression_cfg = {
-               .ctrl = 0x01,
-               .reserved = 0x01,
-               .atchthr = 0x64,
-               .duty_cycle = 0x08,
+       .noise_suppression_cfg = {
+               .ctrl                   = 0,
+               .outlier_filter_len     = 0,
+               .reserve0               = 0,
+               .gcaf_upper_limit       = 0,
+               .gcaf_lower_limit       = 0,
+               .gcaf_low_count         = 0,
+               .noise_threshold        = 0,
+               .reserve1               = 0,
+               .freq_hop_scale         = 0,
+               .burst_freq_0           = 0,
+               .burst_freq_1           = 0x0A,
+               .burst_freq_2           = 0x0F,
+               .burst_freq_3           = 0x14,
+               .burst_freq_4           = 0x19,
+               .idle_gcaf_valid        = 0,
+       },
+       .touch_proximity_cfg = {
+               .ctrl                   = 0,
+               .x_origin               = 0,
+               .y_origin               = 0,
+               .x_size                 = 0,
+               .y_size                 = 0,
+               .reserve0               = 0,
+               .blen                   = 0,
+               .tch_thresh             = 0,
+               .tch_detect_int         = 0,
+               .average                = 0,
+               .move_null_rate         = 0,
+               .move_det_tresh         = 0,
+       },
+       .one_touch_gesture_proc_cfg = {
+               .ctrl                   = 0,
+               .reserve0               = 0,
+               .gesture_enable         = 0,
+               .pres_proc              = 0,
+               .tap_time_out           = 0,
+               .flick_time_out         = 0,
+               .drag_time_out          = 0,
+               .short_press_time_out   = 0,
+               .long_press_time_out    = 0,
+               .repeat_press_time_out  = 0,
+               .flick_threshold        = 0,
+               .drag_threshold         = 0,
+               .tap_threshold          = 0,
+               .throw_threshold        = 0,
+       },
+       .self_test_cfg = {
+               .ctrl                   = 0,
+               .command                = 0,
+               .high_signal_limit_0    = 0,
+               .low_signal_limit_0     = 0,
+               .high_signal_limit_1    = 0,
+               .low_signal_limit_1     = 0,
+               .high_signal_limit_2    = 0,
+               .low_signal_limit_2     = 0,
+       },
+       .two_touch_gesture_proc_cfg = {
+               .ctrl                   = 0,
+               .reserved0              = 0,
+               .reserved1              = 0,
+               .gesture_enable         = 0,
+               .rotate_threshold       = 0,
+               .zoom_threshold         = 0,
        },
-       .key_array      = {
-               .cfg            = sholes_key_array_data,
-               .num_keys   = ARRAY_SIZE(sholes_key_array_data),
+       .cte_config_cfg = {
+               .ctrl                   = 0,
+               .command                = 0,
+               .mode                   = 0,
+               .idle_gcaf_depth        = 16,
+               .active_gcaf_depth      = 16,
+               .voltage                = 60,
+       },
+       .noise1_suppression_cfg = {
+               .ctrl           = 0x01,
+               .version        = 0x01,
+               .atch_thr       = 0x64,
+               .duty_cycle     = 0x08,
+               .drift_thr      = 0x00,
+               .clamp_thr      = 0x00,
+               .diff_thr       = 0x00,
+               .adjustment     = 0x00,
+               .average        = 0x0000,
+               .temp           = 0x00,
+               .offset = {
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+               },
+               .bad_chan = {
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+                       0x00, 0x00, 0x00
+               },
+               .x_short        = 0x00,
        },
        .vkeys                  = {
-               .keys           = sholes_touch_vkeys,
-               .count          = ARRAY_SIZE(sholes_touch_vkeys),
-               .start          = 961,
+               .count          = 0,
+               .keys           = NULL,
        },
 };
 
-static struct i2c_board_info __initdata sholes_i2c_bus1_board_info[] = {
+static struct i2c_board_info __initdata stingray_i2c_bus1_board_info[] = {
        {
-               I2C_BOARD_INFO(QTOUCH_TS_NAME, 0x4a),
-               .platform_data = &sholes_ts_platform_data,
-               .irq = TEGRA_GPIO_TO_IRQ(STINGRAY_TOUCH_IRQ_GPIO),
-       },
-};
-
-static struct i2c_board_info __initdata stingray_i2c_bus4_board_info[] = {
-        {
-                I2C_BOARD_INFO("akm8973", 0x0C),
-                .irq = TEGRA_GPIO_TO_IRQ(STINGRAY_COMPASS_IRQ_GPIO),
-        },
-};
+        I2C_BOARD_INFO(QTOUCH_TS_NAME, 0x5B),
+        .platform_data = &stingray_touch_data,
+        .irq = TEGRA_GPIO_TO_IRQ(STINGRAY_TOUCH_INT_N_GPIO),
+        },
+};*/
 
 static int __init stingray_init_i2c(void)
 {
        if (!machine_is_stingray())
                return 0;
 
-       tegra_gpio_enable(STINGRAY_TOUCH_IRQ_GPIO);
-       gpio_request(STINGRAY_TOUCH_IRQ_GPIO, "touch_irq");
-       gpio_direction_input(STINGRAY_TOUCH_IRQ_GPIO);
+       tegra_gpio_enable(STINGRAY_TOUCH_INT_N_GPIO);
+       gpio_request(STINGRAY_TOUCH_INT_N_GPIO, "touch_irq");
+       gpio_direction_input(STINGRAY_TOUCH_INT_N_GPIO);
+
+       tegra_gpio_enable(STINGRAY_TOUCH_WAKE_N_GPIO);
+       gpio_request(STINGRAY_TOUCH_WAKE_N_GPIO, "touch_wake");
+       gpio_direction_input(STINGRAY_TOUCH_WAKE_N_GPIO);
+
+       tegra_gpio_enable(STINGRAY_TOUCH_RESET_N_GPIO);
+       gpio_request(STINGRAY_TOUCH_RESET_N_GPIO, "touch_reset");
+       gpio_direction_output(STINGRAY_TOUCH_RESET_N_GPIO, 1);
 
-       i2c_register_board_info(0, sholes_i2c_bus1_board_info, 1);
+//     i2c_register_board_info(0, stingray_i2c_bus1_board_info, 1);
 
-       i2c_register_board_info(3, stingray_i2c_bus4_board_info, 1);
+//     i2c_register_board_info(3, stingray_i2c_bus4_board_info, 1);
 
        return 0;
 }
index 45df99cce179582f02d59bb69973bbe25db9c5d0..df4016d53012531c8b75412b4da57ab14ab97316 100644 (file)
@@ -105,7 +105,7 @@ static struct keyreset_platform_data tegra_reset_keys_pdata = {
        },
 };
 
-struct platform_device tegra_reset_keys_device = {
+static struct platform_device tegra_reset_keys_device = {
          .name = KEYRESET_NAME,
          .dev.platform_data = &tegra_reset_keys_pdata,
 };
index 778ca5646499f42390491247b9cc41aae1cd1d1b..ef744c1343992a5471ef557772a1e1e635e0510a 100644 (file)
@@ -41,10 +41,10 @@ static struct resource fb_resource[] = {
 };
 
 static struct tegra_fb_lcd_data tegra_fb_lcd_platform_data = {
-       .lcd_xres       = 480,
-       .lcd_yres       = 854,
-       .fb_xres        = 480,
-       .fb_yres        = 854,
+       .lcd_xres       = 1280,
+       .lcd_yres       = 720,
+       .fb_xres        = 1280,
+       .fb_yres        = 720,
        .bits_per_pixel = 16,
 };
 
index f73d350c9d148bd277f5e4e5f40433842115ea9a..29212bbe7024b423b2e2b87d8ea961f705cd52cb 100644 (file)
  */
 
 #include <linux/kernel.h>
+#include <linux/gpio.h>
 #include <mach/pinmux.h>
 
+#include "gpio-names.h"
+
 #include "board-stingray.h"
 
 static struct tegra_pingroup_config stingray_pinmux[] = {
@@ -34,84 +37,84 @@ static struct tegra_pingroup_config stingray_pinmux[] = {
        {TEGRA_PINGROUP_DAP3,  TEGRA_MUX_DAP3,          TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_DAP4,  TEGRA_MUX_DAP4,          TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_DDC,   TEGRA_MUX_I2C2,          TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL},
-       {TEGRA_PINGROUP_DTA,   TEGRA_MUX_SDIO2,         TEGRA_TRI_NORMAL,     TEGRA_TRI_NORMAL},
-       {TEGRA_PINGROUP_DTB,   TEGRA_MUX_RSVD1,         TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_DTC,   TEGRA_MUX_RSVD1,         TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_DTD,   TEGRA_MUX_SDIO2,         TEGRA_TRI_NORMAL,     TEGRA_TRI_NORMAL},
-       {TEGRA_PINGROUP_DTE,   TEGRA_MUX_RSVD1,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_DTF,   TEGRA_MUX_I2C3,          TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL},
+       {TEGRA_PINGROUP_DTA,   TEGRA_MUX_VI,            TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
+       {TEGRA_PINGROUP_DTB,   TEGRA_MUX_VI,            TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
+       {TEGRA_PINGROUP_DTC,   TEGRA_MUX_VI,            TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
+       {TEGRA_PINGROUP_DTD,   TEGRA_MUX_VI,            TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
+       {TEGRA_PINGROUP_DTE,   TEGRA_MUX_VI,            TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE},
+       {TEGRA_PINGROUP_DTF,   TEGRA_MUX_I2C3,          TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_GMA,   TEGRA_MUX_SDIO4,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_GMB,   TEGRA_MUX_GMI,           TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_GMC,   TEGRA_MUX_UARTD,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
-       {TEGRA_PINGROUP_GMD,   TEGRA_MUX_GMI,           TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
+       {TEGRA_PINGROUP_GMD,   TEGRA_MUX_GMI,           TEGRA_PUPD_PULL_UP,    TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_GME,   TEGRA_MUX_SDIO4,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_GPU,   TEGRA_MUX_GMI,           TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_GPU7,  TEGRA_MUX_RTCK,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
-       {TEGRA_PINGROUP_GPV,   TEGRA_MUX_PCIE,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE},
+       {TEGRA_PINGROUP_GPV,   TEGRA_MUX_PCIE,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_HDINT, TEGRA_MUX_HDMI,          TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_I2CP,  TEGRA_MUX_I2C,           TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_IRRX,  TEGRA_MUX_UARTA,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_IRTX,  TEGRA_MUX_UARTA,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_KBCA,  TEGRA_MUX_KBC,           TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL},
-       {TEGRA_PINGROUP_KBCB,  TEGRA_MUX_KBC,           TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL},
+       {TEGRA_PINGROUP_KBCB,  TEGRA_MUX_SDIO2,         TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_KBCC,  TEGRA_MUX_KBC,           TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL},
-       {TEGRA_PINGROUP_KBCD,  TEGRA_MUX_KBC,           TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL},
+       {TEGRA_PINGROUP_KBCD,  TEGRA_MUX_SDIO2,         TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_KBCE,  TEGRA_MUX_KBC,           TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_KBCF,  TEGRA_MUX_KBC,           TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_LCSN,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_LD0,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
-       {TEGRA_PINGROUP_LD1,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_LD10,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
+       {TEGRA_PINGROUP_LD1,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
+       {TEGRA_PINGROUP_LD10,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_LD11,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
-       {TEGRA_PINGROUP_LD12,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_LD13,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
+       {TEGRA_PINGROUP_LD12,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
+       {TEGRA_PINGROUP_LD13,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_LD14,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
-       {TEGRA_PINGROUP_LD15,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_LD16,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_LD17,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_LD2,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
+       {TEGRA_PINGROUP_LD15,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
+       {TEGRA_PINGROUP_LD16,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
+       {TEGRA_PINGROUP_LD17,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
+       {TEGRA_PINGROUP_LD2,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_LD3,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
-       {TEGRA_PINGROUP_LD4,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_LD5,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_LD6,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_LD7,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_LD8,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_LD9,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
+       {TEGRA_PINGROUP_LD4,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
+       {TEGRA_PINGROUP_LD5,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
+       {TEGRA_PINGROUP_LD6,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
+       {TEGRA_PINGROUP_LD7,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
+       {TEGRA_PINGROUP_LD8,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
+       {TEGRA_PINGROUP_LD9,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_LDC,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_LDI,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_LHP0,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_LHP1,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_LHP2,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_LHS,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE},
+       {TEGRA_PINGROUP_LDI,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
+       {TEGRA_PINGROUP_LHP0,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
+       {TEGRA_PINGROUP_LHP1,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
+       {TEGRA_PINGROUP_LHP2,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
+       {TEGRA_PINGROUP_LHS,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_LM0,   TEGRA_MUX_SPI3,          TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_LM1,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_LPP,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_LPW0,  TEGRA_MUX_SPI3,          TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE},
+       {TEGRA_PINGROUP_LPP,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
+       {TEGRA_PINGROUP_LPW0,  TEGRA_MUX_SPI3,          TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_LPW1,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_LPW2,  TEGRA_MUX_SPI3,          TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_LSC0,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE},
+       {TEGRA_PINGROUP_LSC0,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_LSC1,  TEGRA_MUX_SPI3,          TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_LSCK,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_LSDA,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_LSDI,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_LSPI,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_LVP0,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_LVP1,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_LVS,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE},
+       {TEGRA_PINGROUP_LSPI,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL},
+       {TEGRA_PINGROUP_LVP0,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL},
+       {TEGRA_PINGROUP_LVP1,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
+       {TEGRA_PINGROUP_LVS,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_OWC,   TEGRA_MUX_OWR,           TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_PMC,   TEGRA_MUX_PWR_ON,        TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_PTA,   TEGRA_MUX_RSVD4,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
-       {TEGRA_PINGROUP_RM,    TEGRA_MUX_I2C,           TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
-       {TEGRA_PINGROUP_SDB,   TEGRA_MUX_SDIO3,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
-       {TEGRA_PINGROUP_SDC,   TEGRA_MUX_SDIO3,         TEGRA_TRI_NORMAL,     TEGRA_TRI_NORMAL},
-       {TEGRA_PINGROUP_SDD,   TEGRA_MUX_SDIO3,         TEGRA_TRI_NORMAL,     TEGRA_TRI_NORMAL},
-       {TEGRA_PINGROUP_SDIO1, TEGRA_MUX_SDIO1,         TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL},
+       {TEGRA_PINGROUP_RM,    TEGRA_MUX_RSVD2,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
+       {TEGRA_PINGROUP_SDB,   TEGRA_MUX_SDIO3,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE},
+       {TEGRA_PINGROUP_SDC,   TEGRA_MUX_SDIO3,         TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE},
+       {TEGRA_PINGROUP_SDD,   TEGRA_MUX_SDIO3,         TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE},
+       {TEGRA_PINGROUP_SDIO1, TEGRA_MUX_UARTE,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_SLXA,  TEGRA_MUX_PCIE,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_SLXC,  TEGRA_MUX_SPI4,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_SLXD,  TEGRA_MUX_SPI4,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_SLXK,  TEGRA_MUX_PCIE,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_SPDI,  TEGRA_MUX_RSVD2,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_SPDO,  TEGRA_MUX_RSVD2,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE},
+       {TEGRA_PINGROUP_SLXK,  TEGRA_MUX_PCIE,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
+       {TEGRA_PINGROUP_SPDI,  TEGRA_MUX_I2C,           TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
+       {TEGRA_PINGROUP_SPDO,  TEGRA_MUX_I2C,           TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_SPIA,  TEGRA_MUX_SPI2,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_SPIB,  TEGRA_MUX_SPI2,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_SPIC,  TEGRA_MUX_SPI2,          TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
@@ -120,13 +123,13 @@ static struct tegra_pingroup_config stingray_pinmux[] = {
        {TEGRA_PINGROUP_SPIF,  TEGRA_MUX_SPI1,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_SPIG,  TEGRA_MUX_SPI2,          TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_SPIH,  TEGRA_MUX_SPI2,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
-       {TEGRA_PINGROUP_UAA,   TEGRA_MUX_MIPI_HS,       TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_UAB,   TEGRA_MUX_MIPI_HS,       TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE},
+       {TEGRA_PINGROUP_UAA,   TEGRA_MUX_ULPI,          TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE},
+       {TEGRA_PINGROUP_UAB,   TEGRA_MUX_ULPI,          TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_UAC,   TEGRA_MUX_OWR,           TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_UAD,   TEGRA_MUX_IRDA,          TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_UCA,   TEGRA_MUX_UARTC,         TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_UCB,   TEGRA_MUX_UARTC,         TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_UDA,   TEGRA_MUX_RSVD2,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE},
+       {TEGRA_PINGROUP_UDA,   TEGRA_MUX_ULPI,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_CK32,  TEGRA_MUX_NONE,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_DDRC,  TEGRA_MUX_NONE,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_PMCA,  TEGRA_MUX_NONE,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
@@ -141,4 +144,33 @@ static struct tegra_pingroup_config stingray_pinmux[] = {
 void stingray_pinmux_init(void)
 {
        tegra_pinmux_config_table(stingray_pinmux, ARRAY_SIZE(stingray_pinmux));
+
+       tegra_gpio_disable(TEGRA_GPIO_PE0);
+       tegra_gpio_disable(TEGRA_GPIO_PE1);
+       tegra_gpio_disable(TEGRA_GPIO_PE2);
+       tegra_gpio_disable(TEGRA_GPIO_PE3);
+       tegra_gpio_disable(TEGRA_GPIO_PE4);
+       tegra_gpio_disable(TEGRA_GPIO_PE5);
+       tegra_gpio_disable(TEGRA_GPIO_PE6);
+       tegra_gpio_disable(TEGRA_GPIO_PE7);
+       tegra_gpio_disable(TEGRA_GPIO_PF0);
+       tegra_gpio_disable(TEGRA_GPIO_PF1);
+       tegra_gpio_disable(TEGRA_GPIO_PF2);
+       tegra_gpio_disable(TEGRA_GPIO_PF3);
+       tegra_gpio_disable(TEGRA_GPIO_PF4);
+       tegra_gpio_disable(TEGRA_GPIO_PF5);
+       tegra_gpio_disable(TEGRA_GPIO_PF6);
+       tegra_gpio_disable(TEGRA_GPIO_PF7);
+       tegra_gpio_disable(TEGRA_GPIO_PM0);
+       tegra_gpio_disable(TEGRA_GPIO_PM1);
+       tegra_gpio_disable(TEGRA_GPIO_PM2);
+       tegra_gpio_disable(TEGRA_GPIO_PM3);
+       tegra_gpio_disable(TEGRA_GPIO_PM4);
+       tegra_gpio_disable(TEGRA_GPIO_PM5);
+       tegra_gpio_disable(TEGRA_GPIO_PM6);
+       tegra_gpio_disable(TEGRA_GPIO_PM7);
+       tegra_gpio_disable(TEGRA_GPIO_PN7);
+
+       tegra_gpio_disable(TEGRA_GPIO_PK5);
+       tegra_gpio_disable(TEGRA_GPIO_PK6);
 }
index 3c169ed8035ffbaf58bb9478dd83f24a197ae4e8..bc80c04f25d62847b255fb851646328b336b992e 100644 (file)
@@ -134,7 +134,7 @@ static struct fsl_usb2_platform_data tegra_otg_pdata = {
        .phy_mode       = FSL_USB2_PHY_UTMI,
 };
 
-struct platform_device tegra_otg = {
+static struct platform_device tegra_otg = {
        .name = "fsl-tegra-udc",
        .id   = -1,
        .dev  = {