summaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2011-07-30 13:57:22 +0800
committerJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2011-08-01 21:49:33 +0800
commit95067e23ac78db76db3afddc92e17b6789012d38 (patch)
tree4c3d417d7ae43ec834c1ebe5950652da5072b5d7 /arch/arm
parentb821d73607cc6387b1ee588af97a44e8eb2b4fe2 (diff)
downloadbarebox-95067e23ac78db76db3afddc92e17b6789012d38.tar.gz
barebox-95067e23ac78db76db3afddc92e17b6789012d38.tar.xz
arm: introduce arm_add_mem_device to register dram device
this will automaticaly register the device to armlinux_add_dram Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/boards/a9m2410/a9m2410.c4
-rw-r--r--arch/arm/boards/a9m2440/a9m2440.c4
-rw-r--r--arch/arm/boards/chumby_falconwing/falconwing.c4
-rw-r--r--arch/arm/boards/edb93xx/edb93xx.c26
-rw-r--r--arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c6
-rw-r--r--arch/arm/boards/eukrea_cpuimx27/eukrea_cpuimx27.c5
-rw-r--r--arch/arm/boards/eukrea_cpuimx35/eukrea_cpuimx35.c6
-rw-r--r--arch/arm/boards/eukrea_cpuimx51/eukrea_cpuimx51.c6
-rw-r--r--arch/arm/boards/freescale-mx23-evk/mx23-evk.c4
-rw-r--r--arch/arm/boards/freescale-mx25-3-stack/3stack.c10
-rw-r--r--arch/arm/boards/freescale-mx35-3-stack/3stack.c5
-rw-r--r--arch/arm/boards/freescale-mx51-pdk/board.c6
-rw-r--r--arch/arm/boards/freescale-mx53-loco/board.c11
-rw-r--r--arch/arm/boards/guf-cupid/board.c5
-rw-r--r--arch/arm/boards/guf-neso/board.c5
-rw-r--r--arch/arm/boards/imx21ads/imx21ads.c5
-rw-r--r--arch/arm/boards/imx27ads/imx27ads.c5
-rw-r--r--arch/arm/boards/karo-tx25/board.c10
-rw-r--r--arch/arm/boards/karo-tx28/tx28.c4
-rw-r--r--arch/arm/boards/mini2440/mini2440.c4
-rw-r--r--arch/arm/boards/netx/netx.c6
-rw-r--r--arch/arm/boards/omap/board-beagle.c9
-rw-r--r--arch/arm/boards/omap/board-omap3evm.c8
-rw-r--r--arch/arm/boards/omap/board-sdp343x.c7
-rw-r--r--arch/arm/boards/panda/board.c6
-rw-r--r--arch/arm/boards/pcm037/pcm037.c10
-rw-r--r--arch/arm/boards/pcm038/pcm038.c5
-rw-r--r--arch/arm/boards/pcm043/pcm043.c5
-rw-r--r--arch/arm/boards/pcm049/board.c6
-rw-r--r--arch/arm/boards/phycard-i.MX27/pca100.c5
-rw-r--r--arch/arm/boards/scb9328/scb9328.c5
-rw-r--r--arch/arm/include/asm/armlinux.h3
-rw-r--r--arch/arm/mach-at91/at91rm9200_devices.c6
-rw-r--r--arch/arm/mach-at91/at91sam9260_devices.c6
-rw-r--r--arch/arm/mach-at91/at91sam9261_devices.c6
-rw-r--r--arch/arm/mach-at91/at91sam9263_devices.c6
-rw-r--r--arch/arm/mach-at91/at91sam9g45_devices.c6
-rw-r--r--arch/arm/mach-nomadik/8815.c6
-rw-r--r--arch/arm/mach-versatile/core.c6
39 files changed, 53 insertions, 199 deletions
diff --git a/arch/arm/boards/a9m2410/a9m2410.c b/arch/arm/boards/a9m2410/a9m2410.c
index 64fabd206f..b249a1dfaf 100644
--- a/arch/arm/boards/a9m2410/a9m2410.c
+++ b/arch/arm/boards/a9m2410/a9m2410.c
@@ -124,8 +124,7 @@ static int a9m2410_devices_init(void)
/* ----------- the devices the boot loader should work with -------- */
add_generic_device("s3c24x0_nand", -1, NULL, S3C24X0_NAND_BASE, 0,
IORESOURCE_MEM, &nand_info);
- sdram_dev = add_mem_device("ram0", CS6_BASE, size,
- IORESOURCE_MEM_WRITEABLE);
+ sdram_dev = arm_add_mem_device("ram0", CS6_BASE, size);
/*
* SMSC 91C111 network controller on the baseboard
* connected to CS line 1 and interrupt line
@@ -143,7 +142,6 @@ static int a9m2410_devices_init(void)
dev_add_bb_dev("env_raw", "env0");
#endif
- armlinux_add_dram(sdram_dev);
armlinux_set_bootparams(dev_get_mem_region(sdram_dev, 0) + 0x100);
armlinux_set_architecture(MACH_TYPE_A9M2410);
diff --git a/arch/arm/boards/a9m2440/a9m2440.c b/arch/arm/boards/a9m2440/a9m2440.c
index d52f4c2d7e..c5b467a603 100644
--- a/arch/arm/boards/a9m2440/a9m2440.c
+++ b/arch/arm/boards/a9m2440/a9m2440.c
@@ -128,8 +128,7 @@ static int a9m2440_devices_init(void)
/* ----------- the devices the boot loader should work with -------- */
add_generic_device("s3c24x0_nand", -1, NULL, S3C24X0_NAND_BASE, 0,
IORESOURCE_MEM, &nand_info);
- sdram_dev = add_mem_device("ram0", CS6_BASE, s3c24x0_get_memory_size(),
- IORESOURCE_MEM_WRITEABLE);
+ sdram_dev = arm_add_mem_device("ram0", CS6_BASE, s3c24x0_get_memory_size());
/*
* cs8900 network controller onboard
* Connected to CS line 5 + A24 and interrupt line EINT9,
@@ -146,7 +145,6 @@ static int a9m2440_devices_init(void)
devfs_add_partition("nand0", 0x40000, 0x20000, PARTITION_FIXED, "env_raw");
dev_add_bb_dev("env_raw", "env0");
#endif
- armlinux_add_dram(sdram_dev);
armlinux_set_bootparams(dev_get_mem_region(sdram_dev, 0) + 0x100);
armlinux_set_architecture(MACH_TYPE_A9M2440);
diff --git a/arch/arm/boards/chumby_falconwing/falconwing.c b/arch/arm/boards/chumby_falconwing/falconwing.c
index 69c3a61be5..06916f0a01 100644
--- a/arch/arm/boards/chumby_falconwing/falconwing.c
+++ b/arch/arm/boards/chumby_falconwing/falconwing.c
@@ -339,8 +339,7 @@ static int falconwing_devices_init(void)
for (i = 0; i < ARRAY_SIZE(pad_setup); i++)
imx_gpio_mode(pad_setup[i]);
- sdram_dev = add_mem_device("ram0", IMX_MEMORY_BASE, 64 * 1024 * 1024,
- IORESOURCE_MEM_WRITEABLE);
+ sdram_dev = arm_add_mem_device("ram0", IMX_MEMORY_BASE, 64 * 1024 * 1024);
imx_set_ioclk(480000000); /* enable IOCLK to run at the PLL frequency */
/* run the SSP unit clock at 100,000 kHz */
imx_set_sspclk(0, 100000000, 1);
@@ -351,7 +350,6 @@ static int falconwing_devices_init(void)
falconwing_init_usb();
- armlinux_add_dram(sdram_dev);
armlinux_set_bootparams(dev_get_mem_region(sdram_dev, 0) + 0x100);
armlinux_set_architecture(MACH_TYPE_CHUMBY);
diff --git a/arch/arm/boards/edb93xx/edb93xx.c b/arch/arm/boards/edb93xx/edb93xx.c
index 7f9e6473e2..fd838bf705 100644
--- a/arch/arm/boards/edb93xx/edb93xx.c
+++ b/arch/arm/boards/edb93xx/edb93xx.c
@@ -36,8 +36,6 @@
static int ep93xx_devices_init(void)
{
- struct device_d *sdram_dev;
-
add_cfi_flash_device(-1, 0x60000000, EDB93XX_CFI_FLASH_SIZE, 0);
/*
@@ -49,27 +47,19 @@ static int ep93xx_devices_init(void)
protect_file("/dev/env0", 1);
- sdram_dev = add_mem_device("ram0", CONFIG_EP93XX_SDRAM_BANK0_BASE,
- CONFIG_EP93XX_SDRAM_BANK0_SIZE,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram0", CONFIG_EP93XX_SDRAM_BANK0_BASE,
+ CONFIG_EP93XX_SDRAM_BANK0_SIZE);
#if (CONFIG_EP93XX_SDRAM_NUM_BANKS >= 2)
- sdram_dev = add_mem_device("ram1", CONFIG_EP93XX_SDRAM_BANK1_BASE,
- CONFIG_EP93XX_SDRAM_BANK1_SIZE,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram1", CONFIG_EP93XX_SDRAM_BANK1_BASE,
+ CONFIG_EP93XX_SDRAM_BANK1_SIZE);
#endif
#if (CONFIG_EP93XX_SDRAM_NUM_BANKS >= 3)
- sdram_dev = add_mem_device("ram2", CONFIG_EP93XX_SDRAM_BANK2_BASE,
- CONFIG_EP93XX_SDRAM_BANK2_SIZE,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram2", CONFIG_EP93XX_SDRAM_BANK2_BASE,
+ CONFIG_EP93XX_SDRAM_BANK2_SIZE);
#endif
#if (CONFIG_EP93XX_SDRAM_NUM_BANKS == 4)
- sdram_dev = add_mem_device("ram3", CONFIG_EP93XX_SDRAM_BANK3_BASE,
- CONFIG_EP93XX_SDRAM_BANK2_SIZE,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram3", CONFIG_EP93XX_SDRAM_BANK3_BASE,
+ CONFIG_EP93XX_SDRAM_BANK2_SIZE);
#endif
/*
diff --git a/arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c b/arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c
index aeeed17afb..e188fabd32 100644
--- a/arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c
+++ b/arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c
@@ -230,8 +230,6 @@ static struct pad_desc eukrea_cpuimx25_pads[] = {
static int eukrea_cpuimx25_devices_init(void)
{
- struct device_d *sdram_dev;
-
eukrea_cpuimx25_mmu_init();
mxc_iomux_v3_setup_multiple_pads(eukrea_cpuimx25_pads,
@@ -253,9 +251,7 @@ static int eukrea_cpuimx25_devices_init(void)
PARTITION_FIXED, "env_raw");
dev_add_bb_dev("env_raw", "env0");
- sdram_dev = add_mem_device("ram0", IMX_SDRAM_CS0, 64 * 1024 * 1024,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram0", IMX_SDRAM_CS0, 64 * 1024 * 1024);
/* enable LCD */
gpio_direction_output(26, 1);
diff --git a/arch/arm/boards/eukrea_cpuimx27/eukrea_cpuimx27.c b/arch/arm/boards/eukrea_cpuimx27/eukrea_cpuimx27.c
index b38decf580..e42ad7cfc4 100644
--- a/arch/arm/boards/eukrea_cpuimx27/eukrea_cpuimx27.c
+++ b/arch/arm/boards/eukrea_cpuimx27/eukrea_cpuimx27.c
@@ -134,7 +134,6 @@ static struct imx_fb_platform_data eukrea_cpuimx27_fb_data = {
static int eukrea_cpuimx27_devices_init(void)
{
- struct device_d *sdram_dev;
char *envdev = "no";
int i;
@@ -209,9 +208,7 @@ static int eukrea_cpuimx27_devices_init(void)
add_cfi_flash_device(-1, 0xC2000000, 32 * 1024 * 1024, 0);
#endif
imx27_add_nand(&nand_info);
- sdram_dev = add_mem_device("ram0", 0xa0000000, SDRAM0 * 1024 * 1024,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram0", 0xa0000000, SDRAM0 * 1024 * 1024);
PCCR0 |= PCCR0_I2C1_EN;
i2c_register_board_info(0, i2c_devices, ARRAY_SIZE(i2c_devices));
diff --git a/arch/arm/boards/eukrea_cpuimx35/eukrea_cpuimx35.c b/arch/arm/boards/eukrea_cpuimx35/eukrea_cpuimx35.c
index 53e5bad374..29b9edf4ad 100644
--- a/arch/arm/boards/eukrea_cpuimx35/eukrea_cpuimx35.c
+++ b/arch/arm/boards/eukrea_cpuimx35/eukrea_cpuimx35.c
@@ -148,8 +148,6 @@ postcore_initcall(eukrea_cpuimx35_mmu_init);
static int eukrea_cpuimx35_devices_init(void)
{
- struct device_d *sdram_dev;
-
imx35_add_nand(&nand_info);
devfs_add_partition("nand0", 0x00000, 0x40000, PARTITION_FIXED, "self_raw");
@@ -159,9 +157,7 @@ static int eukrea_cpuimx35_devices_init(void)
imx35_add_fec(&fec_info);
- sdram_dev = add_mem_device("ram0", IMX_SDRAM_CS0, 128 * 1024 * 1024,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram0", IMX_SDRAM_CS0, 128 * 1024 * 1024);
imx35_add_fb(&ipu_fb_data);
imx35_add_i2c0(NULL);
diff --git a/arch/arm/boards/eukrea_cpuimx51/eukrea_cpuimx51.c b/arch/arm/boards/eukrea_cpuimx51/eukrea_cpuimx51.c
index 4d281f4a82..2510e07203 100644
--- a/arch/arm/boards/eukrea_cpuimx51/eukrea_cpuimx51.c
+++ b/arch/arm/boards/eukrea_cpuimx51/eukrea_cpuimx51.c
@@ -119,13 +119,9 @@ static void eukrea_cpuimx51_mmu_init(void)
static int eukrea_cpuimx51_devices_init(void)
{
- struct device_d *sdram_dev;
-
eukrea_cpuimx51_mmu_init();
- sdram_dev = add_mem_device("ram0", 0x90000000, 256 * 1024 * 1024,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram0", 0x90000000, 256 * 1024 * 1024);
imx51_add_fec(&fec_info);
#ifdef CONFIG_MCI_IMX_ESDHC
imx51_add_mmc0(NULL);
diff --git a/arch/arm/boards/freescale-mx23-evk/mx23-evk.c b/arch/arm/boards/freescale-mx23-evk/mx23-evk.c
index f9f85fa6dd..7e23e9a337 100644
--- a/arch/arm/boards/freescale-mx23-evk/mx23-evk.c
+++ b/arch/arm/boards/freescale-mx23-evk/mx23-evk.c
@@ -29,9 +29,7 @@ static int mx23_evk_devices_init(void)
{
struct device_d *sdram_dev;
- sdram_dev = add_mem_device("ram0", IMX_MEMORY_BASE, 32 * 1024 * 1024,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ sdram_dev = arm_add_mem_device("ram0", IMX_MEMORY_BASE, 32 * 1024 * 1024);
armlinux_set_bootparams(dev_get_mem_region(sdram_dev, 0) + 0x100);
armlinux_set_architecture(MACH_TYPE_MX23EVK);
diff --git a/arch/arm/boards/freescale-mx25-3-stack/3stack.c b/arch/arm/boards/freescale-mx25-3-stack/3stack.c
index 3902ccfc7d..b1422327e0 100644
--- a/arch/arm/boards/freescale-mx25-3-stack/3stack.c
+++ b/arch/arm/boards/freescale-mx25-3-stack/3stack.c
@@ -194,8 +194,6 @@ late_initcall(imx25_3ds_fec_init);
static int imx25_devices_init(void)
{
- struct device_d *sdram_dev;
-
#ifdef CONFIG_USB
/* USB does not work yet. Don't know why. Maybe
* the CPLD has to be initialized.
@@ -218,17 +216,15 @@ static int imx25_devices_init(void)
devfs_add_partition("nand0", 0x40000, 0x20000, PARTITION_FIXED, "env_raw");
dev_add_bb_dev("env_raw", "env0");
- sdram_dev = add_mem_device("ram0", IMX_SDRAM_CS0,
#if defined CONFIG_FREESCALE_MX25_3STACK_SDRAM_64MB_DDR2
- 64 * 1024 * 1024,
+#define SDRAM_SIZE 64 * 1024 * 1024
#elif defined CONFIG_FREESCALE_MX25_3STACK_SDRAM_128MB_MDDR
- 128 * 1024 * 1024,
+#define SDRAM_SIZE 128 * 1024 * 1024
#else
#error "Unsupported SDRAM type"
#endif
- IORESOURCE_MEM_WRITEABLE);
+ arm_add_mem_device("ram0", IMX_SDRAM_CS0, SDRAM_SIZE);
add_mem_device("sram0", 0x78000000, 128 * 1024, IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
i2c_register_board_info(0, i2c_devices, ARRAY_SIZE(i2c_devices));
imx25_add_i2c0(NULL);
diff --git a/arch/arm/boards/freescale-mx35-3-stack/3stack.c b/arch/arm/boards/freescale-mx35-3-stack/3stack.c
index e513439a17..27d4e83d6f 100644
--- a/arch/arm/boards/freescale-mx35-3-stack/3stack.c
+++ b/arch/arm/boards/freescale-mx35-3-stack/3stack.c
@@ -132,7 +132,6 @@ static void set_board_rev(int rev)
static int f3s_devices_init(void)
{
uint32_t reg;
- struct device_d *sdram_dev;
/* CS0: Nor Flash */
writel(0x0000cf03, CSCR_U(0));
@@ -178,9 +177,7 @@ static int f3s_devices_init(void)
imx35_add_mmc0(NULL);
- sdram_dev = add_mem_device("ram0", IMX_SDRAM_CS0, 124 * 1024 * 1024,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram0", IMX_SDRAM_CS0, 124 * 1024 * 1024);
imx35_add_fb(&ipu_fb_data);
armlinux_set_bootparams((void *)0x80000100);
diff --git a/arch/arm/boards/freescale-mx51-pdk/board.c b/arch/arm/boards/freescale-mx51-pdk/board.c
index b205a23d32..509e3c46f9 100644
--- a/arch/arm/boards/freescale-mx51-pdk/board.c
+++ b/arch/arm/boards/freescale-mx51-pdk/board.c
@@ -227,13 +227,9 @@ static void babbage_power_init(void)
static int f3s_devices_init(void)
{
- struct device_d *sdram_dev;
-
babbage_mmu_init();
- sdram_dev = add_mem_device("ram0", 0x90000000, 512 * 1024 * 1024,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram0", 0x90000000, 512 * 1024 * 1024);
imx51_iim_register_fec_ethaddr();
imx51_add_fec(&fec_info);
diff --git a/arch/arm/boards/freescale-mx53-loco/board.c b/arch/arm/boards/freescale-mx53-loco/board.c
index e3db7f308c..8ffe9643a5 100644
--- a/arch/arm/boards/freescale-mx53-loco/board.c
+++ b/arch/arm/boards/freescale-mx53-loco/board.c
@@ -104,17 +104,10 @@ static void loco_fec_reset(void)
static int loco_devices_init(void)
{
- struct device_d *sdram_dev;
-
loco_mmu_init();
- sdram_dev = add_mem_device("ram0", 0x70000000, SZ_512M,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
-
- sdram_dev = add_mem_device("ram1", 0xb0000000, SZ_512M,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram0", 0x70000000, SZ_512M);
+ arm_add_mem_device("ram1", 0xb0000000, SZ_512M);
imx51_iim_register_fec_ethaddr();
imx53_add_fec(&fec_info);
diff --git a/arch/arm/boards/guf-cupid/board.c b/arch/arm/boards/guf-cupid/board.c
index 6906f0a6d6..d66afacd8f 100644
--- a/arch/arm/boards/guf-cupid/board.c
+++ b/arch/arm/boards/guf-cupid/board.c
@@ -119,7 +119,6 @@ postcore_initcall(cupid_mmu_init);
static int cupid_devices_init(void)
{
uint32_t reg;
- struct device_d *sdram_dev;
gpio_direction_output(GPIO_LCD_ENABLE, 0);
gpio_direction_output(GPIO_LCD_BACKLIGHT, 0);
@@ -139,9 +138,7 @@ static int cupid_devices_init(void)
devfs_add_partition("nand0", 0x40000, 0x80000, PARTITION_FIXED, "env_raw");
dev_add_bb_dev("env_raw", "env0");
- sdram_dev = add_mem_device("ram0", IMX_SDRAM_CS0, 128 * 1024 * 1024,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram0", IMX_SDRAM_CS0, 128 * 1024 * 1024);
imx35_add_fb(&ipu_fb_data);
imx35_add_mmc0(NULL);
diff --git a/arch/arm/boards/guf-neso/board.c b/arch/arm/boards/guf-neso/board.c
index f3a4635980..6486f3ae92 100644
--- a/arch/arm/boards/guf-neso/board.c
+++ b/arch/arm/boards/guf-neso/board.c
@@ -157,7 +157,6 @@ static void neso_mmu_init(void)
static int neso_devices_init(void)
{
int i;
- struct device_d *sdram_dev;
unsigned int mode[] = {
/* UART1 */
@@ -289,9 +288,7 @@ static int neso_devices_init(void)
imx_gpio_mode(mode[i]);
imx27_add_nand(&nand_info);
- sdram_dev = add_mem_device("ram0", 0xa0000000, 128 * 1024 * 1024,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram0", 0xa0000000, 128 * 1024 * 1024);
imx27_add_fb(&neso_fb_data);
#ifdef CONFIG_USB
diff --git a/arch/arm/boards/imx21ads/imx21ads.c b/arch/arm/boards/imx21ads/imx21ads.c
index 2661064f04..b449279876 100644
--- a/arch/arm/boards/imx21ads/imx21ads.c
+++ b/arch/arm/boards/imx21ads/imx21ads.c
@@ -118,7 +118,6 @@ core_initcall(imx21ads_timing_init);
static int mx21ads_devices_init(void)
{
int i;
- struct device_d *sdram_dev;
unsigned int mode[] = {
PA5_PF_LSCLK,
PA6_PF_LD0,
@@ -158,9 +157,7 @@ static int mx21ads_devices_init(void)
imx_gpio_mode(mode[i]);
add_cfi_flash_device(-1, 0xC8000000, 32 * 1024 * 1024, 0);
- sdram_dev = add_mem_device("ram0", 0xc0000000, 64 * 1024 * 1024,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram0", 0xc0000000, 64 * 1024 * 1024);
imx21_add_nand(&nand_info);
add_generic_device("cs8900", -1, NULL, IMX_CS1_BASE, 0x1000,
IORESOURCE_MEM, NULL);
diff --git a/arch/arm/boards/imx27ads/imx27ads.c b/arch/arm/boards/imx27ads/imx27ads.c
index db49aac399..299b2ea01c 100644
--- a/arch/arm/boards/imx27ads/imx27ads.c
+++ b/arch/arm/boards/imx27ads/imx27ads.c
@@ -77,7 +77,6 @@ core_initcall(imx27ads_timing_init);
static int mx27ads_devices_init(void)
{
int i;
- struct device_d *sdram_dev;
unsigned int mode[] = {
PD0_AIN_FEC_TXD0,
PD1_AIN_FEC_TXD1,
@@ -109,9 +108,7 @@ static int mx27ads_devices_init(void)
add_cfi_flash_device(-1, 0xC0000000, 32 * 1024 * 1024, 0);
- sdram_dev = add_mem_device("ram0", 0xa0000000, 128 * 1024 * 1024,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram0", 0xa0000000, 128 * 1024 * 1024);
imx27_add_fec(&fec_info);
devfs_add_partition("nor0", 0x00000, 0x20000, PARTITION_FIXED, "self0");
devfs_add_partition("nor0", 0x20000, 0x20000, PARTITION_FIXED, "env0");
diff --git a/arch/arm/boards/karo-tx25/board.c b/arch/arm/boards/karo-tx25/board.c
index e4a9aeba7d..4e5eafa432 100644
--- a/arch/arm/boards/karo-tx25/board.c
+++ b/arch/arm/boards/karo-tx25/board.c
@@ -118,8 +118,6 @@ static void noinline gpio_fec_active(void)
static int tx25_devices_init(void)
{
- struct device_d *sdram_dev;
-
gpio_fec_active();
imx25_iim_register_fec_ethaddr();
@@ -136,12 +134,8 @@ static int tx25_devices_init(void)
devfs_add_partition("nand0", 0x40000, 0x80000, PARTITION_FIXED, "env_raw");
dev_add_bb_dev("env_raw", "env0");
- sdram_dev = add_mem_device("ram0", IMX_SDRAM_CS0, 32 * 1024 * 1024,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
- sdram_dev = add_mem_device("ram0", IMX_SDRAM_CS1, 32 * 1024 * 1024,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram0", IMX_SDRAM_CS0, 32 * 1024 * 1024);
+ arm_add_mem_device("ram0", IMX_SDRAM_CS1, 32 * 1024 * 1024);
add_mem_device("ram0", 0x78000000, 128 * 1024,
IORESOURCE_MEM_WRITEABLE);
diff --git a/arch/arm/boards/karo-tx28/tx28.c b/arch/arm/boards/karo-tx28/tx28.c
index b9d5454301..095835b5d4 100644
--- a/arch/arm/boards/karo-tx28/tx28.c
+++ b/arch/arm/boards/karo-tx28/tx28.c
@@ -96,9 +96,7 @@ static int tx28_devices_init(void)
for (i = 0; i < ARRAY_SIZE(tx28_pad_setup); i++)
imx_gpio_mode(tx28_pad_setup[i]);
- sdram_dev = add_mem_device("ram0", IMX_MEMORY_BASE, 128 * 1024 * 1024,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ sdram_dev = arm_add_mem_device("ram0", IMX_MEMORY_BASE, 128 * 1024 * 1024);
armlinux_set_bootparams(dev_get_mem_region(sdram_dev, 0) + 0x100);
armlinux_set_architecture(MACH_TYPE_TX28);
diff --git a/arch/arm/boards/mini2440/mini2440.c b/arch/arm/boards/mini2440/mini2440.c
index c6b493295f..df7e6179e3 100644
--- a/arch/arm/boards/mini2440/mini2440.c
+++ b/arch/arm/boards/mini2440/mini2440.c
@@ -290,9 +290,7 @@ static int mini2440_devices_init(void)
add_generic_device("s3c24x0_nand", -1, NULL, S3C24X0_NAND_BASE, 0,
IORESOURCE_MEM, &nand_info);
- sdram_dev = add_mem_device("ram0", CS6_BASE, s3c24x0_get_memory_size(),
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ sdram_dev = arm_add_mem_device("ram0", CS6_BASE, s3c24x0_get_memory_size());
add_dm9000_device(0, CS4_BASE + 0x300, CS4_BASE + 0x304,
IORESOURCE_MEM_16BIT, &dm9000_data);
diff --git a/arch/arm/boards/netx/netx.c b/arch/arm/boards/netx/netx.c
index 65681aab7a..e9b834a16d 100644
--- a/arch/arm/boards/netx/netx.c
+++ b/arch/arm/boards/netx/netx.c
@@ -39,13 +39,9 @@ struct netx_eth_platform_data eth1_data = {
};
static int netx_devices_init(void) {
- struct device_d *sdram_dev;
-
add_cfi_flash_device(-1, 0xC0000000, 32 * 1024 * 1024, 0);
- sdram_dev = add_mem_device("ram0", 0x80000000, 64 * 1024 * 1024,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram0", 0x80000000, 64 * 1024 * 1024);
add_generic_device("netx-eth", -1, NULL, 0, 0, IORESOURCE_MEM, &eth0_data);
add_generic_device("netx-eth", -1, NULL, 0, 0, IORESOURCE_MEM, &eth1_data);
diff --git a/arch/arm/boards/omap/board-beagle.c b/arch/arm/boards/omap/board-beagle.c
index e12e2fe1de..46026310ae 100644
--- a/arch/arm/boards/omap/board-beagle.c
+++ b/arch/arm/boards/omap/board-beagle.c
@@ -280,14 +280,7 @@ static struct i2c_board_info i2c_devices[] = {
static int beagle_devices_init(void)
{
- struct device_d *sdram_dev;
-
- sdram_dev = add_mem_device("ram0", 0x80000000, 128 * 1024 * 1024,
- IORESOURCE_MEM_WRITEABLE);
- if (!sdram_dev)
- return -EIO;
- armlinux_add_dram(sdram_dev);
-
+ arm_add_mem_device("ram0", 0x80000000, 128 * 1024 * 1024);
i2c_register_board_info(0, i2c_devices, ARRAY_SIZE(i2c_devices));
add_generic_device("i2c-omap", -1, NULL, 0x4809C000, SZ_4K,
IORESOURCE_MEM, NULL);
diff --git a/arch/arm/boards/omap/board-omap3evm.c b/arch/arm/boards/omap/board-omap3evm.c
index 8b5c9b3231..68d971b2ee 100644
--- a/arch/arm/boards/omap/board-omap3evm.c
+++ b/arch/arm/boards/omap/board-omap3evm.c
@@ -237,13 +237,7 @@ console_initcall(omap3evm_init_console);
static int omap3evm_init_devices(void)
{
- struct device_d *sdram_dev;
-
- sdram_dev = add_mem_device("ram0", 0x80000000, 128 * 1024 * 1024,
- IORESOURCE_MEM_WRITEABLE);
- if (!sdram_dev)
- return -EIO;
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram0", 0x80000000, 128 * 1024 * 1024);
#ifdef CONFIG_GPMC
/*
diff --git a/arch/arm/boards/omap/board-sdp343x.c b/arch/arm/boards/omap/board-sdp343x.c
index 7c6df05135..8fcae126fc 100644
--- a/arch/arm/boards/omap/board-sdp343x.c
+++ b/arch/arm/boards/omap/board-sdp343x.c
@@ -638,13 +638,8 @@ static int sdp3430_flash_init(void)
static int sdp3430_devices_init(void)
{
- struct device_d *sdram_dev;
+ arm_add_mem_device("ram0", 0x80000000, 128 * 1024 * 1024);
- sdram_dev = add_mem_device("ram0", 0x80000000, 128 * 1024 * 1024,
- IORESOURCE_MEM_WRITEABLE);
- if (!sdram_dev)
- return -EIO;
- armlinux_add_dram(sdram_dev);
return sdp3430_flash_init();
}
diff --git a/arch/arm/boards/panda/board.c b/arch/arm/boards/panda/board.c
index deded28475..e27f0a45ef 100644
--- a/arch/arm/boards/panda/board.c
+++ b/arch/arm/boards/panda/board.c
@@ -113,8 +113,6 @@ static void __init panda_boardrev_init(void)
static int panda_devices_init(void)
{
- struct device_d *sdram_dev;
-
panda_boardrev_init();
if (gpio_get_value(182)) {
@@ -141,9 +139,7 @@ static int panda_devices_init(void)
sr32(OMAP44XX_SCRM_ALTCLKSRC, 2, 2, 0x3);
}
- sdram_dev = add_mem_device("ram0", 0x80000000, SZ_1G,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram0", 0x80000000, SZ_1G);
add_generic_device("omap-hsmmc", -1, NULL, 0x4809C100, SZ_4K,
IORESOURCE_MEM, NULL);
panda_ehci_init();
diff --git a/arch/arm/boards/pcm037/pcm037.c b/arch/arm/boards/pcm037/pcm037.c
index f4b44444a9..56db9a852e 100644
--- a/arch/arm/boards/pcm037/pcm037.c
+++ b/arch/arm/boards/pcm037/pcm037.c
@@ -170,8 +170,6 @@ static void pcm037_mmu_init(void)
static int imx31_devices_init(void)
{
- struct device_d *sdram_dev;
-
pcm037_mmu_init();
__REG(CSCR_U(0)) = 0x0000cf03; /* CS0: Nor Flash */
@@ -221,13 +219,9 @@ static int imx31_devices_init(void)
add_generic_device("smc911x", -1, NULL, IMX_CS1_BASE, IMX_CS1_RANGE,
IORESOURCE_MEM, NULL);
- sdram_dev = add_mem_device("ram0", IMX_SDRAM_CS0, SDRAM0 * 1024 * 1024,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram0", IMX_SDRAM_CS0, SDRAM0 * 1024 * 1024);
#ifndef CONFIG_PCM037_SDRAM_BANK1_NONE
- sdram_dev = add_mem_device("ram1", IMX_SDRAM_CS1, SDRAM1 * 1024 * 1024,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram1", IMX_SDRAM_CS1, SDRAM1 * 1024 * 1024);
#endif
#ifdef CONFIG_USB
pcm037_usb_init();
diff --git a/arch/arm/boards/pcm038/pcm038.c b/arch/arm/boards/pcm038/pcm038.c
index 02c3dba8b3..bf15cfd3d8 100644
--- a/arch/arm/boards/pcm038/pcm038.c
+++ b/arch/arm/boards/pcm038/pcm038.c
@@ -151,7 +151,6 @@ static int pcm038_devices_init(void)
{
int i;
char *envdev;
- struct device_d *sdram_dev;
unsigned int mode[] = {
PD0_AIN_FEC_TXD0,
@@ -255,9 +254,7 @@ static int pcm038_devices_init(void)
add_cfi_flash_device(-1, 0xC0000000, 32 * 1024 * 1024, 0);
imx27_add_nand(&nand_info);
- sdram_dev = add_mem_device("ram0", 0xa0000000, 128 * 1024 * 1024,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram0", 0xa0000000, 128 * 1024 * 1024);
add_mem_device("ram0", 0xc8000000, 512 * 1024, /* Can be up to 2MiB */
IORESOURCE_MEM_WRITEABLE);
imx27_add_fb(&pcm038_fb_data);
diff --git a/arch/arm/boards/pcm043/pcm043.c b/arch/arm/boards/pcm043/pcm043.c
index 3bd64023be..0f25354ef9 100644
--- a/arch/arm/boards/pcm043/pcm043.c
+++ b/arch/arm/boards/pcm043/pcm043.c
@@ -125,7 +125,6 @@ struct gpio_led led0 = {
static int imx35_devices_init(void)
{
- struct device_d *sdram_dev;
uint32_t reg;
/* CS0: Nor Flash */
@@ -171,9 +170,7 @@ static int imx35_devices_init(void)
}
- sdram_dev = add_mem_device("ram0", IMX_SDRAM_CS0, 128 * 1024 * 1024,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram0", IMX_SDRAM_CS0, 128 * 1024 * 1024);
imx35_add_fb(&ipu_fb_data);
armlinux_set_bootparams((void *)0x80000100);
diff --git a/arch/arm/boards/pcm049/board.c b/arch/arm/boards/pcm049/board.c
index d3f13108e4..20419a38d3 100644
--- a/arch/arm/boards/pcm049/board.c
+++ b/arch/arm/boards/pcm049/board.c
@@ -93,11 +93,7 @@ static void pcm049_network_init(void)
static int pcm049_devices_init(void)
{
- struct device_d *sdram_dev;
-
- sdram_dev = add_mem_device("ram0", 0x80000000, SZ_512M,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram0", 0x80000000, SZ_512M);
add_mem_device("ram0", 0x40300000, 48 * 1024,
IORESOURCE_MEM_WRITEABLE);
add_generic_device("omap-hsmmc", -1, NULL, 0x4809C100, SZ_4K,
diff --git a/arch/arm/boards/phycard-i.MX27/pca100.c b/arch/arm/boards/phycard-i.MX27/pca100.c
index 9a10a9d28a..68f972a172 100644
--- a/arch/arm/boards/phycard-i.MX27/pca100.c
+++ b/arch/arm/boards/phycard-i.MX27/pca100.c
@@ -123,7 +123,6 @@ static int pca100_devices_init(void)
{
int i;
struct device_d *nand;
- struct device_d *sdram_dev;
unsigned int mode[] = {
PD0_AIN_FEC_TXD0,
@@ -198,9 +197,7 @@ static int pca100_devices_init(void)
imx_gpio_mode(mode[i]);
imx27_add_nand(&nand_info);
- sdram_dev = add_mem_device("ram0", 0xa0000000, 128 * 1024 * 1024,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram0", 0xa0000000, 128 * 1024 * 1024);
imx27_add_fec(&fec_info);
imx27_add_mmc0(NULL);
diff --git a/arch/arm/boards/scb9328/scb9328.c b/arch/arm/boards/scb9328/scb9328.c
index 5c52af97c5..68a39bf927 100644
--- a/arch/arm/boards/scb9328/scb9328.c
+++ b/arch/arm/boards/scb9328/scb9328.c
@@ -53,7 +53,6 @@ struct gpio_led leds[] = {
static int scb9328_devices_init(void)
{
int i;
- struct device_d *sdram_dev;
imx_gpio_mode(PA23_PF_CS5);
imx_gpio_mode(GPIO_PORTB | GPIO_GPIO | GPIO_OUT | 21);
@@ -82,9 +81,7 @@ static int scb9328_devices_init(void)
CS5L = 0x00000D03;
add_cfi_flash_device(-1, 0x10000000, 16 * 1024 * 1024, 0);
- sdram_dev = add_mem_device("ram0", 0x08000000, 16 * 1024 * 1024,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram0", 0x08000000, 16 * 1024 * 1024);
add_dm9000_device(-1, 0x16000000, 0x16000004,
IORESOURCE_MEM_16BIT, &dm9000_data);
diff --git a/arch/arm/include/asm/armlinux.h b/arch/arm/include/asm/armlinux.h
index 3cab209d60..f76cca875f 100644
--- a/arch/arm/include/asm/armlinux.h
+++ b/arch/arm/include/asm/armlinux.h
@@ -34,4 +34,7 @@ struct image_data;
void start_linux(void *adr, int swap, struct image_data *data);
+struct device_d *arm_add_mem_device(const char* name, resource_size_t start,
+ resource_size_t size);
+
#endif /* __ARCH_ARMLINUX_H */
diff --git a/arch/arm/mach-at91/at91rm9200_devices.c b/arch/arm/mach-at91/at91rm9200_devices.c
index 289f2c32bf..84605e4651 100644
--- a/arch/arm/mach-at91/at91rm9200_devices.c
+++ b/arch/arm/mach-at91/at91rm9200_devices.c
@@ -22,11 +22,7 @@
void at91_add_device_sdram(u32 size)
{
- struct device_d *sdram_dev;
-
- sdram_dev = add_mem_device("ram0", AT91_CHIPSELECT_1, size,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram0", AT91_CHIPSELECT_1, size);
}
/* --------------------------------------------------------------------
diff --git a/arch/arm/mach-at91/at91sam9260_devices.c b/arch/arm/mach-at91/at91sam9260_devices.c
index 468f00d6be..5c1bbbe464 100644
--- a/arch/arm/mach-at91/at91sam9260_devices.c
+++ b/arch/arm/mach-at91/at91sam9260_devices.c
@@ -23,11 +23,7 @@
void at91_add_device_sdram(u32 size)
{
- struct device_d *sdram_dev;
-
- sdram_dev = add_mem_device("ram0", AT91_CHIPSELECT_1, size,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram0", AT91_CHIPSELECT_1, size);
}
#if defined(CONFIG_DRIVER_NET_MACB)
diff --git a/arch/arm/mach-at91/at91sam9261_devices.c b/arch/arm/mach-at91/at91sam9261_devices.c
index 1e741fd36c..4985cf1542 100644
--- a/arch/arm/mach-at91/at91sam9261_devices.c
+++ b/arch/arm/mach-at91/at91sam9261_devices.c
@@ -23,11 +23,7 @@
void at91_add_device_sdram(u32 size)
{
- struct device_d *sdram_dev;
-
- sdram_dev = add_mem_device("ram0", AT91_CHIPSELECT_1, size,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram0", AT91_CHIPSELECT_1, size);
}
#if defined(CONFIG_NAND_ATMEL)
diff --git a/arch/arm/mach-at91/at91sam9263_devices.c b/arch/arm/mach-at91/at91sam9263_devices.c
index 07bd02f8c1..540220eebf 100644
--- a/arch/arm/mach-at91/at91sam9263_devices.c
+++ b/arch/arm/mach-at91/at91sam9263_devices.c
@@ -23,11 +23,7 @@
void at91_add_device_sdram(u32 size)
{
- struct device_d *sdram_dev;
-
- sdram_dev = add_mem_device("ram0", AT91_CHIPSELECT_1, size,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram0", AT91_CHIPSELECT_1, size);
}
#if defined(CONFIG_DRIVER_NET_MACB)
diff --git a/arch/arm/mach-at91/at91sam9g45_devices.c b/arch/arm/mach-at91/at91sam9g45_devices.c
index 4d55e2202c..2cd5a952b5 100644
--- a/arch/arm/mach-at91/at91sam9g45_devices.c
+++ b/arch/arm/mach-at91/at91sam9g45_devices.c
@@ -23,11 +23,7 @@
void at91_add_device_sdram(u32 size)
{
- struct device_d *sdram_dev;
-
- sdram_dev = add_mem_device("ram0", AT91_CHIPSELECT_6, size,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram0", AT91_CHIPSELECT_6, size);
}
#if defined(CONFIG_DRIVER_NET_MACB)
diff --git a/arch/arm/mach-nomadik/8815.c b/arch/arm/mach-nomadik/8815.c
index f2b8fd0130..bcc34062b5 100644
--- a/arch/arm/mach-nomadik/8815.c
+++ b/arch/arm/mach-nomadik/8815.c
@@ -33,11 +33,7 @@ static struct clk st8815_clk_48 = {
void st8815_add_device_sdram(u32 size)
{
- struct device_d *sdram_dev;
-
- sdram_dev = add_mem_device("ram0", 0x00000000, size,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram0", 0x00000000, size);
}
void st8815_register_uart(unsigned id)
diff --git a/arch/arm/mach-versatile/core.c b/arch/arm/mach-versatile/core.c
index 249d97a3d1..28582f7f26 100644
--- a/arch/arm/mach-versatile/core.c
+++ b/arch/arm/mach-versatile/core.c
@@ -44,11 +44,7 @@
void versatile_add_sdram(u32 size)
{
- struct device_d *sdram_dev;
-
- sdram_dev = add_mem_device("ram0", 0x00000000, size,
- IORESOURCE_MEM_WRITEABLE);
- armlinux_add_dram(sdram_dev);
+ arm_add_mem_device("ram0", 0x00000000, size);
}
struct clk {