From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wolfgang Denk Date: Mon, 27 Dec 2010 13:12:22 +0100 Subject: [U-Boot] [PATCH] mpq101: initial support for Mercury Computer Systems MPQ101 board In-Reply-To: <25288.34605.qm@web37607.mail.mud.yahoo.com> References: <25288.34605.qm@web37607.mail.mud.yahoo.com> Message-ID: <20101227121222.D1324152438@gemini.denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Dear Alex Dubov, In message <25288.34605.qm@web37607.mail.mud.yahoo.com> you wrote: > Mpq101 is a RapidIO development board in AMC form factor, featuring MPC8548 > processor, 512MB of hardwired DDR2 RAM and 128MB of hardwired NAND flash > memory. USB controller is available, but not presently enabled. > > Additional board information is available at: > http://www.mc.com/products/boards/ensemble_mpq101_rapidio_powerquicc_iii.aspx > > Signed-off-by: Alex Dubov > --- > board/mercury/mpq101/Makefile | 53 ++++++ > board/mercury/mpq101/config.mk | 7 + > board/mercury/mpq101/law.c | 54 ++++++ > board/mercury/mpq101/mpq101.c | 167 ++++++++++++++++++ > board/mercury/mpq101/tlb.c | 82 +++++++++ > boards.cfg | 1 + > include/configs/mpq101.h | 381 ++++++++++++++++++++++++++++++++++++++++ Entry to MAINTAINERS missing. > diff --git a/board/mercury/mpq101/config.mk b/board/mercury/mpq101/config.mk > new file mode 100644 > index 0000000..1870680 > --- /dev/null > +++ b/board/mercury/mpq101/config.mk > @@ -0,0 +1,7 @@ > +# > +# mpq101 board > +# > + > +# Make room for environment at the beginning of flash sector > +CONFIG_SYS_TEXT_BASE = 0xfffc0800 > +LDFLAGS += --section-start=.ppcenv=$(CONFIG_ENV_ADDR) Please mode defines to board config file and get rid of config.mk > +phys_size_t > +initdram (int board_type) > +{ ... > + dram_size = setup_ddr_tlbs(1ull << (CONFIG_SYS_SDRAM_SIZE_LOG - 20)); > + > + puts(" DDR: "); > + > + return dram_size << 20; You should use get_ram_size(). > +local_bus_init(void) > +{ > + volatile ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR); > + volatile fsl_lbc_t *lbc = LBC_BASE_ADDR; > + > + uint clkdiv; > + uint lbc_hz; > + sys_info_t sysinfo; > + > + get_sys_info(&sysinfo); > + clkdiv = (lbc->lcrr & LCRR_CLKDIV) * 2; > + lbc_hz = sysinfo.freqSystemBus / 1000000 / clkdiv; > + > + gur->lbiuiplldcr1 = 0x00078080; > + if (clkdiv == 16) { > + gur->lbiuiplldcr0 = 0x7c0f1bf0; > + } else if (clkdiv == 8) { > + gur->lbiuiplldcr0 = 0x6c0f1bf0; > + } else if (clkdiv == 4) { > + gur->lbiuiplldcr0 = 0x5c0f1bf0; > + } > + > + lbc->lcrr |= 0x00030000; > + asm("sync;isync;msync"); > + > + lbc->ltesr = 0xffffffff; /* Clear LBC error interrupts */ > + lbc->lteir = 0xffffffff; /* Enable LBC error interrupts */ NAK. Please use proper I/O accessors. ... > +#define CONFIG_SYS_LOAD_ADDR 0x2000000 /* default load address */ ... > +#define CONFIG_LOADADDR 1000000 /*default location for tftp and bootm*/ You probably want to make this consistent. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de You can only live once, but if you do it right, once is enough.