env: Move env_get_ulong() to env.h
[oweals/u-boot.git] / include / common.h
index 8b9f859c07f8bc4bc5ffde2b07e54c0a321742e8..48f443e851cc6436a2008e41a3fc3404f6d6880a 100644 (file)
@@ -14,9 +14,6 @@ typedef volatile unsigned long        vu_long;
 typedef volatile unsigned short vu_short;
 typedef volatile unsigned char vu_char;
 
-/* Allow sharing constants with type modifiers between C and assembly. */
-#define _AC(X, Y)       (X##Y)
-
 #include <config.h>
 #include <errno.h>
 #include <time.h>
@@ -108,6 +105,17 @@ int mdm_init(void);
  */
 void board_show_dram(phys_size_t size);
 
+/**
+ * Get the uppermost pointer that is valid to access
+ *
+ * Some systems may not map all of their address space. This function allows
+ * boards to indicate what their highest support pointer value is for DRAM
+ * access.
+ *
+ * @param total_size   Size of U-Boot (unused?)
+ */
+ulong board_get_usable_ram_top(ulong total_size);
+
 /**
  * arch_fixup_fdt() - Write arch-specific information to fdt
  *
@@ -137,11 +145,6 @@ int do_fat_fsload(cmd_tbl_t *, int, int, char * const []);
 /* common/cmd_ext2.c */
 int do_ext2load(cmd_tbl_t *, int, int, char * const []);
 
-/* common/cmd_nvedit.c */
-int    env_init     (void);
-void   env_relocate (void);
-int    envmatch     (uchar *, int);
-
 /**
  * env_get() - Look up the value of an environment variable
  *
@@ -154,31 +157,6 @@ int        envmatch     (uchar *, int);
  */
 char *env_get(const char *varname);
 
-/**
- * env_get_f() - Look up the value of an environment variable (early)
- *
- * This function is called from env_get() if the environment has not been
- * loaded yet (GD_FLG_ENV_READY flag is 0). Some environment locations will
- * support reading the value (slowly) and some will not.
- *
- * @varname:   Variable to look up
- * @return value of variable, or NULL if not found
- */
-int env_get_f(const char *name, char *buf, unsigned len);
-
-/**
- * env_get_ulong() - Return an environment variable as an integer value
- *
- * Most U-Boot environment variables store hex values. For those which store
- * (e.g.) base-10 integers, this function can be used to read the value.
- *
- * @name:      Variable to look up
- * @base:      Base to use (e.g. 10 for base 10, 2 for binary)
- * @default_val: Default value to return if no value is found
- * @return the value found, or @default_val if none
- */
-ulong env_get_ulong(const char *name, int base, ulong default_val);
-
 /**
  * env_get_hex() - Return an environment variable as a hex value
  *
@@ -209,41 +187,6 @@ int env_get_yesno(const char *var);
  */
 int env_set(const char *varname, const char *value);
 
-/**
- * env_set_ulong() - set an environment variable to an integer
- *
- * @varname: Variable to adjust
- * @value: Value to set for the variable (will be converted to a string)
- * @return 0 if OK, 1 on error
- */
-int env_set_ulong(const char *varname, ulong value);
-
-/**
- * env_set_hex() - set an environment variable to a hex value
- *
- * @varname: Variable to adjust
- * @value: Value to set for the variable (will be converted to a hex string)
- * @return 0 if OK, 1 on error
- */
-int env_set_hex(const char *varname, ulong value);
-
-/**
- * env_set_addr - Set an environment variable to an address in hex
- *
- * @varname:   Environment variable to set
- * @addr:      Value to set it to
- * @return 0 if ok, 1 on error
- */
-static inline int env_set_addr(const char *varname, const void *addr)
-{
-       return env_set_hex(varname, (ulong)addr);
-}
-
-#ifdef CONFIG_AUTO_COMPLETE
-int env_complete(char *var, int maxv, char *cmdv[], int maxsz, char *buf);
-#endif
-int get_env_id (void);
-
 void   pci_init_board(void);
 
 /* common/exports.c */
