From 9973e3c614721bbf169882ffc3be266a6611cd60 Mon Sep 17 00:00:00 2001
From: Becky Bruce <becky.bruce@freescale.com>
Date: Mon, 9 Jun 2008 16:03:40 -0500
Subject: [PATCH] Change initdram() return type to phys_size_t

This patch changes the return type of initdram() from long int to phys_size_t.
This is required for a couple of reasons: long int limits the amount of dram
to 2GB, and u-boot in general is moving over to phys_size_t to represent the
size of physical memory.  phys_size_t is defined as an unsigned long on almost
all current platforms.

This patch *only* changes the return type of the initdram function (in
include/common.h, as well as in each board's implementation of initdram).  It
does not actually modify the code inside the function on any of the platforms;
platforms which wish to support more than 2GB of DRAM will need to modify
their initdram() function code.

Build tested with MAKEALL for ppc, arm, mips, mips-el. Booted on powerpc
MPC8641HPCN.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
---
 board/BuS/EB+MCF-EV123/EB+MCF-EV123.c         | 2 +-
 board/LEOX/elpt860/elpt860.c                  | 4 ++--
 board/MAI/AmigaOneG3SE/AmigaOneG3SE.c         | 2 +-
 board/Marvell/db64360/sdram_init.c            | 2 +-
 board/Marvell/db64460/sdram_init.c            | 2 +-
 board/RPXClassic/RPXClassic.c                 | 2 +-
 board/RPXlite/RPXlite.c                       | 2 +-
 board/RPXlite_dw/RPXlite_dw.c                 | 2 +-
 board/RRvision/RRvision.c                     | 2 +-
 board/a3000/a3000.c                           | 2 +-
 board/adder/adder.c                           | 2 +-
 board/ads5121/ads5121.c                       | 2 +-
 board/alaska/alaska.c                         | 2 +-
 board/altera/dk1c20/dk1c20.c                  | 2 +-
 board/altera/dk1s10/dk1s10.c                  | 2 +-
 board/altera/ep1c20/ep1c20.c                  | 2 +-
 board/altera/ep1s10/ep1s10.c                  | 2 +-
 board/altera/ep1s40/ep1s40.c                  | 2 +-
 board/amcc/acadia/memory.c                    | 2 +-
 board/amcc/bamboo/bamboo.c                    | 2 +-
 board/amcc/bubinga/bubinga.c                  | 2 +-
 board/amcc/canyonlands/canyonlands.c          | 2 +-
 board/amcc/ebony/ebony.c                      | 2 +-
 board/amcc/ocotea/ocotea.c                    | 2 +-
 board/amcc/sequoia/sdram.c                    | 2 +-
 board/amcc/taihu/taihu.c                      | 4 ++--
 board/amcc/walnut/walnut.c                    | 2 +-
 board/amcc/yosemite/yosemite.c                | 2 +-
 board/amirix/ap1000/ap1000.c                  | 2 +-
 board/atc/atc.c                               | 2 +-
 board/atmel/atngw100/atngw100.c               | 2 +-
 board/atmel/atstk1000/atstk1000.c             | 2 +-
 board/atum8548/atum8548.c                     | 2 +-
 board/barco/barco.c                           | 2 +-
 board/barco/barco_svc.h                       | 2 +-
 board/bc3450/bc3450.c                         | 4 ++--
 board/bf533-ezkit/bf533-ezkit.c               | 2 +-
 board/bf533-stamp/bf533-stamp.c               | 2 +-
 board/bf537-stamp/bf537-stamp.c               | 2 +-
 board/bf561-ezkit/bf561-ezkit.c               | 2 +-
 board/bmw/bmw.c                               | 2 +-
 board/c2mon/c2mon.c                           | 2 +-
 board/canmb/canmb.c                           | 4 ++--
 board/cm5200/cm5200.c                         | 2 +-
 board/cmi/cmi.c                               | 2 +-
 board/cobra5272/cobra5272.c                   | 2 +-
 board/cogent/mb.c                             | 2 +-
 board/cpc45/cpc45.c                           | 2 +-
 board/cpu86/cpu86.c                           | 2 +-
 board/cpu87/cpu87.c                           | 2 +-
 board/cray/L1/L1.c                            | 2 +-
 board/csb272/csb272.c                         | 2 +-
 board/csb472/csb472.c                         | 2 +-
 board/cu824/cu824.c                           | 2 +-
 board/dave/PPChameleonEVB/PPChameleonEVB.c    | 2 +-
 board/dbau1x00/dbau1x00.c                     | 2 +-
 board/eXalion/eXalion.c                       | 2 +-
 board/eltec/bab7xx/bab7xx.c                   | 2 +-
 board/eltec/elppc/elppc.c                     | 2 +-
 board/eltec/mhpc/mhpc.c                       | 2 +-
 board/emk/top5200/top5200.c                   | 2 +-
 board/emk/top860/top860.c                     | 2 +-
 board/ep8248/ep8248.c                         | 2 +-
 board/ep8260/ep8260.c                         | 2 +-
 board/ep82xxm/ep82xxm.c                       | 2 +-
 board/ep88x/ep88x.c                           | 2 +-
 board/eric/eric.c                             | 2 +-
 board/esd/adciop/adciop.c                     | 2 +-
 board/esd/apc405/apc405.c                     | 2 +-
 board/esd/ash405/ash405.c                     | 2 +-
 board/esd/cms700/cms700.c                     | 2 +-
 board/esd/cpci2dp/cpci2dp.c                   | 2 +-
 board/esd/cpci405/cpci405.c                   | 2 +-
 board/esd/cpci5200/cpci5200.c                 | 2 +-
 board/esd/cpci750/sdram_init.c                | 2 +-
 board/esd/cpciiser4/cpciiser4.c               | 2 +-
 board/esd/dasa_sim/dasa_sim.c                 | 2 +-
 board/esd/dp405/dp405.c                       | 2 +-
 board/esd/du405/du405.c                       | 2 +-
 board/esd/hh405/hh405.c                       | 2 +-
 board/esd/hub405/hub405.c                     | 2 +-
 board/esd/mecp5200/mecp5200.c                 | 2 +-
 board/esd/ocrtc/ocrtc.c                       | 2 +-
 board/esd/pci405/pci405.c                     | 2 +-
 board/esd/pf5200/pf5200.c                     | 2 +-
 board/esd/plu405/plu405.c                     | 2 +-
 board/esd/pmc405/pmc405.c                     | 2 +-
 board/esd/pmc440/sdram.c                      | 2 +-
 board/esd/tasreg/tasreg.c                     | 2 +-
 board/esd/voh405/voh405.c                     | 2 +-
 board/esd/vom405/vom405.c                     | 2 +-
 board/esd/wuh405/wuh405.c                     | 2 +-
 board/esteem192e/esteem192e.c                 | 2 +-
 board/etin/debris/debris.c                    | 2 +-
 board/etin/kvme080/kvme080.c                  | 2 +-
 board/etx094/etx094.c                         | 2 +-
 board/evb64260/sdram_init.c                   | 2 +-
 board/exbitgen/exbitgen.c                     | 2 +-
 board/fads/fads.c                             | 2 +-
 board/flagadm/flagadm.c                       | 2 +-
 board/freescale/m52277evb/m52277evb.c         | 2 +-
 board/freescale/m5235evb/m5235evb.c           | 2 +-
 board/freescale/m5249evb/m5249evb.c           | 2 +-
 board/freescale/m5253evbe/m5253evbe.c         | 2 +-
 board/freescale/m5275evb/m5275evb.c           | 2 +-
 board/freescale/m5329evb/m5329evb.c           | 2 +-
 board/freescale/m5373evb/m5373evb.c           | 2 +-
 board/freescale/m54455evb/m54455evb.c         | 2 +-
 board/freescale/m547xevb/m547xevb.c           | 2 +-
 board/freescale/m548xevb/m548xevb.c           | 2 +-
 board/freescale/mpc7448hpc2/mpc7448hpc2.c     | 2 +-
 board/freescale/mpc8260ads/mpc8260ads.c       | 2 +-
 board/freescale/mpc8266ads/mpc8266ads.c       | 2 +-
 board/freescale/mpc8313erdb/sdram.c           | 2 +-
 board/freescale/mpc8315erdb/sdram.c           | 2 +-
 board/freescale/mpc8323erdb/mpc8323erdb.c     | 2 +-
 board/freescale/mpc832xemds/mpc832xemds.c     | 2 +-
 board/freescale/mpc8349emds/mpc8349emds.c     | 2 +-
 board/freescale/mpc8349itx/mpc8349itx.c       | 2 +-
 board/freescale/mpc8360emds/mpc8360emds.c     | 2 +-
 board/freescale/mpc8360erdk/mpc8360erdk.c     | 2 +-
 board/freescale/mpc837xemds/mpc837xemds.c     | 2 +-
 board/freescale/mpc837xerdb/mpc837xerdb.c     | 2 +-
 board/freescale/mpc8540ads/mpc8540ads.c       | 2 +-
 board/freescale/mpc8541cds/mpc8541cds.c       | 2 +-
 board/freescale/mpc8544ds/mpc8544ds.c         | 2 +-
 board/freescale/mpc8548cds/mpc8548cds.c       | 2 +-
 board/freescale/mpc8555cds/mpc8555cds.c       | 2 +-
 board/freescale/mpc8560ads/mpc8560ads.c       | 2 +-
 board/freescale/mpc8568mds/mpc8568mds.c       | 2 +-
 board/freescale/mpc8610hpcd/mpc8610hpcd.c     | 2 +-
 board/freescale/mpc8641hpcn/mpc8641hpcn.c     | 2 +-
 board/funkwerk/vovpn-gw/vovpn-gw.c            | 2 +-
 board/g2000/g2000.c                           | 2 +-
 board/gaisler/gr_cpci_ax2000/gr_cpci_ax2000.c | 2 +-
 board/gaisler/gr_ep2s60/gr_ep2s60.c           | 2 +-
 board/gaisler/gr_xc3s_1500/gr_xc3s_1500.c     | 2 +-
 board/gaisler/grsim/grsim.c                   | 2 +-
 board/gaisler/grsim_leon2/grsim_leon2.c       | 2 +-
 board/gen860t/gen860t.c                       | 2 +-
 board/genietv/genietv.c                       | 2 +-
 board/gth/gth.c                               | 2 +-
 board/gth2/gth2.c                             | 2 +-
 board/gw8260/gw8260.c                         | 2 +-
 board/hermes/hermes.c                         | 2 +-
 board/hidden_dragon/hidden_dragon.c           | 2 +-
 board/hmi1001/hmi1001.c                       | 2 +-
 board/hymod/hymod.c                           | 2 +-
 board/icecube/icecube.c                       | 4 ++--
 board/icu862/icu862.c                         | 2 +-
 board/idmr/idmr.c                             | 2 +-
 board/ids8247/ids8247.c                       | 2 +-
 board/incaip/incaip.c                         | 2 +-
 board/inka4x0/inka4x0.c                       | 2 +-
 board/ip860/ip860.c                           | 2 +-
 board/iphase4539/iphase4539.c                 | 2 +-
 board/ispan/ispan.c                           | 2 +-
 board/ivm/ivm.c                               | 2 +-
 board/jse/sdram.c                             | 2 +-
 board/jupiter/jupiter.c                       | 2 +-
 board/kup/kup4k/kup4k.c                       | 2 +-
 board/kup/kup4x/kup4x.c                       | 2 +-
 board/lantec/lantec.c                         | 2 +-
 board/linkstation/linkstation.c               | 2 +-
 board/lwmon/lwmon.c                           | 4 ++--
 board/lwmon5/sdram.c                          | 2 +-
 board/m5271evb/m5271evb.c                     | 2 +-
 board/m5272c3/m5272c3.c                       | 2 +-
 board/m5282evb/m5282evb.c                     | 2 +-
 board/mbx8xx/mbx8xx.c                         | 2 +-
 board/mcc200/mcc200.c                         | 2 +-
 board/mgcoge/mgcoge.c                         | 2 +-
 board/mgsuvd/mgsuvd.c                         | 2 +-
 board/ml2/ml2.c                               | 2 +-
 board/motionpro/motionpro.c                   | 2 +-
 board/mousse/mousse.c                         | 2 +-
 board/mpc8540eval/mpc8540eval.c               | 2 +-
 board/mpl/mip405/mip405.c                     | 2 +-
 board/mpl/pati/pati.c                         | 2 +-
 board/mpl/pip405/pip405.c                     | 2 +-
 board/munices/munices.c                       | 2 +-
 board/musenki/musenki.c                       | 2 +-
 board/mvblm7/mvblm7.c                         | 2 +-
 board/mvblue/mvblue.c                         | 2 +-
 board/mvs1/mvs1.c                             | 2 +-
 board/nc650/nc650.c                           | 2 +-
 board/netphone/netphone.c                     | 2 +-
 board/netstal/hcu4/hcu4.c                     | 2 +-
 board/netstal/hcu5/sdram.c                    | 2 +-
 board/netstal/mcu25/mcu25.c                   | 2 +-
 board/netta/netta.c                           | 2 +-
 board/netta2/netta2.c                         | 2 +-
 board/netvia/netvia.c                         | 2 +-
 board/nx823/nx823.c                           | 2 +-
 board/o2dnt/o2dnt.c                           | 2 +-
 board/oxc/oxc.c                               | 2 +-
 board/pb1x00/pb1x00.c                         | 2 +-
 board/pcippc2/pcippc2.c                       | 2 +-
 board/pcs440ep/pcs440ep.c                     | 2 +-
 board/pm520/pm520.c                           | 4 ++--
 board/pm826/pm826.c                           | 2 +-
 board/pm828/pm828.c                           | 2 +-
 board/pm854/pm854.c                           | 2 +-
 board/pm856/pm856.c                           | 2 +-
 board/pn62/pn62.c                             | 2 +-
 board/ppmc7xx/ppmc7xx.c                       | 2 +-
 board/ppmc8260/ppmc8260.c                     | 2 +-
 board/prodrive/p3mx/sdram_init.c              | 2 +-
 board/psyent/pci5441/pci5441.c                | 2 +-
 board/psyent/pk1c20/pk1c20.c                  | 2 +-
 board/purple/purple.c                         | 2 +-
 board/qemu-mips/qemu-mips.c                   | 2 +-
 board/quad100hd/quad100hd.c                   | 2 +-
 board/quantum/quantum.c                       | 2 +-
 board/r360mpi/r360mpi.c                       | 2 +-
 board/rattler/rattler.c                       | 2 +-
 board/rbc823/rbc823.c                         | 2 +-
 board/rmu/rmu.c                               | 2 +-
 board/rpxsuper/rpxsuper.c                     | 2 +-
 board/rsdproto/rsdproto.c                     | 2 +-
 board/sacsng/sacsng.c                         | 2 +-
 board/sandburst/common/sb_common.c            | 2 +-
 board/sandpoint/sandpoint.c                   | 2 +-
 board/sbc405/sbc405.c                         | 2 +-
 board/sbc8240/sbc8240.c                       | 2 +-
 board/sbc8260/sbc8260.c                       | 2 +-
 board/sbc8349/sbc8349.c                       | 2 +-
 board/sbc8548/sbc8548.c                       | 2 +-
 board/sbc8560/sbc8560.c                       | 2 +-
 board/sbc8641d/sbc8641d.c                     | 2 +-
 board/sc3/sc3.c                               | 2 +-
 board/siemens/CCM/ccm.c                       | 2 +-
 board/siemens/IAD210/IAD210.c                 | 2 +-
 board/siemens/SCM/scm.c                       | 2 +-
 board/siemens/pcu_e/pcu_e.c                   | 2 +-
 board/sixnet/sixnet.c                         | 2 +-
 board/sl8245/sl8245.c                         | 2 +-
 board/snmc/qs850/qs850.c                      | 2 +-
 board/snmc/qs860t/qs860t.c                    | 2 +-
 board/socrates/sdram.c                        | 2 +-
 board/sorcery/sorcery.c                       | 2 +-
 board/spc1920/spc1920.c                       | 2 +-
 board/spd8xx/spd8xx.c                         | 2 +-
 board/ssv/adnpesc1/adnpesc1.c                 | 2 +-
 board/stxgp3/stxgp3.c                         | 2 +-
 board/stxssa/stxssa.c                         | 2 +-
 board/stxxtc/stxxtc.c                         | 2 +-
 board/svm_sc8xx/svm_sc8xx.c                   | 2 +-
 board/tb0229/tb0229.c                         | 2 +-
 board/total5200/total5200.c                   | 2 +-
 board/tqc/tqm5200/tqm5200.c                   | 2 +-
 board/tqc/tqm8260/tqm8260.c                   | 2 +-
 board/tqc/tqm8272/tqm8272.c                   | 2 +-
 board/tqc/tqm834x/tqm834x.c                   | 2 +-
 board/tqc/tqm85xx/sdram.c                     | 2 +-
 board/tqc/tqm8xx/tqm8xx.c                     | 2 +-
 board/uc100/uc100.c                           | 2 +-
 board/uc101/uc101.c                           | 2 +-
 board/utx8245/utx8245.c                       | 2 +-
 board/v37/v37.c                               | 2 +-
 board/v38b/v38b.c                             | 2 +-
 board/w7o/w7o.c                               | 2 +-
 board/westel/amx860/amx860.c                  | 2 +-
 board/xilinx/ml300/ml300.c                    | 2 +-
 board/xpedite1k/xpedite1k.c                   | 2 +-
 board/zeus/zeus.c                             | 2 +-
 board/zpc1900/zpc1900.c                       | 2 +-
 cpu/ppc4xx/44x_spd_ddr2.c                     | 4 ++--
 cpu/ppc4xx/denali_spd_ddr2.c                  | 2 +-
 cpu/ppc4xx/sdram.c                            | 4 ++--
 include/common.h                              | 2 +-
 nand_spl/board/amcc/bamboo/sdram.c            | 4 ++--
 nand_spl/board/amcc/canyonlands/ddr2_fixed.c  | 2 +-
 273 files changed, 283 insertions(+), 283 deletions(-)

diff --git a/board/BuS/EB+MCF-EV123/EB+MCF-EV123.c b/board/BuS/EB+MCF-EV123/EB+MCF-EV123.c
index dcfd83ed27..fad9c406d9 100644
--- a/board/BuS/EB+MCF-EV123/EB+MCF-EV123.c
+++ b/board/BuS/EB+MCF-EV123/EB+MCF-EV123.c
@@ -39,7 +39,7 @@ int checkboard (void)
 	return 0;
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	int size,i;
 
diff --git a/board/LEOX/elpt860/elpt860.c b/board/LEOX/elpt860/elpt860.c
index 775db738e6..5f506314c5 100644
--- a/board/LEOX/elpt860/elpt860.c
+++ b/board/LEOX/elpt860/elpt860.c
@@ -35,7 +35,7 @@
 ** ------
 **              int             board_early_init_f(void)
 **              int             checkboard(void)
-**              long int        initdram(int board_type)
+**              phys_size_t     initdram(int board_type)
 ** called from 'board_init_f()' into 'common/board.c'
 **
 **              void            reset_phy(void)
@@ -179,7 +179,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/MAI/AmigaOneG3SE/AmigaOneG3SE.c b/board/MAI/AmigaOneG3SE/AmigaOneG3SE.c
index 3bbc09dd9c..e118563fc4 100644
--- a/board/MAI/AmigaOneG3SE/AmigaOneG3SE.c
+++ b/board/MAI/AmigaOneG3SE/AmigaOneG3SE.c
@@ -81,7 +81,7 @@ int checkboard (void)
 	return 0;
 }
 
