]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - include/common.h
karo: tx6: factor out PMIC initialization
[karo-tx-uboot.git] / include / common.h
index 8a1f3e406d9f529fb04c9c9e50bd58e1f22b9e3e..5d502c1b545207ecb20d75407aed120980508ee6 100644 (file)
@@ -2,23 +2,7 @@
  * (C) Copyright 2000-2009
  * 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 __COMMON_H_
@@ -71,8 +55,6 @@ typedef volatile unsigned char        vu_char;
 #include <mpc5xxx.h>
 #elif defined(CONFIG_MPC512X)
 #include <asm/immap_512x.h>
-#elif defined(CONFIG_MPC8220)
-#include <asm/immap_8220.h>
 #elif defined(CONFIG_8260)
 #if   defined(CONFIG_MPC8247) \
    || defined(CONFIG_MPC8248) \
@@ -199,18 +181,35 @@ typedef void (interrupt_handler_t)(void *);
  * General Purpose Utilities
  */
 #define min(X, Y)                              \
-       ({ typeof (X) __x = (X);                \
-               typeof (Y) __y = (Y);           \
+       ({ typeof(X) __x = (X);                 \
+               typeof(Y) __y = (Y);            \
                (__x < __y) ? __x : __y; })
 
 #define max(X, Y)                              \
-       ({ typeof (X) __x = (X);                \
-               typeof (Y) __y = (Y);           \
+       ({ typeof(X) __x = (X);                 \
+               typeof(Y) __y = (Y);            \
                (__x > __y) ? __x : __y; })
 
 #define MIN(x, y)  min(x, y)
 #define MAX(x, y)  max(x, y)
 
+#define min3(X, Y, Z)                          \
+       ({ typeof(X) __x = (X);                 \
+               typeof(Y) __y = (Y);            \
+               typeof(Z) __z = (Z);            \
+               __x < __y ? (__x < __z ? __x : __z) :   \
+               (__y < __z ? __y : __z); })
+
+#define max3(X, Y, Z)                          \
+       ({ typeof(X) __x = (X);                 \
+               typeof(Y) __y = (Y);            \
+               typeof(Z) __z = (Z);            \
+               __x > __y ? (__x > __z ? __x : __z) :   \
+               (__y > __z ? __y : __z); })
+
+#define MIN3(x, y, z)  min3(x, y, z)
+#define MAX3(x, y, z)  max3(x, y, z)
+
 /*
  * Return the absolute value of a number.
  *
@@ -295,9 +294,6 @@ int readline_into_buffer(const char *const prompt, char *buffer,
 int    parse_line (char *, char *[]);
 void   init_cmd_timeout(void);
 void   reset_cmd_timeout(void);
-#ifdef CONFIG_MENU
-int    abortboot(int bootdelay);
-#endif
 extern char console_buffer[];
 
 /* arch/$(ARCH)/lib/board.c */
@@ -323,6 +319,16 @@ int update_flash_size(int flash_size);
  */
 void board_show_dram(ulong size);
 
+/**
+ * arch_fixup_memory_node() - Write arch-specific memory information to fdt
+ *
+ * Defined in arch/$(ARCH)/lib/bootm.c
+ *
+ * @blob:      FDT blob to write to
+ * @return 0 if ok, or -ve FDT_ERR_... on failure
+ */
+int arch_fixup_memory_node(void *blob);
+
 /* common/flash.c */
 void flash_perror (int);
 
@@ -399,6 +405,7 @@ static inline int setenv_addr(const char *varname, const void *addr)
 #endif
 #ifdef CONFIG_NDS32
 # include <asm/mach-types.h>
+# include <asm/setup.h>
 # include <asm/u-boot-nds32.h>
 #endif /* CONFIG_NDS32 */
 #ifdef CONFIG_MIPS
@@ -556,7 +563,6 @@ void        trap_init     (ulong);
     defined (CONFIG_74x)       || \
     defined (CONFIG_75x)       || \
     defined (CONFIG_74xx)      || \
-    defined (CONFIG_MPC8220)   || \
     defined (CONFIG_MPC85xx)   || \
     defined (CONFIG_MPC86xx)   || \
     defined (CONFIG_MPC83xx)
@@ -648,9 +654,6 @@ int prt_8260_clks (void);
 #elif defined(CONFIG_MPC5xxx)
 int    prt_mpc5xxx_clks (void);
 #endif
-#if defined(CONFIG_MPC8220)
-int    prt_mpc8220_clks (void);
-#endif
 #ifdef CONFIG_4xx
 ulong  get_OPB_freq (void);
 ulong  get_PCI_freq (void);
@@ -732,6 +735,10 @@ void       irq_install_handler(int, interrupt_handler_t *, void *);
 void   irq_free_handler   (int);
 void   reset_timer        (void);
 ulong  get_timer          (ulong base);
+
+/* Return value of monotonic microsecond timer */
+unsigned long timer_get_us(void);
+
 void   enable_interrupts  (void);
 int    disable_interrupts (void);
 
@@ -803,6 +810,7 @@ char *      strmhz(char *buf, unsigned long hz);
 /* lib/rand.c */
 #if defined(CONFIG_RANDOM_MACADDR) || \
        defined(CONFIG_BOOTP_RANDOM_DELAY) || \
+       defined(CONFIG_BOOTP_RANDOM_ID) || \
        defined(CONFIG_CMD_LINK_LOCAL)
 #define RAND_MAX -1U
 void srand(unsigned int seed);