uboot global_data

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值