|
@@ -184,3 +184,142 @@ static struct platform_device snowball_key_dev = {
|
|
|
.platform_data = &snowball_key_data,
|
|
|
}
|
|
|
};
|
|
|
+
|
|
|
+static struct smsc911x_platform_config snowball_sbnet_cfg = {
|
|
|
+ .irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_HIGH,
|
|
|
+ .irq_type = SMSC911X_IRQ_TYPE_PUSH_PULL,
|
|
|
+ .flags = SMSC911X_USE_16BIT | SMSC911X_FORCE_INTERNAL_PHY,
|
|
|
+ .shift = 1,
|
|
|
+};
|
|
|
+
|
|
|
+static struct resource sbnet_res[] = {
|
|
|
+ {
|
|
|
+ .name = "smsc911x-memory",
|
|
|
+ .start = (0x5000 << 16),
|
|
|
+ .end = (0x5000 << 16) + 0xffff,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .start = NOMADIK_GPIO_TO_IRQ(140),
|
|
|
+ .end = NOMADIK_GPIO_TO_IRQ(140),
|
|
|
+ .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device snowball_sbnet_dev = {
|
|
|
+ .name = "smsc911x",
|
|
|
+ .num_resources = ARRAY_SIZE(sbnet_res),
|
|
|
+ .resource = sbnet_res,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &snowball_sbnet_cfg,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct ab8500_platform_data ab8500_platdata = {
|
|
|
+ .irq_base = MOP500_AB8500_IRQ_BASE,
|
|
|
+ .regulator_reg_init = ab8500_regulator_reg_init,
|
|
|
+ .num_regulator_reg_init = ARRAY_SIZE(ab8500_regulator_reg_init),
|
|
|
+ .regulator = ab8500_regulators,
|
|
|
+ .num_regulator = ARRAY_SIZE(ab8500_regulators),
|
|
|
+ .gpio = &ab8500_gpio_pdata,
|
|
|
+ .codec = &ab8500_codec_pdata,
|
|
|
+};
|
|
|
+
|
|
|
+/*
|
|
|
+ * Thermal Sensor
|
|
|
+ */
|
|
|
+
|
|
|
+static struct resource db8500_thsens_resources[] = {
|
|
|
+ {
|
|
|
+ .name = "IRQ_HOTMON_LOW",
|
|
|
+ .start = IRQ_PRCMU_HOTMON_LOW,
|
|
|
+ .end = IRQ_PRCMU_HOTMON_LOW,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = "IRQ_HOTMON_HIGH",
|
|
|
+ .start = IRQ_PRCMU_HOTMON_HIGH,
|
|
|
+ .end = IRQ_PRCMU_HOTMON_HIGH,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct db8500_thsens_platform_data db8500_thsens_data = {
|
|
|
+ .trip_points[0] = {
|
|
|
+ .temp = 70000,
|
|
|
+ .type = THERMAL_TRIP_ACTIVE,
|
|
|
+ .cdev_name = {
|
|
|
+ [0] = "thermal-cpufreq-0",
|
|
|
+ },
|
|
|
+ },
|
|
|
+ .trip_points[1] = {
|
|
|
+ .temp = 75000,
|
|
|
+ .type = THERMAL_TRIP_ACTIVE,
|
|
|
+ .cdev_name = {
|
|
|
+ [0] = "thermal-cpufreq-0",
|
|
|
+ },
|
|
|
+ },
|
|
|
+ .trip_points[2] = {
|
|
|
+ .temp = 80000,
|
|
|
+ .type = THERMAL_TRIP_ACTIVE,
|
|
|
+ .cdev_name = {
|
|
|
+ [0] = "thermal-cpufreq-0",
|
|
|
+ },
|
|
|
+ },
|
|
|
+ .trip_points[3] = {
|
|
|
+ .temp = 85000,
|
|
|
+ .type = THERMAL_TRIP_CRITICAL,
|
|
|
+ },
|
|
|
+ .num_trips = 4,
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device u8500_thsens_device = {
|
|
|
+ .name = "db8500-thermal",
|
|
|
+ .resource = db8500_thsens_resources,
|
|
|
+ .num_resources = ARRAY_SIZE(db8500_thsens_resources),
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &db8500_thsens_data,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device u8500_cpufreq_cooling_device = {
|
|
|
+ .name = "db8500-cpufreq-cooling",
|
|
|
+};
|
|
|
+
|
|
|
+/*
|
|
|
+ * TPS61052
|
|
|
+ */
|
|
|
+
|
|
|
+static struct tps6105x_platform_data mop500_tps61052_data = {
|
|
|
+ .mode = TPS6105X_MODE_VOLTAGE,
|
|
|
+ .regulator_data = &tps61052_regulator,
|
|
|
+};
|
|
|
+
|
|
|
+/*
|
|
|
+ * TC35892
|
|
|
+ */
|
|
|
+
|
|
|
+static void mop500_tc35892_init(struct tc3589x *tc3589x, unsigned int base)
|
|
|
+{
|
|
|
+ struct device *parent = NULL;
|
|
|
+#if 0
|
|
|
+ /* FIXME: Is the sdi actually part of tc3589x? */
|
|
|
+ parent = tc3589x->dev;
|
|
|
+#endif
|
|
|
+ mop500_sdi_tc35892_init(parent);
|
|
|
+}
|
|
|
+
|
|
|
+static struct tc3589x_gpio_platform_data mop500_tc35892_gpio_data = {
|
|
|
+ .gpio_base = MOP500_EGPIO(0),
|
|
|
+ .setup = mop500_tc35892_init,
|
|
|
+};
|
|
|
+
|
|
|
+static struct tc3589x_platform_data mop500_tc35892_data = {
|
|
|
+ .block = TC3589x_BLOCK_GPIO,
|
|
|
+ .gpio = &mop500_tc35892_gpio_data,
|
|
|
+ .irq_base = MOP500_EGPIO_IRQ_BASE,
|
|
|
+};
|
|
|
+
|
|
|
+static struct lp5521_led_config lp5521_pri_led[] = {
|
|
|
+ [0] = {
|
|
|
+ .chan_nr = 0,
|