Merge branch 'peter/topic/for-tony_mach-cleanup' of git://gitorious.org/omap-audio/linux-audio into cleanup-part-2
This commit is contained in:
commit
727e18b429
@ -269,4 +269,4 @@ obj-$(CONFIG_ARCH_OMAP4) += hwspinlock.o
|
|||||||
disp-$(CONFIG_OMAP2_DSS) := display.o
|
disp-$(CONFIG_OMAP2_DSS) := display.o
|
||||||
obj-y += $(disp-m) $(disp-y)
|
obj-y += $(disp-m) $(disp-y)
|
||||||
|
|
||||||
obj-y += common-board-devices.o
|
obj-y += common-board-devices.o twl-common.o
|
||||||
|
@ -231,22 +231,6 @@ static void __init omap_3430sdp_init_early(void)
|
|||||||
omap2_init_common_devices(hyb18m512160af6_sdrc_params, NULL);
|
omap2_init_common_devices(hyb18m512160af6_sdrc_params, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int sdp3430_batt_table[] = {
|
|
||||||
/* 0 C*/
|
|
||||||
30800, 29500, 28300, 27100,
|
|
||||||
26000, 24900, 23900, 22900, 22000, 21100, 20300, 19400, 18700, 17900,
|
|
||||||
17200, 16500, 15900, 15300, 14700, 14100, 13600, 13100, 12600, 12100,
|
|
||||||
11600, 11200, 10800, 10400, 10000, 9630, 9280, 8950, 8620, 8310,
|
|
||||||
8020, 7730, 7460, 7200, 6950, 6710, 6470, 6250, 6040, 5830,
|
|
||||||
5640, 5450, 5260, 5090, 4920, 4760, 4600, 4450, 4310, 4170,
|
|
||||||
4040, 3910, 3790, 3670, 3550
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_bci_platform_data sdp3430_bci_data = {
|
|
||||||
.battery_tmp_tbl = sdp3430_batt_table,
|
|
||||||
.tblsize = ARRAY_SIZE(sdp3430_batt_table),
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct omap2_hsmmc_info mmc[] = {
|
static struct omap2_hsmmc_info mmc[] = {
|
||||||
{
|
{
|
||||||
.mmc = 1,
|
.mmc = 1,
|
||||||
@ -292,14 +276,6 @@ static struct twl4030_gpio_platform_data sdp3430_gpio_data = {
|
|||||||
.setup = sdp3430_twl_gpio_setup,
|
.setup = sdp3430_twl_gpio_setup,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct twl4030_usb_data sdp3430_usb_data = {
|
|
||||||
.usb_mode = T2_USB_MODE_ULPI,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_madc_platform_data sdp3430_madc_data = {
|
|
||||||
.irq_line = 1,
|
|
||||||
};
|
|
||||||
|
|
||||||
/* regulator consumer mappings */
|
/* regulator consumer mappings */
|
||||||
|
|
||||||
/* ads7846 on SPI */
|
/* ads7846 on SPI */
|
||||||
@ -307,16 +283,6 @@ static struct regulator_consumer_supply sdp3430_vaux3_supplies[] = {
|
|||||||
REGULATOR_SUPPLY("vcc", "spi1.0"),
|
REGULATOR_SUPPLY("vcc", "spi1.0"),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct regulator_consumer_supply sdp3430_vdda_dac_supplies[] = {
|
|
||||||
REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
|
|
||||||
};
|
|
||||||
|
|
||||||
/* VPLL2 for digital video outputs */
|
|
||||||
static struct regulator_consumer_supply sdp3430_vpll2_supplies[] = {
|
|
||||||
REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
|
|
||||||
REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_consumer_supply sdp3430_vmmc1_supplies[] = {
|
static struct regulator_consumer_supply sdp3430_vmmc1_supplies[] = {
|
||||||
REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
|
REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
|
||||||
};
|
};
|
||||||
@ -433,54 +399,10 @@ static struct regulator_init_data sdp3430_vsim = {
|
|||||||
.consumer_supplies = sdp3430_vsim_supplies,
|
.consumer_supplies = sdp3430_vsim_supplies,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* VDAC for DSS driving S-Video */
|
|
||||||
static struct regulator_init_data sdp3430_vdac = {
|
|
||||||
.constraints = {
|
|
||||||
.min_uV = 1800000,
|
|
||||||
.max_uV = 1800000,
|
|
||||||
.apply_uV = true,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
.num_consumer_supplies = ARRAY_SIZE(sdp3430_vdda_dac_supplies),
|
|
||||||
.consumer_supplies = sdp3430_vdda_dac_supplies,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_init_data sdp3430_vpll2 = {
|
|
||||||
.constraints = {
|
|
||||||
.name = "VDVI",
|
|
||||||
.min_uV = 1800000,
|
|
||||||
.max_uV = 1800000,
|
|
||||||
.apply_uV = true,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
.num_consumer_supplies = ARRAY_SIZE(sdp3430_vpll2_supplies),
|
|
||||||
.consumer_supplies = sdp3430_vpll2_supplies,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_codec_audio_data sdp3430_audio;
|
|
||||||
|
|
||||||
static struct twl4030_codec_data sdp3430_codec = {
|
|
||||||
.audio_mclk = 26000000,
|
|
||||||
.audio = &sdp3430_audio,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_platform_data sdp3430_twldata = {
|
static struct twl4030_platform_data sdp3430_twldata = {
|
||||||
.irq_base = TWL4030_IRQ_BASE,
|
|
||||||
.irq_end = TWL4030_IRQ_END,
|
|
||||||
|
|
||||||
/* platform_data for children goes here */
|
/* platform_data for children goes here */
|
||||||
.bci = &sdp3430_bci_data,
|
|
||||||
.gpio = &sdp3430_gpio_data,
|
.gpio = &sdp3430_gpio_data,
|
||||||
.madc = &sdp3430_madc_data,
|
|
||||||
.keypad = &sdp3430_kp_data,
|
.keypad = &sdp3430_kp_data,
|
||||||
.usb = &sdp3430_usb_data,
|
|
||||||
.codec = &sdp3430_codec,
|
|
||||||
|
|
||||||
.vaux1 = &sdp3430_vaux1,
|
.vaux1 = &sdp3430_vaux1,
|
||||||
.vaux2 = &sdp3430_vaux2,
|
.vaux2 = &sdp3430_vaux2,
|
||||||
@ -489,14 +411,21 @@ static struct twl4030_platform_data sdp3430_twldata = {
|
|||||||
.vmmc1 = &sdp3430_vmmc1,
|
.vmmc1 = &sdp3430_vmmc1,
|
||||||
.vmmc2 = &sdp3430_vmmc2,
|
.vmmc2 = &sdp3430_vmmc2,
|
||||||
.vsim = &sdp3430_vsim,
|
.vsim = &sdp3430_vsim,
|
||||||
.vdac = &sdp3430_vdac,
|
|
||||||
.vpll2 = &sdp3430_vpll2,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static int __init omap3430_i2c_init(void)
|
static int __init omap3430_i2c_init(void)
|
||||||
{
|
{
|
||||||
/* i2c1 for PMIC only */
|
/* 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);
|
omap3_pmic_init("twl4030", &sdp3430_twldata);
|
||||||
|
|
||||||
/* i2c2 on camera connector (for sensor control) and optional isp1301 */
|
/* i2c2 on camera connector (for sensor control) and optional isp1301 */
|
||||||
omap_register_i2c_bus(2, 400, NULL, 0);
|
omap_register_i2c_bus(2, 400, NULL, 0);
|
||||||
/* i2c3 on display connector (for DVI, tfp410) */
|
/* i2c3 on display connector (for DVI, tfp410) */
|
||||||
|
@ -302,14 +302,6 @@ static struct omap_musb_board_data musb_board_data = {
|
|||||||
.power = 100,
|
.power = 100,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct twl4030_usb_data omap4_usbphy_data = {
|
|
||||||
.phy_init = omap4430_phy_init,
|
|
||||||
.phy_exit = omap4430_phy_exit,
|
|
||||||
.phy_power = omap4430_phy_power,
|
|
||||||
.phy_set_clock = omap4430_phy_set_clk,
|
|
||||||
.phy_suspend = omap4430_phy_suspend,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct omap2_hsmmc_info mmc[] = {
|
static struct omap2_hsmmc_info mmc[] = {
|
||||||
{
|
{
|
||||||
.mmc = 2,
|
.mmc = 2,
|
||||||
@ -332,10 +324,6 @@ static struct regulator_consumer_supply sdp4430_vaux_supply[] = {
|
|||||||
REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1"),
|
REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1"),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct regulator_consumer_supply sdp4430_vmmc_supply[] = {
|
|
||||||
REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
|
|
||||||
};
|
|
||||||
|
|
||||||
static int omap4_twl6030_hsmmc_late_init(struct device *dev)
|
static int omap4_twl6030_hsmmc_late_init(struct device *dev)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
@ -394,61 +382,6 @@ static struct regulator_init_data sdp4430_vaux1 = {
|
|||||||
.consumer_supplies = sdp4430_vaux_supply,
|
.consumer_supplies = sdp4430_vaux_supply,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct regulator_init_data sdp4430_vaux2 = {
|
|
||||||
.constraints = {
|
|
||||||
.min_uV = 1200000,
|
|
||||||
.max_uV = 2800000,
|
|
||||||
.apply_uV = true,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
|
|
||||||
| REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_init_data sdp4430_vaux3 = {
|
|
||||||
.constraints = {
|
|
||||||
.min_uV = 1000000,
|
|
||||||
.max_uV = 3000000,
|
|
||||||
.apply_uV = true,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
|
|
||||||
| REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
/* VMMC1 for MMC1 card */
|
|
||||||
static struct regulator_init_data sdp4430_vmmc = {
|
|
||||||
.constraints = {
|
|
||||||
.min_uV = 1200000,
|
|
||||||
.max_uV = 3000000,
|
|
||||||
.apply_uV = true,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
|
|
||||||
| REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
.num_consumer_supplies = 1,
|
|
||||||
.consumer_supplies = sdp4430_vmmc_supply,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_init_data sdp4430_vpp = {
|
|
||||||
.constraints = {
|
|
||||||
.min_uV = 1800000,
|
|
||||||
.max_uV = 2500000,
|
|
||||||
.apply_uV = true,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
|
|
||||||
| REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_init_data sdp4430_vusim = {
|
static struct regulator_init_data sdp4430_vusim = {
|
||||||
.constraints = {
|
.constraints = {
|
||||||
.min_uV = 1200000,
|
.min_uV = 1200000,
|
||||||
@ -462,74 +395,10 @@ static struct regulator_init_data sdp4430_vusim = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct regulator_init_data sdp4430_vana = {
|
|
||||||
.constraints = {
|
|
||||||
.min_uV = 2100000,
|
|
||||||
.max_uV = 2100000,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_init_data sdp4430_vcxio = {
|
|
||||||
.constraints = {
|
|
||||||
.min_uV = 1800000,
|
|
||||||
.max_uV = 1800000,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_init_data sdp4430_vdac = {
|
|
||||||
.constraints = {
|
|
||||||
.min_uV = 1800000,
|
|
||||||
.max_uV = 1800000,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_init_data sdp4430_vusb = {
|
|
||||||
.constraints = {
|
|
||||||
.min_uV = 3300000,
|
|
||||||
.max_uV = 3300000,
|
|
||||||
.apply_uV = true,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_init_data sdp4430_clk32kg = {
|
|
||||||
.constraints = {
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_platform_data sdp4430_twldata = {
|
static struct twl4030_platform_data sdp4430_twldata = {
|
||||||
.irq_base = TWL6030_IRQ_BASE,
|
|
||||||
.irq_end = TWL6030_IRQ_END,
|
|
||||||
|
|
||||||
/* Regulators */
|
/* Regulators */
|
||||||
.vmmc = &sdp4430_vmmc,
|
|
||||||
.vpp = &sdp4430_vpp,
|
|
||||||
.vusim = &sdp4430_vusim,
|
.vusim = &sdp4430_vusim,
|
||||||
.vana = &sdp4430_vana,
|
|
||||||
.vcxio = &sdp4430_vcxio,
|
|
||||||
.vdac = &sdp4430_vdac,
|
|
||||||
.vusb = &sdp4430_vusb,
|
|
||||||
.vaux1 = &sdp4430_vaux1,
|
.vaux1 = &sdp4430_vaux1,
|
||||||
.vaux2 = &sdp4430_vaux2,
|
|
||||||
.vaux3 = &sdp4430_vaux3,
|
|
||||||
.clk32kg = &sdp4430_clk32kg,
|
|
||||||
.usb = &omap4_usbphy_data
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct i2c_board_info __initdata sdp4430_i2c_3_boardinfo[] = {
|
static struct i2c_board_info __initdata sdp4430_i2c_3_boardinfo[] = {
|
||||||
@ -547,6 +416,16 @@ static struct i2c_board_info __initdata sdp4430_i2c_4_boardinfo[] = {
|
|||||||
};
|
};
|
||||||
static int __init omap4_i2c_init(void)
|
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);
|
omap4_pmic_init("twl6030", &sdp4430_twldata);
|
||||||
omap_register_i2c_bus(2, 400, NULL, 0);
|
omap_register_i2c_bus(2, 400, NULL, 0);
|
||||||
omap_register_i2c_bus(3, 400, sdp4430_i2c_3_boardinfo,
|
omap_register_i2c_bus(3, 400, sdp4430_i2c_3_boardinfo,
|
||||||
|
@ -343,10 +343,6 @@ static struct regulator_consumer_supply cm_t35_vsim_supply[] = {
|
|||||||
REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.0"),
|
REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.0"),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct regulator_consumer_supply cm_t35_vdac_supply[] = {
|
|
||||||
REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_consumer_supply cm_t35_vdvi_supply[] = {
|
static struct regulator_consumer_supply cm_t35_vdvi_supply[] = {
|
||||||
REGULATOR_SUPPLY("vdvi", "omapdss"),
|
REGULATOR_SUPPLY("vdvi", "omapdss"),
|
||||||
};
|
};
|
||||||
@ -381,39 +377,6 @@ static struct regulator_init_data cm_t35_vsim = {
|
|||||||
.consumer_supplies = cm_t35_vsim_supply,
|
.consumer_supplies = cm_t35_vsim_supply,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */
|
|
||||||
static struct regulator_init_data cm_t35_vdac = {
|
|
||||||
.constraints = {
|
|
||||||
.min_uV = 1800000,
|
|
||||||
.max_uV = 1800000,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
.num_consumer_supplies = ARRAY_SIZE(cm_t35_vdac_supply),
|
|
||||||
.consumer_supplies = cm_t35_vdac_supply,
|
|
||||||
};
|
|
||||||
|
|
||||||
/* VPLL2 for digital video outputs */
|
|
||||||
static struct regulator_init_data cm_t35_vpll2 = {
|
|
||||||
.constraints = {
|
|
||||||
.name = "VDVI",
|
|
||||||
.min_uV = 1800000,
|
|
||||||
.max_uV = 1800000,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
.num_consumer_supplies = ARRAY_SIZE(cm_t35_vdvi_supply),
|
|
||||||
.consumer_supplies = cm_t35_vdvi_supply,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_usb_data cm_t35_usb_data = {
|
|
||||||
.usb_mode = T2_USB_MODE_ULPI,
|
|
||||||
};
|
|
||||||
|
|
||||||
static uint32_t cm_t35_keymap[] = {
|
static uint32_t cm_t35_keymap[] = {
|
||||||
KEY(0, 0, KEY_A), KEY(0, 1, KEY_B), KEY(0, 2, KEY_LEFT),
|
KEY(0, 0, KEY_A), KEY(0, 1, KEY_B), KEY(0, 2, KEY_LEFT),
|
||||||
KEY(1, 0, KEY_UP), KEY(1, 1, KEY_ENTER), KEY(1, 2, KEY_DOWN),
|
KEY(1, 0, KEY_UP), KEY(1, 1, KEY_ENTER), KEY(1, 2, KEY_DOWN),
|
||||||
@ -492,21 +455,23 @@ static struct twl4030_gpio_platform_data cm_t35_gpio_data = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static struct twl4030_platform_data cm_t35_twldata = {
|
static struct twl4030_platform_data cm_t35_twldata = {
|
||||||
.irq_base = TWL4030_IRQ_BASE,
|
|
||||||
.irq_end = TWL4030_IRQ_END,
|
|
||||||
|
|
||||||
/* platform_data for children goes here */
|
/* platform_data for children goes here */
|
||||||
.keypad = &cm_t35_kp_data,
|
.keypad = &cm_t35_kp_data,
|
||||||
.usb = &cm_t35_usb_data,
|
|
||||||
.gpio = &cm_t35_gpio_data,
|
.gpio = &cm_t35_gpio_data,
|
||||||
.vmmc1 = &cm_t35_vmmc1,
|
.vmmc1 = &cm_t35_vmmc1,
|
||||||
.vsim = &cm_t35_vsim,
|
.vsim = &cm_t35_vsim,
|
||||||
.vdac = &cm_t35_vdac,
|
|
||||||
.vpll2 = &cm_t35_vpll2,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static void __init cm_t35_init_i2c(void)
|
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 =
|
||||||
|
ARRAY_SIZE(cm_t35_vdvi_supply);
|
||||||
|
cm_t35_twldata.vpll2->consumer_supplies = cm_t35_vdvi_supply;
|
||||||
|
|
||||||
omap3_pmic_init("tps65930", &cm_t35_twldata);
|
omap3_pmic_init("tps65930", &cm_t35_twldata);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -186,10 +186,6 @@ static struct omap_dss_board_info devkit8000_dss_data = {
|
|||||||
.default_device = &devkit8000_lcd_device,
|
.default_device = &devkit8000_lcd_device,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct regulator_consumer_supply devkit8000_vdda_dac_supply[] = {
|
|
||||||
REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
|
|
||||||
};
|
|
||||||
|
|
||||||
static uint32_t board_keymap[] = {
|
static uint32_t board_keymap[] = {
|
||||||
KEY(0, 0, KEY_1),
|
KEY(0, 0, KEY_1),
|
||||||
KEY(1, 0, KEY_2),
|
KEY(1, 0, KEY_2),
|
||||||
@ -289,20 +285,6 @@ static struct regulator_init_data devkit8000_vmmc1 = {
|
|||||||
.consumer_supplies = devkit8000_vmmc1_supply,
|
.consumer_supplies = devkit8000_vmmc1_supply,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */
|
|
||||||
static struct regulator_init_data devkit8000_vdac = {
|
|
||||||
.constraints = {
|
|
||||||
.min_uV = 1800000,
|
|
||||||
.max_uV = 1800000,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
.num_consumer_supplies = ARRAY_SIZE(devkit8000_vdda_dac_supply),
|
|
||||||
.consumer_supplies = devkit8000_vdda_dac_supply,
|
|
||||||
};
|
|
||||||
|
|
||||||
/* VPLL1 for digital video outputs */
|
/* VPLL1 for digital video outputs */
|
||||||
static struct regulator_init_data devkit8000_vpll1 = {
|
static struct regulator_init_data devkit8000_vpll1 = {
|
||||||
.constraints = {
|
.constraints = {
|
||||||
@ -332,27 +314,10 @@ static struct regulator_init_data devkit8000_vio = {
|
|||||||
.consumer_supplies = devkit8000_vio_supply,
|
.consumer_supplies = devkit8000_vio_supply,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct twl4030_usb_data devkit8000_usb_data = {
|
|
||||||
.usb_mode = T2_USB_MODE_ULPI,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_codec_audio_data devkit8000_audio_data;
|
|
||||||
|
|
||||||
static struct twl4030_codec_data devkit8000_codec_data = {
|
|
||||||
.audio_mclk = 26000000,
|
|
||||||
.audio = &devkit8000_audio_data,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_platform_data devkit8000_twldata = {
|
static struct twl4030_platform_data devkit8000_twldata = {
|
||||||
.irq_base = TWL4030_IRQ_BASE,
|
|
||||||
.irq_end = TWL4030_IRQ_END,
|
|
||||||
|
|
||||||
/* platform_data for children goes here */
|
/* platform_data for children goes here */
|
||||||
.usb = &devkit8000_usb_data,
|
|
||||||
.gpio = &devkit8000_gpio_data,
|
.gpio = &devkit8000_gpio_data,
|
||||||
.codec = &devkit8000_codec_data,
|
|
||||||
.vmmc1 = &devkit8000_vmmc1,
|
.vmmc1 = &devkit8000_vmmc1,
|
||||||
.vdac = &devkit8000_vdac,
|
|
||||||
.vpll1 = &devkit8000_vpll1,
|
.vpll1 = &devkit8000_vpll1,
|
||||||
.vio = &devkit8000_vio,
|
.vio = &devkit8000_vio,
|
||||||
.keypad = &devkit8000_kp_data,
|
.keypad = &devkit8000_kp_data,
|
||||||
@ -360,6 +325,9 @@ static struct twl4030_platform_data devkit8000_twldata = {
|
|||||||
|
|
||||||
static int __init devkit8000_i2c_init(void)
|
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);
|
omap3_pmic_init("tps65930", &devkit8000_twldata);
|
||||||
/* Bus 3 is attached to the DVI port where devices like the pico DLP
|
/* Bus 3 is attached to the DVI port where devices like the pico DLP
|
||||||
* projector don't work reliably with 400kHz */
|
* projector don't work reliably with 400kHz */
|
||||||
|
@ -443,10 +443,6 @@ static struct twl4030_gpio_platform_data igep_twl4030_gpio_pdata = {
|
|||||||
.setup = igep_twl_gpio_setup,
|
.setup = igep_twl_gpio_setup,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct twl4030_usb_data igep_usb_data = {
|
|
||||||
.usb_mode = T2_USB_MODE_ULPI,
|
|
||||||
};
|
|
||||||
|
|
||||||
static int igep2_enable_dvi(struct omap_dss_device *dssdev)
|
static int igep2_enable_dvi(struct omap_dss_device *dssdev)
|
||||||
{
|
{
|
||||||
gpio_direction_output(IGEP2_GPIO_DVI_PUP, 1);
|
gpio_direction_output(IGEP2_GPIO_DVI_PUP, 1);
|
||||||
@ -483,26 +479,6 @@ static struct omap_dss_board_info igep2_dss_data = {
|
|||||||
.default_device = &igep2_dvi_device,
|
.default_device = &igep2_dvi_device,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct regulator_consumer_supply igep2_vpll2_supplies[] = {
|
|
||||||
REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
|
|
||||||
REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_init_data igep2_vpll2 = {
|
|
||||||
.constraints = {
|
|
||||||
.name = "VDVI",
|
|
||||||
.min_uV = 1800000,
|
|
||||||
.max_uV = 1800000,
|
|
||||||
.apply_uV = true,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
.num_consumer_supplies = ARRAY_SIZE(igep2_vpll2_supplies),
|
|
||||||
.consumer_supplies = igep2_vpll2_supplies,
|
|
||||||
};
|
|
||||||
|
|
||||||
static void __init igep2_display_init(void)
|
static void __init igep2_display_init(void)
|
||||||
{
|
{
|
||||||
int err = gpio_request_one(IGEP2_GPIO_DVI_PUP, GPIOF_OUT_INIT_HIGH,
|
int err = gpio_request_one(IGEP2_GPIO_DVI_PUP, GPIOF_OUT_INIT_HIGH,
|
||||||
@ -522,13 +498,6 @@ static void __init igep_init_early(void)
|
|||||||
m65kxxxxam_sdrc_params);
|
m65kxxxxam_sdrc_params);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct twl4030_codec_audio_data igep2_audio_data;
|
|
||||||
|
|
||||||
static struct twl4030_codec_data igep2_codec_data = {
|
|
||||||
.audio_mclk = 26000000,
|
|
||||||
.audio = &igep2_audio_data,
|
|
||||||
};
|
|
||||||
|
|
||||||
static int igep2_keymap[] = {
|
static int igep2_keymap[] = {
|
||||||
KEY(0, 0, KEY_LEFT),
|
KEY(0, 0, KEY_LEFT),
|
||||||
KEY(0, 1, KEY_RIGHT),
|
KEY(0, 1, KEY_RIGHT),
|
||||||
@ -561,11 +530,7 @@ static struct twl4030_keypad_data igep2_keypad_pdata = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static struct twl4030_platform_data igep_twldata = {
|
static struct twl4030_platform_data igep_twldata = {
|
||||||
.irq_base = TWL4030_IRQ_BASE,
|
|
||||||
.irq_end = TWL4030_IRQ_END,
|
|
||||||
|
|
||||||
/* platform_data for children goes here */
|
/* platform_data for children goes here */
|
||||||
.usb = &igep_usb_data,
|
|
||||||
.gpio = &igep_twl4030_gpio_pdata,
|
.gpio = &igep_twl4030_gpio_pdata,
|
||||||
.vmmc1 = &igep_vmmc1,
|
.vmmc1 = &igep_vmmc1,
|
||||||
.vio = &igep_vio,
|
.vio = &igep_vio,
|
||||||
@ -581,6 +546,8 @@ static void __init igep_i2c_init(void)
|
|||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
omap3_pmic_get_config(&igep_twldata, TWL_COMMON_PDATA_USB, 0);
|
||||||
|
|
||||||
if (machine_is_igep0020()) {
|
if (machine_is_igep0020()) {
|
||||||
/*
|
/*
|
||||||
* Bus 3 is attached to the DVI port where devices like the
|
* Bus 3 is attached to the DVI port where devices like the
|
||||||
@ -591,9 +558,12 @@ static void __init igep_i2c_init(void)
|
|||||||
if (ret)
|
if (ret)
|
||||||
pr_warning("IGEP2: Could not register I2C3 bus (%d)\n", ret);
|
pr_warning("IGEP2: Could not register I2C3 bus (%d)\n", ret);
|
||||||
|
|
||||||
igep_twldata.codec = &igep2_codec_data;
|
|
||||||
igep_twldata.keypad = &igep2_keypad_pdata;
|
igep_twldata.keypad = &igep2_keypad_pdata;
|
||||||
igep_twldata.vpll2 = &igep2_vpll2;
|
/* Get common pmic data */
|
||||||
|
omap3_pmic_get_config(&igep_twldata, TWL_COMMON_PDATA_AUDIO,
|
||||||
|
TWL_COMMON_REGULATOR_VPLL2);
|
||||||
|
igep_twldata.vpll2->constraints.apply_uV = true;
|
||||||
|
igep_twldata.vpll2->constraints.name = "VDVI";
|
||||||
}
|
}
|
||||||
|
|
||||||
omap3_pmic_init("twl4030", &igep_twldata);
|
omap3_pmic_init("twl4030", &igep_twldata);
|
||||||
|
@ -199,20 +199,12 @@ static void __init omap_ldp_init_early(void)
|
|||||||
omap2_init_common_devices(NULL, NULL);
|
omap2_init_common_devices(NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct twl4030_usb_data ldp_usb_data = {
|
|
||||||
.usb_mode = T2_USB_MODE_ULPI,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_gpio_platform_data ldp_gpio_data = {
|
static struct twl4030_gpio_platform_data ldp_gpio_data = {
|
||||||
.gpio_base = OMAP_MAX_GPIO_LINES,
|
.gpio_base = OMAP_MAX_GPIO_LINES,
|
||||||
.irq_base = TWL4030_GPIO_IRQ_BASE,
|
.irq_base = TWL4030_GPIO_IRQ_BASE,
|
||||||
.irq_end = TWL4030_GPIO_IRQ_END,
|
.irq_end = TWL4030_GPIO_IRQ_END,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct twl4030_madc_platform_data ldp_madc_data = {
|
|
||||||
.irq_line = 1,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_consumer_supply ldp_vmmc1_supply[] = {
|
static struct regulator_consumer_supply ldp_vmmc1_supply[] = {
|
||||||
REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
|
REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
|
||||||
};
|
};
|
||||||
@ -253,12 +245,7 @@ static struct regulator_init_data ldp_vaux1 = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static struct twl4030_platform_data ldp_twldata = {
|
static struct twl4030_platform_data ldp_twldata = {
|
||||||
.irq_base = TWL4030_IRQ_BASE,
|
|
||||||
.irq_end = TWL4030_IRQ_END,
|
|
||||||
|
|
||||||
/* platform_data for children goes here */
|
/* platform_data for children goes here */
|
||||||
.madc = &ldp_madc_data,
|
|
||||||
.usb = &ldp_usb_data,
|
|
||||||
.vmmc1 = &ldp_vmmc1,
|
.vmmc1 = &ldp_vmmc1,
|
||||||
.vaux1 = &ldp_vaux1,
|
.vaux1 = &ldp_vaux1,
|
||||||
.gpio = &ldp_gpio_data,
|
.gpio = &ldp_gpio_data,
|
||||||
@ -267,6 +254,8 @@ static struct twl4030_platform_data ldp_twldata = {
|
|||||||
|
|
||||||
static int __init omap_i2c_init(void)
|
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);
|
omap3_pmic_init("twl4030", &ldp_twldata);
|
||||||
omap_register_i2c_bus(2, 400, NULL, 0);
|
omap_register_i2c_bus(2, 400, NULL, 0);
|
||||||
omap_register_i2c_bus(3, 400, NULL, 0);
|
omap_register_i2c_bus(3, 400, NULL, 0);
|
||||||
|
@ -209,15 +209,6 @@ static struct omap_dss_board_info beagle_dss_data = {
|
|||||||
.default_device = &beagle_dvi_device,
|
.default_device = &beagle_dvi_device,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct regulator_consumer_supply beagle_vdac_supply[] = {
|
|
||||||
REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_consumer_supply beagle_vdvi_supplies[] = {
|
|
||||||
REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
|
|
||||||
REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
|
|
||||||
};
|
|
||||||
|
|
||||||
static void __init beagle_display_init(void)
|
static void __init beagle_display_init(void)
|
||||||
{
|
{
|
||||||
int r;
|
int r;
|
||||||
@ -351,58 +342,11 @@ static struct regulator_init_data beagle_vsim = {
|
|||||||
.consumer_supplies = beagle_vsim_supply,
|
.consumer_supplies = beagle_vsim_supply,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */
|
|
||||||
static struct regulator_init_data beagle_vdac = {
|
|
||||||
.constraints = {
|
|
||||||
.min_uV = 1800000,
|
|
||||||
.max_uV = 1800000,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
.num_consumer_supplies = ARRAY_SIZE(beagle_vdac_supply),
|
|
||||||
.consumer_supplies = beagle_vdac_supply,
|
|
||||||
};
|
|
||||||
|
|
||||||
/* VPLL2 for digital video outputs */
|
|
||||||
static struct regulator_init_data beagle_vpll2 = {
|
|
||||||
.constraints = {
|
|
||||||
.name = "VDVI",
|
|
||||||
.min_uV = 1800000,
|
|
||||||
.max_uV = 1800000,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
.num_consumer_supplies = ARRAY_SIZE(beagle_vdvi_supplies),
|
|
||||||
.consumer_supplies = beagle_vdvi_supplies,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_usb_data beagle_usb_data = {
|
|
||||||
.usb_mode = T2_USB_MODE_ULPI,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_codec_audio_data beagle_audio_data;
|
|
||||||
|
|
||||||
static struct twl4030_codec_data beagle_codec_data = {
|
|
||||||
.audio_mclk = 26000000,
|
|
||||||
.audio = &beagle_audio_data,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_platform_data beagle_twldata = {
|
static struct twl4030_platform_data beagle_twldata = {
|
||||||
.irq_base = TWL4030_IRQ_BASE,
|
|
||||||
.irq_end = TWL4030_IRQ_END,
|
|
||||||
|
|
||||||
/* platform_data for children goes here */
|
/* platform_data for children goes here */
|
||||||
.usb = &beagle_usb_data,
|
|
||||||
.gpio = &beagle_gpio_data,
|
.gpio = &beagle_gpio_data,
|
||||||
.codec = &beagle_codec_data,
|
|
||||||
.vmmc1 = &beagle_vmmc1,
|
.vmmc1 = &beagle_vmmc1,
|
||||||
.vsim = &beagle_vsim,
|
.vsim = &beagle_vsim,
|
||||||
.vdac = &beagle_vdac,
|
|
||||||
.vpll2 = &beagle_vpll2,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct i2c_board_info __initdata beagle_i2c_eeprom[] = {
|
static struct i2c_board_info __initdata beagle_i2c_eeprom[] = {
|
||||||
@ -413,6 +357,12 @@ static struct i2c_board_info __initdata beagle_i2c_eeprom[] = {
|
|||||||
|
|
||||||
static int __init omap3_beagle_i2c_init(void)
|
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);
|
omap3_pmic_init("twl4030", &beagle_twldata);
|
||||||
/* Bus 3 is attached to the DVI port where devices like the pico DLP
|
/* Bus 3 is attached to the DVI port where devices like the pico DLP
|
||||||
* projector don't work reliably with 400kHz */
|
* projector don't work reliably with 400kHz */
|
||||||
|
@ -396,10 +396,6 @@ static struct twl4030_gpio_platform_data omap3evm_gpio_data = {
|
|||||||
.setup = omap3evm_twl_gpio_setup,
|
.setup = omap3evm_twl_gpio_setup,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct twl4030_usb_data omap3evm_usb_data = {
|
|
||||||
.usb_mode = T2_USB_MODE_ULPI,
|
|
||||||
};
|
|
||||||
|
|
||||||
static uint32_t board_keymap[] = {
|
static uint32_t board_keymap[] = {
|
||||||
KEY(0, 0, KEY_LEFT),
|
KEY(0, 0, KEY_LEFT),
|
||||||
KEY(0, 1, KEY_DOWN),
|
KEY(0, 1, KEY_DOWN),
|
||||||
@ -434,56 +430,6 @@ static struct twl4030_keypad_data omap3evm_kp_data = {
|
|||||||
.rep = 1,
|
.rep = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct twl4030_madc_platform_data omap3evm_madc_data = {
|
|
||||||
.irq_line = 1,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_codec_audio_data omap3evm_audio_data;
|
|
||||||
|
|
||||||
static struct twl4030_codec_data omap3evm_codec_data = {
|
|
||||||
.audio_mclk = 26000000,
|
|
||||||
.audio = &omap3evm_audio_data,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_consumer_supply omap3_evm_vdda_dac_supply[] = {
|
|
||||||
REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
|
|
||||||
};
|
|
||||||
|
|
||||||
/* VDAC for DSS driving S-Video */
|
|
||||||
static struct regulator_init_data omap3_evm_vdac = {
|
|
||||||
.constraints = {
|
|
||||||
.min_uV = 1800000,
|
|
||||||
.max_uV = 1800000,
|
|
||||||
.apply_uV = true,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
.num_consumer_supplies = ARRAY_SIZE(omap3_evm_vdda_dac_supply),
|
|
||||||
.consumer_supplies = omap3_evm_vdda_dac_supply,
|
|
||||||
};
|
|
||||||
|
|
||||||
/* VPLL2 for digital video outputs */
|
|
||||||
static struct regulator_consumer_supply omap3_evm_vpll2_supplies[] = {
|
|
||||||
REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
|
|
||||||
REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_init_data omap3_evm_vpll2 = {
|
|
||||||
.constraints = {
|
|
||||||
.min_uV = 1800000,
|
|
||||||
.max_uV = 1800000,
|
|
||||||
.apply_uV = true,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
.num_consumer_supplies = ARRAY_SIZE(omap3_evm_vpll2_supplies),
|
|
||||||
.consumer_supplies = omap3_evm_vpll2_supplies,
|
|
||||||
};
|
|
||||||
|
|
||||||
/* ads7846 on SPI */
|
/* ads7846 on SPI */
|
||||||
static struct regulator_consumer_supply omap3evm_vio_supply[] = {
|
static struct regulator_consumer_supply omap3evm_vio_supply[] = {
|
||||||
REGULATOR_SUPPLY("vcc", "spi1.0"),
|
REGULATOR_SUPPLY("vcc", "spi1.0"),
|
||||||
@ -547,17 +493,9 @@ struct wl12xx_platform_data omap3evm_wlan_data __initdata = {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
static struct twl4030_platform_data omap3evm_twldata = {
|
static struct twl4030_platform_data omap3evm_twldata = {
|
||||||
.irq_base = TWL4030_IRQ_BASE,
|
|
||||||
.irq_end = TWL4030_IRQ_END,
|
|
||||||
|
|
||||||
/* platform_data for children goes here */
|
/* platform_data for children goes here */
|
||||||
.keypad = &omap3evm_kp_data,
|
.keypad = &omap3evm_kp_data,
|
||||||
.madc = &omap3evm_madc_data,
|
|
||||||
.usb = &omap3evm_usb_data,
|
|
||||||
.gpio = &omap3evm_gpio_data,
|
.gpio = &omap3evm_gpio_data,
|
||||||
.codec = &omap3evm_codec_data,
|
|
||||||
.vdac = &omap3_evm_vdac,
|
|
||||||
.vpll2 = &omap3_evm_vpll2,
|
|
||||||
.vio = &omap3evm_vio,
|
.vio = &omap3evm_vio,
|
||||||
.vmmc1 = &omap3evm_vmmc1,
|
.vmmc1 = &omap3evm_vmmc1,
|
||||||
.vsim = &omap3evm_vsim,
|
.vsim = &omap3evm_vsim,
|
||||||
@ -565,6 +503,14 @@ static struct twl4030_platform_data omap3evm_twldata = {
|
|||||||
|
|
||||||
static int __init omap3_evm_i2c_init(void)
|
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);
|
omap3_pmic_init("twl4030", &omap3evm_twldata);
|
||||||
omap_register_i2c_bus(2, 400, NULL, 0);
|
omap_register_i2c_bus(2, 400, NULL, 0);
|
||||||
omap_register_i2c_bus(3, 400, NULL, 0);
|
omap_register_i2c_bus(3, 400, NULL, 0);
|
||||||
|
@ -332,10 +332,6 @@ static struct regulator_consumer_supply pandora_vmmc3_supply[] = {
|
|||||||
REGULATOR_SUPPLY("vmmc", "omap_hsmmc.2"),
|
REGULATOR_SUPPLY("vmmc", "omap_hsmmc.2"),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct regulator_consumer_supply pandora_vdda_dac_supply[] = {
|
|
||||||
REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_consumer_supply pandora_vdds_supplies[] = {
|
static struct regulator_consumer_supply pandora_vdds_supplies[] = {
|
||||||
REGULATOR_SUPPLY("vdds_sdi", "omapdss"),
|
REGULATOR_SUPPLY("vdds_sdi", "omapdss"),
|
||||||
REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
|
REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
|
||||||
@ -391,36 +387,6 @@ static struct regulator_init_data pandora_vmmc2 = {
|
|||||||
.consumer_supplies = pandora_vmmc2_supply,
|
.consumer_supplies = pandora_vmmc2_supply,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* VDAC for DSS driving S-Video */
|
|
||||||
static struct regulator_init_data pandora_vdac = {
|
|
||||||
.constraints = {
|
|
||||||
.min_uV = 1800000,
|
|
||||||
.max_uV = 1800000,
|
|
||||||
.apply_uV = true,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
.num_consumer_supplies = ARRAY_SIZE(pandora_vdda_dac_supply),
|
|
||||||
.consumer_supplies = pandora_vdda_dac_supply,
|
|
||||||
};
|
|
||||||
|
|
||||||
/* VPLL2 for digital video outputs */
|
|
||||||
static struct regulator_init_data pandora_vpll2 = {
|
|
||||||
.constraints = {
|
|
||||||
.min_uV = 1800000,
|
|
||||||
.max_uV = 1800000,
|
|
||||||
.apply_uV = true,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
.num_consumer_supplies = ARRAY_SIZE(pandora_vdds_supplies),
|
|
||||||
.consumer_supplies = pandora_vdds_supplies,
|
|
||||||
};
|
|
||||||
|
|
||||||
/* VAUX1 for LCD */
|
/* VAUX1 for LCD */
|
||||||
static struct regulator_init_data pandora_vaux1 = {
|
static struct regulator_init_data pandora_vaux1 = {
|
||||||
.constraints = {
|
.constraints = {
|
||||||
@ -508,29 +474,12 @@ static struct platform_device pandora_vwlan_device = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct twl4030_usb_data omap3pandora_usb_data = {
|
|
||||||
.usb_mode = T2_USB_MODE_ULPI,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_codec_audio_data omap3pandora_audio_data;
|
|
||||||
|
|
||||||
static struct twl4030_codec_data omap3pandora_codec_data = {
|
|
||||||
.audio_mclk = 26000000,
|
|
||||||
.audio = &omap3pandora_audio_data,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_bci_platform_data pandora_bci_data;
|
static struct twl4030_bci_platform_data pandora_bci_data;
|
||||||
|
|
||||||
static struct twl4030_platform_data omap3pandora_twldata = {
|
static struct twl4030_platform_data omap3pandora_twldata = {
|
||||||
.irq_base = TWL4030_IRQ_BASE,
|
|
||||||
.irq_end = TWL4030_IRQ_END,
|
|
||||||
.gpio = &omap3pandora_gpio_data,
|
.gpio = &omap3pandora_gpio_data,
|
||||||
.usb = &omap3pandora_usb_data,
|
|
||||||
.codec = &omap3pandora_codec_data,
|
|
||||||
.vmmc1 = &pandora_vmmc1,
|
.vmmc1 = &pandora_vmmc1,
|
||||||
.vmmc2 = &pandora_vmmc2,
|
.vmmc2 = &pandora_vmmc2,
|
||||||
.vdac = &pandora_vdac,
|
|
||||||
.vpll2 = &pandora_vpll2,
|
|
||||||
.vaux1 = &pandora_vaux1,
|
.vaux1 = &pandora_vaux1,
|
||||||
.vaux2 = &pandora_vaux2,
|
.vaux2 = &pandora_vaux2,
|
||||||
.vaux4 = &pandora_vaux4,
|
.vaux4 = &pandora_vaux4,
|
||||||
@ -548,6 +497,17 @@ static struct i2c_board_info __initdata omap3pandora_i2c3_boardinfo[] = {
|
|||||||
|
|
||||||
static int __init omap3pandora_i2c_init(void)
|
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);
|
omap3_pmic_init("tps65950", &omap3pandora_twldata);
|
||||||
/* i2c2 pins are not connected */
|
/* i2c2 pins are not connected */
|
||||||
omap_register_i2c_bus(3, 100, omap3pandora_i2c3_boardinfo,
|
omap_register_i2c_bus(3, 100, omap3pandora_i2c3_boardinfo,
|
||||||
|
@ -349,10 +349,6 @@ static struct twl4030_gpio_platform_data omap3stalker_gpio_data = {
|
|||||||
.setup = omap3stalker_twl_gpio_setup,
|
.setup = omap3stalker_twl_gpio_setup,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct twl4030_usb_data omap3stalker_usb_data = {
|
|
||||||
.usb_mode = T2_USB_MODE_ULPI,
|
|
||||||
};
|
|
||||||
|
|
||||||
static uint32_t board_keymap[] = {
|
static uint32_t board_keymap[] = {
|
||||||
KEY(0, 0, KEY_LEFT),
|
KEY(0, 0, KEY_LEFT),
|
||||||
KEY(0, 1, KEY_DOWN),
|
KEY(0, 1, KEY_DOWN),
|
||||||
@ -387,69 +383,10 @@ static struct twl4030_keypad_data omap3stalker_kp_data = {
|
|||||||
.rep = 1,
|
.rep = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct twl4030_madc_platform_data omap3stalker_madc_data = {
|
|
||||||
.irq_line = 1,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_codec_audio_data omap3stalker_audio_data;
|
|
||||||
|
|
||||||
static struct twl4030_codec_data omap3stalker_codec_data = {
|
|
||||||
.audio_mclk = 26000000,
|
|
||||||
.audio = &omap3stalker_audio_data,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_consumer_supply omap3_stalker_vdda_dac_supply[] = {
|
|
||||||
REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
|
|
||||||
};
|
|
||||||
|
|
||||||
/* VDAC for DSS driving S-Video */
|
|
||||||
static struct regulator_init_data omap3_stalker_vdac = {
|
|
||||||
.constraints = {
|
|
||||||
.min_uV = 1800000,
|
|
||||||
.max_uV = 1800000,
|
|
||||||
.apply_uV = true,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
.num_consumer_supplies = ARRAY_SIZE(omap3_stalker_vdda_dac_supply),
|
|
||||||
.consumer_supplies = omap3_stalker_vdda_dac_supply,
|
|
||||||
};
|
|
||||||
|
|
||||||
/* VPLL2 for digital video outputs */
|
|
||||||
static struct regulator_consumer_supply omap3_stalker_vpll2_supplies[] = {
|
|
||||||
REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
|
|
||||||
REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_init_data omap3_stalker_vpll2 = {
|
|
||||||
.constraints = {
|
|
||||||
.name = "VDVI",
|
|
||||||
.min_uV = 1800000,
|
|
||||||
.max_uV = 1800000,
|
|
||||||
.apply_uV = true,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
.num_consumer_supplies = ARRAY_SIZE(omap3_stalker_vpll2_supplies),
|
|
||||||
.consumer_supplies = omap3_stalker_vpll2_supplies,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_platform_data omap3stalker_twldata = {
|
static struct twl4030_platform_data omap3stalker_twldata = {
|
||||||
.irq_base = TWL4030_IRQ_BASE,
|
|
||||||
.irq_end = TWL4030_IRQ_END,
|
|
||||||
|
|
||||||
/* platform_data for children goes here */
|
/* platform_data for children goes here */
|
||||||
.keypad = &omap3stalker_kp_data,
|
.keypad = &omap3stalker_kp_data,
|
||||||
.madc = &omap3stalker_madc_data,
|
|
||||||
.usb = &omap3stalker_usb_data,
|
|
||||||
.gpio = &omap3stalker_gpio_data,
|
.gpio = &omap3stalker_gpio_data,
|
||||||
.codec = &omap3stalker_codec_data,
|
|
||||||
.vdac = &omap3_stalker_vdac,
|
|
||||||
.vpll2 = &omap3_stalker_vpll2,
|
|
||||||
.vmmc1 = &omap3stalker_vmmc1,
|
.vmmc1 = &omap3stalker_vmmc1,
|
||||||
.vsim = &omap3stalker_vsim,
|
.vsim = &omap3stalker_vsim,
|
||||||
};
|
};
|
||||||
@ -470,6 +407,15 @@ static struct i2c_board_info __initdata omap3stalker_i2c_boardinfo3[] = {
|
|||||||
|
|
||||||
static int __init omap3_stalker_i2c_init(void)
|
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);
|
omap3_pmic_init("twl4030", &omap3stalker_twldata);
|
||||||
omap_register_i2c_bus(2, 400, NULL, 0);
|
omap_register_i2c_bus(2, 400, NULL, 0);
|
||||||
omap_register_i2c_bus(3, 400, omap3stalker_i2c_boardinfo3,
|
omap_register_i2c_bus(3, 400, omap3stalker_i2c_boardinfo3,
|
||||||
|
@ -206,58 +206,11 @@ static struct regulator_init_data touchbook_vsim = {
|
|||||||
.consumer_supplies = touchbook_vsim_supply,
|
.consumer_supplies = touchbook_vsim_supply,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */
|
|
||||||
static struct regulator_init_data touchbook_vdac = {
|
|
||||||
.constraints = {
|
|
||||||
.min_uV = 1800000,
|
|
||||||
.max_uV = 1800000,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
.num_consumer_supplies = ARRAY_SIZE(touchbook_vdac_supply),
|
|
||||||
.consumer_supplies = touchbook_vdac_supply,
|
|
||||||
};
|
|
||||||
|
|
||||||
/* VPLL2 for digital video outputs */
|
|
||||||
static struct regulator_init_data touchbook_vpll2 = {
|
|
||||||
.constraints = {
|
|
||||||
.name = "VDVI",
|
|
||||||
.min_uV = 1800000,
|
|
||||||
.max_uV = 1800000,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
.num_consumer_supplies = ARRAY_SIZE(touchbook_vdvi_supply),
|
|
||||||
.consumer_supplies = touchbook_vdvi_supply,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_usb_data touchbook_usb_data = {
|
|
||||||
.usb_mode = T2_USB_MODE_ULPI,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_codec_audio_data touchbook_audio_data;
|
|
||||||
|
|
||||||
static struct twl4030_codec_data touchbook_codec_data = {
|
|
||||||
.audio_mclk = 26000000,
|
|
||||||
.audio = &touchbook_audio_data,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_platform_data touchbook_twldata = {
|
static struct twl4030_platform_data touchbook_twldata = {
|
||||||
.irq_base = TWL4030_IRQ_BASE,
|
|
||||||
.irq_end = TWL4030_IRQ_END,
|
|
||||||
|
|
||||||
/* platform_data for children goes here */
|
/* platform_data for children goes here */
|
||||||
.usb = &touchbook_usb_data,
|
|
||||||
.gpio = &touchbook_gpio_data,
|
.gpio = &touchbook_gpio_data,
|
||||||
.codec = &touchbook_codec_data,
|
|
||||||
.vmmc1 = &touchbook_vmmc1,
|
.vmmc1 = &touchbook_vmmc1,
|
||||||
.vsim = &touchbook_vsim,
|
.vsim = &touchbook_vsim,
|
||||||
.vdac = &touchbook_vdac,
|
|
||||||
.vpll2 = &touchbook_vpll2,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct i2c_board_info __initdata touchBook_i2c_boardinfo[] = {
|
static struct i2c_board_info __initdata touchBook_i2c_boardinfo[] = {
|
||||||
@ -269,8 +222,20 @@ static struct i2c_board_info __initdata touchBook_i2c_boardinfo[] = {
|
|||||||
static int __init omap3_touchbook_i2c_init(void)
|
static int __init omap3_touchbook_i2c_init(void)
|
||||||
{
|
{
|
||||||
/* Standard TouchBook bus */
|
/* Standard TouchBook bus */
|
||||||
omap3_pmic_init("twl4030", &touchbook_twldata);
|
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 */
|
/* Additional TouchBook bus */
|
||||||
omap_register_i2c_bus(3, 100, touchBook_i2c_boardinfo,
|
omap_register_i2c_bus(3, 100, touchBook_i2c_boardinfo,
|
||||||
ARRAY_SIZE(touchBook_i2c_boardinfo));
|
ARRAY_SIZE(touchBook_i2c_boardinfo));
|
||||||
|
@ -154,14 +154,6 @@ static struct omap_musb_board_data musb_board_data = {
|
|||||||
.power = 100,
|
.power = 100,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct twl4030_usb_data omap4_usbphy_data = {
|
|
||||||
.phy_init = omap4430_phy_init,
|
|
||||||
.phy_exit = omap4430_phy_exit,
|
|
||||||
.phy_power = omap4430_phy_power,
|
|
||||||
.phy_set_clock = omap4430_phy_set_clk,
|
|
||||||
.phy_suspend = omap4430_phy_suspend,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct omap2_hsmmc_info mmc[] = {
|
static struct omap2_hsmmc_info mmc[] = {
|
||||||
{
|
{
|
||||||
.mmc = 1,
|
.mmc = 1,
|
||||||
@ -181,10 +173,6 @@ static struct omap2_hsmmc_info mmc[] = {
|
|||||||
{} /* Terminator */
|
{} /* Terminator */
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct regulator_consumer_supply omap4_panda_vmmc_supply[] = {
|
|
||||||
REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_consumer_supply omap4_panda_vmmc5_supply[] = {
|
static struct regulator_consumer_supply omap4_panda_vmmc5_supply[] = {
|
||||||
REGULATOR_SUPPLY("vmmc", "omap_hsmmc.4"),
|
REGULATOR_SUPPLY("vmmc", "omap_hsmmc.4"),
|
||||||
};
|
};
|
||||||
@ -269,128 +257,8 @@ static int __init omap4_twl6030_hsmmc_init(struct omap2_hsmmc_info *controllers)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct regulator_init_data omap4_panda_vaux2 = {
|
/* Panda board uses the common PMIC configuration */
|
||||||
.constraints = {
|
static struct twl4030_platform_data omap4_panda_twldata;
|
||||||
.min_uV = 1200000,
|
|
||||||
.max_uV = 2800000,
|
|
||||||
.apply_uV = true,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
|
|
||||||
| REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_init_data omap4_panda_vaux3 = {
|
|
||||||
.constraints = {
|
|
||||||
.min_uV = 1000000,
|
|
||||||
.max_uV = 3000000,
|
|
||||||
.apply_uV = true,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
|
|
||||||
| REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
/* VMMC1 for MMC1 card */
|
|
||||||
static struct regulator_init_data omap4_panda_vmmc = {
|
|
||||||
.constraints = {
|
|
||||||
.min_uV = 1200000,
|
|
||||||
.max_uV = 3000000,
|
|
||||||
.apply_uV = true,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
|
|
||||||
| REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
.num_consumer_supplies = ARRAY_SIZE(omap4_panda_vmmc_supply),
|
|
||||||
.consumer_supplies = omap4_panda_vmmc_supply,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_init_data omap4_panda_vpp = {
|
|
||||||
.constraints = {
|
|
||||||
.min_uV = 1800000,
|
|
||||||
.max_uV = 2500000,
|
|
||||||
.apply_uV = true,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
|
|
||||||
| REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_init_data omap4_panda_vana = {
|
|
||||||
.constraints = {
|
|
||||||
.min_uV = 2100000,
|
|
||||||
.max_uV = 2100000,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_init_data omap4_panda_vcxio = {
|
|
||||||
.constraints = {
|
|
||||||
.min_uV = 1800000,
|
|
||||||
.max_uV = 1800000,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_init_data omap4_panda_vdac = {
|
|
||||||
.constraints = {
|
|
||||||
.min_uV = 1800000,
|
|
||||||
.max_uV = 1800000,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_init_data omap4_panda_vusb = {
|
|
||||||
.constraints = {
|
|
||||||
.min_uV = 3300000,
|
|
||||||
.max_uV = 3300000,
|
|
||||||
.apply_uV = true,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_init_data omap4_panda_clk32kg = {
|
|
||||||
.constraints = {
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_platform_data omap4_panda_twldata = {
|
|
||||||
.irq_base = TWL6030_IRQ_BASE,
|
|
||||||
.irq_end = TWL6030_IRQ_END,
|
|
||||||
|
|
||||||
/* Regulators */
|
|
||||||
.vmmc = &omap4_panda_vmmc,
|
|
||||||
.vpp = &omap4_panda_vpp,
|
|
||||||
.vana = &omap4_panda_vana,
|
|
||||||
.vcxio = &omap4_panda_vcxio,
|
|
||||||
.vdac = &omap4_panda_vdac,
|
|
||||||
.vusb = &omap4_panda_vusb,
|
|
||||||
.vaux2 = &omap4_panda_vaux2,
|
|
||||||
.vaux3 = &omap4_panda_vaux3,
|
|
||||||
.clk32kg = &omap4_panda_clk32kg,
|
|
||||||
.usb = &omap4_usbphy_data,
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Display monitor features are burnt in their EEPROM as EDID data. The EEPROM
|
* Display monitor features are burnt in their EEPROM as EDID data. The EEPROM
|
||||||
@ -404,6 +272,16 @@ static struct i2c_board_info __initdata panda_i2c_eeprom[] = {
|
|||||||
|
|
||||||
static int __init omap4_panda_i2c_init(void)
|
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);
|
omap4_pmic_init("twl6030", &omap4_panda_twldata);
|
||||||
omap_register_i2c_bus(2, 400, NULL, 0);
|
omap_register_i2c_bus(2, 400, NULL, 0);
|
||||||
/*
|
/*
|
||||||
|
@ -265,15 +265,6 @@ static struct omap_dss_board_info overo_dss_data = {
|
|||||||
.default_device = &overo_dvi_device,
|
.default_device = &overo_dvi_device,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct regulator_consumer_supply overo_vdda_dac_supply[] = {
|
|
||||||
REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_consumer_supply overo_vdds_dsi_supply[] = {
|
|
||||||
REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
|
|
||||||
REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct mtd_partition overo_nand_partitions[] = {
|
static struct mtd_partition overo_nand_partitions[] = {
|
||||||
{
|
{
|
||||||
.name = "xloader",
|
.name = "xloader",
|
||||||
@ -433,10 +424,6 @@ static struct twl4030_gpio_platform_data overo_gpio_data = {
|
|||||||
.setup = overo_twl_gpio_setup,
|
.setup = overo_twl_gpio_setup,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct twl4030_usb_data overo_usb_data = {
|
|
||||||
.usb_mode = T2_USB_MODE_ULPI,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_init_data overo_vmmc1 = {
|
static struct regulator_init_data overo_vmmc1 = {
|
||||||
.constraints = {
|
.constraints = {
|
||||||
.min_uV = 1850000,
|
.min_uV = 1850000,
|
||||||
@ -451,55 +438,19 @@ static struct regulator_init_data overo_vmmc1 = {
|
|||||||
.consumer_supplies = overo_vmmc1_supply,
|
.consumer_supplies = overo_vmmc1_supply,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */
|
|
||||||
static struct regulator_init_data overo_vdac = {
|
|
||||||
.constraints = {
|
|
||||||
.min_uV = 1800000,
|
|
||||||
.max_uV = 1800000,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
.num_consumer_supplies = ARRAY_SIZE(overo_vdda_dac_supply),
|
|
||||||
.consumer_supplies = overo_vdda_dac_supply,
|
|
||||||
};
|
|
||||||
|
|
||||||
/* VPLL2 for digital video outputs */
|
|
||||||
static struct regulator_init_data overo_vpll2 = {
|
|
||||||
.constraints = {
|
|
||||||
.name = "VDVI",
|
|
||||||
.min_uV = 1800000,
|
|
||||||
.max_uV = 1800000,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
.num_consumer_supplies = ARRAY_SIZE(overo_vdds_dsi_supply),
|
|
||||||
.consumer_supplies = overo_vdds_dsi_supply,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_codec_audio_data overo_audio_data;
|
|
||||||
|
|
||||||
static struct twl4030_codec_data overo_codec_data = {
|
|
||||||
.audio_mclk = 26000000,
|
|
||||||
.audio = &overo_audio_data,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_platform_data overo_twldata = {
|
static struct twl4030_platform_data overo_twldata = {
|
||||||
.irq_base = TWL4030_IRQ_BASE,
|
|
||||||
.irq_end = TWL4030_IRQ_END,
|
|
||||||
.gpio = &overo_gpio_data,
|
.gpio = &overo_gpio_data,
|
||||||
.usb = &overo_usb_data,
|
|
||||||
.codec = &overo_codec_data,
|
|
||||||
.vmmc1 = &overo_vmmc1,
|
.vmmc1 = &overo_vmmc1,
|
||||||
.vdac = &overo_vdac,
|
|
||||||
.vpll2 = &overo_vpll2,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static int __init overo_i2c_init(void)
|
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);
|
omap3_pmic_init("tps65950", &overo_twldata);
|
||||||
/* i2c2 pins are used for gpio */
|
/* i2c2 pins are used for gpio */
|
||||||
omap_register_i2c_bus(3, 400, NULL, 0);
|
omap_register_i2c_bus(3, 400, NULL, 0);
|
||||||
|
@ -79,20 +79,14 @@ static struct twl4030_gpio_platform_data rm680_gpio_data = {
|
|||||||
.pulldowns = BIT(1) | BIT(2) | BIT(8) | BIT(15),
|
.pulldowns = BIT(1) | BIT(2) | BIT(8) | BIT(15),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct twl4030_usb_data rm680_usb_data = {
|
|
||||||
.usb_mode = T2_USB_MODE_ULPI,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_platform_data rm680_twl_data = {
|
static struct twl4030_platform_data rm680_twl_data = {
|
||||||
.irq_base = TWL4030_IRQ_BASE,
|
|
||||||
.irq_end = TWL4030_IRQ_END,
|
|
||||||
.gpio = &rm680_gpio_data,
|
.gpio = &rm680_gpio_data,
|
||||||
.usb = &rm680_usb_data,
|
|
||||||
/* add rest of the children here */
|
/* add rest of the children here */
|
||||||
};
|
};
|
||||||
|
|
||||||
static void __init rm680_i2c_init(void)
|
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_pmic_init(1, 2900, "twl5031", INT_34XX_SYS_NIRQ, &rm680_twl_data);
|
||||||
omap_register_i2c_bus(2, 400, NULL, 0);
|
omap_register_i2c_bus(2, 400, NULL, 0);
|
||||||
omap_register_i2c_bus(3, 400, NULL, 0);
|
omap_register_i2c_bus(3, 400, NULL, 0);
|
||||||
|
@ -288,10 +288,6 @@ static struct twl4030_keypad_data rx51_kp_data = {
|
|||||||
.rep = 1,
|
.rep = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct twl4030_madc_platform_data rx51_madc_data = {
|
|
||||||
.irq_line = 1,
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Enable input logic and pull all lines up when eMMC is on. */
|
/* Enable input logic and pull all lines up when eMMC is on. */
|
||||||
static struct omap_board_mux rx51_mmc2_on_mux[] = {
|
static struct omap_board_mux rx51_mmc2_on_mux[] = {
|
||||||
OMAP3_MUX(SDMMC2_CMD, OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE0),
|
OMAP3_MUX(SDMMC2_CMD, OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE0),
|
||||||
@ -398,10 +394,6 @@ static struct regulator_consumer_supply rx51_vaux1_consumers[] = {
|
|||||||
REGULATOR_SUPPLY("vdd", "2-0063"),
|
REGULATOR_SUPPLY("vdd", "2-0063"),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct regulator_consumer_supply rx51_vdac_supply[] = {
|
|
||||||
REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_init_data rx51_vaux1 = {
|
static struct regulator_init_data rx51_vaux1 = {
|
||||||
.constraints = {
|
.constraints = {
|
||||||
.name = "V28",
|
.name = "V28",
|
||||||
@ -518,21 +510,6 @@ static struct regulator_init_data rx51_vsim = {
|
|||||||
.consumer_supplies = rx51_vsim_supply,
|
.consumer_supplies = rx51_vsim_supply,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct regulator_init_data rx51_vdac = {
|
|
||||||
.constraints = {
|
|
||||||
.name = "VDAC",
|
|
||||||
.min_uV = 1800000,
|
|
||||||
.max_uV = 1800000,
|
|
||||||
.apply_uV = true,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
.num_consumer_supplies = ARRAY_SIZE(rx51_vdac_supply),
|
|
||||||
.consumer_supplies = rx51_vdac_supply,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_init_data rx51_vio = {
|
static struct regulator_init_data rx51_vio = {
|
||||||
.constraints = {
|
.constraints = {
|
||||||
.min_uV = 1800000,
|
.min_uV = 1800000,
|
||||||
@ -603,10 +580,6 @@ static struct twl4030_gpio_platform_data rx51_gpio_data = {
|
|||||||
.setup = rx51_twlgpio_setup,
|
.setup = rx51_twlgpio_setup,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct twl4030_usb_data rx51_usb_data = {
|
|
||||||
.usb_mode = T2_USB_MODE_ULPI,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_ins sleep_on_seq[] __initdata = {
|
static struct twl4030_ins sleep_on_seq[] __initdata = {
|
||||||
/*
|
/*
|
||||||
* Turn off everything
|
* Turn off everything
|
||||||
@ -778,14 +751,9 @@ struct twl4030_codec_data rx51_codec_data __initdata = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static struct twl4030_platform_data rx51_twldata __initdata = {
|
static struct twl4030_platform_data rx51_twldata __initdata = {
|
||||||
.irq_base = TWL4030_IRQ_BASE,
|
|
||||||
.irq_end = TWL4030_IRQ_END,
|
|
||||||
|
|
||||||
/* platform_data for children goes here */
|
/* platform_data for children goes here */
|
||||||
.gpio = &rx51_gpio_data,
|
.gpio = &rx51_gpio_data,
|
||||||
.keypad = &rx51_kp_data,
|
.keypad = &rx51_kp_data,
|
||||||
.madc = &rx51_madc_data,
|
|
||||||
.usb = &rx51_usb_data,
|
|
||||||
.power = &rx51_t2scripts_data,
|
.power = &rx51_t2scripts_data,
|
||||||
.codec = &rx51_codec_data,
|
.codec = &rx51_codec_data,
|
||||||
|
|
||||||
@ -794,7 +762,6 @@ static struct twl4030_platform_data rx51_twldata __initdata = {
|
|||||||
.vaux4 = &rx51_vaux4,
|
.vaux4 = &rx51_vaux4,
|
||||||
.vmmc1 = &rx51_vmmc1,
|
.vmmc1 = &rx51_vmmc1,
|
||||||
.vsim = &rx51_vsim,
|
.vsim = &rx51_vsim,
|
||||||
.vdac = &rx51_vdac,
|
|
||||||
.vio = &rx51_vio,
|
.vio = &rx51_vio,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -850,6 +817,13 @@ static int __init rx51_i2c_init(void)
|
|||||||
rx51_twldata.vaux3 = &rx51_vaux3_cam;
|
rx51_twldata.vaux3 = &rx51_vaux3_cam;
|
||||||
}
|
}
|
||||||
rx51_twldata.vmmc2 = &rx51_vmmc2;
|
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_pmic_init(1, 2200, "twl5030", INT_34XX_SYS_NIRQ, &rx51_twldata);
|
||||||
omap_register_i2c_bus(2, 100, rx51_peripherals_i2c_board_info_2,
|
omap_register_i2c_bus(2, 100, rx51_peripherals_i2c_board_info_2,
|
||||||
ARRAY_SIZE(rx51_peripherals_i2c_board_info_2));
|
ARRAY_SIZE(rx51_peripherals_i2c_board_info_2));
|
||||||
|
@ -226,41 +226,6 @@ static struct omap2_hsmmc_info mmc[] = {
|
|||||||
{} /* Terminator */
|
{} /* Terminator */
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct regulator_consumer_supply zoom_vpll2_supplies[] = {
|
|
||||||
REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
|
|
||||||
REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_consumer_supply zoom_vdda_dac_supply[] = {
|
|
||||||
REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_init_data zoom_vpll2 = {
|
|
||||||
.constraints = {
|
|
||||||
.min_uV = 1800000,
|
|
||||||
.max_uV = 1800000,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
.num_consumer_supplies = ARRAY_SIZE(zoom_vpll2_supplies),
|
|
||||||
.consumer_supplies = zoom_vpll2_supplies,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct regulator_init_data zoom_vdac = {
|
|
||||||
.constraints = {
|
|
||||||
.min_uV = 1800000,
|
|
||||||
.max_uV = 1800000,
|
|
||||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
||||||
| REGULATOR_MODE_STANDBY,
|
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
||||||
| REGULATOR_CHANGE_STATUS,
|
|
||||||
},
|
|
||||||
.num_consumer_supplies = ARRAY_SIZE(zoom_vdda_dac_supply),
|
|
||||||
.consumer_supplies = zoom_vdda_dac_supply,
|
|
||||||
};
|
|
||||||
|
|
||||||
static int zoom_twl_gpio_setup(struct device *dev,
|
static int zoom_twl_gpio_setup(struct device *dev,
|
||||||
unsigned gpio, unsigned ngpio)
|
unsigned gpio, unsigned ngpio)
|
||||||
{
|
{
|
||||||
@ -285,26 +250,6 @@ static void zoom2_set_hs_extmute(int mute)
|
|||||||
gpio_set_value(ZOOM2_HEADSET_EXTMUTE_GPIO, mute);
|
gpio_set_value(ZOOM2_HEADSET_EXTMUTE_GPIO, mute);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int zoom_batt_table[] = {
|
|
||||||
/* 0 C*/
|
|
||||||
30800, 29500, 28300, 27100,
|
|
||||||
26000, 24900, 23900, 22900, 22000, 21100, 20300, 19400, 18700, 17900,
|
|
||||||
17200, 16500, 15900, 15300, 14700, 14100, 13600, 13100, 12600, 12100,
|
|
||||||
11600, 11200, 10800, 10400, 10000, 9630, 9280, 8950, 8620, 8310,
|
|
||||||
8020, 7730, 7460, 7200, 6950, 6710, 6470, 6250, 6040, 5830,
|
|
||||||
5640, 5450, 5260, 5090, 4920, 4760, 4600, 4450, 4310, 4170,
|
|
||||||
4040, 3910, 3790, 3670, 3550
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_bci_platform_data zoom_bci_data = {
|
|
||||||
.battery_tmp_tbl = zoom_batt_table,
|
|
||||||
.tblsize = ARRAY_SIZE(zoom_batt_table),
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_usb_data zoom_usb_data = {
|
|
||||||
.usb_mode = T2_USB_MODE_ULPI,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_gpio_platform_data zoom_gpio_data = {
|
static struct twl4030_gpio_platform_data zoom_gpio_data = {
|
||||||
.gpio_base = OMAP_MAX_GPIO_LINES,
|
.gpio_base = OMAP_MAX_GPIO_LINES,
|
||||||
.irq_base = TWL4030_GPIO_IRQ_BASE,
|
.irq_base = TWL4030_GPIO_IRQ_BASE,
|
||||||
@ -312,41 +257,29 @@ static struct twl4030_gpio_platform_data zoom_gpio_data = {
|
|||||||
.setup = zoom_twl_gpio_setup,
|
.setup = zoom_twl_gpio_setup,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct twl4030_madc_platform_data zoom_madc_data = {
|
|
||||||
.irq_line = 1,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_codec_audio_data zoom_audio_data;
|
|
||||||
|
|
||||||
static struct twl4030_codec_data zoom_codec_data = {
|
|
||||||
.audio_mclk = 26000000,
|
|
||||||
.audio = &zoom_audio_data,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct twl4030_platform_data zoom_twldata = {
|
static struct twl4030_platform_data zoom_twldata = {
|
||||||
.irq_base = TWL4030_IRQ_BASE,
|
|
||||||
.irq_end = TWL4030_IRQ_END,
|
|
||||||
|
|
||||||
/* platform_data for children goes here */
|
/* platform_data for children goes here */
|
||||||
.bci = &zoom_bci_data,
|
|
||||||
.madc = &zoom_madc_data,
|
|
||||||
.usb = &zoom_usb_data,
|
|
||||||
.gpio = &zoom_gpio_data,
|
.gpio = &zoom_gpio_data,
|
||||||
.keypad = &zoom_kp_twl4030_data,
|
.keypad = &zoom_kp_twl4030_data,
|
||||||
.codec = &zoom_codec_data,
|
|
||||||
.vmmc1 = &zoom_vmmc1,
|
.vmmc1 = &zoom_vmmc1,
|
||||||
.vmmc2 = &zoom_vmmc2,
|
.vmmc2 = &zoom_vmmc2,
|
||||||
.vsim = &zoom_vsim,
|
.vsim = &zoom_vsim,
|
||||||
.vpll2 = &zoom_vpll2,
|
|
||||||
.vdac = &zoom_vdac,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static int __init omap_i2c_init(void)
|
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()) {
|
if (machine_is_omap_zoom2()) {
|
||||||
zoom_audio_data.ramp_delay_value = 3; /* 161 ms */
|
struct twl4030_codec_audio_data *audio_data;
|
||||||
zoom_audio_data.hs_extmute = 1;
|
audio_data = zoom_twldata.codec->audio;
|
||||||
zoom_audio_data.set_hs_extmute = zoom2_set_hs_extmute;
|
|
||||||
|
audio_data->ramp_delay_value = 3; /* 161 ms */
|
||||||
|
audio_data->hs_extmute = 1;
|
||||||
|
audio_data->set_hs_extmute = zoom2_set_hs_extmute;
|
||||||
}
|
}
|
||||||
omap_pmic_init(1, 2400, "twl5030", INT_34XX_SYS_NIRQ, &zoom_twldata);
|
omap_pmic_init(1, 2400, "twl5030", INT_34XX_SYS_NIRQ, &zoom_twldata);
|
||||||
omap_register_i2c_bus(2, 400, NULL, 0);
|
omap_register_i2c_bus(2, 400, NULL, 0);
|
||||||
|
@ -20,36 +20,15 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/i2c.h>
|
|
||||||
#include <linux/i2c/twl.h>
|
|
||||||
|
|
||||||
#include <linux/gpio.h>
|
#include <linux/gpio.h>
|
||||||
#include <linux/spi/spi.h>
|
#include <linux/spi/spi.h>
|
||||||
#include <linux/spi/ads7846.h>
|
#include <linux/spi/ads7846.h>
|
||||||
|
|
||||||
#include <plat/i2c.h>
|
|
||||||
#include <plat/mcspi.h>
|
#include <plat/mcspi.h>
|
||||||
#include <plat/nand.h>
|
#include <plat/nand.h>
|
||||||
|
|
||||||
#include "common-board-devices.h"
|
#include "common-board-devices.h"
|
||||||
|
|
||||||
static struct i2c_board_info __initdata pmic_i2c_board_info = {
|
|
||||||
.addr = 0x48,
|
|
||||||
.flags = I2C_CLIENT_WAKE,
|
|
||||||
};
|
|
||||||
|
|
||||||
void __init omap_pmic_init(int bus, u32 clkrate,
|
|
||||||
const char *pmic_type, int pmic_irq,
|
|
||||||
struct twl4030_platform_data *pmic_data)
|
|
||||||
{
|
|
||||||
strncpy(pmic_i2c_board_info.type, pmic_type,
|
|
||||||
sizeof(pmic_i2c_board_info.type));
|
|
||||||
pmic_i2c_board_info.irq = pmic_irq;
|
|
||||||
pmic_i2c_board_info.platform_data = pmic_data;
|
|
||||||
|
|
||||||
omap_register_i2c_bus(bus, clkrate, &pmic_i2c_board_info, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
#if defined(CONFIG_TOUCHSCREEN_ADS7846) || \
|
#if defined(CONFIG_TOUCHSCREEN_ADS7846) || \
|
||||||
defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE)
|
defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE)
|
||||||
static struct omap2_mcspi_device_config ads7846_mcspi_config = {
|
static struct omap2_mcspi_device_config ads7846_mcspi_config = {
|
||||||
|
@ -1,33 +1,11 @@
|
|||||||
#ifndef __OMAP_COMMON_BOARD_DEVICES__
|
#ifndef __OMAP_COMMON_BOARD_DEVICES__
|
||||||
#define __OMAP_COMMON_BOARD_DEVICES__
|
#define __OMAP_COMMON_BOARD_DEVICES__
|
||||||
|
|
||||||
|
#include "twl-common.h"
|
||||||
|
|
||||||
#define NAND_BLOCK_SIZE SZ_128K
|
#define NAND_BLOCK_SIZE SZ_128K
|
||||||
|
|
||||||
struct twl4030_platform_data;
|
|
||||||
struct mtd_partition;
|
struct mtd_partition;
|
||||||
|
|
||||||
void omap_pmic_init(int bus, u32 clkrate, const char *pmic_type, int pmic_irq,
|
|
||||||
struct twl4030_platform_data *pmic_data);
|
|
||||||
|
|
||||||
static inline void omap2_pmic_init(const char *pmic_type,
|
|
||||||
struct twl4030_platform_data *pmic_data)
|
|
||||||
{
|
|
||||||
omap_pmic_init(2, 2600, pmic_type, INT_24XX_SYS_NIRQ, pmic_data);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void omap3_pmic_init(const char *pmic_type,
|
|
||||||
struct twl4030_platform_data *pmic_data)
|
|
||||||
{
|
|
||||||
omap_pmic_init(1, 2600, pmic_type, INT_34XX_SYS_NIRQ, pmic_data);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void omap4_pmic_init(const char *pmic_type,
|
|
||||||
struct twl4030_platform_data *pmic_data)
|
|
||||||
{
|
|
||||||
/* Phoenix Audio IC needs I2C1 to start with 400 KHz or less */
|
|
||||||
omap_pmic_init(1, 400, pmic_type, OMAP44XX_IRQ_SYS_1N, pmic_data);
|
|
||||||
}
|
|
||||||
|
|
||||||
struct ads7846_platform_data;
|
struct ads7846_platform_data;
|
||||||
|
|
||||||
void omap_ads7846_init(int bus_num, int gpio_pendown, int gpio_debounce,
|
void omap_ads7846_init(int bus_num, int gpio_pendown, int gpio_debounce,
|
||||||
|
304
arch/arm/mach-omap2/twl-common.c
Normal file
304
arch/arm/mach-omap2/twl-common.c
Normal file
@ -0,0 +1,304 @@
|
|||||||
|
/*
|
||||||
|
* twl-common.c
|
||||||
|
*
|
||||||
|
* Copyright (C) 2011 Texas Instruments, Inc..
|
||||||
|
* Author: Peter Ujfalusi <peter.ujfalusi@ti.com>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* version 2 as published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful, but
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||||
|
* 02110-1301 USA
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <linux/i2c.h>
|
||||||
|
#include <linux/i2c/twl.h>
|
||||||
|
#include <linux/gpio.h>
|
||||||
|
#include <linux/regulator/machine.h>
|
||||||
|
#include <linux/regulator/fixed.h>
|
||||||
|
|
||||||
|
#include <plat/i2c.h>
|
||||||
|
#include <plat/usb.h>
|
||||||
|
|
||||||
|
#include "twl-common.h"
|
||||||
|
|
||||||
|
static struct i2c_board_info __initdata pmic_i2c_board_info = {
|
||||||
|
.addr = 0x48,
|
||||||
|
.flags = I2C_CLIENT_WAKE,
|
||||||
|
};
|
||||||
|
|
||||||
|
void __init omap_pmic_init(int bus, u32 clkrate,
|
||||||
|
const char *pmic_type, int pmic_irq,
|
||||||
|
struct twl4030_platform_data *pmic_data)
|
||||||
|
{
|
||||||
|
strncpy(pmic_i2c_board_info.type, pmic_type,
|
||||||
|
sizeof(pmic_i2c_board_info.type));
|
||||||
|
pmic_i2c_board_info.irq = pmic_irq;
|
||||||
|
pmic_i2c_board_info.platform_data = pmic_data;
|
||||||
|
|
||||||
|
omap_register_i2c_bus(bus, clkrate, &pmic_i2c_board_info, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
static struct twl4030_usb_data omap4_usb_pdata = {
|
||||||
|
.phy_init = omap4430_phy_init,
|
||||||
|
.phy_exit = omap4430_phy_exit,
|
||||||
|
.phy_power = omap4430_phy_power,
|
||||||
|
.phy_set_clock = omap4430_phy_set_clk,
|
||||||
|
.phy_suspend = omap4430_phy_suspend,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct twl4030_usb_data omap3_usb_pdata = {
|
||||||
|
.usb_mode = T2_USB_MODE_ULPI,
|
||||||
|
};
|
||||||
|
|
||||||
|
static int omap3_batt_table[] = {
|
||||||
|
/* 0 C */
|
||||||
|
30800, 29500, 28300, 27100,
|
||||||
|
26000, 24900, 23900, 22900, 22000, 21100, 20300, 19400, 18700, 17900,
|
||||||
|
17200, 16500, 15900, 15300, 14700, 14100, 13600, 13100, 12600, 12100,
|
||||||
|
11600, 11200, 10800, 10400, 10000, 9630, 9280, 8950, 8620, 8310,
|
||||||
|
8020, 7730, 7460, 7200, 6950, 6710, 6470, 6250, 6040, 5830,
|
||||||
|
5640, 5450, 5260, 5090, 4920, 4760, 4600, 4450, 4310, 4170,
|
||||||
|
4040, 3910, 3790, 3670, 3550
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct twl4030_bci_platform_data omap3_bci_pdata = {
|
||||||
|
.battery_tmp_tbl = omap3_batt_table,
|
||||||
|
.tblsize = ARRAY_SIZE(omap3_batt_table),
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct twl4030_madc_platform_data omap3_madc_pdata = {
|
||||||
|
.irq_line = 1,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct twl4030_codec_audio_data omap3_audio;
|
||||||
|
|
||||||
|
static struct twl4030_codec_data omap3_codec_pdata = {
|
||||||
|
.audio_mclk = 26000000,
|
||||||
|
.audio = &omap3_audio,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct regulator_consumer_supply omap3_vdda_dac_supplies[] = {
|
||||||
|
REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct regulator_init_data omap3_vdac_idata = {
|
||||||
|
.constraints = {
|
||||||
|
.min_uV = 1800000,
|
||||||
|
.max_uV = 1800000,
|
||||||
|
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
||||||
|
| REGULATOR_MODE_STANDBY,
|
||||||
|
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
||||||
|
| REGULATOR_CHANGE_STATUS,
|
||||||
|
},
|
||||||
|
.num_consumer_supplies = ARRAY_SIZE(omap3_vdda_dac_supplies),
|
||||||
|
.consumer_supplies = omap3_vdda_dac_supplies,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct regulator_consumer_supply omap3_vpll2_supplies[] = {
|
||||||
|
REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
|
||||||
|
REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct regulator_init_data omap3_vpll2_idata = {
|
||||||
|
.constraints = {
|
||||||
|
.min_uV = 1800000,
|
||||||
|
.max_uV = 1800000,
|
||||||
|
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
||||||
|
| REGULATOR_MODE_STANDBY,
|
||||||
|
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
||||||
|
| REGULATOR_CHANGE_STATUS,
|
||||||
|
},
|
||||||
|
.num_consumer_supplies = ARRAY_SIZE(omap3_vpll2_supplies),
|
||||||
|
.consumer_supplies = omap3_vpll2_supplies,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct regulator_init_data omap4_vdac_idata = {
|
||||||
|
.constraints = {
|
||||||
|
.min_uV = 1800000,
|
||||||
|
.max_uV = 1800000,
|
||||||
|
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
||||||
|
| REGULATOR_MODE_STANDBY,
|
||||||
|
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
||||||
|
| REGULATOR_CHANGE_STATUS,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct regulator_init_data omap4_vaux2_idata = {
|
||||||
|
.constraints = {
|
||||||
|
.min_uV = 1200000,
|
||||||
|
.max_uV = 2800000,
|
||||||
|
.apply_uV = true,
|
||||||
|
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
||||||
|
| REGULATOR_MODE_STANDBY,
|
||||||
|
.valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
|
||||||
|
| REGULATOR_CHANGE_MODE
|
||||||
|
| REGULATOR_CHANGE_STATUS,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct regulator_init_data omap4_vaux3_idata = {
|
||||||
|
.constraints = {
|
||||||
|
.min_uV = 1000000,
|
||||||
|
.max_uV = 3000000,
|
||||||
|
.apply_uV = true,
|
||||||
|
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
||||||
|
| REGULATOR_MODE_STANDBY,
|
||||||
|
.valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
|
||||||
|
| REGULATOR_CHANGE_MODE
|
||||||
|
| REGULATOR_CHANGE_STATUS,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct regulator_consumer_supply omap4_vmmc_supply[] = {
|
||||||
|
REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
|
||||||
|
};
|
||||||
|
|
||||||
|
/* VMMC1 for MMC1 card */
|
||||||
|
static struct regulator_init_data omap4_vmmc_idata = {
|
||||||
|
.constraints = {
|
||||||
|
.min_uV = 1200000,
|
||||||
|
.max_uV = 3000000,
|
||||||
|
.apply_uV = true,
|
||||||
|
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
||||||
|
| REGULATOR_MODE_STANDBY,
|
||||||
|
.valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
|
||||||
|
| REGULATOR_CHANGE_MODE
|
||||||
|
| REGULATOR_CHANGE_STATUS,
|
||||||
|
},
|
||||||
|
.num_consumer_supplies = ARRAY_SIZE(omap4_vmmc_supply),
|
||||||
|
.consumer_supplies = omap4_vmmc_supply,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct regulator_init_data omap4_vpp_idata = {
|
||||||
|
.constraints = {
|
||||||
|
.min_uV = 1800000,
|
||||||
|
.max_uV = 2500000,
|
||||||
|
.apply_uV = true,
|
||||||
|
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
||||||
|
| REGULATOR_MODE_STANDBY,
|
||||||
|
.valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
|
||||||
|
| REGULATOR_CHANGE_MODE
|
||||||
|
| REGULATOR_CHANGE_STATUS,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct regulator_init_data omap4_vana_idata = {
|
||||||
|
.constraints = {
|
||||||
|
.min_uV = 2100000,
|
||||||
|
.max_uV = 2100000,
|
||||||
|
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
||||||
|
| REGULATOR_MODE_STANDBY,
|
||||||
|
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
||||||
|
| REGULATOR_CHANGE_STATUS,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct regulator_init_data omap4_vcxio_idata = {
|
||||||
|
.constraints = {
|
||||||
|
.min_uV = 1800000,
|
||||||
|
.max_uV = 1800000,
|
||||||
|
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
||||||
|
| REGULATOR_MODE_STANDBY,
|
||||||
|
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
||||||
|
| REGULATOR_CHANGE_STATUS,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct regulator_init_data omap4_vusb_idata = {
|
||||||
|
.constraints = {
|
||||||
|
.min_uV = 3300000,
|
||||||
|
.max_uV = 3300000,
|
||||||
|
.apply_uV = true,
|
||||||
|
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
||||||
|
| REGULATOR_MODE_STANDBY,
|
||||||
|
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
||||||
|
| REGULATOR_CHANGE_STATUS,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct regulator_init_data omap4_clk32kg_idata = {
|
||||||
|
.constraints = {
|
||||||
|
.valid_ops_mask = REGULATOR_CHANGE_STATUS,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
void __init omap4_pmic_get_config(struct twl4030_platform_data *pmic_data,
|
||||||
|
u32 pdata_flags, u32 regulators_flags)
|
||||||
|
{
|
||||||
|
if (!pmic_data->irq_base)
|
||||||
|
pmic_data->irq_base = TWL6030_IRQ_BASE;
|
||||||
|
if (!pmic_data->irq_end)
|
||||||
|
pmic_data->irq_end = TWL6030_IRQ_END;
|
||||||
|
|
||||||
|
/* Common platform data configurations */
|
||||||
|
if (pdata_flags & TWL_COMMON_PDATA_USB && !pmic_data->usb)
|
||||||
|
pmic_data->usb = &omap4_usb_pdata;
|
||||||
|
|
||||||
|
/* Common regulator configurations */
|
||||||
|
if (regulators_flags & TWL_COMMON_REGULATOR_VDAC && !pmic_data->vdac)
|
||||||
|
pmic_data->vdac = &omap4_vdac_idata;
|
||||||
|
|
||||||
|
if (regulators_flags & TWL_COMMON_REGULATOR_VAUX2 && !pmic_data->vaux2)
|
||||||
|
pmic_data->vaux2 = &omap4_vaux2_idata;
|
||||||
|
|
||||||
|
if (regulators_flags & TWL_COMMON_REGULATOR_VAUX3 && !pmic_data->vaux3)
|
||||||
|
pmic_data->vaux3 = &omap4_vaux3_idata;
|
||||||
|
|
||||||
|
if (regulators_flags & TWL_COMMON_REGULATOR_VMMC && !pmic_data->vmmc)
|
||||||
|
pmic_data->vmmc = &omap4_vmmc_idata;
|
||||||
|
|
||||||
|
if (regulators_flags & TWL_COMMON_REGULATOR_VPP && !pmic_data->vpp)
|
||||||
|
pmic_data->vpp = &omap4_vpp_idata;
|
||||||
|
|
||||||
|
if (regulators_flags & TWL_COMMON_REGULATOR_VANA && !pmic_data->vana)
|
||||||
|
pmic_data->vana = &omap4_vana_idata;
|
||||||
|
|
||||||
|
if (regulators_flags & TWL_COMMON_REGULATOR_VCXIO && !pmic_data->vcxio)
|
||||||
|
pmic_data->vcxio = &omap4_vcxio_idata;
|
||||||
|
|
||||||
|
if (regulators_flags & TWL_COMMON_REGULATOR_VUSB && !pmic_data->vusb)
|
||||||
|
pmic_data->vusb = &omap4_vusb_idata;
|
||||||
|
|
||||||
|
if (regulators_flags & TWL_COMMON_REGULATOR_CLK32KG &&
|
||||||
|
!pmic_data->clk32kg)
|
||||||
|
pmic_data->clk32kg = &omap4_clk32kg_idata;
|
||||||
|
}
|
||||||
|
|
||||||
|
void __init omap3_pmic_get_config(struct twl4030_platform_data *pmic_data,
|
||||||
|
u32 pdata_flags, u32 regulators_flags)
|
||||||
|
{
|
||||||
|
if (!pmic_data->irq_base)
|
||||||
|
pmic_data->irq_base = TWL4030_IRQ_BASE;
|
||||||
|
if (!pmic_data->irq_end)
|
||||||
|
pmic_data->irq_end = TWL4030_IRQ_END;
|
||||||
|
|
||||||
|
/* Common platform data configurations */
|
||||||
|
if (pdata_flags & TWL_COMMON_PDATA_USB && !pmic_data->usb)
|
||||||
|
pmic_data->usb = &omap3_usb_pdata;
|
||||||
|
|
||||||
|
if (pdata_flags & TWL_COMMON_PDATA_BCI && !pmic_data->bci)
|
||||||
|
pmic_data->bci = &omap3_bci_pdata;
|
||||||
|
|
||||||
|
if (pdata_flags & TWL_COMMON_PDATA_MADC && !pmic_data->madc)
|
||||||
|
pmic_data->madc = &omap3_madc_pdata;
|
||||||
|
|
||||||
|
if (pdata_flags & TWL_COMMON_PDATA_AUDIO && !pmic_data->codec)
|
||||||
|
pmic_data->codec = &omap3_codec_pdata;
|
||||||
|
|
||||||
|
/* Common regulator configurations */
|
||||||
|
if (regulators_flags & TWL_COMMON_REGULATOR_VDAC && !pmic_data->vdac)
|
||||||
|
pmic_data->vdac = &omap3_vdac_idata;
|
||||||
|
|
||||||
|
if (regulators_flags & TWL_COMMON_REGULATOR_VPLL2 && !pmic_data->vpll2)
|
||||||
|
pmic_data->vpll2 = &omap3_vpll2_idata;
|
||||||
|
}
|
59
arch/arm/mach-omap2/twl-common.h
Normal file
59
arch/arm/mach-omap2/twl-common.h
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
#ifndef __OMAP_PMIC_COMMON__
|
||||||
|
#define __OMAP_PMIC_COMMON__
|
||||||
|
|
||||||
|
#define TWL_COMMON_PDATA_USB (1 << 0)
|
||||||
|
#define TWL_COMMON_PDATA_BCI (1 << 1)
|
||||||
|
#define TWL_COMMON_PDATA_MADC (1 << 2)
|
||||||
|
#define TWL_COMMON_PDATA_AUDIO (1 << 3)
|
||||||
|
|
||||||
|
/* Common LDO regulators for TWL4030/TWL6030 */
|
||||||
|
#define TWL_COMMON_REGULATOR_VDAC (1 << 0)
|
||||||
|
#define TWL_COMMON_REGULATOR_VAUX1 (1 << 1)
|
||||||
|
#define TWL_COMMON_REGULATOR_VAUX2 (1 << 2)
|
||||||
|
#define TWL_COMMON_REGULATOR_VAUX3 (1 << 3)
|
||||||
|
|
||||||
|
/* TWL6030 LDO regulators */
|
||||||
|
#define TWL_COMMON_REGULATOR_VMMC (1 << 4)
|
||||||
|
#define TWL_COMMON_REGULATOR_VPP (1 << 5)
|
||||||
|
#define TWL_COMMON_REGULATOR_VUSIM (1 << 6)
|
||||||
|
#define TWL_COMMON_REGULATOR_VANA (1 << 7)
|
||||||
|
#define TWL_COMMON_REGULATOR_VCXIO (1 << 8)
|
||||||
|
#define TWL_COMMON_REGULATOR_VUSB (1 << 9)
|
||||||
|
#define TWL_COMMON_REGULATOR_CLK32KG (1 << 10)
|
||||||
|
|
||||||
|
/* TWL4030 LDO regulators */
|
||||||
|
#define TWL_COMMON_REGULATOR_VPLL1 (1 << 4)
|
||||||
|
#define TWL_COMMON_REGULATOR_VPLL2 (1 << 5)
|
||||||
|
|
||||||
|
|
||||||
|
struct twl4030_platform_data;
|
||||||
|
|
||||||
|
void omap_pmic_init(int bus, u32 clkrate, const char *pmic_type, int pmic_irq,
|
||||||
|
struct twl4030_platform_data *pmic_data);
|
||||||
|
|
||||||
|
static inline void omap2_pmic_init(const char *pmic_type,
|
||||||
|
struct twl4030_platform_data *pmic_data)
|
||||||
|
{
|
||||||
|
omap_pmic_init(2, 2600, pmic_type, INT_24XX_SYS_NIRQ, pmic_data);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void omap3_pmic_init(const char *pmic_type,
|
||||||
|
struct twl4030_platform_data *pmic_data)
|
||||||
|
{
|
||||||
|
omap_pmic_init(1, 2600, pmic_type, INT_34XX_SYS_NIRQ, pmic_data);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void omap4_pmic_init(const char *pmic_type,
|
||||||
|
struct twl4030_platform_data *pmic_data)
|
||||||
|
{
|
||||||
|
/* Phoenix Audio IC needs I2C1 to start with 400 KHz or less */
|
||||||
|
omap_pmic_init(1, 400, pmic_type, OMAP44XX_IRQ_SYS_1N, pmic_data);
|
||||||
|
}
|
||||||
|
|
||||||
|
void omap3_pmic_get_config(struct twl4030_platform_data *pmic_data,
|
||||||
|
u32 pdata_flags, u32 regulators_flags);
|
||||||
|
|
||||||
|
void omap4_pmic_get_config(struct twl4030_platform_data *pmic_data,
|
||||||
|
u32 pdata_flags, u32 regulators_flags);
|
||||||
|
|
||||||
|
#endif /* __OMAP_PMIC_COMMON__ */
|
Loading…
x
Reference in New Issue
Block a user