Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef _PPC_REDBOOT_H
0003 #define _PPC_REDBOOT_H
0004 
0005 //=========================================================================
0006 // include/asm-ppc/redboot.h
0007 //   Copyright (c) 2002, 2003 Gary Thomas (<gary@mlbassoc.com>
0008 //   Copyright (c) 1997 Dan Malek (dmalek@jlc.net)
0009 
0010 //
0011 // Board specific details, as provided by RedBoot
0012 //
0013 
0014 /* A Board Information structure that is given to a program when
0015  * RedBoot starts it up.  Note: not all fields make sense for all
0016  * architectures and it's up to the platform specific code to fill
0017  * in the details.
0018  */
0019 typedef struct bd_info {
0020     unsigned int   bi_tag;        /* Should be 0x42444944 "BDID" */
0021     unsigned int   bi_size;       /* Size of this structure */
0022     unsigned int   bi_revision;   /* revision of this structure */
0023     unsigned int   bi_bdate;      /* bootstrap date, i.e. 0x19971106 */
0024     unsigned int   bi_memstart;   /* Memory start address */
0025     unsigned int   bi_memsize;    /* Memory (end) size in bytes */
0026     unsigned int   bi_intfreq;    /* Internal Freq, in Hz */
0027     unsigned int   bi_busfreq;    /* Bus Freq, in Hz */
0028     unsigned int   bi_cpmfreq;    /* CPM Freq, in Hz */
0029     unsigned int   bi_brgfreq;    /* BRG Freq, in Hz */
0030     unsigned int   bi_vco;        /* VCO Out from PLL */
0031     unsigned int   bi_pci_freq;   /* PCI Freq, in Hz */
0032     unsigned int   bi_baudrate;   /* Default console baud rate */
0033     unsigned int   bi_immr;       /* IMMR when called from boot rom */
0034     unsigned char  bi_enetaddr[6];
0035     unsigned int   bi_flashbase;  /* Physical address of FLASH memory */
0036     unsigned int   bi_flashsize;  /* Length of FLASH memory */
0037     int            bi_flashwidth; /* Width (8,16,32,64) */
0038     unsigned char *bi_cmdline;    /* Pointer to command line */
0039     unsigned char  bi_esa[3][6];  /* Ethernet station addresses */
0040     unsigned int   bi_ramdisk_begin, bi_ramdisk_end;
0041     struct {                      /* Information about [main] video screen */
0042         short x_res;              /*   Horizontal resolution in pixels */
0043         short y_res;              /*   Vertical resolution in pixels */
0044         short bpp;                /*   Bits/pixel */
0045         short mode;               /*   Type of pixels (packed, indexed) */
0046         unsigned long fb;         /*   Pointer to frame buffer (pixel) memory */
0047     } bi_video;
0048     void         (*bi_cputc)(char);   /* Write a character to the RedBoot console */
0049     char         (*bi_cgetc)(void);   /* Read a character from the RedBoot console */
0050     int          (*bi_ctstc)(void);   /* Test for input on the RedBoot console */
0051 } bd_t;
0052 
0053 #define BI_REV 0x0102    /* Version 1.02 */
0054 
0055 #define bi_pci_busfreq bi_pci_freq
0056 #define bi_immr_base   bi_immr
0057 #endif