static void __init msm_device_i2c_init(void) { msm_i2c_gpio_init(); if(tp_type == 1) msm_i2c_pdata.reset_slave = marvel_ts_cy8c_reset; msm_device_i2c.dev.platform_data = &msm_i2c_pdata; }
static void __init heroc_init(void) { int rc; printk(KERN_INFO "heroc_init() revision=%d\n", system_rev); config_gpios(); // gpio_request(HEROC_GPIO_H2W_POWER, "heroc_gpio_h2w_power"); // gpio_request(HEROC_GPIO_CABLE_IN2, "heroc_gpio_cable_in2"); gpio_request(HEROC_GPIO_AUD_EXTMIC_SEL, "heroc_gpio_aud_extmic_sel"); msm_hw_reset_hook = heroc_reset; msm_acpu_clock_init(&heroc_clock_data); perflock_init(&heroc_perflock_data); #if defined(CONFIG_MSM_SERIAL_DEBUGGER) if (!opt_disable_uart3) msm_serial_debug_init(MSM_UART3_PHYS, INT_UART3, &msm_device_uart3.dev, 1, INT_UART3_RX); #endif #ifdef CONFIG_SERIAL_MSM_HS msm_device_uart_dm1.dev.platform_data = &msm_uart_dm1_pdata; #endif msm_device_hsusb.dev.platform_data = &msm_hsusb_pdata; msm_init_pmic_vibrator(3000); rc = heroc_init_mmc(system_rev); if (rc) printk(KERN_CRIT "%s: MMC init failure (%d)\n", __func__, rc); msm_i2c_gpio_init(); msm_device_i2c.dev.platform_data = &heroc_i2c_device_data; /* for (rc=0;rc<ARRAY_SIZE(i2c_devices);rc++){ if (!strcmp(i2c_devices[rc].type,AKM8973_I2C_NAME)){ if (!system_rev) i2c_devices[rc].irq = 0x1E; //XA else i2c_devices[rc].irq = 0x1C; } } if(system_rev < 2) { microp_data.num_pins = ARRAY_SIZE(microp_pins_0); microp_data.pin_config = microp_pins_0; } */ i2c_register_board_info(0, i2c_devices, ARRAY_SIZE(i2c_devices)); platform_add_devices(devices, ARRAY_SIZE(devices)); clear_bluetooth_rx_irq_status(); // heroc_init_panel(); }
static void __init msm_device_i2c_init(void) { msm_i2c_gpio_init(); msm_device_i2c.dev.platform_data = &msm_i2c_pdata; }
static void __init hero_init(void) { int rc; printk("hero_init() revision = 0x%X\n", system_rev); android_usb_pdata.serial_number = board_serialno(); /* * Setup common MSM GPIOS */ config_gpios(); msm_hw_reset_hook = hero_reset; gpio_request(HERO_TP_LS_EN, "tp_ls_en"); gpio_direction_output(HERO_TP_LS_EN, 0); gpio_request(HERO_GPIO_EXT_3V_EN, "hero_gpio_ext_3v_en"); gpio_request(HERO_GPIO_CABLE_IN2, "hero_gpio_cable_in2"); gpio_request(HERO_GPIO_AUD_EXTMIC_SEL, "hero_gpio_aud_extmic_sel"); msm_acpu_clock_init(&hero_clock_data); perflock_init(&hero_perflock_data); #if defined(CONFIG_MSM_SERIAL_DEBUGGER) if (!opt_disable_uart3) msm_serial_debug_init(MSM_UART3_PHYS, INT_UART3, &msm_device_uart3.dev, 1, INT_UART3_RX); #endif #ifdef CONFIG_SERIAL_MSM_HS msm_device_uart_dm1.dev.platform_data = &msm_uart_dm1_pdata; #endif msm_device_hsusb.dev.platform_data = &msm_hsusb_pdata; msm_init_pmic_vibrator(3000); rc = hero_init_mmc(system_rev); if (rc) printk(KERN_CRIT "%s: MMC init failure (%d)\n", __func__, rc); msm_i2c_gpio_init(); msm_device_i2c.dev.platform_data = &hero_i2c_device_data; if (system_rev == 0 || system_rev == 1) { for (rc = 0; rc < ARRAY_SIZE(i2c_devices); rc++) { if (!strcmp(i2c_devices[rc].type, MICROP_I2C_NAME)) i2c_devices[rc].irq = MSM_GPIO_TO_INT(HERO_GPIO_UP_INT_N_XAXB); if (!strcmp(i2c_devices[rc].type, AKM8973_I2C_NAME)) i2c_devices[rc].irq = MSM_GPIO_TO_INT(HERO_GPIO_COMPASS_INT_N_XAXB); } } else if (system_rev == 2 || system_rev == 3) /*XC and XD*/ hero_h2w.dev.platform_data = &hero_h2w_data_xc; else /*above XE*/ hero_h2w.dev.platform_data = &hero_h2w_data_xe; if (hero_engineerid() || system_rev > 2) { if (system_rev >= 4) { microp_data.num_pins = ARRAY_SIZE(microp_pins_skuid_3); microp_data.pin_config = microp_pins_skuid_3; } else if (system_rev == 3) { microp_data.num_pins = ARRAY_SIZE(microp_pins_skuid_2); microp_data.pin_config = microp_pins_skuid_2; } else { microp_data.num_pins = ARRAY_SIZE(microp_pins_skuid_1); microp_data.pin_config = microp_pins_skuid_1; } microp_data.cabc_backlight_enable = 1; } i2c_register_board_info(0, i2c_devices, ARRAY_SIZE(i2c_devices)); platform_add_devices(devices, ARRAY_SIZE(devices)); hero_init_panel(); }