]> git.sur5r.net Git - u-boot/blob - include/asm-sparc/global_data.h
Merge branch 'master' of /home/wd/git/u-boot/master
[u-boot] / include / asm-sparc / global_data.h
1 /*
2  * (C) Copyright 2002
3  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4  *
5  * (C) Copyright 2007
6  * Daniel Hellstrom, Gaisler Research, daniel@gaisler.com.
7  *
8  * See file CREDITS for list of people who contributed to this
9  * project.
10  *
11  * This program is free software; you can redistribute it and/or
12  * modify it under the terms of the GNU General Public License as
13  * published by the Free Software Foundation; either version 2 of
14  * the License, or (at your option) any later version.
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19  * GNU General Public License for more details.
20  *
21  * You should have received a copy of the GNU General Public License
22  * along with this program; if not, write to the Free Software
23  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
24  * MA 02111-1307 USA
25  */
26
27 #ifndef __ASM_GBL_DATA_H
28 #define __ASM_GBL_DATA_H
29
30 #include "asm/types.h"
31
32 /*
33  * The following data structure is placed in some memory wich is
34  * available very early after boot (like DPRAM on MPC8xx/MPC82xx, or
35  * some locked parts of the data cache) to allow for a minimum set of
36  * global variables during system initialization (until we have set
37  * up the memory controller so that we can use RAM).
38  *
39  * Keep it *SMALL* and remember to set CONFIG_SYS_GBL_DATA_SIZE > sizeof(gd_t)
40  */
41
42 typedef struct global_data {
43         bd_t *bd;
44         unsigned long flags;
45         unsigned long baudrate;
46         unsigned long cpu_clk;  /* CPU clock in Hz!             */
47         unsigned long bus_clk;
48
49         phys_size_t ram_size;           /* RAM size */
50         unsigned long reloc_off;        /* Relocation Offset */
51         unsigned long reset_status;     /* reset status register at boot        */
52         unsigned long env_addr; /* Address  of Environment struct       */
53         unsigned long env_valid;        /* Checksum of Environment valid?       */
54         unsigned long have_console;     /* serial_init() was called */
55
56 #if defined(CONFIG_LCD) || defined(CONFIG_VIDEO)
57         unsigned long fb_base;  /* Base address of framebuffer memory   */
58 #endif
59 #if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
60         unsigned long post_log_word;    /* Record POST activities */
61         unsigned long post_init_f_time; /* When post_init_f started */
62 #endif
63 #ifdef CONFIG_BOARD_TYPES
64         unsigned long board_type;
65 #endif
66 #ifdef CONFIG_MODEM_SUPPORT
67         unsigned long do_mdm_init;
68         unsigned long be_quiet;
69 #endif
70 #ifdef CONFIG_LWMON
71         unsigned long kbd_status;
72 #endif
73         void **jt;              /* jump table */
74 } gd_t;
75
76 /*
77  * Global Data Flags
78  */
79 #define GD_FLG_RELOC    0x00001 /* Code was relocated to RAM            */
80 #define GD_FLG_DEVINIT  0x00002 /* Devices have been initialized        */
81 #define GD_FLG_SILENT   0x00004 /* Silent mode                          */
82 #define GD_FLG_POSTFAIL 0x00008 /* Critical POST test failed            */
83 #define GD_FLG_POSTSTOP 0x00010 /* POST seqeunce aborted                */
84 #define GD_FLG_LOGINIT  0x00020 /* Log Buffer has been initialized      */
85 #define GD_FLG_DISABLE_CONSOLE  0x00040         /* Disable console (in & out)    */
86
87 #define DECLARE_GLOBAL_DATA_PTR     register volatile gd_t *gd asm ("%g7")
88
89 #endif                          /* __ASM_GBL_DATA_H */