Merge https://gitlab.denx.de/u-boot/custodians/u-boot-spi
[platform/kernel/u-boot.git] / include / asm-generic / global_data.h
index dffd6b2..8c78792 100644 (file)
  */
 
 #ifndef __ASSEMBLY__
+#include <fdtdec.h>
 #include <membuff.h>
 #include <linux/list.h>
 
 typedef struct global_data {
-       bd_t *bd;
+       struct bd_info *bd;
        unsigned long flags;
        unsigned int baudrate;
        unsigned long cpu_clk;          /* CPU clock in Hz!             */
@@ -32,7 +33,7 @@ typedef struct global_data {
        /* 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)
+#if defined(CONFIG_LCD) || defined(CONFIG_VIDEO) || defined(CONFIG_DM_VIDEO)
        unsigned long fb_base;          /* Base address of framebuffer mem */
 #endif
 #if defined(CONFIG_POST)
@@ -77,6 +78,10 @@ typedef struct global_data {
 #ifdef CONFIG_OF_LIVE
        struct device_node *of_root;
 #endif
+
+#if CONFIG_IS_ENABLED(MULTI_DTB_FIT)
+       const void *multi_dtb_fit;      /* uncompressed multi-dtb FIT image */
+#endif
        struct jt_funcs *jt;            /* jump table */
        char env_buf[32];               /* buffer for env_get() before reloc. */
 #ifdef CONFIG_TRACE
@@ -85,9 +90,6 @@ typedef struct global_data {
 #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)
@@ -129,6 +131,12 @@ typedef struct global_data {
        struct spl_handoff *spl_handoff;
 # endif
 #endif
+#if defined(CONFIG_TRANSLATION_OFFSET)
+       fdt_addr_t translation_offset;  /* optional translation offset */
+#endif
+#if CONFIG_IS_ENABLED(WDT)
+       struct udevice *watchdog_dev;
+#endif
 } gd_t;
 #endif
 
@@ -139,7 +147,7 @@ typedef struct global_data {
 #endif
 
 /*
- * Global Data Flags - the top 16 bits are reserved for arch-specific flags
+ * Global Data Flags
  */
 #define GD_FLG_RELOC           0x00001 /* Code was relocated to RAM       */
 #define GD_FLG_DEVINIT         0x00002 /* Devices have been initialized   */
@@ -157,5 +165,7 @@ typedef struct global_data {
 #define GD_FLG_ENV_DEFAULT     0x02000 /* Default variable flag           */
 #define GD_FLG_SPL_EARLY_INIT  0x04000 /* Early SPL init is done          */
 #define GD_FLG_LOG_READY       0x08000 /* Log system is ready for use     */
+#define GD_FLG_WDT_READY       0x10000 /* Watchdog is ready for use       */
+#define GD_FLG_SKIP_LL_INIT    0x20000 /* Don't perform low-level init    */
 
 #endif /* __ASM_GENERIC_GBL_DATA_H */