]> git.sur5r.net Git - u-boot/blobdiff - include/asm-generic/global_data.h
Merge branch 'master' of git://git.denx.de/u-boot-avr32
[u-boot] / include / asm-generic / global_data.h
index b8ac024045df073bb5f91e668e95dee2ee913525..6747619b1c7868ce946660619e4bbe694bcae577 100644 (file)
@@ -3,23 +3,7 @@
  * (C) Copyright 2002-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
+ * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #ifndef __ASM_GENERIC_GBL_DATA_H
  */
 
 #ifndef __ASSEMBLY__
+#include <linux/list.h>
+
 typedef struct global_data {
        bd_t *bd;
        unsigned long flags;
-       unsigned long baudrate;
+       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 */
@@ -68,9 +54,6 @@ typedef struct global_data {
        unsigned long env_addr; /* Address  of Environment struct */
        unsigned long env_valid;        /* Checksum of Environment valid? */
 
-       /* TODO: is this the same as relocaddr, or something else? */
-       unsigned long dest_addr;        /* Post-relocation address of U-Boot */
-       unsigned long dest_addr_sp;
        unsigned long ram_top;  /* Top address of RAM used by U-Boot */
 
        unsigned long relocaddr;        /* Start address of U-Boot in RAM */
@@ -80,9 +63,41 @@ typedef struct global_data {
        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
+
        const void *fdt_blob;   /* Our device tree, NULL if none */
-       void **jt;              /* jump table */
+       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 */
+#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 */
 } gd_t;
 #endif
@@ -98,5 +113,7 @@ typedef struct global_data {
 #define GD_FLG_LOGINIT         0x00020 /* Log Buffer has been initialized */
 #define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in & out)      */
 #define GD_FLG_ENV_READY       0x00080 /* Env. imported into hash table   */
+#define GD_FLG_SERIAL_READY    0x00100 /* Pre-reloc serial console ready  */
+#define GD_FLG_FULL_MALLOC_INIT        0x00200 /* Full malloc() is ready          */
 
 #endif /* __ASM_GENERIC_GBL_DATA_H */