Commit | Line | Data |
---|---|---|
d395e6ad KS |
1 | /* |
2 | * mach-davinci/devices.c | |
3 | * | |
4 | * DaVinci platform device setup/initialization | |
5 | * | |
6 | * This program is free software; you can redistribute it and/or modify | |
7 | * it under the terms of the GNU General Public License as published by | |
8 | * the Free Software Foundation; either version 2 of the License, or | |
9 | * (at your option) any later version. | |
10 | */ | |
11 | ||
12 | #include <linux/module.h> | |
13 | #include <linux/kernel.h> | |
14 | #include <linux/init.h> | |
15 | #include <linux/platform_device.h> | |
16 | #include <linux/dma-mapping.h> | |
17 | #include <linux/io.h> | |
18 | ||
19 | #include <asm/mach/map.h> | |
20 | ||
21 | #include <mach/hardware.h> | |
22 | #include <mach/i2c.h> | |
80b02c17 | 23 | #include <mach/irqs.h> |
d395e6ad | 24 | |
f5c122da KH |
25 | #define DAVINCI_I2C_BASE 0x01C21000 |
26 | ||
d395e6ad KS |
27 | static struct resource i2c_resources[] = { |
28 | { | |
29 | .start = DAVINCI_I2C_BASE, | |
30 | .end = DAVINCI_I2C_BASE + 0x40, | |
31 | .flags = IORESOURCE_MEM, | |
32 | }, | |
33 | { | |
34 | .start = IRQ_I2C, | |
35 | .flags = IORESOURCE_IRQ, | |
36 | }, | |
37 | }; | |
38 | ||
39 | static struct platform_device davinci_i2c_device = { | |
40 | .name = "i2c_davinci", | |
41 | .id = 1, | |
42 | .num_resources = ARRAY_SIZE(i2c_resources), | |
43 | .resource = i2c_resources, | |
44 | }; | |
45 | ||
46 | void __init davinci_init_i2c(struct davinci_i2c_platform_data *pdata) | |
47 | { | |
48 | davinci_i2c_device.dev.platform_data = pdata; | |
49 | (void) platform_device_register(&davinci_i2c_device); | |
50 | } | |
51 |