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