diff options
Diffstat (limited to 'arch/arm/mach-versatile/core.c')
-rw-r--r-- | arch/arm/mach-versatile/core.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/arm/mach-versatile/core.c b/arch/arm/mach-versatile/core.c index 5c75e11e98..8aca2a19e3 100644 --- a/arch/arm/mach-versatile/core.c +++ b/arch/arm/mach-versatile/core.c @@ -26,6 +26,7 @@ #include <init.h> #include <clock.h> #include <debug_ll.h> +#include <sizes.h> #include <linux/clkdev.h> #include <linux/clk.h> @@ -182,6 +183,12 @@ void versatile_register_uart(unsigned id) amba_apb_device_add(NULL, "uart-pl011", id, start, 4096, NULL, 0); } +void versatile_register_i2c(void) +{ + add_generic_device("versatile-i2c", DEVICE_ID_DYNAMIC, NULL, + VERSATILE_I2C_BASE, SZ_4K, IORESOURCE_MEM, NULL); +} + void __noreturn reset_cpu (unsigned long ignored) { u32 val; @@ -196,3 +203,13 @@ void __noreturn reset_cpu (unsigned long ignored) while(1); } EXPORT_SYMBOL(reset_cpu); + +static int versatile_init(void) +{ + amba_apb_device_add(NULL, "pl061_gpio", 0, 0x101e4000, 4096, NULL, 0); + amba_apb_device_add(NULL, "pl061_gpio", 1, 0x101e5000, 4096, NULL, 0); + amba_apb_device_add(NULL, "pl061_gpio", 2, 0x101e6000, 4096, NULL, 0); + amba_apb_device_add(NULL, "pl061_gpio", 3, 0x101e7000, 4096, NULL, 0); + return 0; +} +coredevice_initcall(versatile_init); |