@@ -279,13 +222,6 @@ int  eeprom_write (unsigned dev_addr, unsigned offset, uchar *buffer, unsigned c
 # define CONFIG_SYS_DEF_EEPROM_ADDR CONFIG_SYS_I2C_EEPROM_ADDR
 #endif
 
-#if defined(CONFIG_MPC8XX_SPI)
-extern void spi_init_f (void);
-extern void spi_init_r (void);
-extern ssize_t spi_read         (uchar *, int, uchar *, int);
-extern ssize_t spi_write (uchar *, int, uchar *, int);
-#endif
-
 /* $(BOARD)/$(BOARD).c */
 int board_early_init_f (void);
 int board_fix_fdt (void *rw_fdt_blob); /* manipulate the U-Boot fdt before its relocation */
@@ -356,7 +292,6 @@ void        serial_putc_raw(const char);
 void   serial_puts   (const char *);
 int    serial_getc   (void);
 int    serial_tstc   (void);
-int    serial_setconfig(uint config);
 
 /* $(CPU)/speed.c */
 int    get_clocks (void);
@@ -378,23 +313,12 @@ void      enable_interrupts  (void);
 int    disable_interrupts (void);
 
 /* $(CPU)/.../commproc.c */
-int    dpram_init (void);
-uint   dpram_base(void);
-uint   dpram_base_align(uint align);
-uint   dpram_alloc(uint size);
-uint   dpram_alloc_align(uint size,uint align);
 void   bootcount_store (ulong);
 ulong  bootcount_load (void);
 
 /* $(CPU)/.../<eth> */
 void mii_init (void);
 
-/* $(CPU)/.../lcd.c */
-ulong  lcd_setmem (ulong);
-
-/* $(CPU)/.../video.c */
-ulong  video_setmem (ulong);
-
 /* arch/$(ARCH)/lib/cache.c */
 void   enable_caches(void);
 void   flush_cache   (unsigned long, unsigned long);
@@ -427,51 +351,6 @@ void       wait_ticks    (unsigned long);
 ulong  usec2ticks    (unsigned long usec);
 ulong  ticks2usec    (unsigned long ticks);
 
-/* lib/gunzip.c */
-int gzip_parse_header(const unsigned char *src, unsigned long len);
-int gunzip(void *, int, unsigned char *, unsigned long *);
-int zunzip(void *dst, int dstlen, unsigned char *src, unsigned long *lenp,
-                                               int stoponerr, int offset);
-
-/**
- * gzwrite progress indicators: defined weak to allow board-specific
- * overrides:
- *
- *     gzwrite_progress_init called on startup
- *     gzwrite_progress called during decompress/write loop
- *     gzwrite_progress_finish called at end of loop to
- *             indicate success (retcode=0) or failure
- */
-void gzwrite_progress_init(u64 expected_size);
-
-void gzwrite_progress(int iteration,
-                    u64 bytes_written,
-                    u64 total_bytes);
-
-void gzwrite_progress_finish(int retcode,
-                            u64 totalwritten,
-                            u64 totalsize,
-                            u32 expected_crc,
-                            u32 calculated_crc);
-
-/**
- * decompress and write gzipped image from memory to block device
- *
- * @param      src             compressed image address
- * @param      len             compressed image length in bytes
- * @param      dev             block device descriptor
- * @param      szwritebuf      bytes per write (pad to erase size)
- * @param      startoffs       offset in bytes of first write
- * @param      szexpected      expected uncompressed length
- *                             may be zero to use gzip trailer
- *                             for files under 4GiB
- */
-int gzwrite(unsigned char *src, int len,
-           struct blk_desc *dev,
-           unsigned long szwritebuf,
-           u64 startoffs,
-           u64 szexpected);
-
 /* lib/lz4_wrapper.c */
 int ulz4fn(const void *src, size_t srcn, void *dst, size_t *dstn);
 
@@ -505,13 +384,6 @@ unsigned int rand_r(unsigned int *seedp);
 int    serial_printf (const char *fmt, ...)
                __attribute__ ((format (__printf__, 1, 2)));
 
-/* lib/gzip.c */
-int gzip(void *dst, unsigned long *lenp,
-               unsigned char *src, unsigned long srclen);
-int zzip(void *dst, unsigned long *lenp, unsigned char *src,
-               unsigned long srclen, int stoponerr,
-               int (*func)(unsigned long, unsigned long));
-
 /* lib/net_utils.c */
 #include <net.h>
 static inline struct in_addr env_get_ip(char *var)
@@ -541,16 +413,10 @@ int cpu_release(u32 nr, int argc, char * const argv[]);
 
 #else  /* __ASSEMBLY__ */
 
-/* Drop a C type modifier (like in 3UL) for constants used in assembly. */
-#define _AC(X, Y)       X
-
 #endif /* __ASSEMBLY__ */
 
 /* Put only stuff here that the assembler can digest */
 
-/* Declare an unsigned long constant digestable both by C and an assembler. */
-#define UL(x)           _AC(x, UL)
-
 #ifdef CONFIG_POST
 #define CONFIG_HAS_POST
 #ifndef CONFIG_POST_ALT_LIST
@@ -558,11 +424,6 @@ int cpu_release(u32 nr, int argc, char * const argv[]);
 #endif
 #endif
 
-#ifdef CONFIG_INIT_CRITICAL
-#error CONFIG_INIT_CRITICAL is deprecated!
-#error Read section CONFIG_SKIP_LOWLEVEL_INIT in README.
-#endif
-
 #define ROUND(a,b)             (((a) + (b) - 1) & ~((b) - 1))
 
 /*