-long initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	return articiaS_ram_init ();
 }
diff --git a/board/Marvell/db64360/sdram_init.c b/board/Marvell/db64360/sdram_init.c
index f04aaf9a6e..ecadaf2710 100644
--- a/board/Marvell/db64360/sdram_init.c
+++ b/board/Marvell/db64360/sdram_init.c
@@ -1728,7 +1728,7 @@ long int dram_size (long int *base, long int maxsize)
 
 /* ppcboot interface function to SDRAM init - this is where all the
  * controlling logic happens */
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	int s0 = 0, s1 = 0;
 	int checkbank[4] = {[0 ... 3] = 0 };
diff --git a/board/Marvell/db64460/sdram_init.c b/board/Marvell/db64460/sdram_init.c
index 176220232e..f36f3484ab 100644
--- a/board/Marvell/db64460/sdram_init.c
+++ b/board/Marvell/db64460/sdram_init.c
@@ -1737,7 +1737,7 @@ long int dram_size (long int *base, long int maxsize)
 
 /* ppcboot interface function to SDRAM init - this is where all the
  * controlling logic happens */
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	int s0 = 0, s1 = 0;
 	int checkbank[4] = {[0 ... 3] = 0 };
diff --git a/board/RPXClassic/RPXClassic.c b/board/RPXClassic/RPXClassic.c
index 49cb8ad24f..804635a4ae 100644
--- a/board/RPXClassic/RPXClassic.c
+++ b/board/RPXClassic/RPXClassic.c
@@ -165,7 +165,7 @@ void rpxclassic_init (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/RPXlite/RPXlite.c b/board/RPXlite/RPXlite.c
index f37e07b923..bca31e4c8e 100644
--- a/board/RPXlite/RPXlite.c
+++ b/board/RPXlite/RPXlite.c
@@ -102,7 +102,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/RPXlite_dw/RPXlite_dw.c b/board/RPXlite_dw/RPXlite_dw.c
index d3dc081219..d6fabf04ea 100644
--- a/board/RPXlite_dw/RPXlite_dw.c
+++ b/board/RPXlite_dw/RPXlite_dw.c
@@ -104,7 +104,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t     *immap  = (immap_t *)CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/RRvision/RRvision.c b/board/RRvision/RRvision.c
index f46bb9e8e4..c0b772d727 100644
--- a/board/RRvision/RRvision.c
+++ b/board/RRvision/RRvision.c
@@ -110,7 +110,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/a3000/a3000.c b/board/a3000/a3000.c
index 737d35d76c..c1eceaa2f4 100644
--- a/board/a3000/a3000.c
+++ b/board/a3000/a3000.c
@@ -38,7 +38,7 @@ int checkboard (void)
 
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	long size;
 	long new_bank0_end;
diff --git a/board/adder/adder.c b/board/adder/adder.c
index 817c8649aa..e8a5737f58 100644
--- a/board/adder/adder.c
+++ b/board/adder/adder.c
@@ -65,7 +65,7 @@ static uint sdram_table[] = {
 	0xfffffc27, 0xfffffc04, 0xfffffc04, 0xfffffc04
 };
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	long int msize;
 	volatile immap_t     *immap  = (volatile immap_t *)CFG_IMMR;
diff --git a/board/ads5121/ads5121.c b/board/ads5121/ads5121.c
index 2892665295..ef66663330 100644
--- a/board/ads5121/ads5121.c
+++ b/board/ads5121/ads5121.c
@@ -112,7 +112,7 @@ int board_early_init_f (void)
 	return 0;
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	u32 msize = 0;
 
diff --git a/board/alaska/alaska.c b/board/alaska/alaska.c
index 9531703fc9..49a8f712ba 100644
--- a/board/alaska/alaska.c
+++ b/board/alaska/alaska.c
@@ -131,7 +131,7 @@ void setupBat (ulong size)
 	mtspr (DBAT7U, batu);
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	ulong size;
 
diff --git a/board/altera/dk1c20/dk1c20.c b/board/altera/dk1c20/dk1c20.c
index d0eb9eacb8..46695bea92 100644
--- a/board/altera/dk1c20/dk1c20.c
+++ b/board/altera/dk1c20/dk1c20.c
@@ -50,7 +50,7 @@ int checkboard (void)
 	return 0;
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	return (0);
 }
diff --git a/board/altera/dk1s10/dk1s10.c b/board/altera/dk1s10/dk1s10.c
index c45e7f15d7..64d591e714 100644
--- a/board/altera/dk1s10/dk1s10.c
+++ b/board/altera/dk1s10/dk1s10.c
@@ -54,7 +54,7 @@ int checkboard (void)
 	return 0;
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	return (0);
 }
diff --git a/board/altera/ep1c20/ep1c20.c b/board/altera/ep1c20/ep1c20.c
index 29491391ef..c5bfb85a71 100644
--- a/board/altera/ep1c20/ep1c20.c
+++ b/board/altera/ep1c20/ep1c20.c
@@ -34,7 +34,7 @@ int checkboard (void)
 	return 0;
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	return (0);
 }
diff --git a/board/altera/ep1s10/ep1s10.c b/board/altera/ep1s10/ep1s10.c
index 9c7e28e68c..de9bf42bdc 100644
--- a/board/altera/ep1s10/ep1s10.c
+++ b/board/altera/ep1s10/ep1s10.c
@@ -34,7 +34,7 @@ int checkboard (void)
 	return 0;
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	return (0);
 }
diff --git a/board/altera/ep1s40/ep1s40.c b/board/altera/ep1s40/ep1s40.c
index cb75550476..c0eca17b92 100644
--- a/board/altera/ep1s40/ep1s40.c
+++ b/board/altera/ep1s40/ep1s40.c
@@ -29,7 +29,7 @@ int checkboard (void)
 	return 0;
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	return (0);
 }
diff --git a/board/amcc/acadia/memory.c b/board/amcc/acadia/memory.c
index 3dec3159a5..48a6725745 100644
--- a/board/amcc/acadia/memory.c
+++ b/board/amcc/acadia/memory.c
@@ -59,7 +59,7 @@ static void cram_bcr_write(u32 wr_val)
 }
 #endif
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 #if defined(CONFIG_NAND_SPL)
 	u32 reg;
diff --git a/board/amcc/bamboo/bamboo.c b/board/amcc/bamboo/bamboo.c
index 0c7d69e783..f4157017f1 100644
--- a/board/amcc/bamboo/bamboo.c
+++ b/board/amcc/bamboo/bamboo.c
@@ -453,7 +453,7 @@ int checkboard(void)
 }
 
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 #if !(defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL))
 	long dram_size;
diff --git a/board/amcc/bubinga/bubinga.c b/board/amcc/bubinga/bubinga.c
index 9d508b8937..74a2a1c214 100644
--- a/board/amcc/bubinga/bubinga.c
+++ b/board/amcc/bubinga/bubinga.c
@@ -70,7 +70,7 @@ int checkboard(void)
   initdram(int board_type) reads EEPROM via I2c. EEPROM contains all of
   the necessary info for SDRAM controller configuration
    ------------------------------------------------------------------------- */
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	long int ret;
 
diff --git a/board/amcc/canyonlands/canyonlands.c b/board/amcc/canyonlands/canyonlands.c
index 4e3b349ef8..e0e0211a67 100644
--- a/board/amcc/canyonlands/canyonlands.c
+++ b/board/amcc/canyonlands/canyonlands.c
@@ -205,7 +205,7 @@ u32 ddr_clktr(u32 default_val) {
  * I2C SPD DIMM autodetection/calibration doesn't fit into the 4k of boot
  * code.
  */
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	return CFG_MBYTES_SDRAM << 20;
 }
diff --git a/board/amcc/ebony/ebony.c b/board/amcc/ebony/ebony.c
index c6375aca8d..9bcdf5997f 100644
--- a/board/amcc/ebony/ebony.c
+++ b/board/amcc/ebony/ebony.c
@@ -104,7 +104,7 @@ int checkboard(void)
 	return (0);
 }
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	long dram_size = 0;
 
diff --git a/board/amcc/ocotea/ocotea.c b/board/amcc/ocotea/ocotea.c
index 79c1a1b496..eea1e1e177 100644
--- a/board/amcc/ocotea/ocotea.c
+++ b/board/amcc/ocotea/ocotea.c
@@ -201,7 +201,7 @@ int checkboard (void)
 }
 
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	long dram_size = 0;
 
diff --git a/board/amcc/sequoia/sdram.c b/board/amcc/sequoia/sdram.c
index b43ec48091..77e6c7b4d1 100644
--- a/board/amcc/sequoia/sdram.c
+++ b/board/amcc/sequoia/sdram.c
@@ -52,7 +52,7 @@ extern void denali_core_search_data_eye(void);
  * initdram -- 440EPx's DDR controller is a DENALI Core
  *
  ************************************************************************/
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 #if !defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL)
 #if !defined(CONFIG_NAND_SPL)
diff --git a/board/amcc/taihu/taihu.c b/board/amcc/taihu/taihu.c
index e4fdf4ae74..254e3eb837 100644
--- a/board/amcc/taihu/taihu.c
+++ b/board/amcc/taihu/taihu.c
@@ -78,10 +78,10 @@ int checkboard(void)
 }
 
 /*************************************************************************
- *  long int initdram
+ *  phys_size_t initdram
  *
  ************************************************************************/
-long int initdram(int board)
+phys_size_t initdram(int board)
 {
 	return CFG_SDRAM_SIZE_PER_BANK * CFG_SDRAM_BANKS; /* 128Mbytes */
 }
diff --git a/board/amcc/walnut/walnut.c b/board/amcc/walnut/walnut.c
index 641987e871..28dcb66ebc 100644
--- a/board/amcc/walnut/walnut.c
+++ b/board/amcc/walnut/walnut.c
@@ -89,7 +89,7 @@ int checkboard(void)
  * initdram(int board_type) reads EEPROM via I2c. EEPROM contains all of
  * the necessary info for SDRAM controller configuration
  */
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	return spd_sdram();
 }
diff --git a/board/amcc/yosemite/yosemite.c b/board/amcc/yosemite/yosemite.c
index 83455375de..3b1f8e2d79 100644
--- a/board/amcc/yosemite/yosemite.c
+++ b/board/amcc/yosemite/yosemite.c
@@ -281,7 +281,7 @@ void sdram_tr1_set(int ram_address, int* tr1_value)
 	*tr1_value = (first_good + last_bad) / 2;
 }
 
-long int initdram(int board)
+phys_size_t initdram(int board)
 {
 	register uint reg;
 	int tr1_bank1, tr1_bank2;
diff --git a/board/amirix/ap1000/ap1000.c b/board/amirix/ap1000/ap1000.c
index 7d11b29b59..55277e72d5 100644
--- a/board/amirix/ap1000/ap1000.c
+++ b/board/amirix/ap1000/ap1000.c
@@ -133,7 +133,7 @@ int checkboard (void)
 }
 
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	char *s = getenv ("dramsize");
 
diff --git a/board/atc/atc.c b/board/atc/atc.c
index fe32155822..79527f4384 100644
--- a/board/atc/atc.c
+++ b/board/atc/atc.c
@@ -340,7 +340,7 @@ int misc_init_r(void)
 	return (0);
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8260_t *memctl = &immap->im_memctl;
diff --git a/board/atmel/atngw100/atngw100.c b/board/atmel/atngw100/atngw100.c
index c649855d63..375f0e7e17 100644
--- a/board/atmel/atngw100/atngw100.c
+++ b/board/atmel/atngw100/atngw100.c
@@ -64,7 +64,7 @@ int board_early_init_f(void)
 	return 0;
 }
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	unsigned long expected_size;
 	unsigned long actual_size;
diff --git a/board/atmel/atstk1000/atstk1000.c b/board/atmel/atstk1000/atstk1000.c
index 33bdba6f5d..6371e2d4e3 100644
--- a/board/atmel/atstk1000/atstk1000.c
+++ b/board/atmel/atstk1000/atstk1000.c
@@ -90,7 +90,7 @@ int board_early_init_f(void)
 	return 0;
 }
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	unsigned long expected_size;
 	unsigned long actual_size;
diff --git a/board/atum8548/atum8548.c b/board/atum8548/atum8548.c
index 2f6ae29d99..4d8c6fbae3 100644
--- a/board/atum8548/atum8548.c
+++ b/board/atum8548/atum8548.c
@@ -98,7 +98,7 @@ long int fixed_sdram (void)
 }
 #endif	/* !defined(CONFIG_SPD_EEPROM) */
 
