|
@@ -314,3 +314,125 @@ static int omap3pandora_twl_gpio_setup(struct device *dev,
|
|
|
pr_err("Cannot get GPIO line %d, ret=%d\n", gpio_32khz, ret);
|
|
|
return -ENODEV;
|
|
|
}
|
|
|
+
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
+static struct twl4030_gpio_platform_data omap3pandora_gpio_data = {
|
|
|
+ .setup = omap3pandora_twl_gpio_setup,
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_consumer_supply pandora_vmmc1_supply[] = {
|
|
|
+ REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_consumer_supply pandora_vmmc2_supply[] = {
|
|
|
+ REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1")
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_consumer_supply pandora_vmmc3_supply[] = {
|
|
|
+ REGULATOR_SUPPLY("vmmc", "omap_hsmmc.2"),
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_consumer_supply pandora_vdds_supplies[] = {
|
|
|
+ REGULATOR_SUPPLY("vdds_sdi", "omapdss"),
|
|
|
+ REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
|
|
|
+ REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi.0"),
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_consumer_supply pandora_vcc_lcd_supply[] = {
|
|
|
+ REGULATOR_SUPPLY("vcc", "display0"),
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_consumer_supply pandora_usb_phy_supply[] = {
|
|
|
+ REGULATOR_SUPPLY("hsusb1", "ehci-omap.0"),
|
|
|
+};
|
|
|
+
|
|
|
+/* ads7846 on SPI and 2 nub controllers on I2C */
|
|
|
+static struct regulator_consumer_supply pandora_vaux4_supplies[] = {
|
|
|
+ REGULATOR_SUPPLY("vcc", "spi1.0"),
|
|
|
+ REGULATOR_SUPPLY("vcc", "3-0066"),
|
|
|
+ REGULATOR_SUPPLY("vcc", "3-0067"),
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_consumer_supply pandora_adac_supply[] = {
|
|
|
+ REGULATOR_SUPPLY("vcc", "soc-audio"),
|
|
|
+};
|
|
|
+
|
|
|
+/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
|
|
|
+static struct regulator_init_data pandora_vmmc1 = {
|
|
|
+ .constraints = {
|
|
|
+ .min_uV = 1850000,
|
|
|
+ .max_uV = 3150000,
|
|
|
+ .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(pandora_vmmc1_supply),
|
|
|
+ .consumer_supplies = pandora_vmmc1_supply,
|
|
|
+};
|
|
|
+
|
|
|
+/* VMMC2 for MMC2 pins CMD, CLK, DAT0..DAT3 (max 100 mA) */
|
|
|
+static struct regulator_init_data pandora_vmmc2 = {
|
|
|
+ .constraints = {
|
|
|
+ .min_uV = 1850000,
|
|
|
+ .max_uV = 3150000,
|
|
|
+ .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(pandora_vmmc2_supply),
|
|
|
+ .consumer_supplies = pandora_vmmc2_supply,
|
|
|
+};
|
|
|
+
|
|
|
+/* VAUX1 for LCD */
|
|
|
+static struct regulator_init_data pandora_vaux1 = {
|
|
|
+ .constraints = {
|
|
|
+ .min_uV = 3000000,
|
|
|
+ .max_uV = 3000000,
|
|
|
+ .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_vcc_lcd_supply),
|
|
|
+ .consumer_supplies = pandora_vcc_lcd_supply,
|
|
|
+};
|
|
|
+
|
|
|
+/* VAUX2 for USB host PHY */
|
|
|
+static struct regulator_init_data pandora_vaux2 = {
|
|
|
+ .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_usb_phy_supply),
|
|
|
+ .consumer_supplies = pandora_usb_phy_supply,
|
|
|
+};
|
|
|
+
|
|
|
+/* VAUX4 for ads7846 and nubs */
|
|
|
+static struct regulator_init_data pandora_vaux4 = {
|
|
|
+ .constraints = {
|
|
|
+ .min_uV = 2800000,
|
|
|
+ .max_uV = 2800000,
|
|
|
+ .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_vaux4_supplies),
|
|
|
+ .consumer_supplies = pandora_vaux4_supplies,
|
|
|
+};
|
|
|
+
|
|
|
+/* VSIM for audio DAC */
|
|
|
+static struct regulator_init_data pandora_vsim = {
|