Scott Wood | b09c164 | 2008-01-17 16:31:40 -0600 | [diff] [blame] | 1 | #ifndef _PPC_REDBOOT_H |
| 2 | #define _PPC_REDBOOT_H |
| 3 | |
| 4 | //========================================================================= |
| 5 | // include/asm-ppc/redboot.h |
| 6 | // Copyright (c) 2002, 2003 Gary Thomas (<gary@mlbassoc.com> |
| 7 | // Copyright (c) 1997 Dan Malek (dmalek@jlc.net) |
| 8 | |
| 9 | // |
| 10 | // Board specific details, as provided by RedBoot |
| 11 | // |
| 12 | |
| 13 | /* A Board Information structure that is given to a program when |
| 14 | * RedBoot starts it up. Note: not all fields make sense for all |
| 15 | * architectures and it's up to the platform specific code to fill |
| 16 | * in the details. |
| 17 | */ |
| 18 | typedef struct bd_info { |
| 19 | unsigned int bi_tag; /* Should be 0x42444944 "BDID" */ |
| 20 | unsigned int bi_size; /* Size of this structure */ |
| 21 | unsigned int bi_revision; /* revision of this structure */ |
| 22 | unsigned int bi_bdate; /* bootstrap date, i.e. 0x19971106 */ |
| 23 | unsigned int bi_memstart; /* Memory start address */ |
| 24 | unsigned int bi_memsize; /* Memory (end) size in bytes */ |
| 25 | unsigned int bi_intfreq; /* Internal Freq, in Hz */ |
| 26 | unsigned int bi_busfreq; /* Bus Freq, in Hz */ |
| 27 | unsigned int bi_cpmfreq; /* CPM Freq, in Hz */ |
| 28 | unsigned int bi_brgfreq; /* BRG Freq, in Hz */ |
| 29 | unsigned int bi_vco; /* VCO Out from PLL */ |
| 30 | unsigned int bi_pci_freq; /* PCI Freq, in Hz */ |
| 31 | unsigned int bi_baudrate; /* Default console baud rate */ |
| 32 | unsigned int bi_immr; /* IMMR when called from boot rom */ |
| 33 | unsigned char bi_enetaddr[6]; |
| 34 | unsigned int bi_flashbase; /* Physical address of FLASH memory */ |
| 35 | unsigned int bi_flashsize; /* Length of FLASH memory */ |
| 36 | int bi_flashwidth; /* Width (8,16,32,64) */ |
| 37 | unsigned char *bi_cmdline; /* Pointer to command line */ |
| 38 | unsigned char bi_esa[3][6]; /* Ethernet station addresses */ |
| 39 | unsigned int bi_ramdisk_begin, bi_ramdisk_end; |
| 40 | struct { /* Information about [main] video screen */ |
| 41 | short x_res; /* Horizontal resolution in pixels */ |
| 42 | short y_res; /* Vertical resolution in pixels */ |
| 43 | short bpp; /* Bits/pixel */ |
| 44 | short mode; /* Type of pixels (packed, indexed) */ |
| 45 | unsigned long fb; /* Pointer to frame buffer (pixel) memory */ |
| 46 | } bi_video; |
| 47 | void (*bi_cputc)(char); /* Write a character to the RedBoot console */ |
| 48 | char (*bi_cgetc)(void); /* Read a character from the RedBoot console */ |
| 49 | int (*bi_ctstc)(void); /* Test for input on the RedBoot console */ |
| 50 | } bd_t; |
| 51 | |
| 52 | #define BI_REV 0x0102 /* Version 1.02 */ |
| 53 | |
| 54 | #define bi_pci_busfreq bi_pci_freq |
| 55 | #define bi_immr_base bi_immr |
| 56 | #endif |