-long int
+phys_size_t
 initdram(int board_type)
 {
 	long dram_size = 0;
diff --git a/board/barco/barco.c b/board/barco/barco.c
index becbd0abda..72e7e0b050 100644
--- a/board/barco/barco.c
+++ b/board/barco/barco.c
@@ -83,7 +83,7 @@ int checkboard (void)
 	return 0;
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	long size;
 	long new_bank0_end;
diff --git a/board/barco/barco_svc.h b/board/barco/barco_svc.h
index 088f61e74e..bd924f2b18 100644
--- a/board/barco/barco_svc.h
+++ b/board/barco/barco_svc.h
@@ -59,7 +59,7 @@ typedef struct SBootInfo {
 
 /* barcohydra.c */
 int checkboard(void);
-long int initdram(int board_type);
+phys_size_t initdram(int board_type);
 void pci_init_board(void);
 void check_flash(void);
 int write_flash(char *addr, char value);
diff --git a/board/bc3450/bc3450.c b/board/bc3450/bc3450.c
index 56a73fe4d0..a728dc64d7 100644
--- a/board/bc3450/bc3450.c
+++ b/board/bc3450/bc3450.c
@@ -104,7 +104,7 @@ static void sdram_start (int hi_addr)
  */
 
 #if defined(CONFIG_MPC5200)
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	ulong dramsize = 0;
 	ulong dramsize2 = 0;
@@ -205,7 +205,7 @@ long int initdram (int board_type)
 
 #elif defined(CONFIG_MGT5100)
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	ulong dramsize = 0;
 #ifndef CFG_RAMBOOT
diff --git a/board/bf533-ezkit/bf533-ezkit.c b/board/bf533-ezkit/bf533-ezkit.c
index 738f69c781..583560adb3 100644
--- a/board/bf533-ezkit/bf533-ezkit.c
+++ b/board/bf533-ezkit/bf533-ezkit.c
@@ -39,7 +39,7 @@ int checkboard(void)
 	return 0;
 }
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 #ifdef DEBUG
 	int brate;
diff --git a/board/bf533-stamp/bf533-stamp.c b/board/bf533-stamp/bf533-stamp.c
index c4dde92c1a..7a17dfa55b 100644
--- a/board/bf533-stamp/bf533-stamp.c
+++ b/board/bf533-stamp/bf533-stamp.c
@@ -48,7 +48,7 @@ int checkboard(void)
 	return 0;
 }
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 #ifdef DEBUG
 	printf("SDRAM attributes:\n");
diff --git a/board/bf537-stamp/bf537-stamp.c b/board/bf537-stamp/bf537-stamp.c
index e714177d7c..cd7a04dbfa 100644
--- a/board/bf537-stamp/bf537-stamp.c
+++ b/board/bf537-stamp/bf537-stamp.c
@@ -97,7 +97,7 @@ void cf_outsw(unsigned short *addr, unsigned short *sect_buf, int words)
 }
 #endif				/* CONFIG_BFIN_IDE */
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 #ifdef DEBUG
 	int brate;
diff --git a/board/bf561-ezkit/bf561-ezkit.c b/board/bf561-ezkit/bf561-ezkit.c
index d504217a1a..7345b42cb4 100644
--- a/board/bf561-ezkit/bf561-ezkit.c
+++ b/board/bf561-ezkit/bf561-ezkit.c
@@ -39,7 +39,7 @@ int checkboard(void)
 	return 0;
 }
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 #ifdef DEBUG
 	int brate;
diff --git a/board/bmw/bmw.c b/board/bmw/bmw.c
index 485e050b19..043143163a 100644
--- a/board/bmw/bmw.c
+++ b/board/bmw/bmw.c
@@ -51,7 +51,7 @@ int checkboard(void)
     return 0;
 }
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
     return 64*1024*1024;
 }
diff --git a/board/c2mon/c2mon.c b/board/c2mon/c2mon.c
index ca8eb0cb02..7d2f746f45 100644
--- a/board/c2mon/c2mon.c
+++ b/board/c2mon/c2mon.c
@@ -108,7 +108,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/canmb/canmb.c b/board/canmb/canmb.c
index 1782b314f8..d3711d0779 100644
--- a/board/canmb/canmb.c
+++ b/board/canmb/canmb.c
@@ -82,7 +82,7 @@ static void sdram_start (int hi_addr)
  */
 
 #if defined(CONFIG_MPC5200)
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	ulong dramsize = 0;
 	ulong dramsize2 = 0;
@@ -185,7 +185,7 @@ long int initdram (int board_type)
 
 #elif defined(CONFIG_MGT5100)
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	ulong dramsize = 0;
 #ifndef CFG_RAMBOOT
diff --git a/board/cm5200/cm5200.c b/board/cm5200/cm5200.c
index 79fb71dc70..3e952d869f 100644
--- a/board/cm5200/cm5200.c
+++ b/board/cm5200/cm5200.c
@@ -114,7 +114,7 @@ static mem_conf_t* get_mem_config(int board_type)
 /*
  * Initalize SDRAM - configure SDRAM controller, detect memory size.
  */
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	ulong dramsize = 0;
 #ifndef CFG_RAMBOOT
diff --git a/board/cmi/cmi.c b/board/cmi/cmi.c
index cbf34f7854..8501cae21a 100644
--- a/board/cmi/cmi.c
+++ b/board/cmi/cmi.c
@@ -62,7 +62,7 @@ int checkboard(void)
 /*
  * Get RAM size.
  */
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	return (SRAM_SIZE);		/* We currently have a static size adapted for cmi board. */
 }
diff --git a/board/cobra5272/cobra5272.c b/board/cobra5272/cobra5272.c
index 86c7ee1eec..b928550504 100644
--- a/board/cobra5272/cobra5272.c
+++ b/board/cobra5272/cobra5272.c
@@ -32,7 +32,7 @@ int checkboard (void)
 	return 0;
 };
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile sdramctrl_t *sdp = (sdramctrl_t *) (MMAP_SDRAM);
 
diff --git a/board/cogent/mb.c b/board/cogent/mb.c
index 917132b3fb..619aea3c0c 100644
--- a/board/cogent/mb.c
+++ b/board/cogent/mb.c
@@ -233,7 +233,7 @@ int misc_init_f (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 #ifdef CONFIG_CMA111
 	return (32L * 1024L * 1024L);
diff --git a/board/cpc45/cpc45.c b/board/cpc45/cpc45.c
index 79eb473176..f4e867ce7d 100644
--- a/board/cpc45/cpc45.c
+++ b/board/cpc45/cpc45.c
@@ -61,7 +61,7 @@ int checkboard(void)
 	return 0;
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	int m, row, col, bank, i, ref;
 	unsigned long start, end;
diff --git a/board/cpu86/cpu86.c b/board/cpu86/cpu86.c
index 0eb94efdaa..9e76c72d3e 100644
--- a/board/cpu86/cpu86.c
+++ b/board/cpu86/cpu86.c
@@ -273,7 +273,7 @@ static long int try_init (volatile memctl8260_t * memctl, ulong sdmr,
 	return (size);
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8260_t *memctl = &immap->im_memctl;
diff --git a/board/cpu87/cpu87.c b/board/cpu87/cpu87.c
index a2fd19398b..f5a5de5d82 100644
--- a/board/cpu87/cpu87.c
+++ b/board/cpu87/cpu87.c
@@ -274,7 +274,7 @@ static long int try_init (volatile memctl8260_t * memctl, ulong sdmr,
 	return (size);
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8260_t *memctl = &immap->im_memctl;
diff --git a/board/cray/L1/L1.c b/board/cray/L1/L1.c
index a72ba4620b..f0dfa07fdc 100644
--- a/board/cray/L1/L1.c
+++ b/board/cray/L1/L1.c
@@ -170,7 +170,7 @@ int misc_init_r (void)
 }
 
 /* ------------------------------------------------------------------------- */
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	return (L1_MEMSIZE);
 }
diff --git a/board/csb272/csb272.c b/board/csb272/csb272.c
index 640412d10d..5a585ae37f 100644
--- a/board/csb272/csb272.c
+++ b/board/csb272/csb272.c
@@ -120,7 +120,7 @@ int checkboard(void)
  * configured by initialization code
  *
  */
-long initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	ulong tot_size;
 	ulong bank_size;
diff --git a/board/csb472/csb472.c b/board/csb472/csb472.c
index 1fbf17f944..9dc130efc1 100644
--- a/board/csb472/csb472.c
+++ b/board/csb472/csb472.c
@@ -88,7 +88,7 @@ int checkboard(void)
  * configured by initialization code
  *
  */
-long initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	ulong tot_size;
 	ulong bank_size;
diff --git a/board/cu824/cu824.c b/board/cu824/cu824.c
index 3edd27a3eb..ecf6328945 100644
--- a/board/cu824/cu824.c
+++ b/board/cu824/cu824.c
@@ -45,7 +45,7 @@ int checkboard (void)
 	return 0;
 }
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	long size;
 	long new_bank0_end;
diff --git a/board/dave/PPChameleonEVB/PPChameleonEVB.c b/board/dave/PPChameleonEVB/PPChameleonEVB.c
index e8302d9fc7..c9b288a413 100644
--- a/board/dave/PPChameleonEVB/PPChameleonEVB.c
+++ b/board/dave/PPChameleonEVB/PPChameleonEVB.c
@@ -203,7 +203,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	unsigned long val;
 
diff --git a/board/dbau1x00/dbau1x00.c b/board/dbau1x00/dbau1x00.c
index 1be72a2dd3..629dc317e0 100644
--- a/board/dbau1x00/dbau1x00.c
+++ b/board/dbau1x00/dbau1x00.c
@@ -27,7 +27,7 @@
 #include <asm/mipsregs.h>
 #include <asm/io.h>
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	/* Sdram is setup by assembler code */
 	/* If memory could be changed, we should return the true value here */
diff --git a/board/eXalion/eXalion.c b/board/eXalion/eXalion.c
index 2e3f51998e..385b498d09 100644
--- a/board/eXalion/eXalion.c
+++ b/board/eXalion/eXalion.c
@@ -52,7 +52,7 @@ int checkflash (void)
 	return (0);
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	int i, cnt;
 	volatile uchar *base = CFG_SDRAM_BASE;
diff --git a/board/eltec/bab7xx/bab7xx.c b/board/eltec/bab7xx/bab7xx.c
index 555475e4d9..af52352374 100644
--- a/board/eltec/bab7xx/bab7xx.c
+++ b/board/eltec/bab7xx/bab7xx.c
@@ -162,7 +162,7 @@ long int dram_size (int board_type)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	return dram_size (board_type);
 }
diff --git a/board/eltec/elppc/elppc.c b/board/eltec/elppc/elppc.c
index 108adb13d5..1b70605e28 100644
--- a/board/eltec/elppc/elppc.c
+++ b/board/eltec/elppc/elppc.c
@@ -104,7 +104,7 @@ long int dram_size (int board_type)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	return dram_size (board_type);
 }
diff --git a/board/eltec/mhpc/mhpc.c b/board/eltec/mhpc/mhpc.c
index 0ffbdf0e57..3666791e98 100644
--- a/board/eltec/mhpc/mhpc.c
+++ b/board/eltec/mhpc/mhpc.c
@@ -251,7 +251,7 @@ int misc_init_r (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/emk/top5200/top5200.c b/board/emk/top5200/top5200.c
index ccbd72a79b..27886261c7 100644
--- a/board/emk/top5200/top5200.c
+++ b/board/emk/top5200/top5200.c
@@ -32,7 +32,7 @@
  * initialize SDRAM/DDRAM controller.
  * TBD: get data from I2C EEPROM
  *****************************************************************************/
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	ulong dramsize = 0;
 #ifndef CFG_RAMBOOT
diff --git a/board/emk/top860/top860.c b/board/emk/top860/top860.c
index 84afaaa2b2..aca4991f54 100644
--- a/board/emk/top860/top860.c
+++ b/board/emk/top860/top860.c
@@ -76,7 +76,7 @@ int checkboard (void)
 /*****************************************************************************
  * Initialize DRAM controller
  *****************************************************************************/
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/ep8248/ep8248.c b/board/ep8248/ep8248.c
index 69975caa2e..4cfb2acc85 100644
--- a/board/ep8248/ep8248.c
+++ b/board/ep8248/ep8248.c
@@ -208,7 +208,7 @@ int board_early_init_f (void)
 	return 0;
 }
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	vu_char *bcsr = (vu_char *)CFG_BCSR;
 	long int msize = 16L << (bcsr[2] & 3);
diff --git a/board/ep8260/ep8260.c b/board/ep8260/ep8260.c
index b9e1df43d7..0e43c6df97 100644
--- a/board/ep8260/ep8260.c
+++ b/board/ep8260/ep8260.c
@@ -243,7 +243,7 @@ int checkboard (void)
 /* ------------------------------------------------------------------------- */
 
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8260_t *memctl = &immap->im_memctl;
diff --git a/board/ep82xxm/ep82xxm.c b/board/ep82xxm/ep82xxm.c
index 27443d3dfb..03baf0b59a 100644
--- a/board/ep82xxm/ep82xxm.c
+++ b/board/ep82xxm/ep82xxm.c
@@ -219,7 +219,7 @@ int board_early_init_f (void)
 	return 0;
 }
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	/* Size in MB of SDRAM populated on board*/
 	long int msize = 256;
diff --git a/board/ep88x/ep88x.c b/board/ep88x/ep88x.c
index 5f57f36bbf..92e5f0c12c 100644
--- a/board/ep88x/ep88x.c
+++ b/board/ep88x/ep88x.c
@@ -86,7 +86,7 @@ int board_early_init_f (void)
 	return 0;
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	long int msize;
 	volatile immap_t     *immap  = (volatile immap_t *)CFG_IMMR;
diff --git a/board/eric/eric.c b/board/eric/eric.c
index 14ba9b0a41..972d485b5a 100644
--- a/board/eric/eric.c
+++ b/board/eric/eric.c
@@ -121,7 +121,7 @@ int checkboard (void)
 */
 /* ------------------------------------------------------------------------- */
 /* ------------------------------------------------------------------------- */
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 #ifndef CONFIG_ERIC
 	int i;
diff --git a/board/esd/adciop/adciop.c b/board/esd/adciop/adciop.c
index 7a11a12cef..0f655b78a5 100644
--- a/board/esd/adciop/adciop.c
+++ b/board/esd/adciop/adciop.c
@@ -79,7 +79,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	return (16 * 1024 * 1024);
 }
diff --git a/board/esd/apc405/apc405.c b/board/esd/apc405/apc405.c
index 2cb743ef49..83657c8d5d 100644
--- a/board/esd/apc405/apc405.c
+++ b/board/esd/apc405/apc405.c
@@ -423,7 +423,7 @@ int checkboard (void)
 	return 0;
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	unsigned long val;
 
diff --git a/board/esd/ash405/ash405.c b/board/esd/ash405/ash405.c
index 8a5b03bced..25360a6565 100644
--- a/board/esd/ash405/ash405.c
+++ b/board/esd/ash405/ash405.c
@@ -207,7 +207,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	unsigned long val;
 
diff --git a/board/esd/cms700/cms700.c b/board/esd/cms700/cms700.c
index 3d4f2371d9..ba27c030b7 100644
--- a/board/esd/cms700/cms700.c
+++ b/board/esd/cms700/cms700.c
@@ -141,7 +141,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	unsigned long val;
 
diff --git a/board/esd/cpci2dp/cpci2dp.c b/board/esd/cpci2dp/cpci2dp.c
index 36bf329f81..54de0b8062 100644
--- a/board/esd/cpci2dp/cpci2dp.c
+++ b/board/esd/cpci2dp/cpci2dp.c
@@ -117,7 +117,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	unsigned long val;
 
diff --git a/board/esd/cpci405/cpci405.c b/board/esd/cpci405/cpci405.c
index 69cb8cef56..b856705ff9 100644
--- a/board/esd/cpci405/cpci405.c
+++ b/board/esd/cpci405/cpci405.c
@@ -495,7 +495,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	unsigned long val;
 
diff --git a/board/esd/cpci5200/cpci5200.c b/board/esd/cpci5200/cpci5200.c
index adb8597e1c..20130acfe8 100644
--- a/board/esd/cpci5200/cpci5200.c
+++ b/board/esd/cpci5200/cpci5200.c
@@ -84,7 +84,7 @@ static void sdram_start(int hi_addr)
  *            is something else than 0x00000000.
  */
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	ulong dramsize = 0;
 	ulong test1, test2;
diff --git a/board/esd/cpci750/sdram_init.c b/board/esd/cpci750/sdram_init.c
index f43e83f491..a479f0f5f8 100644
--- a/board/esd/cpci750/sdram_init.c
+++ b/board/esd/cpci750/sdram_init.c
@@ -1602,7 +1602,7 @@ dram_size(long int *base, long int maxsize)
 
 /* ppcboot interface function to SDRAM init - this is where all the
  * controlling logic happens */
-long int
+phys_size_t
 initdram(int board_type)
 {
 	int s0 = 0, s1 = 0;
diff --git a/board/esd/cpciiser4/cpciiser4.c b/board/esd/cpciiser4/cpciiser4.c
index fcb8cbbe73..204117edf5 100644
--- a/board/esd/cpciiser4/cpciiser4.c
+++ b/board/esd/cpciiser4/cpciiser4.c
@@ -186,7 +186,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	return (16 * 1024 * 1024);
 }
diff --git a/board/esd/dasa_sim/dasa_sim.c b/board/esd/dasa_sim/dasa_sim.c
index 2f8ab1a478..fb0c77e566 100644
--- a/board/esd/dasa_sim/dasa_sim.c
+++ b/board/esd/dasa_sim/dasa_sim.c
@@ -206,7 +206,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	return (16 * 1024 * 1024);
 }
