static int __init pcm049_i2c_init(void) { /* I2C1 */ omap4_pmic_get_config(&pcm049_twldata, TWL_COMMON_PDATA_USB, TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VAUX2 | TWL_COMMON_REGULATOR_VAUX3 | TWL_COMMON_REGULATOR_VMMC | TWL_COMMON_REGULATOR_VPP | TWL_COMMON_REGULATOR_VANA | TWL_COMMON_REGULATOR_VCXIO | TWL_COMMON_REGULATOR_VUSB | TWL_COMMON_REGULATOR_CLK32KG); omap4_pmic_init("twl6030", &pcm049_twldata); i2c_register_board_info(1, pcm049_i2c_1_boardinfo, ARRAY_SIZE(pcm049_i2c_1_boardinfo)); /* I2C3 */ omap_register_i2c_bus(3, 400, pcm049_i2c_3_boardinfo, ARRAY_SIZE(pcm049_i2c_3_boardinfo)); /* I2C4 */ if (omap_mux_init_gpio(OMAP4_PCM049_STMPE811_GPIO_IRQ, OMAP_PIN_INPUT)) printk(KERN_ERR "Failed to mux GPIO%d for STMPE811 IRQ\n", OMAP4_PCM049_STMPE811_GPIO_IRQ); else if (gpio_request(OMAP4_PCM049_STMPE811_GPIO_IRQ, "STMPE811 irq")) printk(KERN_ERR "Failed to request GPIO%d for STMPE811 IRQ\n", OMAP4_PCM049_STMPE811_GPIO_IRQ); else gpio_direction_input(OMAP4_PCM049_STMPE811_GPIO_IRQ); omap_register_i2c_bus(4, 400, pcm049_i2c_4_boardinfo, ARRAY_SIZE(pcm049_i2c_4_boardinfo)); return 0; }
static int __init omap4_panda_i2c_init(void) { omap4_pmic_get_config(&omap4_panda_twldata, TWL_COMMON_PDATA_USB, TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VAUX2 | TWL_COMMON_REGULATOR_VAUX3 | TWL_COMMON_REGULATOR_VMMC | TWL_COMMON_REGULATOR_VPP | TWL_COMMON_REGULATOR_VANA | TWL_COMMON_REGULATOR_VCXIO | TWL_COMMON_REGULATOR_VUSB | TWL_COMMON_REGULATOR_CLK32KG | TWL_COMMON_REGULATOR_V1V8 | TWL_COMMON_REGULATOR_V2V1); omap4_pmic_init("twl6030", &omap4_panda_twldata, panda_i2c_1_boardinfo, ARRAY_SIZE(panda_i2c_1_boardinfo)); omap_register_i2c_bus(2, 400, NULL, 0); /* * Bus 3 is attached to the DVI port where devices like the pico DLP * projector don't work reliably with 400kHz */ omap_register_i2c_bus(3, 100, panda_i2c_eeprom, ARRAY_SIZE(panda_i2c_eeprom)); omap_register_i2c_bus(4, 400, NULL, 0); return 0; }
static int __init omap4_i2c_init(void) { omap4_pmic_init("twl6030", &sdp4430_twldata); omap_register_i2c_bus(2, 400, NULL, 0); omap_register_i2c_bus(3, 400, sdp4430_i2c_3_boardinfo, ARRAY_SIZE(sdp4430_i2c_3_boardinfo)); omap_register_i2c_bus(4, 400, sdp4430_i2c_4_boardinfo, ARRAY_SIZE(sdp4430_i2c_4_boardinfo)); return 0; }
void __init omap4_power_init(void) { /* * VCORE3 & VMEM are not used in 4460. By register it to regulator * framework will ensures that resources are disabled. */ if (cpu_is_omap446x()) { twldata.vdd3 = &vcore3; twldata.vmem = &vmem; } omap4_pmic_init("twl6030", &twldata); }
static int __init omap4_panda_i2c_init(void) { omap4_pmic_init("twl6030", &omap4_panda_twldata); omap_register_i2c_bus(2, 400, NULL, 0); /* * Bus 3 is attached to the DVI port where devices like the pico DLP * projector don't work reliably with 400kHz */ omap_register_i2c_bus(3, 100, panda_i2c_eeprom, ARRAY_SIZE(panda_i2c_eeprom)); omap_register_i2c_bus(4, 400, NULL, 0); return 0; }
static int __init omap4_i2c_init(void) { omap_i2c_hwspinlock_init(1, 0, &sdp4430_i2c_1_bus_pdata); omap_i2c_hwspinlock_init(2, 1, &sdp4430_i2c_2_bus_pdata); omap_i2c_hwspinlock_init(3, 2, &sdp4430_i2c_3_bus_pdata); omap_i2c_hwspinlock_init(4, 3, &sdp4430_i2c_4_bus_pdata); omap_register_i2c_bus_board_data(1, &sdp4430_i2c_1_bus_pdata); omap_register_i2c_bus_board_data(2, &sdp4430_i2c_2_bus_pdata); omap_register_i2c_bus_board_data(3, &sdp4430_i2c_3_bus_pdata); omap_register_i2c_bus_board_data(4, &sdp4430_i2c_4_bus_pdata); omap4_pmic_init("twl6030", &tablet_twldata); // i2c_register_board_info(1, &sdp4430_i2c_boardinfo, 1); #ifdef CONFIG_INPUT_KXTF9 kxtf9_gpio_for_irq = 66; sdp4430_i2c_boardinfo[I2C_INDEX_1_KXTF9].irq = OMAP_GPIO_IRQ(kxtf9_gpio_for_irq); kxtf9_dev_init(); #endif //CONFIG_INPUT_KXTF9 #ifdef CONFIG_BATTERY_MAX17042 max17042_gpio_for_irq = 65; sdp4430_i2c_boardinfo[I2C_INDEX_1_MAX17042].irq = OMAP_GPIO_IRQ(max17042_gpio_for_irq); max17042_dev_init(); #endif //CONFIG_BATTERY_MAX17042 i2c_register_board_info(1, sdp4430_i2c_boardinfo, ARRAY_SIZE(sdp4430_i2c_boardinfo)); i2c_register_board_info(2, tablet_i2c_3_boardinfo, ARRAY_SIZE(tablet_i2c_3_boardinfo)); omap_register_i2c_bus(2, 400, NULL, 0); omap_register_i2c_bus(3, 400, NULL, 0); omap_register_i2c_bus(4, 400, NULL, 0); omap2_i2c_pullup(3, I2C_PULLUP_STD_860_OM_FAST_500_OM); /* * This will allow unused regulator to be shutdown. This flag * should be set in the board file. Before regulators are registered. */ regulator_has_full_constraints(); /* * Drive MSECURE high for TWL6030 write access. */ omap_mux_init_signal("fref_clk0_out.gpio_wk6", OMAP_PIN_OUTPUT); gpio_request(6, "msecure"); gpio_direction_output(6, 1); return 0; }
static int __init omap4_i2c_init(void) { omap_i2c_hwspinlock_init(1, 0, &sdp4430_i2c_1_bus_pdata); omap_i2c_hwspinlock_init(2, 1, &sdp4430_i2c_2_bus_pdata); omap_i2c_hwspinlock_init(3, 2, &sdp4430_i2c_3_bus_pdata); omap_i2c_hwspinlock_init(4, 3, &sdp4430_i2c_4_bus_pdata); omap_register_i2c_bus_board_data(1, &sdp4430_i2c_1_bus_pdata); omap_register_i2c_bus_board_data(2, &sdp4430_i2c_2_bus_pdata); omap_register_i2c_bus_board_data(3, &sdp4430_i2c_3_bus_pdata); omap_register_i2c_bus_board_data(4, &sdp4430_i2c_4_bus_pdata); /* * VCORE3 & VMEM are not used in 4460. By register it to regulator * framework will ensures that resources are disabled. */ if (cpu_is_omap446x()) { tablet_twldata.vdd3 = &tablet_vcore3; tablet_twldata.vmem = &tablet_vmem; } omap4_pmic_init("twl6030", &tablet_twldata); i2c_register_board_info(1, sdp4430_i2c_boardinfo, ARRAY_SIZE(sdp4430_i2c_boardinfo)); omap_register_i2c_bus(2, 400, NULL, 0); omap_register_i2c_bus(3, 400, tablet_i2c_3_boardinfo, ARRAY_SIZE(tablet_i2c_3_boardinfo)); omap_register_i2c_bus(4, 400, NULL, 0); omap2_i2c_pullup(3, I2C_PULLUP_STD_860_OM_FAST_500_OM); /* * This will allow unused regulator to be shutdown. This flag * should be set in the board file. Before regulators are registered. */ regulator_has_full_constraints(); /* * Drive MSECURE high for TWL6030 write access. */ omap_mux_init_signal("fref_clk0_out.gpio_wk6", OMAP_PIN_OUTPUT); gpio_request(6, "msecure"); gpio_direction_output(6, 1); return 0; }
static int __init omap4_i2c_init(void) { omap_i2c_hwspinlock_init(1, 0, &sdp4430_i2c_1_bus_pdata); omap_i2c_hwspinlock_init(2, 1, &sdp4430_i2c_2_bus_pdata); omap_i2c_hwspinlock_init(3, 2, &sdp4430_i2c_3_bus_pdata); omap_i2c_hwspinlock_init(4, 3, &sdp4430_i2c_4_bus_pdata); omap_register_i2c_bus_board_data(1, &sdp4430_i2c_1_bus_pdata); omap_register_i2c_bus_board_data(2, &sdp4430_i2c_2_bus_pdata); omap_register_i2c_bus_board_data(3, &sdp4430_i2c_3_bus_pdata); omap_register_i2c_bus_board_data(4, &sdp4430_i2c_4_bus_pdata); omap4_pmic_init("twl6030", &sdp4430_twldata); /*SW5, Jamestsai, 1213, enable cypress{*/ //omap_register_i2c_bus(2, 400, NULL, 0); omap_register_i2c_bus(2, 400, sdp4430_i2c_2_boardinfo, ARRAY_SIZE(sdp4430_i2c_2_boardinfo)); /*}SW5, Jamestsai, 1213, enable cypress*/ /* JossCheng, 20111221, change clock of i2c bus3 to be 400K Hz { */ omap_register_i2c_bus(3, 400, sdp4430_i2c_3_boardinfo, ARRAY_SIZE(sdp4430_i2c_3_boardinfo)); /* JossCheng, 20111221, change clock of i2c bus3 to be 400K Hz } */ omap_register_i2c_bus(4, 400, sdp4430_i2c_4_boardinfo, ARRAY_SIZE(sdp4430_i2c_4_boardinfo)); #ifdef CONFIG_MACH_OMAP4_BOWSER_SUBTYPE_JEM omap2_i2c_pullup(3, I2C_PULLUP_STD_860_OM_FAST_500_OM); #endif /* * This will allow unused regulator to be shutdown. This flag * should be set in the board file. Before regulators are registered. */ regulator_has_full_constraints(); /* * Drive MSECURE high for TWL6030/6032 write access. */ omap_mux_init_signal("fref_clk3_req.gpio_wk30", OMAP_PIN_OUTPUT); gpio_request(30, "msecure"); gpio_direction_output(30, 1); return 0; }
static int __init omap4_i2c_init(void) { omap4_pmic_get_config(&sdp4430_twldata, TWL_COMMON_PDATA_USB, TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VAUX2 | TWL_COMMON_REGULATOR_VAUX3 | TWL_COMMON_REGULATOR_VMMC | TWL_COMMON_REGULATOR_VPP | TWL_COMMON_REGULATOR_VANA | TWL_COMMON_REGULATOR_VCXIO | TWL_COMMON_REGULATOR_VUSB | TWL_COMMON_REGULATOR_CLK32KG); omap4_pmic_init("twl6030", &sdp4430_twldata); omap_register_i2c_bus(2, 400, NULL, 0); omap_register_i2c_bus(3, 400, sdp4430_i2c_3_boardinfo, ARRAY_SIZE(sdp4430_i2c_3_boardinfo)); omap_register_i2c_bus(4, 400, sdp4430_i2c_4_boardinfo, ARRAY_SIZE(sdp4430_i2c_4_boardinfo)); return 0; }
static int __init omap4_panda_i2c_init(void) { omap4_pmic_get_config(&omap4_panda_twldata, TWL_COMMON_PDATA_USB, TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VAUX2 | TWL_COMMON_REGULATOR_VAUX3 | TWL_COMMON_REGULATOR_VMMC | TWL_COMMON_REGULATOR_VPP | TWL_COMMON_REGULATOR_VANA | TWL_COMMON_REGULATOR_VCXIO | TWL_COMMON_REGULATOR_VUSB | TWL_COMMON_REGULATOR_CLK32KG); omap4_pmic_init("twl6030", &omap4_panda_twldata, &twl6040_data, OMAP44XX_IRQ_SYS_2N); omap_register_i2c_bus(2, 400, NULL, 0); omap_register_i2c_bus(3, 100, panda_i2c_eeprom, ARRAY_SIZE(panda_i2c_eeprom)); omap_register_i2c_bus(4, 400, NULL, 0); return 0; }
static int __init acclaim_i2c_init(void) { int err; acclaim_i2c_hwspinlock_init(1, 0, &acclaim_i2c_1_bus_pdata); acclaim_i2c_hwspinlock_init(2, 1, &acclaim_i2c_2_bus_pdata); acclaim_i2c_hwspinlock_init(3, 2, &acclaim_i2c_3_bus_pdata); acclaim_i2c_hwspinlock_init(4, 3, &acclaim_i2c_4_bus_pdata); omap_register_i2c_bus_board_data(1, &acclaim_i2c_1_bus_pdata); omap_register_i2c_bus_board_data(2, &acclaim_i2c_2_bus_pdata); omap_register_i2c_bus_board_data(3, &acclaim_i2c_3_bus_pdata); omap_register_i2c_bus_board_data(4, &acclaim_i2c_4_bus_pdata); omap4_pmic_init("twl6030", &acclaim_twldata); err = i2c_register_board_info(1, acclaim_i2c_1_boardinfo, ARRAY_SIZE(acclaim_i2c_1_boardinfo)); if (err) return err; omap_register_i2c_bus(2, 400, acclaim_i2c_2_boardinfo, ARRAY_SIZE(acclaim_i2c_2_boardinfo)); omap_register_i2c_bus(3, 400, NULL, 0); omap_register_i2c_bus(4, 400, NULL, 0); omap2_i2c_pullup(3, I2C_PULLUP_STD_860_OM_FAST_500_OM); /* * This will allow unused regulator to be shutdown. This flag * should be set in the board file. Before regulators are registered. */ regulator_has_full_constraints(); return 0; }
static int __init omap4_i2c_init(void) { omap_i2c_hwspinlock_init(1, 0, &sdp4430_i2c_1_bus_pdata); omap_i2c_hwspinlock_init(2, 1, &sdp4430_i2c_2_bus_pdata); omap_i2c_hwspinlock_init(3, 2, &sdp4430_i2c_3_bus_pdata); omap_i2c_hwspinlock_init(4, 3, &sdp4430_i2c_4_bus_pdata); omap_register_i2c_bus_board_data(1, &sdp4430_i2c_1_bus_pdata); omap_register_i2c_bus_board_data(2, &sdp4430_i2c_2_bus_pdata); omap_register_i2c_bus_board_data(3, &sdp4430_i2c_3_bus_pdata); omap_register_i2c_bus_board_data(4, &sdp4430_i2c_4_bus_pdata); omap4_pmic_init("twl6030", &sdp4430_twldata); i2c_register_board_info(1, sdp4430_i2c_boardinfo, ARRAY_SIZE(sdp4430_i2c_boardinfo)); omap_register_i2c_bus(2, 400, NULL, 0); omap_register_i2c_bus(3, 400, sdp4430_i2c_3_boardinfo, ARRAY_SIZE(sdp4430_i2c_3_boardinfo)); omap_register_i2c_bus(4, 400, sdp4430_i2c_4_boardinfo, ARRAY_SIZE(sdp4430_i2c_4_boardinfo)); /* * This will allow unused regulator to be shutdown. This flag * should be set in the board file. Before regulators are registered. */ regulator_has_full_constraints(); /* * Drive MSECURE high for TWL6030 write access. */ omap_mux_init_signal("fref_clk0_out.gpio_wk6", OMAP_PIN_OUTPUT); gpio_request(6, "msecure"); gpio_direction_output(6, 1); return 0; }
static int __init omap4_i2c_init(void) { omap_i2c_hwspinlock_init(1, 0, &board_i2c_1_bus_pdata); omap_i2c_hwspinlock_init(2, 1, &board_i2c_2_bus_pdata); omap_i2c_hwspinlock_init(3, 2, &board_i2c_3_bus_pdata); omap_i2c_hwspinlock_init(4, 3, &board_i2c_4_bus_pdata); omap_register_i2c_bus_board_data(1, &board_i2c_1_bus_pdata); omap_register_i2c_bus_board_data(2, &board_i2c_2_bus_pdata); omap_register_i2c_bus_board_data(3, &board_i2c_3_bus_pdata); omap_register_i2c_bus_board_data(4, &board_i2c_4_bus_pdata); omap4_pmic_init("twl6030", &board_twldata); omap_register_i2c_bus(2, 100, board_i2c_2_boardinfo, ARRAY_SIZE(board_i2c_2_boardinfo)); // FIXME speed omap_register_i2c_bus(3, 100, board_i2c_3_boardinfo, ARRAY_SIZE(board_i2c_3_boardinfo)); // FIXME speed omap_register_i2c_bus(4, 400, NULL, 0); /* * This will allow unused regulator to be shutdown. This flag * should be set in the board file. Before regulators are registered. */ regulator_has_full_constraints(); /* To access twl registers we enable gpio_wk30 * we need this so the RTC driver can work. */ gpio_request(GPIO_MSECURE, "MSECURE"); gpio_direction_output(GPIO_MSECURE, 1); omap_mux_init_gpio(GPIO_MSECURE, \ OMAP_PIN_OUTPUT | OMAP_PIN_OFF_NONE); return 0; }
static int __init omap4_panda_i2c_init(void) { omap_i2c_hwspinlock_init(1, 0, &panda_i2c_1_bus_pdata); omap_i2c_hwspinlock_init(2, 1, &panda_i2c_2_bus_pdata); omap_i2c_hwspinlock_init(3, 2, &panda_i2c_3_bus_pdata); omap_i2c_hwspinlock_init(4, 3, &panda_i2c_4_bus_pdata); omap_register_i2c_bus_board_data(1, &panda_i2c_1_bus_pdata); omap_register_i2c_bus_board_data(2, &panda_i2c_2_bus_pdata); omap_register_i2c_bus_board_data(3, &panda_i2c_3_bus_pdata); omap_register_i2c_bus_board_data(4, &panda_i2c_4_bus_pdata); omap4_pmic_get_config(&omap4_panda_twldata, TWL_COMMON_PDATA_USB, TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VAUX2 | TWL_COMMON_REGULATOR_VAUX3 | TWL_COMMON_REGULATOR_VMMC | TWL_COMMON_REGULATOR_VPP | TWL_COMMON_REGULATOR_VANA | TWL_COMMON_REGULATOR_VCXIO | TWL_COMMON_REGULATOR_VUSB | TWL_COMMON_REGULATOR_CLK32KG | TWL_COMMON_REGULATOR_V1V8 | TWL_COMMON_REGULATOR_V2V1); omap4_pmic_init("twl6030", &omap4_panda_twldata, &twl6040_data, OMAP44XX_IRQ_SYS_2N); omap_register_i2c_bus(2, 400, NULL, 0); /* * Bus 3 is attached to the DVI port where devices like the pico DLP * projector don't work reliably with 400kHz */ omap_register_i2c_bus(3, 100, panda_i2c_eeprom, ARRAY_SIZE(panda_i2c_eeprom)); omap_register_i2c_bus(4, 400, NULL, 0); return 0; }
static void __init omap4_i2c_init(void) { omap4_pmic_init("twl6030", &sdp4430_twldata); }