|
@@ -248,3 +248,173 @@ static struct mxt_platform_data qt602240_platform_data = {
|
|
|
.threshold = 0x28,
|
|
|
.voltage = 2800000, /* 2.8V */
|
|
|
.orient = MXT_DIAGONAL,
|
|
|
+ .irqflags = IRQF_TRIGGER_FALLING,
|
|
|
+};
|
|
|
+
|
|
|
+static struct s3c2410_platform_i2c i2c2_data __initdata = {
|
|
|
+ .flags = 0,
|
|
|
+ .bus_num = 2,
|
|
|
+ .slave_addr = 0x10,
|
|
|
+ .frequency = 400 * 1000,
|
|
|
+ .sda_delay = 100,
|
|
|
+};
|
|
|
+
|
|
|
+static struct i2c_board_info i2c2_devs[] __initdata = {
|
|
|
+ {
|
|
|
+ I2C_BOARD_INFO("qt602240_ts", 0x4a),
|
|
|
+ .platform_data = &qt602240_platform_data,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static void __init goni_tsp_init(void)
|
|
|
+{
|
|
|
+ int gpio;
|
|
|
+
|
|
|
+ gpio = S5PV210_GPJ1(3); /* XMSMADDR_11 */
|
|
|
+ gpio_request_one(gpio, GPIOF_OUT_INIT_HIGH, "TSP_LDO_ON");
|
|
|
+ gpio_export(gpio, 0);
|
|
|
+
|
|
|
+ gpio = S5PV210_GPJ0(5); /* XMSMADDR_5 */
|
|
|
+ gpio_request(gpio, "TSP_INT");
|
|
|
+
|
|
|
+ s5p_register_gpio_interrupt(gpio);
|
|
|
+ s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(0xf));
|
|
|
+ s3c_gpio_setpull(gpio, S3C_GPIO_PULL_UP);
|
|
|
+ i2c2_devs[0].irq = gpio_to_irq(gpio);
|
|
|
+}
|
|
|
+
|
|
|
+/* USB OTG */
|
|
|
+static struct s3c_hsotg_plat goni_hsotg_pdata;
|
|
|
+
|
|
|
+static void goni_camera_init(void)
|
|
|
+{
|
|
|
+ s5pv210_fimc_setup_gpio(S5P_CAMPORT_A);
|
|
|
+
|
|
|
+ /* Set max driver strength on CAM_A_CLKOUT pin. */
|
|
|
+ s5p_gpio_set_drvstr(S5PV210_GPE1(3), S5P_GPIO_DRVSTR_LV4);
|
|
|
+}
|
|
|
+
|
|
|
+/* MAX8998 regulators */
|
|
|
+#if defined(CONFIG_REGULATOR_MAX8998) || defined(CONFIG_REGULATOR_MAX8998_MODULE)
|
|
|
+
|
|
|
+static struct regulator_consumer_supply goni_ldo3_consumers[] = {
|
|
|
+ REGULATOR_SUPPLY("vusb_a", "s3c-hsotg"),
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_consumer_supply goni_ldo5_consumers[] = {
|
|
|
+ REGULATOR_SUPPLY("vmmc", "s3c-sdhci.0"),
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_consumer_supply goni_ldo8_consumers[] = {
|
|
|
+ REGULATOR_SUPPLY("vusb_d", "s3c-hsotg"),
|
|
|
+ REGULATOR_SUPPLY("vdd33a_dac", "s5p-sdo"),
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_consumer_supply goni_ldo11_consumers[] = {
|
|
|
+ REGULATOR_SUPPLY("vddio", "0-0030"), /* "CAM_IO_2.8V" */
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_consumer_supply goni_ldo13_consumers[] = {
|
|
|
+ REGULATOR_SUPPLY("vdda", "0-0030"), /* "CAM_A_2.8V" */
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_consumer_supply goni_ldo14_consumers[] = {
|
|
|
+ REGULATOR_SUPPLY("vdd_core", "0-0030"), /* "CAM_CIF_1.8V" */
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_init_data goni_ldo2_data = {
|
|
|
+ .constraints = {
|
|
|
+ .name = "VALIVE_1.1V",
|
|
|
+ .min_uV = 1100000,
|
|
|
+ .max_uV = 1100000,
|
|
|
+ .apply_uV = 1,
|
|
|
+ .always_on = 1,
|
|
|
+ .state_mem = {
|
|
|
+ .enabled = 1,
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_init_data goni_ldo3_data = {
|
|
|
+ .constraints = {
|
|
|
+ .name = "VUSB+MIPI_1.1V",
|
|
|
+ .min_uV = 1100000,
|
|
|
+ .max_uV = 1100000,
|
|
|
+ .apply_uV = 1,
|
|
|
+ .valid_ops_mask = REGULATOR_CHANGE_STATUS,
|
|
|
+ },
|
|
|
+ .num_consumer_supplies = ARRAY_SIZE(goni_ldo3_consumers),
|
|
|
+ .consumer_supplies = goni_ldo3_consumers,
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_init_data goni_ldo4_data = {
|
|
|
+ .constraints = {
|
|
|
+ .name = "VDAC_3.3V",
|
|
|
+ .min_uV = 3300000,
|
|
|
+ .max_uV = 3300000,
|
|
|
+ .apply_uV = 1,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_init_data goni_ldo5_data = {
|
|
|
+ .constraints = {
|
|
|
+ .name = "VTF_2.8V",
|
|
|
+ .min_uV = 2800000,
|
|
|
+ .max_uV = 2800000,
|
|
|
+ .apply_uV = 1,
|
|
|
+ .valid_ops_mask = REGULATOR_CHANGE_STATUS,
|
|
|
+ },
|
|
|
+ .num_consumer_supplies = ARRAY_SIZE(goni_ldo5_consumers),
|
|
|
+ .consumer_supplies = goni_ldo5_consumers,
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_init_data goni_ldo6_data = {
|
|
|
+ .constraints = {
|
|
|
+ .name = "VCC_3.3V",
|
|
|
+ .min_uV = 3300000,
|
|
|
+ .max_uV = 3300000,
|
|
|
+ .apply_uV = 1,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_init_data goni_ldo7_data = {
|
|
|
+ .constraints = {
|
|
|
+ .name = "VLCD_1.8V",
|
|
|
+ .min_uV = 1800000,
|
|
|
+ .max_uV = 1800000,
|
|
|
+ .apply_uV = 1,
|
|
|
+ .always_on = 1,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_init_data goni_ldo8_data = {
|
|
|
+ .constraints = {
|
|
|
+ .name = "VUSB+VADC_3.3V",
|
|
|
+ .min_uV = 3300000,
|
|
|
+ .max_uV = 3300000,
|
|
|
+ .apply_uV = 1,
|
|
|
+ .valid_ops_mask = REGULATOR_CHANGE_STATUS,
|
|
|
+ },
|
|
|
+ .num_consumer_supplies = ARRAY_SIZE(goni_ldo8_consumers),
|
|
|
+ .consumer_supplies = goni_ldo8_consumers,
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_init_data goni_ldo9_data = {
|
|
|
+ .constraints = {
|
|
|
+ .name = "VCC+VCAM_2.8V",
|
|
|
+ .min_uV = 2800000,
|
|
|
+ .max_uV = 2800000,
|
|
|
+ .apply_uV = 1,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_init_data goni_ldo10_data = {
|
|
|
+ .constraints = {
|
|
|
+ .name = "VPLL_1.1V",
|
|
|
+ .min_uV = 1100000,
|
|
|
+ .max_uV = 1100000,
|
|
|
+ .apply_uV = 1,
|
|
|
+ .boot_on = 1,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|