diff --git a/board/esd/dp405/dp405.c b/board/esd/dp405/dp405.c
index 240ab78aa7..bb3baa477e 100644
--- a/board/esd/dp405/dp405.c
+++ b/board/esd/dp405/dp405.c
@@ -122,7 +122,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	unsigned long val;
 
diff --git a/board/esd/du405/du405.c b/board/esd/du405/du405.c
index 69432138d3..78ae4ba67b 100644
--- a/board/esd/du405/du405.c
+++ b/board/esd/du405/du405.c
@@ -200,7 +200,7 @@ int checkboard (void)
 }
 
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	return (16 * 1024 * 1024);
 }
diff --git a/board/esd/hh405/hh405.c b/board/esd/hh405/hh405.c
index 279d9214e2..802491a313 100644
--- a/board/esd/hh405/hh405.c
+++ b/board/esd/hh405/hh405.c
@@ -644,7 +644,7 @@ int checkboard (void)
 }
 
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	unsigned long val;
 
diff --git a/board/esd/hub405/hub405.c b/board/esd/hub405/hub405.c
index 25c8068fde..03b87c9dfc 100644
--- a/board/esd/hub405/hub405.c
+++ b/board/esd/hub405/hub405.c
@@ -229,7 +229,7 @@ int checkboard (void)
 }
 
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	unsigned long val;
 
diff --git a/board/esd/mecp5200/mecp5200.c b/board/esd/mecp5200/mecp5200.c
index ea49f264ab..6d776b7a63 100644
--- a/board/esd/mecp5200/mecp5200.c
+++ b/board/esd/mecp5200/mecp5200.c
@@ -84,7 +84,7 @@ static void sdram_start(int hi_addr)
  *            is something else than 0x00000000.
  */
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	ulong dramsize = 0;
 	ulong test1, test2;
diff --git a/board/esd/ocrtc/ocrtc.c b/board/esd/ocrtc/ocrtc.c
index 261b8a54d0..7b0edd5958 100644
--- a/board/esd/ocrtc/ocrtc.c
+++ b/board/esd/ocrtc/ocrtc.c
@@ -101,7 +101,7 @@ int checkboard (void)
 }
 
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	unsigned long val;
 
diff --git a/board/esd/pci405/pci405.c b/board/esd/pci405/pci405.c
index c4ab072009..f740d595be 100644
--- a/board/esd/pci405/pci405.c
+++ b/board/esd/pci405/pci405.c
@@ -358,7 +358,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	unsigned long val;
 
diff --git a/board/esd/pf5200/pf5200.c b/board/esd/pf5200/pf5200.c
index 48b80bfc5f..7970f8988f 100644
--- a/board/esd/pf5200/pf5200.c
+++ b/board/esd/pf5200/pf5200.c
@@ -84,7 +84,7 @@ static void sdram_start(int hi_addr)
  *            is something else than 0x00000000.
  */
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	ulong dramsize = 0;
 	ulong test1, test2;
diff --git a/board/esd/plu405/plu405.c b/board/esd/plu405/plu405.c
index 57762b54ee..fc71e9a2a1 100644
--- a/board/esd/plu405/plu405.c
+++ b/board/esd/plu405/plu405.c
@@ -232,7 +232,7 @@ int checkboard (void)
 }
 
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	unsigned long val;
 
diff --git a/board/esd/pmc405/pmc405.c b/board/esd/pmc405/pmc405.c
index 7499671aaf..326d560352 100644
--- a/board/esd/pmc405/pmc405.c
+++ b/board/esd/pmc405/pmc405.c
@@ -157,7 +157,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	unsigned long val;
 
diff --git a/board/esd/pmc440/sdram.c b/board/esd/pmc440/sdram.c
index 624c45791f..c7294c9945 100644
--- a/board/esd/pmc440/sdram.c
+++ b/board/esd/pmc440/sdram.c
@@ -50,7 +50,7 @@ extern void denali_core_search_data_eye(void);
  * initdram -- 440EPx's DDR controller is a DENALI Core
  *
  ************************************************************************/
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 #if !defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL)
 #if !defined(CONFIG_NAND_SPL)
diff --git a/board/esd/tasreg/tasreg.c b/board/esd/tasreg/tasreg.c
index 16724005b7..fabb7464fd 100644
--- a/board/esd/tasreg/tasreg.c
+++ b/board/esd/tasreg/tasreg.c
@@ -77,7 +77,7 @@ int checkboard (void) {
 };
 
 
-long int initdram (int board_type) {
+phys_size_t initdram (int board_type) {
 	unsigned long	junk = 0xa5a59696;
 
 	/*
diff --git a/board/esd/voh405/voh405.c b/board/esd/voh405/voh405.c
index 87a584979b..52534220a7 100644
--- a/board/esd/voh405/voh405.c
+++ b/board/esd/voh405/voh405.c
@@ -305,7 +305,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	unsigned long val;
 
diff --git a/board/esd/vom405/vom405.c b/board/esd/vom405/vom405.c
index 8be552e2ea..af8efcff3e 100644
--- a/board/esd/vom405/vom405.c
+++ b/board/esd/vom405/vom405.c
@@ -129,7 +129,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	unsigned long val;
 
diff --git a/board/esd/wuh405/wuh405.c b/board/esd/wuh405/wuh405.c
index dba3ce8884..0590fc78f8 100644
--- a/board/esd/wuh405/wuh405.c
+++ b/board/esd/wuh405/wuh405.c
@@ -205,7 +205,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	unsigned long val;
 
diff --git a/board/esteem192e/esteem192e.c b/board/esteem192e/esteem192e.c
index 3959eead27..f3c8662cdb 100644
--- a/board/esteem192e/esteem192e.c
+++ b/board/esteem192e/esteem192e.c
@@ -101,7 +101,7 @@ int checkboard (void)
 /* ------------------------------------------------------------------------- */
 
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/etin/debris/debris.c b/board/etin/debris/debris.c
index 67375e9fea..763760fd23 100644
--- a/board/etin/debris/debris.c
+++ b/board/etin/debris/debris.c
@@ -53,7 +53,7 @@ int checkflash (void)
 }
 #endif
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	int m, row, col, bank, i;
 	unsigned long start, end;
diff --git a/board/etin/kvme080/kvme080.c b/board/etin/kvme080/kvme080.c
index de62fa0973..bfd6854c5d 100644
--- a/board/etin/kvme080/kvme080.c
+++ b/board/etin/kvme080/kvme080.c
@@ -93,7 +93,7 @@ unsigned long setdram(int m, int row, int col, int bank)
 	return (1 << (col + row + 3) ) * bank * m;
 }
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	unsigned int msr;
 	long int size = 0;
diff --git a/board/etx094/etx094.c b/board/etx094/etx094.c
index eb58b5d529..7806519e30 100644
--- a/board/etx094/etx094.c
+++ b/board/etx094/etx094.c
@@ -125,7 +125,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/evb64260/sdram_init.c b/board/evb64260/sdram_init.c
index fae6d1090d..9ae4465441 100644
--- a/board/evb64260/sdram_init.c
+++ b/board/evb64260/sdram_init.c
@@ -524,7 +524,7 @@ static long int dram_size (long int *base, long int maxsize)
 
 /* U-Boot interface function to SDRAM init - this is where all the
  * controlling logic happens */
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	ulong checkbank[4] = {[0 ... 3] = 0 };
 	int bank_no;
diff --git a/board/exbitgen/exbitgen.c b/board/exbitgen/exbitgen.c
index 49031cfce6..0b08a39f90 100644
--- a/board/exbitgen/exbitgen.c
+++ b/board/exbitgen/exbitgen.c
@@ -71,7 +71,7 @@ int checkboard (void)
 }
 
 /* ************************************************************************ */
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 /* ------------------------------------------------------------------------ --
  * Purpose     : Determines size of mounted DRAM.
  * Remarks     : Size is determined by reading SDRAM configuration registers as
diff --git a/board/fads/fads.c b/board/fads/fads.c
index 8f5736b414..9e601df1bc 100644
--- a/board/fads/fads.c
+++ b/board/fads/fads.c
@@ -600,7 +600,7 @@ static int initsdram(uint base, uint *noMbytes)
 
 /* ========================================================================= */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	uint sdramsz = 0;	/* size of sdram in Mbytes */
 	uint base = 0;		/* base of dram in bytes */
diff --git a/board/flagadm/flagadm.c b/board/flagadm/flagadm.c
index 9c553676ec..7caedc99a3 100644
--- a/board/flagadm/flagadm.c
+++ b/board/flagadm/flagadm.c
@@ -96,7 +96,7 @@ int checkboard (void)
 	return 0;
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t     *immap  = (immap_t *)CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/freescale/m52277evb/m52277evb.c b/board/freescale/m52277evb/m52277evb.c
index 98424c898b..e5f47d2d93 100644
--- a/board/freescale/m52277evb/m52277evb.c
+++ b/board/freescale/m52277evb/m52277evb.c
@@ -36,7 +36,7 @@ int checkboard(void)
 	return 0;
 };
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	volatile sdramc_t *sdram = (volatile sdramc_t *)(MMAP_SDRAM);
 	u32 dramsize, i;
diff --git a/board/freescale/m5235evb/m5235evb.c b/board/freescale/m5235evb/m5235evb.c
index 585854cd91..c2c8fe8590 100644
--- a/board/freescale/m5235evb/m5235evb.c
+++ b/board/freescale/m5235evb/m5235evb.c
@@ -37,7 +37,7 @@ int checkboard(void)
 	return 0;
 };
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	volatile sdram_t *sdram = (volatile sdram_t *)(MMAP_SDRAM);
 	volatile gpio_t *gpio = (volatile gpio_t *)(MMAP_GPIO);
diff --git a/board/freescale/m5249evb/m5249evb.c b/board/freescale/m5249evb/m5249evb.c
index e8f621ba3f..c9ed341bbd 100644
--- a/board/freescale/m5249evb/m5249evb.c
+++ b/board/freescale/m5249evb/m5249evb.c
@@ -49,7 +49,7 @@ int checkboard (void) {
 };
 
 
-long int initdram (int board_type) {
+phys_size_t initdram (int board_type) {
 	unsigned long	junk = 0xa5a59696;
 
 	/*
diff --git a/board/freescale/m5253evbe/m5253evbe.c b/board/freescale/m5253evbe/m5253evbe.c
index 43aa84de22..f80a47c7b7 100644
--- a/board/freescale/m5253evbe/m5253evbe.c
+++ b/board/freescale/m5253evbe/m5253evbe.c
@@ -34,7 +34,7 @@ int checkboard(void)
 	return 0;
 };
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	int i;
 
diff --git a/board/freescale/m5275evb/m5275evb.c b/board/freescale/m5275evb/m5275evb.c
index a1b2902935..be19e02751 100644
--- a/board/freescale/m5275evb/m5275evb.c
+++ b/board/freescale/m5275evb/m5275evb.c
@@ -36,7 +36,7 @@ int checkboard(void)
 	return 0;
 };
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	volatile sdramctrl_t *sdp = (sdramctrl_t *)(MMAP_SDRAM);
 	volatile gpio_t *gpio_reg = (gpio_t *)(MMAP_GPIO);
diff --git a/board/freescale/m5329evb/m5329evb.c b/board/freescale/m5329evb/m5329evb.c
index 242eb1a188..f9fa9fb9cf 100644
--- a/board/freescale/m5329evb/m5329evb.c
+++ b/board/freescale/m5329evb/m5329evb.c
@@ -37,7 +37,7 @@ int checkboard(void)
 	return 0;
 };
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	volatile sdram_t *sdram = (volatile sdram_t *)(MMAP_SDRAM);
 	u32 dramsize, i;
diff --git a/board/freescale/m5373evb/m5373evb.c b/board/freescale/m5373evb/m5373evb.c
index 26b87b99f0..a269ee6d44 100644
--- a/board/freescale/m5373evb/m5373evb.c
+++ b/board/freescale/m5373evb/m5373evb.c
@@ -37,7 +37,7 @@ int checkboard(void)
 	return 0;
 };
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	volatile sdram_t *sdram = (volatile sdram_t *)(MMAP_SDRAM);
 	u32 dramsize, i;
diff --git a/board/freescale/m54455evb/m54455evb.c b/board/freescale/m54455evb/m54455evb.c
index 6a0278252f..0480b54685 100644
--- a/board/freescale/m54455evb/m54455evb.c
+++ b/board/freescale/m54455evb/m54455evb.c
@@ -37,7 +37,7 @@ int checkboard(void)
 	return 0;
 };
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	volatile sdramc_t *sdram = (volatile sdramc_t *)(MMAP_SDRAM);
 	volatile gpio_t *gpio = (volatile gpio_t *)(MMAP_GPIO);
diff --git a/board/freescale/m547xevb/m547xevb.c b/board/freescale/m547xevb/m547xevb.c
index 539da78de9..6d7d27090f 100644
--- a/board/freescale/m547xevb/m547xevb.c
+++ b/board/freescale/m547xevb/m547xevb.c
@@ -38,7 +38,7 @@ int checkboard(void)
 	return 0;
 };
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	volatile siu_t *siu = (siu_t *) (MMAP_SIU);
 	volatile sdram_t *sdram = (volatile sdram_t *)(MMAP_SDRAM);
diff --git a/board/freescale/m548xevb/m548xevb.c b/board/freescale/m548xevb/m548xevb.c
index 0372807486..e6510c9559 100644
--- a/board/freescale/m548xevb/m548xevb.c
+++ b/board/freescale/m548xevb/m548xevb.c
@@ -38,7 +38,7 @@ int checkboard(void)
 	return 0;
 };
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	volatile siu_t *siu = (siu_t *) (MMAP_SIU);
 	volatile sdram_t *sdram = (volatile sdram_t *)(MMAP_SDRAM);
diff --git a/board/freescale/mpc7448hpc2/mpc7448hpc2.c b/board/freescale/mpc7448hpc2/mpc7448hpc2.c
index f6cd192a81..b3d83cc19f 100644
--- a/board/freescale/mpc7448hpc2/mpc7448hpc2.c
+++ b/board/freescale/mpc7448hpc2/mpc7448hpc2.c
@@ -81,7 +81,7 @@ long int dram_size (int board_type)
 	return 0x20000000;	/* 256M bytes */
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	return dram_size (board_type);
 }
diff --git a/board/freescale/mpc8260ads/mpc8260ads.c b/board/freescale/mpc8260ads/mpc8260ads.c
index 548d813af5..6f683f031b 100644
--- a/board/freescale/mpc8260ads/mpc8260ads.c
+++ b/board/freescale/mpc8260ads/mpc8260ads.c
@@ -304,7 +304,7 @@ int board_early_init_f (void)
 
 #define ns2clk(ns) (ns / (1000000000 / CONFIG_8260_CLKIN) + 1)
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 #if   CONFIG_ADSTYPE == CFG_PQ2FADS
 	long int msize = 32;
diff --git a/board/freescale/mpc8266ads/mpc8266ads.c b/board/freescale/mpc8266ads/mpc8266ads.c
index 8f7273c41d..090a534134 100644
--- a/board/freescale/mpc8266ads/mpc8266ads.c
+++ b/board/freescale/mpc8266ads/mpc8266ads.c
@@ -251,7 +251,7 @@ int checkboard(void)
     return 0;
 }
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	/* Autoinit part stolen from board/sacsng/sacsng.c */
     volatile immap_t *immap         = (immap_t *)CFG_IMMR;
diff --git a/board/freescale/mpc8313erdb/sdram.c b/board/freescale/mpc8313erdb/sdram.c
index 16ec4bbf54..afd8b9d5ed 100644
--- a/board/freescale/mpc8313erdb/sdram.c
+++ b/board/freescale/mpc8313erdb/sdram.c
@@ -104,7 +104,7 @@ static long fixed_sdram(void)
 	return msize;
 }
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	volatile immap_t *im = (volatile immap_t *)CFG_IMMR;
 	volatile lbus83xx_t *lbc = &im->lbus;
diff --git a/board/freescale/mpc8315erdb/sdram.c b/board/freescale/mpc8315erdb/sdram.c
index f97e3c7804..07e6486eea 100644
--- a/board/freescale/mpc8315erdb/sdram.c
+++ b/board/freescale/mpc8315erdb/sdram.c
@@ -101,7 +101,7 @@ static long fixed_sdram(void)
 	return msize;
 }
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	volatile immap_t *im = (volatile immap_t *)CFG_IMMR;
 	u32 msize;
