diff options
author | Baruch Siach <baruch@tkos.co.il> | 2010-08-16 17:10:37 +0300 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2010-08-17 10:21:26 +0200 |
commit | afd86389624a1c47e7873f21f75b2241d2b6438b (patch) | |
tree | f140acbe59dd8eed08268ac4afcaf09487d25fd6 /arch/arm | |
parent | fc51e779d997032ca64e86e2faba3a955bde56da (diff) | |
download | barebox-afd86389624a1c47e7873f21f75b2241d2b6438b.tar.gz barebox-afd86389624a1c47e7873f21f75b2241d2b6438b.tar.xz |
imx25: add iim platform code
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-imx/imx25.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/imx25.c b/arch/arm/mach-imx/imx25.c index 49fe958fd7..dc64d9fae8 100644 --- a/arch/arm/mach-imx/imx25.c +++ b/arch/arm/mach-imx/imx25.c @@ -16,7 +16,9 @@ */ #include <common.h> +#include <init.h> #include <mach/imx-regs.h> +#include <mach/iim.h> #include <asm/io.h> #include "gpio.h" @@ -46,3 +48,45 @@ u64 imx_uid(void) return uid; } + +static struct imx_iim_platform_data imx25_iim_pdata = { + .mac_addr_base = IMX_IIM_BASE + IIM_MAC_ADDR, +}; + +static struct device_d imx25_iim_dev = { + .name = "imx_iim", + .map_base = IMX_IIM_BASE, + .platform_data = &imx25_iim_pdata, +}; + +static struct device_d imx25_iim_bank0_dev = { + .name = "imx_iim_bank", + .id = 0, + .map_base = IIM_BANK0_BASE, + .size = IIM_BANK_SIZE, +}; + +static struct device_d imx25_iim_bank1_dev = { + .name = "imx_iim_bank", + .id = 1, + .map_base = IIM_BANK1_BASE, + .size = IIM_BANK_SIZE, +}; + +static struct device_d imx25_iim_bank2_dev = { + .name = "imx_iim_bank", + .id = 2, + .map_base = IIM_BANK2_BASE, + .size = IIM_BANK_SIZE, +}; + +static int imx25_iim_init(void) +{ + register_device(&imx25_iim_dev); + register_device(&imx25_iim_bank0_dev); + register_device(&imx25_iim_bank1_dev); + register_device(&imx25_iim_bank2_dev); + + return 0; +} +coredevice_initcall(imx25_iim_init); |