[PATCH] ARM: PXA I2C: add platform device
authorRussell King <rmk@dyn-67.arm.linux.org.uk>
Sat, 30 Apr 2005 12:26:06 +0000 (13:26 +0100)
committerRussell King <rmk@dyn-67.arm.linux.org.uk>
Sat, 30 Apr 2005 12:26:06 +0000 (13:26 +0100)
Add the PXA I2C platform device.

Signed-off-by: Russell King <rmk@arm.linux.org.uk>
arch/arm/mach-pxa/generic.c

index b1575b8dc1cd3e043f78794c56df9d57e6e96afa..a45aaa115a76664bb81438455b06a6ff890886f7 100644 (file)
@@ -220,6 +220,30 @@ static struct platform_device stuart_device = {
        .id             = 2,
 };
 
+static struct resource i2c_resources[] = {
+       {
+               .start  = 0x40301680,
+               .end    = 0x403016a3,
+               .flags  = IORESOURCE_MEM,
+       }, {
+               .start  = IRQ_I2C,
+               .end    = IRQ_I2C,
+               .flags  = IORESOURCE_IRQ,
+       },
+};
+
+static struct platform_device i2c_device = {
+       .name           = "pxa2xx-i2c",
+       .id             = 0,
+       .resource       = i2c_resources,
+       .num_resources  = ARRAY_SIZE(i2c_resources),
+};
+
+void __init pxa_set_i2c_info(struct i2c_pxa_platform_data *info)
+{
+       i2c_device.dev.platform_data = info;
+}
+
 static struct platform_device *devices[] __initdata = {
        &pxamci_device,
        &udc_device,
@@ -227,6 +251,7 @@ static struct platform_device *devices[] __initdata = {
        &ffuart_device,
        &btuart_device,
        &stuart_device,
+       &i2c_device,
 };
 
 static int __init pxa_init(void)