diff --git a/board/freescale/mpc8323erdb/mpc8323erdb.c b/board/freescale/mpc8323erdb/mpc8323erdb.c
index afc0eee3b7..f5220abdb0 100644
--- a/board/freescale/mpc8323erdb/mpc8323erdb.c
+++ b/board/freescale/mpc8323erdb/mpc8323erdb.c
@@ -73,7 +73,7 @@ int board_early_init_f(void)
 
 int fixed_sdram(void);
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	volatile immap_t *im = (immap_t *) CFG_IMMR;
 	u32 msize = 0;
diff --git a/board/freescale/mpc832xemds/mpc832xemds.c b/board/freescale/mpc832xemds/mpc832xemds.c
index c10b30f24e..4ad6e9d454 100644
--- a/board/freescale/mpc832xemds/mpc832xemds.c
+++ b/board/freescale/mpc832xemds/mpc832xemds.c
@@ -94,7 +94,7 @@ int board_early_init_r(void)
 
 int fixed_sdram(void);
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	volatile immap_t *im = (immap_t *) CFG_IMMR;
 	u32 msize = 0;
diff --git a/board/freescale/mpc8349emds/mpc8349emds.c b/board/freescale/mpc8349emds/mpc8349emds.c
index e18e68e8ce..4d57fafc9a 100644
--- a/board/freescale/mpc8349emds/mpc8349emds.c
+++ b/board/freescale/mpc8349emds/mpc8349emds.c
@@ -59,7 +59,7 @@ int board_early_init_f (void)
 
 #define ns2clk(ns) (ns / (1000000000 / CONFIG_8349_CLKIN) + 1)
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *im = (immap_t *)CFG_IMMR;
 	u32 msize = 0;
diff --git a/board/freescale/mpc8349itx/mpc8349itx.c b/board/freescale/mpc8349itx/mpc8349itx.c
index 0317bfe6d4..d3fc560df3 100644
--- a/board/freescale/mpc8349itx/mpc8349itx.c
+++ b/board/freescale/mpc8349itx/mpc8349itx.c
@@ -128,7 +128,7 @@ volatile static struct pci_controller hose[] = {
 };
 #endif				/* CONFIG_PCI */
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	volatile immap_t *im = (immap_t *) CFG_IMMR;
 	u32 msize = 0;
diff --git a/board/freescale/mpc8360emds/mpc8360emds.c b/board/freescale/mpc8360emds/mpc8360emds.c
index 2119320da7..5c3b5dbc93 100644
--- a/board/freescale/mpc8360emds/mpc8360emds.c
+++ b/board/freescale/mpc8360emds/mpc8360emds.c
@@ -122,7 +122,7 @@ extern void ddr_enable_ecc(unsigned int dram_size);
 int fixed_sdram(void);
 void sdram_init(void);
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	volatile immap_t *im = (immap_t *) CFG_IMMR;
 	u32 msize = 0;
diff --git a/board/freescale/mpc8360erdk/mpc8360erdk.c b/board/freescale/mpc8360erdk/mpc8360erdk.c
index 3bcdda7334..61d7000147 100644
--- a/board/freescale/mpc8360erdk/mpc8360erdk.c
+++ b/board/freescale/mpc8360erdk/mpc8360erdk.c
@@ -266,7 +266,7 @@ int fixed_sdram(void)
 	return msize;
 }
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 #if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRC)
 	extern void ddr_enable_ecc(unsigned int dram_size);
diff --git a/board/freescale/mpc837xemds/mpc837xemds.c b/board/freescale/mpc837xemds/mpc837xemds.c
index 40a505b1d4..40f1e63281 100644
--- a/board/freescale/mpc837xemds/mpc837xemds.c
+++ b/board/freescale/mpc837xemds/mpc837xemds.c
@@ -75,7 +75,7 @@ extern void ddr_enable_ecc(unsigned int dram_size);
 #endif
 int fixed_sdram(void);
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	volatile immap_t *im = (immap_t *) CFG_IMMR;
 	u32 msize = 0;
diff --git a/board/freescale/mpc837xerdb/mpc837xerdb.c b/board/freescale/mpc837xerdb/mpc837xerdb.c
index f73fd5aa55..aaefc18991 100644
--- a/board/freescale/mpc837xerdb/mpc837xerdb.c
+++ b/board/freescale/mpc837xerdb/mpc837xerdb.c
@@ -64,7 +64,7 @@ void ddr_enable_ecc(unsigned int dram_size);
 #endif
 int fixed_sdram(void);
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	immap_t *im = (immap_t *) CFG_IMMR;
 	u32 msize = 0;
diff --git a/board/freescale/mpc8540ads/mpc8540ads.c b/board/freescale/mpc8540ads/mpc8540ads.c
index 051f98570f..4f068cc884 100644
--- a/board/freescale/mpc8540ads/mpc8540ads.c
+++ b/board/freescale/mpc8540ads/mpc8540ads.c
@@ -61,7 +61,7 @@ int checkboard (void)
 }
 
 
-long int
+phys_size_t
 initdram(int board_type)
 {
 	long dram_size = 0;
diff --git a/board/freescale/mpc8541cds/mpc8541cds.c b/board/freescale/mpc8541cds/mpc8541cds.c
index 420a89ab1f..3669ba95d3 100644
--- a/board/freescale/mpc8541cds/mpc8541cds.c
+++ b/board/freescale/mpc8541cds/mpc8541cds.c
@@ -240,7 +240,7 @@ int checkboard (void)
 	return 0;
 }
 
-long int
+phys_size_t
 initdram(int board_type)
 {
 	long dram_size = 0;
diff --git a/board/freescale/mpc8544ds/mpc8544ds.c b/board/freescale/mpc8544ds/mpc8544ds.c
index 5041426edc..f615b2384a 100644
--- a/board/freescale/mpc8544ds/mpc8544ds.c
+++ b/board/freescale/mpc8544ds/mpc8544ds.c
@@ -59,7 +59,7 @@ int checkboard (void)
 	return 0;
 }
 
-long int
+phys_size_t
 initdram(int board_type)
 {
 	long dram_size = 0;
diff --git a/board/freescale/mpc8548cds/mpc8548cds.c b/board/freescale/mpc8548cds/mpc8548cds.c
index ad29734b20..0b037cc697 100644
--- a/board/freescale/mpc8548cds/mpc8548cds.c
+++ b/board/freescale/mpc8548cds/mpc8548cds.c
@@ -88,7 +88,7 @@ int checkboard (void)
 	return 0;
 }
 
-long int
+phys_size_t
 initdram(int board_type)
 {
 	long dram_size = 0;
diff --git a/board/freescale/mpc8555cds/mpc8555cds.c b/board/freescale/mpc8555cds/mpc8555cds.c
index 74e20cb23f..9a65101dd2 100644
--- a/board/freescale/mpc8555cds/mpc8555cds.c
+++ b/board/freescale/mpc8555cds/mpc8555cds.c
@@ -238,7 +238,7 @@ int checkboard (void)
 	return 0;
 }
 
-long int
+phys_size_t
 initdram(int board_type)
 {
 	long dram_size = 0;
diff --git a/board/freescale/mpc8560ads/mpc8560ads.c b/board/freescale/mpc8560ads/mpc8560ads.c
index 144b584800..2c14a880e0 100644
--- a/board/freescale/mpc8560ads/mpc8560ads.c
+++ b/board/freescale/mpc8560ads/mpc8560ads.c
@@ -264,7 +264,7 @@ int checkboard (void)
 }
 
 
-long int
+phys_size_t
 initdram(int board_type)
 {
 	long dram_size = 0;
diff --git a/board/freescale/mpc8568mds/mpc8568mds.c b/board/freescale/mpc8568mds/mpc8568mds.c
index f1928abf98..2ccff7d81e 100644
--- a/board/freescale/mpc8568mds/mpc8568mds.c
+++ b/board/freescale/mpc8568mds/mpc8568mds.c
@@ -140,7 +140,7 @@ int checkboard (void)
 	return 0;
 }
 
-long int
+phys_size_t
 initdram(int board_type)
 {
 	long dram_size = 0;
diff --git a/board/freescale/mpc8610hpcd/mpc8610hpcd.c b/board/freescale/mpc8610hpcd/mpc8610hpcd.c
index ce563dc67a..c85f373c1a 100644
--- a/board/freescale/mpc8610hpcd/mpc8610hpcd.c
+++ b/board/freescale/mpc8610hpcd/mpc8610hpcd.c
@@ -113,7 +113,7 @@ int checkboard(void)
 }
 
 
-long int
+phys_size_t
 initdram(int board_type)
 {
 	long dram_size = 0;
diff --git a/board/freescale/mpc8641hpcn/mpc8641hpcn.c b/board/freescale/mpc8641hpcn/mpc8641hpcn.c
index 915fb58ee9..cf540fc651 100644
--- a/board/freescale/mpc8641hpcn/mpc8641hpcn.c
+++ b/board/freescale/mpc8641hpcn/mpc8641hpcn.c
@@ -53,7 +53,7 @@ int checkboard(void)
 }
 
 
-long int
+phys_size_t
 initdram(int board_type)
 {
 	long dram_size = 0;
diff --git a/board/funkwerk/vovpn-gw/vovpn-gw.c b/board/funkwerk/vovpn-gw/vovpn-gw.c
index 9b5429afa5..1c3f627a44 100644
--- a/board/funkwerk/vovpn-gw/vovpn-gw.c
+++ b/board/funkwerk/vovpn-gw/vovpn-gw.c
@@ -318,7 +318,7 @@ do_reset (void *cmdtp, int flag, int argc, char *argv[])
 
 #define ns2clk(ns) (ns / (1000000000 / CONFIG_8260_CLKIN) + 1)
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 #ifndef CFG_RAMBOOT
 	volatile immap_t *immap;
diff --git a/board/g2000/g2000.c b/board/g2000/g2000.c
index 9fcab74849..647f4b705b 100644
--- a/board/g2000/g2000.c
+++ b/board/g2000/g2000.c
@@ -131,7 +131,7 @@ long int init_sdram_static_settings(void)
  }
 
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	long int ret;
 
diff --git a/board/gaisler/gr_cpci_ax2000/gr_cpci_ax2000.c b/board/gaisler/gr_cpci_ax2000/gr_cpci_ax2000.c
index d99b45523a..105a74714b 100644
--- a/board/gaisler/gr_cpci_ax2000/gr_cpci_ax2000.c
+++ b/board/gaisler/gr_cpci_ax2000/gr_cpci_ax2000.c
@@ -22,7 +22,7 @@
 #include <config.h>
 #include <asm/leon.h>
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	return 1;
 }
diff --git a/board/gaisler/gr_ep2s60/gr_ep2s60.c b/board/gaisler/gr_ep2s60/gr_ep2s60.c
index e8617f0755..2904d32586 100644
--- a/board/gaisler/gr_ep2s60/gr_ep2s60.c
+++ b/board/gaisler/gr_ep2s60/gr_ep2s60.c
@@ -22,7 +22,7 @@
 #include <config.h>
 #include <asm/leon.h>
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	return 1;
 }
diff --git a/board/gaisler/gr_xc3s_1500/gr_xc3s_1500.c b/board/gaisler/gr_xc3s_1500/gr_xc3s_1500.c
index 1ee7024812..fc8cf84f99 100644
--- a/board/gaisler/gr_xc3s_1500/gr_xc3s_1500.c
+++ b/board/gaisler/gr_xc3s_1500/gr_xc3s_1500.c
@@ -22,7 +22,7 @@
 #include <config.h>
 #include <asm/leon.h>
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	return 1;
 }
diff --git a/board/gaisler/grsim/grsim.c b/board/gaisler/grsim/grsim.c
index 70a2f23c55..deccd3d0e7 100644
--- a/board/gaisler/grsim/grsim.c
+++ b/board/gaisler/grsim/grsim.c
@@ -26,7 +26,7 @@
 #include <common.h>
 #include <asm/leon.h>
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	return 1;
 }
diff --git a/board/gaisler/grsim_leon2/grsim_leon2.c b/board/gaisler/grsim_leon2/grsim_leon2.c
index 55dfe8286a..61445fe254 100644
--- a/board/gaisler/grsim_leon2/grsim_leon2.c
+++ b/board/gaisler/grsim_leon2/grsim_leon2.c
@@ -26,7 +26,7 @@
 #include <common.h>
 #include <asm/leon.h>
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	return 1;
 }
diff --git a/board/gen860t/gen860t.c b/board/gen860t/gen860t.c
index 73cc16d479..e3d0e435d4 100644
--- a/board/gen860t/gen860t.c
+++ b/board/gen860t/gen860t.c
@@ -158,7 +158,7 @@ int checkboard (void)
 /*
  * Initialize SDRAM
  */
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immr = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immr->im_memctl;
diff --git a/board/genietv/genietv.c b/board/genietv/genietv.c
index c75507f61d..fc2116967a 100644
--- a/board/genietv/genietv.c
+++ b/board/genietv/genietv.c
@@ -118,7 +118,7 @@ static void PrintState (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *im = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &im->im_memctl;
diff --git a/board/gth/gth.c b/board/gth/gth.c
index b1fcbf5cc3..788a6a0948 100644
--- a/board/gth/gth.c
+++ b/board/gth/gth.c
@@ -265,7 +265,7 @@ int initsdram (uint base, uint * noMbytes)
 #endif
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	u32 *i;
 	u32 j;
diff --git a/board/gth2/gth2.c b/board/gth2/gth2.c
index 3e56678c08..cea65c677f 100644
--- a/board/gth2/gth2.c
+++ b/board/gth2/gth2.c
@@ -83,7 +83,7 @@ void hw_watchdog_reset(void){
 	}
 }
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	/* Sdram is setup by assembler code */
 	/* If memory could be changed, we should return the true value here */
diff --git a/board/gw8260/gw8260.c b/board/gw8260/gw8260.c
index 2719a9585f..42c9e0d108 100644
--- a/board/gw8260/gw8260.c
+++ b/board/gw8260/gw8260.c
@@ -606,7 +606,7 @@ int testdram (void)
 /*								     */
 /*								     */
 /*********************************************************************/
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8260_t *memctl = &immap->im_memctl;
diff --git a/board/hermes/hermes.c b/board/hermes/hermes.c
index 8fd081fef3..f9b57204f0 100644
--- a/board/hermes/hermes.c
+++ b/board/hermes/hermes.c
@@ -134,7 +134,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/hidden_dragon/hidden_dragon.c b/board/hidden_dragon/hidden_dragon.c
index daab8334ee..5713a3384f 100644
--- a/board/hidden_dragon/hidden_dragon.c
+++ b/board/hidden_dragon/hidden_dragon.c
@@ -44,7 +44,7 @@ int checkboard (void)
 	return 0;
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	long size;
 	long new_bank0_end;
diff --git a/board/hmi1001/hmi1001.c b/board/hmi1001/hmi1001.c
index 8bdfe78e41..8cfd75bd83 100644
--- a/board/hmi1001/hmi1001.c
+++ b/board/hmi1001/hmi1001.c
@@ -80,7 +80,7 @@ static void sdram_start (int hi_addr)
  *	      is something else than 0x00000000.
  */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	ulong dramsize = 0;
 #ifndef CFG_RAMBOOT
diff --git a/board/hymod/hymod.c b/board/hymod/hymod.c
index 13e60e2226..91aaab1b08 100644
--- a/board/hymod/hymod.c
+++ b/board/hymod/hymod.c
@@ -364,7 +364,7 @@ misc_init_f (void)
 
 /* ------------------------------------------------------------------------- */
 
-long
+phys_size_t
 initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
diff --git a/board/icecube/icecube.c b/board/icecube/icecube.c
index 07ba2459d8..760db73687 100644
--- a/board/icecube/icecube.c
+++ b/board/icecube/icecube.c
@@ -134,7 +134,7 @@ static void sdram_start (int hi_addr)
  */
 
 #if defined(CONFIG_MPC5200)
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	ulong dramsize = 0;
 	ulong dramsize2 = 0;
@@ -259,7 +259,7 @@ long int initdram (int board_type)
 
 #elif defined(CONFIG_MGT5100)
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	ulong dramsize = 0;
 #ifndef CFG_RAMBOOT
diff --git a/board/icu862/icu862.c b/board/icu862/icu862.c
index 8da9d1c9a4..18aa8bf6dd 100644
--- a/board/icu862/icu862.c
+++ b/board/icu862/icu862.c
@@ -94,7 +94,7 @@ static long int dram_size (long int, long int *, long int);
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/idmr/idmr.c b/board/idmr/idmr.c
index 081c375335..4f073fc319 100644
--- a/board/idmr/idmr.c
+++ b/board/idmr/idmr.c
@@ -29,7 +29,7 @@ int checkboard (void) {
 	return 0;
 };
 
