diff options
Diffstat (limited to 'arch/arm/mach-pxa')
-rw-r--r-- | arch/arm/mach-pxa/generic.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/arch/arm/mach-pxa/generic.c b/arch/arm/mach-pxa/generic.c index 9de1278d234f..390524c4710f 100644 --- a/arch/arm/mach-pxa/generic.c +++ b/arch/arm/mach-pxa/generic.c | |||
@@ -338,6 +338,27 @@ static struct platform_device i2c_device = { | |||
338 | .num_resources = ARRAY_SIZE(i2c_resources), | 338 | .num_resources = ARRAY_SIZE(i2c_resources), |
339 | }; | 339 | }; |
340 | 340 | ||
341 | #ifdef CONFIG_PXA27x | ||
342 | static struct resource i2c_power_resources[] = { | ||
343 | { | ||
344 | .start = 0x40f00180, | ||
345 | .end = 0x40f001a3, | ||
346 | .flags = IORESOURCE_MEM, | ||
347 | }, { | ||
348 | .start = IRQ_PWRI2C, | ||
349 | .end = IRQ_PWRI2C, | ||
350 | .flags = IORESOURCE_IRQ, | ||
351 | }, | ||
352 | }; | ||
353 | |||
354 | static struct platform_device i2c_power_device = { | ||
355 | .name = "pxa2xx-i2c", | ||
356 | .id = 1, | ||
357 | .resource = i2c_power_resources, | ||
358 | .num_resources = ARRAY_SIZE(i2c_resources), | ||
359 | }; | ||
360 | #endif | ||
361 | |||
341 | void __init pxa_set_i2c_info(struct i2c_pxa_platform_data *info) | 362 | void __init pxa_set_i2c_info(struct i2c_pxa_platform_data *info) |
342 | { | 363 | { |
343 | i2c_device.dev.platform_data = info; | 364 | i2c_device.dev.platform_data = info; |
@@ -392,6 +413,9 @@ static struct platform_device *devices[] __initdata = { | |||
392 | &stuart_device, | 413 | &stuart_device, |
393 | &pxaficp_device, | 414 | &pxaficp_device, |
394 | &i2c_device, | 415 | &i2c_device, |
416 | #ifdef CONFIG_PXA27x | ||
417 | &i2c_power_device, | ||
418 | #endif | ||
395 | &i2s_device, | 419 | &i2s_device, |
396 | &pxartc_device, | 420 | &pxartc_device, |
397 | }; | 421 | }; |