summaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorBaruch Siach <baruch@tkos.co.il>2010-08-16 17:10:37 +0300
committerSascha Hauer <s.hauer@pengutronix.de>2010-08-17 10:21:26 +0200
commitafd86389624a1c47e7873f21f75b2241d2b6438b (patch)
treef140acbe59dd8eed08268ac4afcaf09487d25fd6 /arch/arm
parentfc51e779d997032ca64e86e2faba3a955bde56da (diff)
downloadbarebox-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.c44
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);