-long int initdram (int board_type) {
+phys_size_t initdram (int board_type) {
 	int i;
 
 	/*
diff --git a/board/ids8247/ids8247.c b/board/ids8247/ids8247.c
index 7176770f68..8ec4cd7179 100644
--- a/board/ids8247/ids8247.c
+++ b/board/ids8247/ids8247.c
@@ -276,7 +276,7 @@ static long int try_init (volatile memctl8260_t * memctl, ulong sdmr,
 	return (size);
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8260_t *memctl = &immap->im_memctl;
diff --git a/board/incaip/incaip.c b/board/incaip/incaip.c
index dc513739fa..ac7ad8f292 100644
--- a/board/incaip/incaip.c
+++ b/board/incaip/incaip.c
@@ -53,7 +53,7 @@ static ulong max_sdram_size(void)
 	return size;
 }
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	int   rows, cols, best_val = *INCA_IP_SDRAM_MC_CFGPB0;
 	ulong size, max_size       = 0;
diff --git a/board/inka4x0/inka4x0.c b/board/inka4x0/inka4x0.c
index 46074e4649..a2e35ff0f6 100644
--- a/board/inka4x0/inka4x0.c
+++ b/board/inka4x0/inka4x0.c
@@ -92,7 +92,7 @@ static void sdram_start (int hi_addr)
  *	      is something else than 0x00000000.
  */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	ulong dramsize = 0;
 #ifndef CFG_RAMBOOT
diff --git a/board/ip860/ip860.c b/board/ip860/ip860.c
index 9dd809b678..375cd4d266 100644
--- a/board/ip860/ip860.c
+++ b/board/ip860/ip860.c
@@ -137,7 +137,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/iphase4539/iphase4539.c b/board/iphase4539/iphase4539.c
index 0ca9cf5137..e5d0254a12 100644
--- a/board/iphase4539/iphase4539.c
+++ b/board/iphase4539/iphase4539.c
@@ -193,7 +193,7 @@ const iop_conf_t iop_conf_tab[4][32] = {
 	 }
 };
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8260_t *memctl = &immap->im_memctl;
diff --git a/board/ispan/ispan.c b/board/ispan/ispan.c
index d39b8cd533..12fb91fb8a 100644
--- a/board/ispan/ispan.c
+++ b/board/ispan/ispan.c
@@ -356,7 +356,7 @@ static int hwc_board_type (char **str)
 	return id;
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	long maxsize = hwc_main_sdram_size();
 
diff --git a/board/ivm/ivm.c b/board/ivm/ivm.c
index 7927ea9a50..4882f0450d 100644
--- a/board/ivm/ivm.c
+++ b/board/ivm/ivm.c
@@ -159,7 +159,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immr = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immr->im_memctl;
diff --git a/board/jse/sdram.c b/board/jse/sdram.c
index 9060d979d0..8ba6c454fd 100644
--- a/board/jse/sdram.c
+++ b/board/jse/sdram.c
@@ -30,7 +30,7 @@
  * in lib_ppc/board.c to initialize the memory and return what I
  * found.
  */
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	/* Configure the SDRAMS */
 
diff --git a/board/jupiter/jupiter.c b/board/jupiter/jupiter.c
index efdc333493..7913c75376 100644
--- a/board/jupiter/jupiter.c
+++ b/board/jupiter/jupiter.c
@@ -92,7 +92,7 @@ static void sdram_start (int hi_addr)
  *            is something else than 0x00000000.
  */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	ulong dramsize = 0;
 	ulong dramsize2 = 0;
diff --git a/board/kup/kup4k/kup4k.c b/board/kup/kup4k/kup4k.c
index 4e377a142b..66d618072d 100644
--- a/board/kup/kup4k/kup4k.c
+++ b/board/kup/kup4k/kup4k.c
@@ -137,7 +137,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/kup/kup4x/kup4x.c b/board/kup/kup4x/kup4x.c
index cd9ed13d6d..f07ef18703 100644
--- a/board/kup/kup4x/kup4x.c
+++ b/board/kup/kup4x/kup4x.c
@@ -134,7 +134,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/lantec/lantec.c b/board/lantec/lantec.c
index 417dbbb05b..46f4da9e66 100644
--- a/board/lantec/lantec.c
+++ b/board/lantec/lantec.c
@@ -109,7 +109,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/linkstation/linkstation.c b/board/linkstation/linkstation.c
index f6bc0a958d..241cf032d8 100644
--- a/board/linkstation/linkstation.c
+++ b/board/linkstation/linkstation.c
@@ -50,7 +50,7 @@ int checkboard (void)
 	return 0;
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	return (get_ram_size(CFG_SDRAM_BASE, CFG_MAX_RAM_SIZE));
 }
diff --git a/board/lwmon/lwmon.c b/board/lwmon/lwmon.c
index c68978aa98..4a2d8e4a4f 100644
--- a/board/lwmon/lwmon.c
+++ b/board/lwmon/lwmon.c
@@ -192,7 +192,7 @@ int checkboard (void)
 }
 
 /***********************************************************************
-F* Function:     long int initdram (int board_type) P*A*Z*
+F* Function:     phys_size_t initdram (int board_type) P*A*Z*
  *
 P* Parameters:   int board_type
 P*                - Usually type of the board - ignored here.
@@ -209,7 +209,7 @@ D* Design:       wd@denx.de
 C* Coding:       wd@denx.de
 V* Verification: dzu@denx.de
  ***********************************************************************/
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immr = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immr->im_memctl;
diff --git a/board/lwmon5/sdram.c b/board/lwmon5/sdram.c
index 36b51007ea..0a13831156 100644
--- a/board/lwmon5/sdram.c
+++ b/board/lwmon5/sdram.c
@@ -158,7 +158,7 @@ static void program_ecc(u32 start_address,
  * initdram -- 440EPx's DDR controller is a DENALI Core
  *
  ************************************************************************/
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 #if 0 /* test-only: will remove this define later, when ECC problems are solved! */
 	/* CL=3 */
diff --git a/board/m5271evb/m5271evb.c b/board/m5271evb/m5271evb.c
index 9caad6325a..e089d5f02f 100644
--- a/board/m5271evb/m5271evb.c
+++ b/board/m5271evb/m5271evb.c
@@ -29,7 +29,7 @@ int checkboard (void) {
 	return 0;
 };
 
-long int initdram (int board_type) {
+phys_size_t initdram (int board_type) {
 
 	int i;
 
diff --git a/board/m5272c3/m5272c3.c b/board/m5272c3/m5272c3.c
index 6dcda4f254..d17cb2ef98 100644
--- a/board/m5272c3/m5272c3.c
+++ b/board/m5272c3/m5272c3.c
@@ -31,7 +31,7 @@ int checkboard (void) {
 	return 0;
 	};
 
-long int initdram (int board_type) {
+phys_size_t initdram (int board_type) {
 	volatile sdramctrl_t * sdp = (sdramctrl_t *)(MMAP_SDRAM);
 
 	sdp->sdram_sdtr = 0xf539;
diff --git a/board/m5282evb/m5282evb.c b/board/m5282evb/m5282evb.c
index 7d6d1d6231..50e5e77368 100644
--- a/board/m5282evb/m5282evb.c
+++ b/board/m5282evb/m5282evb.c
@@ -32,7 +32,7 @@ int checkboard (void)
 	return 0;
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	u32 dramsize, i, dramclk;
 
diff --git a/board/mbx8xx/mbx8xx.c b/board/mbx8xx/mbx8xx.c
index 9a9bf809ea..414d879193 100644
--- a/board/mbx8xx/mbx8xx.c
+++ b/board/mbx8xx/mbx8xx.c
@@ -304,7 +304,7 @@ static ulong get_ramsize (dimm_t * dimm)
 	return size;
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/mcc200/mcc200.c b/board/mcc200/mcc200.c
index a4c4644b4c..77ee3d7ed7 100644
--- a/board/mcc200/mcc200.c
+++ b/board/mcc200/mcc200.c
@@ -96,7 +96,7 @@ static void sdram_start (int hi_addr)
  *	      is something else than 0x00000000.
  */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	ulong dramsize = 0;
 	ulong dramsize2 = 0;
diff --git a/board/mgcoge/mgcoge.c b/board/mgcoge/mgcoge.c
index e7c3fa00c7..89ced1eca7 100644
--- a/board/mgcoge/mgcoge.c
+++ b/board/mgcoge/mgcoge.c
@@ -249,7 +249,7 @@ static long int try_init (volatile memctl8260_t * memctl, ulong sdmr,
 	return (size);
 }
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8260_t *memctl = &immap->im_memctl;
diff --git a/board/mgsuvd/mgsuvd.c b/board/mgsuvd/mgsuvd.c
index e0123bfa50..d81cafbb43 100644
--- a/board/mgsuvd/mgsuvd.c
+++ b/board/mgsuvd/mgsuvd.c
@@ -66,7 +66,7 @@ int checkboard (void)
 	return (0);
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/ml2/ml2.c b/board/ml2/ml2.c
index f32e512d4f..981e1decda 100644
--- a/board/ml2/ml2.c
+++ b/board/ml2/ml2.c
@@ -53,7 +53,7 @@ int checkboard (void)
 }
 
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	return 32 * 1024 * 1024;
 }
diff --git a/board/motionpro/motionpro.c b/board/motionpro/motionpro.c
index 68257b861d..3b34062226 100644
--- a/board/motionpro/motionpro.c
+++ b/board/motionpro/motionpro.c
@@ -132,7 +132,7 @@ static void sdram_start(int hi_addr)
 /*
  * Initalize SDRAM - configure SDRAM controller, detect memory size.
  */
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	ulong dramsize = 0;
 #ifndef CFG_RAMBOOT
diff --git a/board/mousse/mousse.c b/board/mousse/mousse.c
index 7208a17c1a..f8f152976c 100644
--- a/board/mousse/mousse.c
+++ b/board/mousse/mousse.c
@@ -55,7 +55,7 @@ int checkflash (void)
 	return 0;
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	return CFG_RAM_SIZE;
 }
diff --git a/board/mpc8540eval/mpc8540eval.c b/board/mpc8540eval/mpc8540eval.c
index 8328b3a062..1ac333c815 100644
--- a/board/mpc8540eval/mpc8540eval.c
+++ b/board/mpc8540eval/mpc8540eval.c
@@ -61,7 +61,7 @@ int checkboard (void)
 	return (0);
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	long dram_size = 0;
 
diff --git a/board/mpl/mip405/mip405.c b/board/mpl/mip405/mip405.c
index 9e8f9bbdd4..cf0afd1add 100644
--- a/board/mpl/mip405/mip405.c
+++ b/board/mpl/mip405/mip405.c
@@ -620,7 +620,7 @@ int checkboard (void)
 /* ------------------------------------------------------------------------- */
 static int test_dram (unsigned long ramsize);
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 
 	unsigned long bank_reg[4], tmp, bank_size;
diff --git a/board/mpl/pati/pati.c b/board/mpl/pati/pati.c
index 7893d61f16..475741d2af 100644
--- a/board/mpl/pati/pati.c
+++ b/board/mpl/pati/pati.c
@@ -149,7 +149,7 @@ extern void mem_test_reloc(void);
 /*
  * Get RAM size.
  */
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	unsigned char board_rev;
 	unsigned long reg;
diff --git a/board/mpl/pip405/pip405.c b/board/mpl/pip405/pip405.c
index 38286081ae..6cba892e78 100644
--- a/board/mpl/pip405/pip405.c
+++ b/board/mpl/pip405/pip405.c
@@ -608,7 +608,7 @@ int checkboard (void)
 /* ------------------------------------------------------------------------- */
 static int test_dram (unsigned long ramsize);
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	unsigned long bank_reg[4], tmp, bank_size;
 	int i, ds;
diff --git a/board/munices/munices.c b/board/munices/munices.c
index 395909d7cd..162f89c500 100644
--- a/board/munices/munices.c
+++ b/board/munices/munices.c
@@ -74,7 +74,7 @@ static void sdram_start (int hi_addr)
  *            is something else than 0x00000000.
  */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	ulong dramsize = 0;
 	ulong dramsize2 = 0;
diff --git a/board/musenki/musenki.c b/board/musenki/musenki.c
index 4408b07c55..b2b70e756d 100644
--- a/board/musenki/musenki.c
+++ b/board/musenki/musenki.c
@@ -45,7 +45,7 @@ int checkflash (void)
 }
 #endif
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	long size;
 	long new_bank0_end;
diff --git a/board/mvblm7/mvblm7.c b/board/mvblm7/mvblm7.c
index c02c59ce8a..41cb39dc9c 100644
--- a/board/mvblm7/mvblm7.c
+++ b/board/mvblm7/mvblm7.c
@@ -73,7 +73,7 @@ int fixed_sdram(void)
 	return CFG_DDR_SIZE;
 }
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	volatile immap_t *im = (immap_t *) CFG_IMMR;
 	u32 msize = 0;
diff --git a/board/mvblue/mvblue.c b/board/mvblue/mvblue.c
index ee8f3e3015..a979102ab5 100644
--- a/board/mvblue/mvblue.c
+++ b/board/mvblue/mvblue.c
@@ -76,7 +76,7 @@ int checkboard (void)
 	return 0;
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	long size;
 	long new_bank0_end;
diff --git a/board/mvs1/mvs1.c b/board/mvs1/mvs1.c
index f8a8cb7578..58b84f5ae1 100644
--- a/board/mvs1/mvs1.c
+++ b/board/mvs1/mvs1.c
@@ -136,7 +136,7 @@ static void test_dram (unsigned long *start, unsigned long *end)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/nc650/nc650.c b/board/nc650/nc650.c
index 707e4b97d1..657abc46d8 100644
--- a/board/nc650/nc650.c
+++ b/board/nc650/nc650.c
@@ -128,7 +128,7 @@ static long int dram_size (long int, long int *, long int);
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/netphone/netphone.c b/board/netphone/netphone.c
index 1072b3f88a..38eb7c8118 100644
--- a/board/netphone/netphone.c
+++ b/board/netphone/netphone.c
@@ -404,7 +404,7 @@ void check_ram(unsigned int addr, unsigned int size)
 	}
 }
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/netstal/hcu4/hcu4.c b/board/netstal/hcu4/hcu4.c
index 42c7c16cdf..c144741822 100644
--- a/board/netstal/hcu4/hcu4.c
+++ b/board/netstal/hcu4/hcu4.c
@@ -154,7 +154,7 @@ int misc_init_r(void)
 	return 0;
 }
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	long dram_size = 0;
 	u16 boardVersReg = in_be16((u16 *)HCU_MACH_VERSIONS_REGISTER);
diff --git a/board/netstal/hcu5/sdram.c b/board/netstal/hcu5/sdram.c
index d8817b831a..80e84aebb8 100644
--- a/board/netstal/hcu5/sdram.c
+++ b/board/netstal/hcu5/sdram.c
@@ -199,7 +199,7 @@ static void program_ecc(unsigned long start_address, unsigned long num_bytes)
  * initdram -- 440EPx's DDR controller is a DENALI Core
  *
  ************************************************************************/
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	unsigned int dram_size = 0;
 
diff --git a/board/netstal/mcu25/mcu25.c b/board/netstal/mcu25/mcu25.c
index 07891f6785..ed171bfeb0 100644
--- a/board/netstal/mcu25/mcu25.c
+++ b/board/netstal/mcu25/mcu25.c
@@ -161,7 +161,7 @@ int misc_init_r(void)
 	return 0;
 }
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	unsigned int dram_size = 64*1024*1024;
 	init_ppc405_sdram(dram_size);
diff --git a/board/netta/netta.c b/board/netta/netta.c
index 5a75e53e0d..1183f33ef8 100644
--- a/board/netta/netta.c
+++ b/board/netta/netta.c
@@ -337,7 +337,7 @@ void check_ram(unsigned int addr, unsigned int size)
 	}
 }
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/netta2/netta2.c b/board/netta2/netta2.c
index b216c5a8ef..a97c14cee7 100644
--- a/board/netta2/netta2.c
+++ b/board/netta2/netta2.c
@@ -402,7 +402,7 @@ void check_ram(unsigned int addr, unsigned int size)
 	}
 }
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/netvia/netvia.c b/board/netvia/netvia.c
index 856b7769cd..4140bac861 100644
--- a/board/netvia/netvia.c
+++ b/board/netvia/netvia.c
@@ -245,7 +245,7 @@ int checkboard(void)
 #define MCR_MCLF(x)		((unsigned long)((x) & 15) << (31 - 23))
 #define MCR_MCLF_MASK		MCR_MCLF(15)
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/nx823/nx823.c b/board/nx823/nx823.c
index 4a426ec498..18840ff48f 100644
--- a/board/nx823/nx823.c
+++ b/board/nx823/nx823.c
@@ -157,7 +157,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/o2dnt/o2dnt.c b/board/o2dnt/o2dnt.c
index 81a27002f4..a4eed3a436 100644
--- a/board/o2dnt/o2dnt.c
+++ b/board/o2dnt/o2dnt.c
@@ -67,7 +67,7 @@ static void sdram_start (int hi_addr)
  *            use of CFG_SDRAM_BASE. The code does not work if CFG_SDRAM_BASE
  *            is something else than 0x00000000.
  */
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	ulong dramsize = 0;
 	ulong dramsize2 = 0;
