From mboxrd@z Thu Jan 1 00:00:00 1970 From: Clemens Koller Date: Wed, 15 Jun 2005 15:42:32 +0200 Subject: [U-Boot-Users] How can I get board information(u-boot saved) from linux kernel In-Reply-To: <20050615030229.99963.qmail@web15101.mail.cnb.yahoo.com> References: <20050615030229.99963.qmail@web15101.mail.cnb.yahoo.com> Message-ID: <42B03048.7080105@anagramm.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi, jie! Well, almost off-topic as you asked in the u-boot-list But just browse the source: checkout some platform code for i.e. "bd_t" and "__res" Depending on your platform, it's picked up in the platform-setup file. i.e.: in arch/ppc/syslib/ppc4xx_setup.c lines: 218 /* 219 * Input(s): 220 * r3 - Optional pointer to a board information structure. 221 * r4 - Optional pointer to the physical starting address of the init RAM 222 * disk. 223 * r5 - Optional pointer to the physical ending address of the init RAM 224 * disk. 225 * r6 - Optional pointer to the physical starting address of any kernel 226 * command-line parameters. 227 * r7 - Optional pointer to the physical ending address of any kernel 228 * command-line parameters. 229 */ 230 void __init 231 ppc4xx_init(unsigned long r3, unsigned long r4, unsigned long r5, 232 unsigned long r6, unsigned long r7) 233 { 234 parse_bootinfo(find_bootinfo()); 235 236 /* 237 * If we were passed in a board information, copy it into the 238 * residual data area. 239 */ 240 if (r3) 241 __res = *(bd_t *)(r3 + KERNELBASE); and so on... ------------------------------- To use it in your code try something like: #include #include #include ... bd_t *binfo=(bd_t *) __res; DBG("Size of BoardInfo structure: %i\n",sizeof(bd_t)); DBG("CPU Frequency: %luMHz\n",binfo->bi_intfreq/1000000); DBG("DRAM start: %0lX\n",binfo->bi_memstart); DBG("DRAM size (bytes): %0lX\n",binfo->bi_memsize); DBG("FLASH start: %0lX\n",binfo->bi_flashstart); DBG("FLASH size (bytes): %0lX\n",binfo->bi_flashsize); DBG("FLASH offset: %0lX\n",binfo->bi_flashoffset); DBG("SRAM start: %0lX\n",binfo->bi_sramstart); DBG("SRAM size (bytes): %0lX\n",binfo->bi_sramsize); DBG("IMMR base: %0lX\n",binfo->bi_immr_base); DBG("PVR %0X\n",mfspr(PVR)); DBG("SVR %0X\n",mfspr(SVR)); ------------------------ But you might consider using the new OpenFirmware structure to acces bios/boot information on ppc and friends... checkout the lastest OF Patches for that. Greets, Clemens Koller _______________________________ R&D Imaging Devices Anagramm GmbH Rupert-Mayer-Str. 45/1 81379 Muenchen Germany http://www.anagramm.de Phone: +49-89-741518-50 Fax: +49-89-741518-19 jie han wrote: > I am new to U-Boot, I checked > file:\include\asm\u-boot.h,it's defined struct > bd_info,this struct store board information passed to > linux kernel.How can I get this struct from linux > kernel? > If anyone knows of a way to get U-Boot saved board > information from linux kernel,give me a hint,thanks > advance. > > Sincerely, > > Jie > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > > > ------------------------------------------------------- > SF.Net email is sponsored by: Discover Easy Linux Migration Strategies > from IBM. Find simple to follow Roadmaps, straightforward articles, > informative Webcasts and more! Get everything you need to get up to > speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click > _______________________________________________ > U-Boot-Users mailing list > U-Boot-Users at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/u-boot-users >