]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - include/common.h
sandbox: config: Enable cros_ec emulation and related items
[karo-tx-uboot.git] / include / common.h
index 409515f4989ce5cee3b382d0c2f4ecc370b1e5a2..5c9bd08f45f21dda5a14782c34773f8d319dfc80 100644 (file)
@@ -8,9 +8,6 @@
 #ifndef __COMMON_H_
 #define __COMMON_H_    1
 
-#undef _LINUX_CONFIG_H
-#define _LINUX_CONFIG_H 1      /* avoid reading Linux autoconf.h file  */
-
 #ifndef __ASSEMBLY__           /* put C only stuff in this section */
 
 typedef unsigned char          uchar;
@@ -55,16 +52,13 @@ typedef volatile unsigned char      vu_char;
 #include <mpc5xxx.h>
 #elif defined(CONFIG_MPC512X)
 #include <asm/immap_512x.h>
-#elif defined(CONFIG_8260)
+#elif defined(CONFIG_MPC8260)
 #if   defined(CONFIG_MPC8247) \
    || defined(CONFIG_MPC8248) \
    || defined(CONFIG_MPC8271) \
    || defined(CONFIG_MPC8272)
 #define CONFIG_MPC8272_FAMILY  1
 #endif
-#if defined(CONFIG_MPC8272_FAMILY)
-#define CONFIG_MPC8260 1
-#endif
 #include <asm/immap_8260.h>
 #endif
 #ifdef CONFIG_MPC86xx
@@ -99,6 +93,10 @@ typedef volatile unsigned char       vu_char;
 #include <flash.h>
 #include <image.h>
 
+#ifdef __LP64__
+#define CONFIG_SYS_SUPPORT_64BIT_DATA
+#endif
+
 #ifdef DEBUG
 #define _DEBUG 1
 #else
@@ -305,10 +303,18 @@ int       checkdram     (void);
 int    last_stage_init(void);
 extern ulong monitor_flash_len;
 int mac_read_from_eeprom(void);
-extern u8 _binary_dt_dtb_start[];      /* embedded device tree blob */
+extern u8 __dtb_dt_begin[];    /* embedded device tree blob */
 int set_cpu_clk_info(void);
+#if defined(CONFIG_DISPLAY_CPUINFO)
 int print_cpuinfo(void);
+#else
+static inline int print_cpuinfo(void)
+{
+       return 0;
+}
+#endif
 int update_flash_size(int flash_size);
+int arch_early_init_r(void);
 
 /**
  * Show the DRAM size in a board-specific way
@@ -355,6 +361,11 @@ int do_ext2load(cmd_tbl_t *, int, int, char * const []);
 int    env_init     (void);
 void   env_relocate (void);
 int    envmatch     (uchar *, int);
+
+/* Avoid unfortunate conflict with libc's getenv() */
+#ifdef CONFIG_SANDBOX
+#define getenv uboot_getenv
+#endif
 char   *getenv      (const char *);
 int    getenv_f     (const char *name, char *buf, unsigned len);
 ulong getenv_ulong(const char *name, int base, ulong default_val);
@@ -411,6 +422,9 @@ static inline int setenv_addr(const char *varname, const void *addr)
 #ifdef CONFIG_MIPS
 # include <asm/u-boot-mips.h>
 #endif /* CONFIG_MIPS */
+#ifdef CONFIG_ARC
+# include <asm/u-boot-arc.h>
+#endif /* CONFIG_ARC */
 
 #ifdef CONFIG_AUTO_COMPLETE
 int env_complete(char *var, int maxv, char *cmdv[], int maxsz, char *buf);
@@ -454,6 +468,7 @@ void        api_init (void);
 
 /* common/memsize.c */
 long   get_ram_size  (long *, long);
+phys_size_t get_effective_memsize(void);
 
 /* $(BOARD)/$(BOARD).c */
 void   reset_phy     (void);
@@ -657,7 +672,7 @@ int get_clocks (void);
 int    get_clocks_866 (void);
 int    sdram_adjust_866 (void);
 int    adjust_sdram_tbs_8xx (void);
-#if defined(CONFIG_8260)
+#if defined(CONFIG_MPC8260)
 int    prt_8260_clks (void);
 #elif defined(CONFIG_MPC5xxx)
 int    prt_mpc5xxx_clks (void);
@@ -698,6 +713,10 @@ ulong get_ddr_freq(ulong);
 #if defined(CONFIG_MPC85xx)
 typedef MPC85xx_SYS_INFO sys_info_t;
 void   get_sys_info  ( sys_info_t * );
+#  if defined(CONFIG_OF_LIBFDT)
+       void ft_fixup_cpu(void *, u64);
+       void ft_fixup_num_cores(void *);
+#  endif
 #endif
 #if defined(CONFIG_MPC86xx)
 typedef MPC86xx_SYS_INFO sys_info_t;
@@ -721,7 +740,7 @@ void        get_sys_info  ( sys_info_t * );
 #endif
 
 /* $(CPU)/cpu_init.c */
-#if defined(CONFIG_8xx) || defined(CONFIG_8260)
+#if defined(CONFIG_8xx) || defined(CONFIG_MPC8260)
 void   cpu_init_f    (volatile immap_t *immr);
 #endif
 #if defined(CONFIG_4xx) || defined(CONFIG_MPC85xx) || defined(CONFIG_MCF52x2) ||defined(CONFIG_MPC86xx)
@@ -729,7 +748,7 @@ void        cpu_init_f    (void);
 #endif
 
 int    cpu_init_r    (void);
-#if defined(CONFIG_8260)
+#if defined(CONFIG_MPC8260)
 int    prt_8260_rsr  (void);
 #elif defined(CONFIG_MPC83xx)
 int    prt_83xx_rsr  (void);
@@ -923,7 +942,7 @@ static inline void unmap_sysmem(const void *vaddr)
 {
 }
 
-static inline phys_addr_t map_to_sysmem(void *ptr)
+static inline phys_addr_t map_to_sysmem(const void *ptr)
 {
        return (phys_addr_t)(uintptr_t)ptr;
 }
@@ -960,6 +979,22 @@ static inline phys_addr_t map_to_sysmem(void *ptr)
 #define DIV_ROUND_UP(n,d)      (((n) + (d) - 1) / (d))
 #define roundup(x, y)          ((((x) + ((y) - 1)) / (y)) * (y))
 
+/*
+ * Divide positive or negative dividend by positive divisor and round
+ * to closest integer. Result is undefined for negative divisors and
+ * for negative dividends if the divisor variable type is unsigned.
+ */
+#define DIV_ROUND_CLOSEST(x, divisor)(                 \
+{                                                      \
+       typeof(x) __x = x;                              \
+       typeof(divisor) __d = divisor;                  \
+       (((typeof(x))-1) > 0 ||                         \
+        ((typeof(divisor))-1) > 0 || (__x) > 0) ?      \
+               (((__x) + ((__d) / 2)) / (__d)) :       \
+               (((__x) - ((__d) / 2)) / (__d));        \
+}                                                      \
+)
+
 #define ALIGN(x,a)             __ALIGN_MASK((x),(typeof(x))(a)-1)
 #define __ALIGN_MASK(x,mask)   (((x)+(mask))&~(mask))