diff --git a/board/oxc/oxc.c b/board/oxc/oxc.c
index 6cc3cc5a3e..b61d399512 100644
--- a/board/oxc/oxc.c
+++ b/board/oxc/oxc.c
@@ -34,7 +34,7 @@ int checkboard (void)
 	return 0;
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 #ifndef CFG_RAMBOOT
 	long size;
diff --git a/board/pb1x00/pb1x00.c b/board/pb1x00/pb1x00.c
index 82b7235209..82e2613e2d 100644
--- a/board/pb1x00/pb1x00.c
+++ b/board/pb1x00/pb1x00.c
@@ -27,7 +27,7 @@
 #include <asm/mipsregs.h>
 #include <asm/io.h>
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	/* Sdram is setup by assembler code */
 	/* If memory could be changed, we should return the true value here */
diff --git a/board/pcippc2/pcippc2.c b/board/pcippc2/pcippc2.c
index 1148c6aa27..c1917c11b4 100644
--- a/board/pcippc2/pcippc2.c
+++ b/board/pcippc2/pcippc2.c
@@ -63,7 +63,7 @@ u32 pcippc2_sdram_size (void)
 	return in32 (REG (CPC0, RGBAN1));
 }
 
-long initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	return cpc710_ram_init ();
 }
diff --git a/board/pcs440ep/pcs440ep.c b/board/pcs440ep/pcs440ep.c
index 2b8992ec1d..f66f3f233e 100644
--- a/board/pcs440ep/pcs440ep.c
+++ b/board/pcs440ep/pcs440ep.c
@@ -537,7 +537,7 @@ void spd_ddr_init_hang (void)
 	}
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	long dram_size = 0;
 
diff --git a/board/pm520/pm520.c b/board/pm520/pm520.c
index 14c3f1d442..83d9bcd025 100644
--- a/board/pm520/pm520.c
+++ b/board/pm520/pm520.c
@@ -84,7 +84,7 @@ static void sdram_start (int hi_addr)
  */
 
 #if defined(CONFIG_MPC5200)
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	ulong dramsize = 0;
 	ulong dramsize2 = 0;
@@ -187,7 +187,7 @@ long int initdram (int board_type)
 
 #elif defined(CONFIG_MGT5100)
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	ulong dramsize = 0;
 #ifndef CFG_RAMBOOT
diff --git a/board/pm826/pm826.c b/board/pm826/pm826.c
index 1420e649d2..7ee3ab65c0 100644
--- a/board/pm826/pm826.c
+++ b/board/pm826/pm826.c
@@ -279,7 +279,7 @@ static long int try_init (volatile memctl8260_t * memctl, ulong sdmr,
 }
 
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8260_t *memctl = &immap->im_memctl;
diff --git a/board/pm828/pm828.c b/board/pm828/pm828.c
index 98cd80bc8d..6038e9758d 100644
--- a/board/pm828/pm828.c
+++ b/board/pm828/pm828.c
@@ -312,7 +312,7 @@ static long int try_init (volatile memctl8260_t * memctl, ulong sdmr,
 }
 
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8260_t *memctl = &immap->im_memctl;
diff --git a/board/pm854/pm854.c b/board/pm854/pm854.c
index 5d3252573e..555f6c0caa 100644
--- a/board/pm854/pm854.c
+++ b/board/pm854/pm854.c
@@ -71,7 +71,7 @@ int checkboard (void)
 }
 
 
-long int
+phys_size_t
 initdram(int board_type)
 {
 	long dram_size = 0;
diff --git a/board/pm856/pm856.c b/board/pm856/pm856.c
index 6386abcd3f..bf325f89ef 100644
--- a/board/pm856/pm856.c
+++ b/board/pm856/pm856.c
@@ -225,7 +225,7 @@ int checkboard (void)
 }
 
 
-long int
+phys_size_t
 initdram(int board_type)
 {
 	long dram_size = 0;
diff --git a/board/pn62/pn62.c b/board/pn62/pn62.c
index b2f348d4d6..d905b2965c 100644
--- a/board/pn62/pn62.c
+++ b/board/pn62/pn62.c
@@ -75,7 +75,7 @@ int checkboard (void)
 	return 0;
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	long size;
 	long new_bank0_end;
diff --git a/board/ppmc7xx/ppmc7xx.c b/board/ppmc7xx/ppmc7xx.c
index 402ac5e201..061e01ec4f 100644
--- a/board/ppmc7xx/ppmc7xx.c
+++ b/board/ppmc7xx/ppmc7xx.c
@@ -29,7 +29,7 @@ extern void _start_warm(void);
  * the SDRAM was already initialised by board_asm_init (see init.S) so we just
  * return the size of RAM.
  */
-long initdram( int board_type )
+phys_size_t initdram( int board_type )
 {
     return CFG_SDRAM_SIZE;
 }
diff --git a/board/ppmc8260/ppmc8260.c b/board/ppmc8260/ppmc8260.c
index 2b20c26f17..f3c85096b3 100644
--- a/board/ppmc8260/ppmc8260.c
+++ b/board/ppmc8260/ppmc8260.c
@@ -199,7 +199,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8260_t *memctl = &immap->im_memctl;
diff --git a/board/prodrive/p3mx/sdram_init.c b/board/prodrive/p3mx/sdram_init.c
index 0464860424..d881d38079 100644
--- a/board/prodrive/p3mx/sdram_init.c
+++ b/board/prodrive/p3mx/sdram_init.c
@@ -160,7 +160,7 @@ long int dram_size (long int *base, long int maxsize)
 #define SDRAM_NOP			0x5
 #define SDRAM_SELF_REFRESH		0x7
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	int tmp;
 	int start;
diff --git a/board/psyent/pci5441/pci5441.c b/board/psyent/pci5441/pci5441.c
index ea80dd1395..0afef6f967 100644
--- a/board/psyent/pci5441/pci5441.c
+++ b/board/psyent/pci5441/pci5441.c
@@ -34,7 +34,7 @@ int checkboard (void)
 	return 0;
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	return (0);
 }
diff --git a/board/psyent/pk1c20/pk1c20.c b/board/psyent/pk1c20/pk1c20.c
index 1924ae3d17..95b48bc57b 100644
--- a/board/psyent/pk1c20/pk1c20.c
+++ b/board/psyent/pk1c20/pk1c20.c
@@ -34,7 +34,7 @@ int checkboard (void)
 	return 0;
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	return (0);
 }
diff --git a/board/purple/purple.c b/board/purple/purple.c
index 72d5734427..9775591129 100644
--- a/board/purple/purple.c
+++ b/board/purple/purple.c
@@ -124,7 +124,7 @@ static void sdram_timing_init (ulong size)
 	}
 }
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	/* The only supported number of SDRAM banks is 4.
 	 */
diff --git a/board/qemu-mips/qemu-mips.c b/board/qemu-mips/qemu-mips.c
index 6e6eab2777..7a69a00f99 100644
--- a/board/qemu-mips/qemu-mips.c
+++ b/board/qemu-mips/qemu-mips.c
@@ -26,7 +26,7 @@
 #include <asm/mipsregs.h>
 #include <asm/io.h>
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	/* Sdram is setup by assembler code */
 	/* If memory could be changed, we should return the true value here */
diff --git a/board/quad100hd/quad100hd.c b/board/quad100hd/quad100hd.c
index 638bd6ca22..81186782b2 100644
--- a/board/quad100hd/quad100hd.c
+++ b/board/quad100hd/quad100hd.c
@@ -87,7 +87,7 @@ int checkboard(void)
 	return 0;
 }
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	return CFG_SDRAM_SIZE;
 }
diff --git a/board/quantum/quantum.c b/board/quantum/quantum.c
index afa6e113d8..345f127b63 100644
--- a/board/quantum/quantum.c
+++ b/board/quantum/quantum.c
@@ -102,7 +102,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/r360mpi/r360mpi.c b/board/r360mpi/r360mpi.c
index ffb4c0ecf9..c51e412f46 100644
--- a/board/r360mpi/r360mpi.c
+++ b/board/r360mpi/r360mpi.c
@@ -103,7 +103,7 @@ static long int dram_size (long int, long int *, long int);
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/rattler/rattler.c b/board/rattler/rattler.c
index be7977dec4..ad75c21561 100644
--- a/board/rattler/rattler.c
+++ b/board/rattler/rattler.c
@@ -185,7 +185,7 @@ const iop_conf_t iop_conf_tab[4][32] = {
     }
 };
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	long int msize = CFG_SDRAM_SIZE;
 
diff --git a/board/rbc823/rbc823.c b/board/rbc823/rbc823.c
index 9e60c2b646..5b62af6146 100644
--- a/board/rbc823/rbc823.c
+++ b/board/rbc823/rbc823.c
@@ -142,7 +142,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/rmu/rmu.c b/board/rmu/rmu.c
index 8cb03c7f84..e22dc52587 100644
--- a/board/rmu/rmu.c
+++ b/board/rmu/rmu.c
@@ -92,7 +92,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/rpxsuper/rpxsuper.c b/board/rpxsuper/rpxsuper.c
index b4331f1cde..f633c5c476 100644
--- a/board/rpxsuper/rpxsuper.c
+++ b/board/rpxsuper/rpxsuper.c
@@ -225,7 +225,7 @@ int checkboard(void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
     volatile immap_t *immap  = (immap_t *)CFG_IMMR;
     volatile memctl8260_t *memctl = &immap->im_memctl;
diff --git a/board/rsdproto/rsdproto.c b/board/rsdproto/rsdproto.c
index 312d4b8605..eeec3b4dcd 100644
--- a/board/rsdproto/rsdproto.c
+++ b/board/rsdproto/rsdproto.c
@@ -282,7 +282,7 @@ int misc_init_f (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8260_t *memctl = &immap->im_memctl;
diff --git a/board/sacsng/sacsng.c b/board/sacsng/sacsng.c
index e85a0fc4db..ecbe0211e9 100644
--- a/board/sacsng/sacsng.c
+++ b/board/sacsng/sacsng.c
@@ -159,7 +159,7 @@ int checkboard(void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
     volatile immap_t *immap  = (immap_t *)CFG_IMMR;
     volatile memctl8260_t *memctl = &immap->im_memctl;
diff --git a/board/sandburst/common/sb_common.c b/board/sandburst/common/sb_common.c
index 8a831fa35f..51b1c75140 100644
--- a/board/sandburst/common/sb_common.c
+++ b/board/sandburst/common/sb_common.c
@@ -200,7 +200,7 @@ void sbcommon_fans(void)
  *  Initialize sdram
  *
  ************************************************************************/
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	long dram_size = 0;
 
diff --git a/board/sandpoint/sandpoint.c b/board/sandpoint/sandpoint.c
index aeb10a7434..7429647b80 100644
--- a/board/sandpoint/sandpoint.c
+++ b/board/sandpoint/sandpoint.c
@@ -50,7 +50,7 @@ int checkflash (void)
 }
 #endif
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	long size;
 	long new_bank0_end;
diff --git a/board/sbc405/sbc405.c b/board/sbc405/sbc405.c
index 0ae6d0ba45..7818cd7e55 100644
--- a/board/sbc405/sbc405.c
+++ b/board/sbc405/sbc405.c
@@ -96,7 +96,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	return  spd_sdram ();
 }
diff --git a/board/sbc8240/sbc8240.c b/board/sbc8240/sbc8240.c
index 8a52f67418..175720d906 100644
--- a/board/sbc8240/sbc8240.c
+++ b/board/sbc8240/sbc8240.c
@@ -45,7 +45,7 @@ int checkboard (void)
 	return 0;
 }
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	long size;
 	long new_bank0_end;
diff --git a/board/sbc8260/sbc8260.c b/board/sbc8260/sbc8260.c
index 48aefa010e..5781f6281b 100644
--- a/board/sbc8260/sbc8260.c
+++ b/board/sbc8260/sbc8260.c
@@ -208,7 +208,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8260_t *memctl = &immap->im_memctl;
diff --git a/board/sbc8349/sbc8349.c b/board/sbc8349/sbc8349.c
index e89b6e8248..4a44fda31e 100644
--- a/board/sbc8349/sbc8349.c
+++ b/board/sbc8349/sbc8349.c
@@ -52,7 +52,7 @@ int board_early_init_f (void)
 
 #define ns2clk(ns) (ns / (1000000000 / CONFIG_8349_CLKIN) + 1)
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *im = (immap_t *)CFG_IMMR;
 	u32 msize = 0;
diff --git a/board/sbc8548/sbc8548.c b/board/sbc8548/sbc8548.c
index 9c8c6733f7..91b40e59f0 100644
--- a/board/sbc8548/sbc8548.c
+++ b/board/sbc8548/sbc8548.c
@@ -81,7 +81,7 @@ int checkboard (void)
 	return 0;
 }
 
-long int
+phys_size_t
 initdram(int board_type)
 {
 	long dram_size = 0;
diff --git a/board/sbc8560/sbc8560.c b/board/sbc8560/sbc8560.c
index 8df4f3a975..2946ca1055 100644
--- a/board/sbc8560/sbc8560.c
+++ b/board/sbc8560/sbc8560.c
@@ -257,7 +257,7 @@ int checkboard (void)
 }
 
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	long dram_size = 0;
 
diff --git a/board/sbc8641d/sbc8641d.c b/board/sbc8641d/sbc8641d.c
index 519f332784..c724effa06 100644
--- a/board/sbc8641d/sbc8641d.c
+++ b/board/sbc8641d/sbc8641d.c
@@ -57,7 +57,7 @@ int checkboard (void)
 	return 0;
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	long dram_size = 0;
 
diff --git a/board/sc3/sc3.c b/board/sc3/sc3.c
index fbdc1d769c..3d1a6542dc 100644
--- a/board/sc3/sc3.c
+++ b/board/sc3/sc3.c
@@ -579,7 +579,7 @@ static int printSDRAMConfig(char reg, unsigned long cr)
 static unsigned int mbcf[] = {mem_mb0cf, mem_mb1cf, mem_mb2cf, mem_mb3cf};
 #endif
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	unsigned int mems=0;
 	unsigned long ul1;
