public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Clemens Koller <clemens.koller@anagramm.de>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] How can I get board information(u-boot saved) from linux kernel
Date: Wed, 15 Jun 2005 15:42:32 +0200	[thread overview]
Message-ID: <42B03048.7080105@anagramm.de> (raw)
In-Reply-To: <20050615030229.99963.qmail@web15101.mail.cnb.yahoo.com>

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 <linux/init.h>
#include <asm/io.h>
#include <asm/mpc85xx.h>

...
        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
> 

      reply	other threads:[~2005-06-15 13:42 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-15  3:02 [U-Boot-Users] How can I get board information(u-boot saved) from linux kernel jie han
2005-06-15 13:42 ` Clemens Koller [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=42B03048.7080105@anagramm.de \
    --to=clemens.koller@anagramm.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox