zoukankan      html  css  js  c++  java
  • gd_t结构 bd_t结构

    gd_t在u-boot-2018.07-fmxx/include/asm-generic/global_data.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)
        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;    /* Environment valid? enum env_valid */
        unsigned long env_has_init;    /* Bitmask of boolean of struct env_location offsets */
        int env_load_location;

        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 */
    #ifdef CONFIG_OF_LIVE
        struct device_node *of_root;
    #endif
        struct jt_funcs *jt;        /* jump table */
        char env_buf[32];        /* buffer for env_get() 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 int timebase_h;
        unsigned int timebase_l;
    #if CONFIG_VAL(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
    #ifdef CONFIG_BOOTSTAGE
        struct bootstage_data *bootstage;    /* Bootstage information */
        struct bootstage_data *new_bootstage;    /* Relocated bootstage info */
    #endif
    #ifdef CONFIG_LOG
        int log_drop_count;        /* Number of dropped log messages */
        int default_log_level;        /* For devices with no filters */
        struct list_head log_head;    /* List of struct log_device */
        int log_fmt;            /* Mask containing log format info */
    #endif
    } gd_t;

    bd_t在u-boot-2018.07-fmxx/include/asm-generic/global_data.h中定义

    typedef struct bd_info {
        unsigned long    bi_memstart;    /* start of DRAM memory */
        phys_size_t    bi_memsize;    /* size     of DRAM memory in bytes */
        unsigned long    bi_flashstart;    /* start of FLASH memory */
        unsigned long    bi_flashsize;    /* size     of FLASH memory */
        unsigned long    bi_flashoffset; /* reserved area for startup monitor */
        unsigned long    bi_sramstart;    /* start of SRAM memory */
        unsigned long    bi_sramsize;    /* size     of SRAM memory */
    #ifdef CONFIG_ARM
        unsigned long    bi_arm_freq; /* arm frequency */
        unsigned long    bi_dsp_freq; /* dsp core frequency */
        unsigned long    bi_ddr_freq; /* ddr frequency */
    #endif
    #if defined(CONFIG_MPC8xx) || defined(CONFIG_E500) || defined(CONFIG_MPC86xx)
        unsigned long    bi_immr_base;    /* base of IMMR register */
    #endif
    #if defined(CONFIG_M68K)
        unsigned long    bi_mbar_base;    /* base of internal registers */
    #endif
    #if defined(CONFIG_MPC83xx)
        unsigned long    bi_immrbar;
    #endif
        unsigned long    bi_bootflags;    /* boot / reboot flag (Unused) */
        unsigned long    bi_ip_addr;    /* IP Address */
        unsigned char    bi_enetaddr[6];    /* OLD: see README.enetaddr */
        unsigned short    bi_ethspeed;    /* Ethernet speed in Mbps */
        unsigned long    bi_intfreq;    /* Internal Freq, in MHz */
        unsigned long    bi_busfreq;    /* Bus Freq, in MHz */
    #if defined(CONFIG_CPM2)
        unsigned long    bi_cpmfreq;    /* CPM_CLK Freq, in MHz */
        unsigned long    bi_brgfreq;    /* BRG_CLK Freq, in MHz */
        unsigned long    bi_sccfreq;    /* SCC_CLK Freq, in MHz */
        unsigned long    bi_vco;        /* VCO Out from PLL, in MHz */
    #endif
    #if defined(CONFIG_M68K)
        unsigned long    bi_ipbfreq;    /* IPB Bus Freq, in MHz */
        unsigned long    bi_pcifreq;    /* PCI Bus Freq, in MHz */
    #endif
    #if defined(CONFIG_EXTRA_CLOCK)
        unsigned long bi_inpfreq;    /* input Freq in MHz */
        unsigned long bi_vcofreq;    /* vco Freq in MHz */
        unsigned long bi_flbfreq;    /* Flexbus Freq in MHz */
    #endif

    #ifdef CONFIG_HAS_ETH1
        unsigned char   bi_enet1addr[6];    /* OLD: see README.enetaddr */
    #endif
    #ifdef CONFIG_HAS_ETH2
        unsigned char    bi_enet2addr[6];    /* OLD: see README.enetaddr */
    #endif
    #ifdef CONFIG_HAS_ETH3
        unsigned char   bi_enet3addr[6];    /* OLD: see README.enetaddr */
    #endif
    #ifdef CONFIG_HAS_ETH4
        unsigned char   bi_enet4addr[6];    /* OLD: see README.enetaddr */
    #endif
    #ifdef CONFIG_HAS_ETH5
        unsigned char   bi_enet5addr[6];    /* OLD: see README.enetaddr */
    #endif

        ulong            bi_arch_number;    /* unique id for this board */
        ulong            bi_boot_params;    /* where this board expects params */
    #ifdef CONFIG_NR_DRAM_BANKS
        struct {            /* RAM configuration */
            phys_addr_t start;
            phys_size_t size;
        } bi_dram[CONFIG_NR_DRAM_BANKS];
    #endif /* CONFIG_NR_DRAM_BANKS */
    } bd_t;

  • 相关阅读:
    字符串 CSV解析 表格 逗号分隔值 通讯录 电话簿 MD
    Context Application 使用总结 MD
    RxJava RxPermissions 动态权限 简介 原理 案例 MD
    Luban 鲁班 图片压缩 MD
    FileProvider N 7.0 升级 安装APK 选择文件 拍照 临时权限 MD
    组件化 得到 DDComponent JIMU 模块 插件 MD
    gradlew 命令行 build 调试 构建错误 Manifest merger failed MD
    protobuf Protocol Buffers 简介 案例 MD
    ORM数据库框架 SQLite 常用数据库框架比较 MD
    [工具配置]requirejs 多页面,多入口js文件打包总结
  • 原文地址:https://www.cnblogs.com/idyllcheung/p/11627985.html
Copyright © 2011-2022 走看看