diff --git a/board/siemens/CCM/ccm.c b/board/siemens/CCM/ccm.c
index 5a32e45e28..d653763285 100644
--- a/board/siemens/CCM/ccm.c
+++ b/board/siemens/CCM/ccm.c
@@ -155,7 +155,7 @@ static void init_leds (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
     volatile immap_t     *immap  = (immap_t *)CFG_IMMR;
     volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/siemens/IAD210/IAD210.c b/board/siemens/IAD210/IAD210.c
index e498937b65..9c0ff02783 100644
--- a/board/siemens/IAD210/IAD210.c
+++ b/board/siemens/IAD210/IAD210.c
@@ -100,7 +100,7 @@ const uint sdram_table[] = {
 /* ------------------------------------------------------------------------- */
 
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/siemens/SCM/scm.c b/board/siemens/SCM/scm.c
index 8783aafe9a..6a9dd25835 100644
--- a/board/siemens/SCM/scm.c
+++ b/board/siemens/SCM/scm.c
@@ -306,7 +306,7 @@ int power_on_reset (void)
 	return gd->reset_status & RSR_CSRS ? 0 : 1;
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8260_t *memctl = &immap->im_memctl;
diff --git a/board/siemens/pcu_e/pcu_e.c b/board/siemens/pcu_e/pcu_e.c
index 2309069a60..5647f7af04 100644
--- a/board/siemens/pcu_e/pcu_e.c
+++ b/board/siemens/pcu_e/pcu_e.c
@@ -156,7 +156,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immr = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immr->im_memctl;
diff --git a/board/sixnet/sixnet.c b/board/sixnet/sixnet.c
index 798e1855bd..dcd34726b0 100644
--- a/board/sixnet/sixnet.c
+++ b/board/sixnet/sixnet.c
@@ -496,7 +496,7 @@ const uint sdram_table[] =
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	volatile immap_t     *immap = (immap_t *)CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/sl8245/sl8245.c b/board/sl8245/sl8245.c
index 593eb4ee80..86478871bc 100644
--- a/board/sl8245/sl8245.c
+++ b/board/sl8245/sl8245.c
@@ -34,7 +34,7 @@ int checkboard (void)
 	return 0;
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 #ifndef CFG_RAMBOOT
 	long size;
diff --git a/board/snmc/qs850/qs850.c b/board/snmc/qs850/qs850.c
index 637f1250e9..ba5a8fb0a1 100644
--- a/board/snmc/qs850/qs850.c
+++ b/board/snmc/qs850/qs850.c
@@ -143,7 +143,7 @@ int checkboard (void)
 #define REFRESH_INIT_LOOPS (0)
 
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t     *immap  = (immap_t *)CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/snmc/qs860t/qs860t.c b/board/snmc/qs860t/qs860t.c
index a11d863010..17c9356217 100644
--- a/board/snmc/qs860t/qs860t.c
+++ b/board/snmc/qs860t/qs860t.c
@@ -115,7 +115,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t     *immap  = (immap_t *)CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/socrates/sdram.c b/board/socrates/sdram.c
index 329eaccd5d..768fe05a24 100644
--- a/board/socrates/sdram.c
+++ b/board/socrates/sdram.c
@@ -76,7 +76,7 @@ long int sdram_setup(int casl)
 }
 #endif
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	long dram_size = 0;
 #if defined(CONFIG_SPD_EEPROM)
diff --git a/board/sorcery/sorcery.c b/board/sorcery/sorcery.c
index 165e9e2999..2b789d4741 100644
--- a/board/sorcery/sorcery.c
+++ b/board/sorcery/sorcery.c
@@ -27,7 +27,7 @@
 #include <asm/mmu.h>
 #include <pci.h>
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	ulong size;
 
diff --git a/board/spc1920/spc1920.c b/board/spc1920/spc1920.c
index 1f5dcb5d3e..a32aad0ee4 100644
--- a/board/spc1920/spc1920.c
+++ b/board/spc1920/spc1920.c
@@ -82,7 +82,7 @@ const uint sdram_table[] = {
 	_NOT_USED_, _NOT_USED_, _NOT_USED_,
 };
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immr = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immr->im_memctl;
diff --git a/board/spd8xx/spd8xx.c b/board/spd8xx/spd8xx.c
index c79b9b0dd5..6387f8a65c 100644
--- a/board/spd8xx/spd8xx.c
+++ b/board/spd8xx/spd8xx.c
@@ -143,7 +143,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/ssv/adnpesc1/adnpesc1.c b/board/ssv/adnpesc1/adnpesc1.c
index 3ee8ba588d..71de20899e 100644
--- a/board/ssv/adnpesc1/adnpesc1.c
+++ b/board/ssv/adnpesc1/adnpesc1.c
@@ -57,7 +57,7 @@ int checkboard (void)
 	return 0;
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	return (0);
 }
diff --git a/board/stxgp3/stxgp3.c b/board/stxgp3/stxgp3.c
index f04ffa8046..218e8053f1 100644
--- a/board/stxgp3/stxgp3.c
+++ b/board/stxgp3/stxgp3.c
@@ -275,7 +275,7 @@ show_activity(int flag)
 	next_led_update += (get_tbclk() / 4);
 }
 
-long int
+phys_size_t
 initdram (int board_type)
 {
 	long dram_size = 0;
diff --git a/board/stxssa/stxssa.c b/board/stxssa/stxssa.c
index 08177e1aec..2c4b54642a 100644
--- a/board/stxssa/stxssa.c
+++ b/board/stxssa/stxssa.c
@@ -291,7 +291,7 @@ show_activity(int flag)
 	next_led_update += (get_tbclk() / 4);
 }
 
-long int
+phys_size_t
 initdram (int board_type)
 {
 	long dram_size = 0;
diff --git a/board/stxxtc/stxxtc.c b/board/stxxtc/stxxtc.c
index 87a2022761..a750374393 100644
--- a/board/stxxtc/stxxtc.c
+++ b/board/stxxtc/stxxtc.c
@@ -399,7 +399,7 @@ void check_ram(unsigned int addr, unsigned int size)
 
 #define DO_LOOP do { for (;;) asm volatile ("nop" : : : "memory"); } while(0)
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/svm_sc8xx/svm_sc8xx.c b/board/svm_sc8xx/svm_sc8xx.c
index b900e6bd1b..06fb18b344 100644
--- a/board/svm_sc8xx/svm_sc8xx.c
+++ b/board/svm_sc8xx/svm_sc8xx.c
@@ -100,7 +100,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t     *immap  = (immap_t *)CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/tb0229/tb0229.c b/board/tb0229/tb0229.c
index d08b422451..921bd3adcd 100644
--- a/board/tb0229/tb0229.c
+++ b/board/tb0229/tb0229.c
@@ -32,7 +32,7 @@ void pci_init_board (void)
 }
 #endif
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	return get_ram_size (CFG_SDRAM_BASE, 0x8000000);
 }
diff --git a/board/total5200/total5200.c b/board/total5200/total5200.c
index c8d4c67102..868ebd5f54 100644
--- a/board/total5200/total5200.c
+++ b/board/total5200/total5200.c
@@ -36,7 +36,7 @@
 #include "mt48lc16m16a2-75.h"
 #endif
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	sdram_conf_t sdram_conf;
 
diff --git a/board/tqc/tqm5200/tqm5200.c b/board/tqc/tqm5200/tqm5200.c
index f9891dbb74..8b8e461374 100644
--- a/board/tqc/tqm5200/tqm5200.c
+++ b/board/tqc/tqm5200/tqm5200.c
@@ -104,7 +104,7 @@ static void sdram_start (int hi_addr)
  *	      is something else than 0x00000000.
  */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	ulong dramsize = 0;
 	ulong dramsize2 = 0;
diff --git a/board/tqc/tqm8260/tqm8260.c b/board/tqc/tqm8260/tqm8260.c
index 736c410ede..f201045d95 100644
--- a/board/tqc/tqm8260/tqm8260.c
+++ b/board/tqc/tqm8260/tqm8260.c
@@ -283,7 +283,7 @@ static long int try_init (volatile memctl8260_t * memctl, ulong sdmr,
 	return (size);
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8260_t *memctl = &immap->im_memctl;
diff --git a/board/tqc/tqm8272/tqm8272.c b/board/tqc/tqm8272/tqm8272.c
index ec1a37c7f9..29099f5ed1 100644
--- a/board/tqc/tqm8272/tqm8272.c
+++ b/board/tqc/tqm8272/tqm8272.c
@@ -555,7 +555,7 @@ static long int try_init (volatile memctl8260_t * memctl, ulong sdmr,
 	return (size);
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8260_t *memctl = &immap->im_memctl;
diff --git a/board/tqc/tqm834x/tqm834x.c b/board/tqc/tqm834x/tqm834x.c
index aea985ccc6..278780dde5 100644
--- a/board/tqc/tqm834x/tqm834x.c
+++ b/board/tqc/tqm834x/tqm834x.c
@@ -85,7 +85,7 @@ int board_early_init_r (void) {
 /**************************************************************************
  * DRAM initalization and size detection
  */
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	long bank_size;
 	long size;
diff --git a/board/tqc/tqm85xx/sdram.c b/board/tqc/tqm85xx/sdram.c
index 442ff667c0..33bc4077e5 100644
--- a/board/tqc/tqm85xx/sdram.c
+++ b/board/tqc/tqm85xx/sdram.c
@@ -286,7 +286,7 @@ void board_add_ram_info (int use_default)
 	}
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	long dram_size = 0;
 	int casl;
diff --git a/board/tqc/tqm8xx/tqm8xx.c b/board/tqc/tqm8xx/tqm8xx.c
index 18bf2a8302..96b6103fc7 100644
--- a/board/tqc/tqm8xx/tqm8xx.c
+++ b/board/tqc/tqm8xx/tqm8xx.c
@@ -139,7 +139,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/uc100/uc100.c b/board/uc100/uc100.c
index a5dd95d78e..896f9693e3 100644
--- a/board/uc100/uc100.c
+++ b/board/uc100/uc100.c
@@ -169,7 +169,7 @@ int checkboard (void)
 /*
  * Initialize SDRAM
  */
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	volatile immap_t *immap = (immap_t *) CFG_IMMR;
 	volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/uc101/uc101.c b/board/uc101/uc101.c
index f726513965..69ba5078d4 100644
--- a/board/uc101/uc101.c
+++ b/board/uc101/uc101.c
@@ -146,7 +146,7 @@ static void sdram_start (int hi_addr)
  *	      is something else than 0x00000000.
  */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	ulong dramsize = 0;
 #ifndef CFG_RAMBOOT
diff --git a/board/utx8245/utx8245.c b/board/utx8245/utx8245.c
index 834fd84079..e2a961a3a3 100644
--- a/board/utx8245/utx8245.c
+++ b/board/utx8245/utx8245.c
@@ -46,7 +46,7 @@ int checkboard(void)
 }
 
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	long size;
 	long new_bank0_end;
diff --git a/board/v37/v37.c b/board/v37/v37.c
index 2e47573024..2067fedfca 100644
--- a/board/v37/v37.c
+++ b/board/v37/v37.c
@@ -90,7 +90,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
     volatile immap_t     *immap  = (immap_t *)CFG_IMMR;
     volatile memctl8xx_t *memctl = &immap->im_memctl;
diff --git a/board/v38b/v38b.c b/board/v38b/v38b.c
index ec032eef8d..8815a0cb4a 100644
--- a/board/v38b/v38b.c
+++ b/board/v38b/v38b.c
@@ -71,7 +71,7 @@ static void sdram_start(int hi_addr)
 #endif /* !CFG_RAMBOOT */
 
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	ulong dramsize = 0;
 	ulong dramsize2 = 0;
diff --git a/board/w7o/w7o.c b/board/w7o/w7o.c
index 7a3d63a4bf..0e3b84c613 100644
--- a/board/w7o/w7o.c
+++ b/board/w7o/w7o.c
@@ -152,7 +152,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	/*
 	 * ToDo: Move the asm init routine sdram_init() to this C file,
diff --git a/board/westel/amx860/amx860.c b/board/westel/amx860/amx860.c
index 8826667cdc..4742aafc5e 100644
--- a/board/westel/amx860/amx860.c
+++ b/board/westel/amx860/amx860.c
@@ -61,7 +61,7 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 
 	volatile immap_t     *immap = (immap_t *)CFG_IMMR;
diff --git a/board/xilinx/ml300/ml300.c b/board/xilinx/ml300/ml300.c
index 58bfac0716..5d493eeb73 100644
--- a/board/xilinx/ml300/ml300.c
+++ b/board/xilinx/ml300/ml300.c
@@ -79,7 +79,7 @@ checkboard(void)
 	return (0);
 }
 
-long int
+phys_size_t
 initdram(int board_type)
 {
 	return 128 * 1024 * 1024;
diff --git a/board/xpedite1k/xpedite1k.c b/board/xpedite1k/xpedite1k.c
index 8411cf06f7..bc7e3bd17c 100644
--- a/board/xpedite1k/xpedite1k.c
+++ b/board/xpedite1k/xpedite1k.c
@@ -104,7 +104,7 @@ int checkboard (void)
 }
 
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	long dram_size = 0;
 
diff --git a/board/zeus/zeus.c b/board/zeus/zeus.c
index 1239ea0bd9..0113d4845e 100644
--- a/board/zeus/zeus.c
+++ b/board/zeus/zeus.c
@@ -208,7 +208,7 @@ static u32 detect_sdram_size(void)
 	return size;
 }
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
 	return detect_sdram_size();
 }
diff --git a/board/zpc1900/zpc1900.c b/board/zpc1900/zpc1900.c
index 7db535e8a4..103ef714fd 100644
--- a/board/zpc1900/zpc1900.c
+++ b/board/zpc1900/zpc1900.c
@@ -220,7 +220,7 @@ void nvram_write(long dest, const void *src, size_t count)
 }
 #endif /* CFG_NVRAM_ACCESS_ROUTINE */
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	vu_char *bcsr = (vu_char *)CFG_BCSR;
 	volatile immap_t *immap = (immap_t *)CFG_IMMR;
diff --git a/cpu/ppc4xx/44x_spd_ddr2.c b/cpu/ppc4xx/44x_spd_ddr2.c
index 521491820d..c28fc463b5 100644
--- a/cpu/ppc4xx/44x_spd_ddr2.c
+++ b/cpu/ppc4xx/44x_spd_ddr2.c
@@ -389,7 +389,7 @@ static unsigned long sdram_memsize(void)
  *		 banks appropriately. If Auto Memory Configuration is
  *		 not used, it is assumed that no DIMM is plugged
  *-----------------------------------------------------------------------------*/
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	unsigned char iic0_dimm_addr[] = SPD_EEPROM_ADDRESS;
 	unsigned char spd0[MAX_SPD_BYTES];
@@ -3081,7 +3081,7 @@ static void ppc440sp_sdram_register_dump(void)
  * 		banks. The configuration is performed using static, compile-
  *		time parameters.
  *---------------------------------------------------------------------------*/
-long initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	/*
 	 * Only run this SDRAM init code once. For NAND booting
diff --git a/cpu/ppc4xx/denali_spd_ddr2.c b/cpu/ppc4xx/denali_spd_ddr2.c
index ad805b937b..3bd637567c 100644
--- a/cpu/ppc4xx/denali_spd_ddr2.c
+++ b/cpu/ppc4xx/denali_spd_ddr2.c
@@ -1022,7 +1022,7 @@ static void program_ddr0_44(unsigned long dimm_ranks[],
  *		 banks appropriately. If Auto Memory Configuration is
  *		 not used, it is assumed that no DIMM is plugged
  *-----------------------------------------------------------------------------*/
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	unsigned char const iic0_dimm_addr[] = SPD_EEPROM_ADDRESS;
 	unsigned long dimm_ranks[MAXDIMMS];
diff --git a/cpu/ppc4xx/sdram.c b/cpu/ppc4xx/sdram.c
index c7771addaa..7d60ad667f 100644
--- a/cpu/ppc4xx/sdram.c
+++ b/cpu/ppc4xx/sdram.c
@@ -164,7 +164,7 @@ static ulong compute_rtr(ulong speed, ulong rows, ulong refresh)
 /*
  * Autodetect onboard SDRAM on 405 platforms
  */
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	ulong speed;
 	ulong sdtr1;
@@ -346,7 +346,7 @@ static void sdram_tr1_set(int ram_address, int* tr1_value)
  *	 so this should be extended for other future boards
  *	 using this routine!
  */
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	int i;
 	int tr1_bank1;
diff --git a/include/common.h b/include/common.h
index 8fa339db76..fd5adb3d6d 100644
--- a/include/common.h
+++ b/include/common.h
@@ -202,7 +202,7 @@ int	serial_buffered_tstc (void);
 void	hang		(void) __attribute__ ((noreturn));
 
 /* */
-long int initdram (int);
+phys_size_t initdram (int);
 int	display_options (void);
 void	print_size (phys_size_t, const char *);
 int	print_buffer (ulong addr, void* data, uint width, uint count, uint linelen);
diff --git a/nand_spl/board/amcc/bamboo/sdram.c b/nand_spl/board/amcc/bamboo/sdram.c
index ca25252edf..adede44c37 100644
--- a/nand_spl/board/amcc/bamboo/sdram.c
+++ b/nand_spl/board/amcc/bamboo/sdram.c
@@ -36,7 +36,7 @@ static void wait_init_complete(void)
 }
 
 /*
- * long int initdram(int board_type)
+ * phys_size_t initdram(int board_type)
  *
  * As the name already indicates, this function is called very early
  * from start.S and configures the SDRAM with fixed values. This is needed,
@@ -51,7 +51,7 @@ static void wait_init_complete(void)
  * modules are still plugged in. So it is recommended to remove the DIMM
  * modules while using the NAND booting code with the fixed SDRAM setup!
  */
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	/*
 	 * Soft-reset SDRAM controller.
diff --git a/nand_spl/board/amcc/canyonlands/ddr2_fixed.c b/nand_spl/board/amcc/canyonlands/ddr2_fixed.c
index 9010fca15a..29d7d3f819 100644
--- a/nand_spl/board/amcc/canyonlands/ddr2_fixed.c
+++ b/nand_spl/board/amcc/canyonlands/ddr2_fixed.c
@@ -35,7 +35,7 @@ static void wait_init_complete(void)
 	} while (!(val & 0x80000000));
 }
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
 	/*
 	 * Reset the DDR-SDRAM controller.
-- 
2.39.5