static void __init igep_i2c_init(void) { int ret; omap3_pmic_get_config(&igep_twldata, TWL_COMMON_PDATA_USB, TWL_COMMON_REGULATOR_VPLL2); igep_twldata.vpll2->constraints.apply_uV = true; igep_twldata.vpll2->constraints.name = "VDVI"; if (machine_is_igep0020()) { /* * Bus 3 is attached to the DVI port where devices like the * pico DLP projector don't work reliably with 400kHz */ ret = omap_register_i2c_bus(3, 100, igep2_i2c3_boardinfo, ARRAY_SIZE(igep2_i2c3_boardinfo)); if (ret) pr_warning("IGEP2: Could not register I2C3 bus (%d)\n", ret); igep_twldata.keypad = &igep2_keypad_pdata; /* Get common pmic data */ omap3_pmic_get_config(&igep_twldata, TWL_COMMON_PDATA_AUDIO, 0); } omap3_pmic_init("twl4030", &igep_twldata); }
static int __init omap3_beagle_i2c_init(void) { omap3_pmic_get_config(&beagle_twldata, TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_MADC | TWL_COMMON_PDATA_AUDIO, TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); beagle_twldata.vpll2->constraints.name = "VDVI"; omap3_pmic_init("twl4030", &beagle_twldata); switch (expansion_config.i2c_settings) { case EXPANSION_I2C_7ULCD: omap_register_i2c_bus(2, 400, beagle_i2c2_bbtoys_ulcd, ARRAY_SIZE(beagle_i2c2_bbtoys_ulcd)); break; case EXPANSION_I2C_ZIPPY: omap_register_i2c_bus(2, 400, zippy_i2c2_rtc, ARRAY_SIZE(zippy_i2c2_rtc)); break; case EXPANSION_I2C_COM6L: omap_register_i2c_bus(2, 400, com6l_adpt_eeprom, ARRAY_SIZE(com6l_adpt_eeprom)); break; default: 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, beagle_i2c_eeprom, ARRAY_SIZE(beagle_i2c_eeprom)); return 0; }
static void __init rm680_i2c_init(void) { omap3_pmic_get_config(&rm680_twl_data, TWL_COMMON_PDATA_USB, 0); omap_pmic_init(1, 2900, "twl5031", INT_34XX_SYS_NIRQ, &rm680_twl_data); omap_register_i2c_bus(2, 400, NULL, 0); omap_register_i2c_bus(3, 400, NULL, 0); }
static int __init rx51_i2c_init(void) { if ((system_rev >= SYSTEM_REV_S_USES_VAUX3 && system_rev < 0x100) || system_rev >= SYSTEM_REV_B_USES_VAUX3) { rx51_twldata.vaux3 = &rx51_vaux3_mmc; /* Only older boards use VMMC2 for internal MMC */ rx51_vmmc2.num_consumer_supplies--; } else { rx51_twldata.vaux3 = &rx51_vaux3_cam; } rx51_twldata.vmmc2 = &rx51_vmmc2; omap3_pmic_get_config(&rx51_twldata, TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_MADC, TWL_COMMON_REGULATOR_VDAC); rx51_twldata.vdac->constraints.apply_uV = true; rx51_twldata.vdac->constraints.name = "VDAC"; omap_pmic_init(1, 2200, "twl5030", 7 + OMAP_INTC_START, &rx51_twldata); omap_register_i2c_bus(2, 100, rx51_peripherals_i2c_board_info_2, ARRAY_SIZE(rx51_peripherals_i2c_board_info_2)); #if defined(CONFIG_SENSORS_LIS3_I2C) || defined(CONFIG_SENSORS_LIS3_I2C_MODULE) rx51_lis3lv02d_data.irq2 = gpio_to_irq(LIS302_IRQ2_GPIO); rx51_peripherals_i2c_board_info_3[0].irq = gpio_to_irq(LIS302_IRQ1_GPIO); #endif omap_register_i2c_bus(3, 400, rx51_peripherals_i2c_board_info_3, ARRAY_SIZE(rx51_peripherals_i2c_board_info_3)); return 0; }
static int __init overo_i2c_init(void) { u32 pdata_flags = 0; u32 regulators_flags = TWL_COMMON_REGULATOR_VPLL2; #if defined(CONFIG_USB_MUSB_HDRC) || \ defined (CONFIG_USB_MUSB_HDRC_MODULE) pdata_flags |= TWL_COMMON_PDATA_USB; #endif #if defined(CONFIG_MFD_TWL4030_AUDIO) || \ defined (CONFIG_MFD_TWL4030_AUDIO_MODULE) pdata_flags |= TWL_COMMON_PDATA_AUDIO; #endif #if defined(CONFIG_TWL4030_MADC) || \ defined (CONFIG_TWL4030_MADC_MODULE) pdata_flags |= TWL_COMMON_PDATA_MADC; #endif #if defined(CONFIG_OMAP2_DSS) || defined(CONFIG_OMAP2_DSS_MODULE) regulators_flags |= TWL_COMMON_REGULATOR_VDAC; #endif omap3_pmic_get_config(&overo_twldata, pdata_flags, regulators_flags); overo_twldata.vpll2->constraints.name = "VDVI"; omap3_pmic_init("tps65950", &overo_twldata); /* i2c2 pins are used for gpio */ omap_register_i2c_bus(3, 400, NULL, 0); return 0; }
static void __init cm_t35_init_i2c(void) { omap3_pmic_get_config(&cm_t35_twldata, TWL_COMMON_PDATA_USB, TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_PDATA_AUDIO); omap3_pmic_init("tps65930", &cm_t35_twldata); }
static int __init omap_i2c_init(void) { omap3_pmic_get_config(&ldp_twldata, TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_MADC, 0); omap3_pmic_init("twl4030", &ldp_twldata); omap_register_i2c_bus(2, 400, NULL, 0); omap_register_i2c_bus(3, 400, NULL, 0); return 0; }
static void __init cm_t35_init_i2c(void) { omap3_pmic_get_config(&cm_t35_twldata, TWL_COMMON_PDATA_USB, TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); cm_t35_twldata.vpll2->constraints.name = "VDVI"; cm_t35_twldata.vpll2->num_consumer_supplies = 1; cm_t35_twldata.vpll2->consumer_supplies = &cm_t35_vdvi_supply; omap3_pmic_init("tps65930", &cm_t35_twldata); }
static void __init rm680_i2c_init(void) { omap3_pmic_get_config(&rm680_twl_data, TWL_COMMON_PDATA_USB, TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); omap_pmic_init(1, 2900, "twl5031", INT_34XX_SYS_NIRQ, &rm680_twl_data); omap_register_i2c_bus(2, 400, rm696_peripherals_i2c_board_info_2, ARRAY_SIZE(rm696_peripherals_i2c_board_info_2)); omap_register_i2c_bus(3, 400, NULL, 0); }
static int __init devkit8000_i2c_init(void) { omap3_pmic_get_config(&devkit8000_twldata, TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO, TWL_COMMON_REGULATOR_VDAC); omap3_pmic_init("tps65930", &devkit8000_twldata); /* 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, 400, NULL, 0); return 0; }
static int __init omap3_beagle_i2c_init(void) { omap3_pmic_get_config(&beagle_twldata, TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO, TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); beagle_twldata.vpll2->constraints.name = "VDVI"; omap3_pmic_init("twl4030", &beagle_twldata); /* 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, beagle_i2c_eeprom, ARRAY_SIZE(beagle_i2c_eeprom)); return 0; }
static int __init overo_i2c_init(void) { omap3_pmic_get_config(&overo_twldata, TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO, TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); overo_twldata.vpll2->constraints.name = "VDVI"; omap3_pmic_init("tps65950", &overo_twldata); /* i2c2 pins are used for gpio */ omap_register_i2c_bus(3, 400, NULL, 0); return 0; }
void igep_init(void) { regulator_register_fixed(1, dummy_supplies, ARRAY_SIZE(dummy_supplies)); omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); /* Get IGEP3 hardware revision */ igep3_get_revision(); omap_hsmmc_init(mmc); /* Register I2C busses and drivers */ igep_i2c_init(); platform_add_devices(igep_devices, ARRAY_SIZE(igep_devices)); #if 0 omap_serial_init(); omap_sdrc_init(m65kxxxxam_sdrc_params, m65kxxxxam_sdrc_params); #endif usb_musb_init(NULL); #if 0 igep_flash_init(); igep_leds_init(); #endif /* Add twl4030 common data */ omap3_pmic_get_config(&twl4030_pdata, TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO | TWL_COMMON_PDATA_MADC, TWL_COMMON_REGULATOR_VPLL2); igep00x0_pmic_get_config(&twl4030_pdata, 0, TWL_IGEP00X0_REGULATOR_VMMC1 | TWL_IGEP00X0_REGULATOR_VIO); omap_pmic_init(1, 2600, "twl4030", INT_34XX_SYS_NIRQ, &twl4030_pdata); platform_device_register(&igep00x0_vdd33_device); /* * WLAN-BT combo module from MuRata which has a Marvell WLAN * (88W8686) + CSR Bluetooth chipset. Uses SDIO interface. */ igep00x0_wifi_bt_init(GPIO_WIFI_NPD, GPIO_WIFI_NRESET, GPIO_BT_NRESET, 0); if (machine_is_igep0020()) { omap_display_init(&igep2_dss_data); igep2_init_smsc911x(); usbhs_init(&igep2_usbhs_bdata); } else { usbhs_init(&igep3_usbhs_bdata); } }
static int __init omap_i2c_init(void) { omap3_pmic_get_config(&zoom_twldata, TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_BCI | TWL_COMMON_PDATA_MADC | TWL_COMMON_PDATA_AUDIO, TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); if (machine_is_omap_zoom2()) zoom_twldata.audio->codec->ramp_delay_value = 3; /* 161 ms */ omap_pmic_init(1, 2400, "twl5030", 7 + OMAP_INTC_START, &zoom_twldata); omap_register_i2c_bus(2, 400, NULL, 0); omap_register_i2c_bus(3, 400, NULL, 0); return 0; }
static int __init omap3_evm_i2c_init(void) { omap3_pmic_get_config(&omap3evm_twldata, TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_MADC | TWL_COMMON_PDATA_AUDIO, TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); omap3evm_twldata.vdac->constraints.apply_uV = true; omap3evm_twldata.vpll2->constraints.apply_uV = true; omap3_pmic_init("twl4030", &omap3evm_twldata); omap_register_i2c_bus(2, 400, NULL, 0); omap_register_i2c_bus(3, 400, NULL, 0); return 0; }
static int __init omap3_stalker_i2c_init(void) { omap3_pmic_get_config(&omap3stalker_twldata, TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_MADC | TWL_COMMON_PDATA_AUDIO, TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); omap3stalker_twldata.vdac->constraints.apply_uV = true; omap3stalker_twldata.vpll2->constraints.apply_uV = true; omap3stalker_twldata.vpll2->constraints.name = "VDVI"; omap3_pmic_init("twl4030", &omap3stalker_twldata); omap_register_i2c_bus(2, 400, NULL, 0); omap_register_i2c_bus(3, 400, omap3stalker_i2c_boardinfo3, ARRAY_SIZE(omap3stalker_i2c_boardinfo3)); return 0; }
/* TO BE CHECKED*/ static int __init omap3_devkit8500_i2c_init(void) { omap3_pmic_get_config(&devkit8500_twldata, TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_MADC | TWL_COMMON_PDATA_AUDIO, TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); devkit8500_twldata.vdac->constraints.apply_uV = true; // devkit8500_twldata.usb->usb_mode = T2_USB_MODE_ULPI; omap3_pmic_init("twl4030", &devkit8500_twldata); /* 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, NULL, 0); return 0; }
static int __init omap3pandora_i2c_init(void) { omap3_pmic_get_config(&omap3pandora_twldata, TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO, TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); omap3pandora_twldata.vdac->constraints.apply_uV = true; omap3pandora_twldata.vpll2->constraints.apply_uV = true; omap3pandora_twldata.vpll2->num_consumer_supplies = ARRAY_SIZE(pandora_vdds_supplies); omap3pandora_twldata.vpll2->consumer_supplies = pandora_vdds_supplies; omap3_pmic_init("tps65950", &omap3pandora_twldata); /* i2c2 pins are not connected */ omap_register_i2c_bus(3, 100, omap3pandora_i2c3_boardinfo, ARRAY_SIZE(omap3pandora_i2c3_boardinfo)); return 0; }
static int __init omap3430_i2c_init(void) { /* i2c1 for PMIC only */ omap3_pmic_get_config(&sdp3430_twldata, TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_BCI | TWL_COMMON_PDATA_MADC | TWL_COMMON_PDATA_AUDIO, TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); sdp3430_twldata.vdac->constraints.apply_uV = true; sdp3430_twldata.vpll2->constraints.apply_uV = true; sdp3430_twldata.vpll2->constraints.name = "VDVI"; omap3_pmic_init("twl4030", &sdp3430_twldata); /* i2c2 on camera connector (for sensor control) and optional isp1301 */ omap_register_i2c_bus(2, 400, NULL, 0); /* i2c3 on display connector (for DVI, tfp410) */ omap_register_i2c_bus(3, 400, NULL, 0); return 0; }
static int __init omap_i2c_init(void) { omap3_pmic_get_config(&zoom_twldata, TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_BCI | TWL_COMMON_PDATA_MADC | TWL_COMMON_PDATA_AUDIO, TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); if (machine_is_omap_zoom2()) { struct twl4030_codec_data *codec_data; codec_data = zoom_twldata.audio->codec; codec_data->ramp_delay_value = 3; /* 161 ms */ codec_data->hs_extmute = 1; codec_data->set_hs_extmute = zoom2_set_hs_extmute; } omap_pmic_init(1, 2400, "twl5030", INT_34XX_SYS_NIRQ, &zoom_twldata); omap_register_i2c_bus(2, 400, NULL, 0); omap_register_i2c_bus(3, 400, NULL, 0); return 0; }
static int __init omap_i2c_init(void) { omap3_pmic_get_config(&zoom_twldata, TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_BCI | TWL_COMMON_PDATA_MADC | TWL_COMMON_PDATA_AUDIO, TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); if (machine_is_omap_zoom2()) { struct twl4030_codec_data *codec_data; codec_data = zoom_twldata.audio->codec; codec_data->ramp_delay_value = 3; /* 161 ms */ codec_data->hs_extmute = 1; codec_data->hs_extmute_gpio = ZOOM2_HEADSET_EXTMUTE_GPIO; } omap_pmic_init(1, 2400, "twl5030", 7 + OMAP_INTC_START, &zoom_twldata); omap_register_i2c_bus(2, 400, NULL, 0); omap_register_i2c_bus(3, 400, NULL, 0); return 0; }
static int __init rx51_i2c_init(void) { #if IS_ENABLED(CONFIG_I2C_SI4713) && IS_ENABLED(CONFIG_PLATFORM_SI4713) int err; #endif if ((system_rev >= SYSTEM_REV_S_USES_VAUX3 && system_rev < 0x100) || system_rev >= SYSTEM_REV_B_USES_VAUX3) { rx51_twldata.vaux3 = &rx51_vaux3_mmc; /* Only older boards use VMMC2 for internal MMC */ rx51_vmmc2.num_consumer_supplies--; } else { rx51_twldata.vaux3 = &rx51_vaux3_cam; } rx51_twldata.vmmc2 = &rx51_vmmc2; omap3_pmic_get_config(&rx51_twldata, TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_MADC, TWL_COMMON_REGULATOR_VDAC); rx51_twldata.vdac->constraints.apply_uV = true; rx51_twldata.vdac->constraints.name = "VDAC"; omap_pmic_init(1, 2200, "twl5030", 7 + OMAP_INTC_START, &rx51_twldata); #if IS_ENABLED(CONFIG_I2C_SI4713) && IS_ENABLED(CONFIG_PLATFORM_SI4713) err = gpio_request_one(RX51_FMTX_IRQ, GPIOF_DIR_IN, "si4713 irq"); if (err) { printk(KERN_ERR "Cannot request si4713 irq gpio. %d\n", err); return err; } rx51_peripherals_i2c_board_info_2[0].irq = gpio_to_irq(RX51_FMTX_IRQ); #endif omap_register_i2c_bus(2, 100, rx51_peripherals_i2c_board_info_2, ARRAY_SIZE(rx51_peripherals_i2c_board_info_2)); #if defined(CONFIG_SENSORS_LIS3_I2C) || defined(CONFIG_SENSORS_LIS3_I2C_MODULE) rx51_lis3lv02d_data.irq2 = gpio_to_irq(LIS302_IRQ2_GPIO); rx51_peripherals_i2c_board_info_3[0].irq = gpio_to_irq(LIS302_IRQ1_GPIO); #endif omap_register_i2c_bus(3, 400, rx51_peripherals_i2c_board_info_3, ARRAY_SIZE(rx51_peripherals_i2c_board_info_3)); return 0; }
static int __init omap3_touchbook_i2c_init(void) { /* Standard TouchBook bus */ omap3_pmic_get_config(&touchbook_twldata, TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO, TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); touchbook_twldata.vdac->num_consumer_supplies = ARRAY_SIZE(touchbook_vdac_supply); touchbook_twldata.vdac->consumer_supplies = touchbook_vdac_supply; touchbook_twldata.vpll2->constraints.name = "VDVI"; touchbook_twldata.vpll2->num_consumer_supplies = ARRAY_SIZE(touchbook_vdvi_supply); touchbook_twldata.vpll2->consumer_supplies = touchbook_vdvi_supply; omap3_pmic_init("twl4030", &touchbook_twldata); /* Additional TouchBook bus */ omap_register_i2c_bus(3, 100, touchBook_i2c_boardinfo, ARRAY_SIZE(touchBook_i2c_boardinfo)); return 0; }
static int __init rx51_i2c_init(void) { if ((system_rev >= SYSTEM_REV_S_USES_VAUX3 && system_rev < 0x100) || system_rev >= SYSTEM_REV_B_USES_VAUX3) { rx51_twldata.vaux3 = &rx51_vaux3_mmc; /* Only older boards use VMMC2 for internal MMC */ rx51_vmmc2.num_consumer_supplies--; } else { rx51_twldata.vaux3 = &rx51_vaux3_cam; } rx51_twldata.vmmc2 = &rx51_vmmc2; omap3_pmic_get_config(&rx51_twldata, TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_MADC, TWL_COMMON_REGULATOR_VDAC); rx51_twldata.vdac->constraints.apply_uV = true; rx51_twldata.vdac->constraints.name = "VDAC"; omap_pmic_init(1, 2200, "twl5030", INT_34XX_SYS_NIRQ, &rx51_twldata); omap_register_i2c_bus(2, 100, rx51_peripherals_i2c_board_info_2, ARRAY_SIZE(rx51_peripherals_i2c_board_info_2)); omap_register_i2c_bus(3, 400, NULL, 0); return 0; }