|
@@ -552,3 +552,93 @@ void __init s3c_i2c2_set_platdata(struct s3c2410_platform_i2c *pd)
|
|
|
{
|
|
|
struct s3c2410_platform_i2c *npd;
|
|
|
|
|
|
+ if (!pd) {
|
|
|
+ pd = &default_i2c_data;
|
|
|
+ pd->bus_num = 2;
|
|
|
+ }
|
|
|
+
|
|
|
+ npd = s3c_set_platdata(pd, sizeof(struct s3c2410_platform_i2c),
|
|
|
+ &s3c_device_i2c2);
|
|
|
+
|
|
|
+ if (!npd->cfg_gpio)
|
|
|
+ npd->cfg_gpio = s3c_i2c2_cfg_gpio;
|
|
|
+}
|
|
|
+#endif /* CONFIG_S3C_DEV_I2C2 */
|
|
|
+
|
|
|
+#ifdef CONFIG_S3C_DEV_I2C3
|
|
|
+static struct resource s3c_i2c3_resource[] = {
|
|
|
+ [0] = DEFINE_RES_MEM(S3C_PA_IIC3, SZ_4K),
|
|
|
+ [1] = DEFINE_RES_IRQ(IRQ_IIC3),
|
|
|
+};
|
|
|
+
|
|
|
+struct platform_device s3c_device_i2c3 = {
|
|
|
+ .name = "s3c2440-i2c",
|
|
|
+ .id = 3,
|
|
|
+ .num_resources = ARRAY_SIZE(s3c_i2c3_resource),
|
|
|
+ .resource = s3c_i2c3_resource,
|
|
|
+};
|
|
|
+
|
|
|
+void __init s3c_i2c3_set_platdata(struct s3c2410_platform_i2c *pd)
|
|
|
+{
|
|
|
+ struct s3c2410_platform_i2c *npd;
|
|
|
+
|
|
|
+ if (!pd) {
|
|
|
+ pd = &default_i2c_data;
|
|
|
+ pd->bus_num = 3;
|
|
|
+ }
|
|
|
+
|
|
|
+ npd = s3c_set_platdata(pd, sizeof(struct s3c2410_platform_i2c),
|
|
|
+ &s3c_device_i2c3);
|
|
|
+
|
|
|
+ if (!npd->cfg_gpio)
|
|
|
+ npd->cfg_gpio = s3c_i2c3_cfg_gpio;
|
|
|
+}
|
|
|
+#endif /*CONFIG_S3C_DEV_I2C3 */
|
|
|
+
|
|
|
+#ifdef CONFIG_S3C_DEV_I2C4
|
|
|
+static struct resource s3c_i2c4_resource[] = {
|
|
|
+ [0] = DEFINE_RES_MEM(S3C_PA_IIC4, SZ_4K),
|
|
|
+ [1] = DEFINE_RES_IRQ(IRQ_IIC4),
|
|
|
+};
|
|
|
+
|
|
|
+struct platform_device s3c_device_i2c4 = {
|
|
|
+ .name = "s3c2440-i2c",
|
|
|
+ .id = 4,
|
|
|
+ .num_resources = ARRAY_SIZE(s3c_i2c4_resource),
|
|
|
+ .resource = s3c_i2c4_resource,
|
|
|
+};
|
|
|
+
|
|
|
+void __init s3c_i2c4_set_platdata(struct s3c2410_platform_i2c *pd)
|
|
|
+{
|
|
|
+ struct s3c2410_platform_i2c *npd;
|
|
|
+
|
|
|
+ if (!pd) {
|
|
|
+ pd = &default_i2c_data;
|
|
|
+ pd->bus_num = 4;
|
|
|
+ }
|
|
|
+
|
|
|
+ npd = s3c_set_platdata(pd, sizeof(struct s3c2410_platform_i2c),
|
|
|
+ &s3c_device_i2c4);
|
|
|
+
|
|
|
+ if (!npd->cfg_gpio)
|
|
|
+ npd->cfg_gpio = s3c_i2c4_cfg_gpio;
|
|
|
+}
|
|
|
+#endif /*CONFIG_S3C_DEV_I2C4 */
|
|
|
+
|
|
|
+#ifdef CONFIG_S3C_DEV_I2C5
|
|
|
+static struct resource s3c_i2c5_resource[] = {
|
|
|
+ [0] = DEFINE_RES_MEM(S3C_PA_IIC5, SZ_4K),
|
|
|
+ [1] = DEFINE_RES_IRQ(IRQ_IIC5),
|
|
|
+};
|
|
|
+
|
|
|
+struct platform_device s3c_device_i2c5 = {
|
|
|
+ .name = "s3c2440-i2c",
|
|
|
+ .id = 5,
|
|
|
+ .num_resources = ARRAY_SIZE(s3c_i2c5_resource),
|
|
|
+ .resource = s3c_i2c5_resource,
|
|
|
+};
|
|
|
+
|
|
|
+void __init s3c_i2c5_set_platdata(struct s3c2410_platform_i2c *pd)
|
|
|
+{
|
|
|
+ struct s3c2410_platform_i2c *npd;
|
|
|
+
|