uboot global_data

来源:互联网 发布:js设置left值 编辑:程序博客网 时间:2024/06/04 18:52
include/asm-generic/global_data.h
global_data:
 

/* * The following data structure is placed in some memory which is * available very early after boot (like DPRAM on MPC8xx/MPC82xx, or * some locked parts of the data cache) to allow for a minimum set of * global variables during system initialization (until we have set * up the memory controller so that we can use RAM). * * Keep it *SMALL* and remember to set GENERATED_GBL_DATA_SIZE > sizeof(gd_t) * * Each architecture has its own private fields. For now all are private */

#ifndef __ASSEMBLY__#include <membuff.h>#include <linux/list.h>

typedef struct global_data { bd_t *bd; unsigned long flags; unsigned int baudrate; unsigned long cpu_clk;  /* CPU clock in Hz!  */ unsigned long bus_clk; /* We cannot bracket this with CONFIG_PCI due to mpc5xxx */ unsigned long pci_clk; unsigned long mem_clk;#if defined(CONFIG_LCD) || defined(CONFIG_VIDEO) unsigned long fb_base;  /* Base address of framebuffer mem */#endif#if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER) unsigned long post_log_word; /* Record POST activities */ unsigned long post_log_res; /* success of POST test */ unsigned long post_init_f_time; /* When post_init_f started */#endif#ifdef CONFIG_BOARD_TYPES unsigned long board_type;#endif unsigned long have_console; /* serial_init() was called */#if CONFIG_IS_ENABLED(PRE_CONSOLE_BUFFER) unsigned long precon_buf_idx; /* Pre-Console buffer index */#endif unsigned long env_addr;  /* Address  of Environment struct */ unsigned long env_valid; /* Checksum of Environment valid? */

 unsigned long ram_top;  /* Top address of RAM used by U-Boot */ unsigned long relocaddr; /* Start address of U-Boot in RAM */ phys_size_t ram_size;  /* RAM size */ unsigned long mon_len;  /* monitor len */ unsigned long irq_sp;  /* irq stack pointer */ unsigned long start_addr_sp; /* start_addr_stackpointer */ unsigned long reloc_off; struct global_data *new_gd; /* relocated global data */

#ifdef CONFIG_DM struct udevice *dm_root; /* Root instance for Driver Model */ struct udevice *dm_root_f; /* Pre-relocation root instance */ struct list_head uclass_root; /* Head of core tree */#endif#ifdef CONFIG_TIMER struct udevice *timer;  /* Timer instance for Driver Model */#endif

 const void *fdt_blob;  /* Our device tree, NULL if none */ void *new_fdt;   /* Relocated FDT */ unsigned long fdt_size;  /* Space reserved for relocated FDT */ struct jt_funcs *jt;  /* jump table */ char env_buf[32];  /* buffer for getenv() before reloc. */#ifdef CONFIG_TRACE void  *trace_buff; /* The trace buffer */#endif#if defined(CONFIG_SYS_I2C) int  cur_i2c_bus; /* current used i2c bus */#endif#ifdef CONFIG_SYS_I2C_MXC void *srdata[10];#endif unsigned long timebase_h; unsigned long timebase_l;#ifdef CONFIG_SYS_MALLOC_F_LEN unsigned long malloc_base; /* base address of early malloc() */ unsigned long malloc_limit; /* limit address */ unsigned long malloc_ptr; /* current address */#endif#ifdef CONFIG_PCI struct pci_controller *hose; /* PCI hose for early use */ phys_addr_t pci_ram_top; /* top of region accessible to PCI */#endif#ifdef CONFIG_PCI_BOOTDELAY int pcidelay_done;#endif struct udevice *cur_serial_dev; /* current serial device */ struct arch_global_data arch; /* architecture-specific data */#ifdef CONFIG_CONSOLE_RECORD struct membuff console_out; /* console output */ struct membuff console_in; /* console input */#endif#ifdef CONFIG_DM_VIDEO ulong video_top;  /* Top of video frame buffer area */ ulong video_bottom;  /* Bottom of video frame buffer area */#endif} gd_t;#endif

 
0 0
原创粉丝点击