pfla02: Fix RAM detection and support 1 bank SOM
[oweals/u-boot.git] / env / common.c
index d9c0c4e3f347453e704d0682df743349009bdb47..b403bd5f6c120f572df213978ca5cf2b0a9f774a 100644 (file)
@@ -27,49 +27,13 @@ struct hsearch_data env_htab = {
        .change_ok = env_flags_validate,
 };
 
-__weak uchar env_get_char_spec(int index)
-{
-       return *((uchar *)(gd->env_addr + index));
-}
-
-static uchar env_get_char_init(int index)
-{
-       /* if crc was bad, use the default environment */
-       if (gd->env_valid)
-               return env_get_char_spec(index);
-       else
-               return default_environment[index];
-}
-
-uchar env_get_char_memory(int index)
-{
-       return *env_get_addr(index);
-}
-
-uchar env_get_char(int index)
-{
-       /* if relocated to RAM */
-       if (gd->flags & GD_FLG_RELOC)
-               return env_get_char_memory(index);
-       else
-               return env_get_char_init(index);
-}
-
-const uchar *env_get_addr(int index)
-{
-       if (gd->env_valid)
-               return (uchar *)(gd->env_addr + index);
-       else
-               return &default_environment[index];
-}
-
 /*
  * Read an environment variable as a boolean
  * Return -1 if variable does not exist (default to true)
  */
-int getenv_yesno(const char *var)
+int env_get_yesno(const char *var)
 {
-       char *s = getenv(var);
+       char *s = env_get(var);
 
        if (s == NULL)
                return -1;
@@ -80,7 +44,7 @@ int getenv_yesno(const char *var)
 /*
  * Look up the variable from the default environment
  */
-char *getenv_default(const char *name)
+char *env_get_default(const char *name)
 {
        char *ret_val;
        unsigned long really_valid = gd->env_valid;
@@ -88,8 +52,8 @@ char *getenv_default(const char *name)
 
        /* Pretend that the image is bad. */
        gd->flags &= ~GD_FLG_ENV_READY;
-       gd->env_valid = 0;
-       ret_val = getenv(name);
+       gd->env_valid = ENV_INVALID;
+       ret_val = env_get(name);
        gd->env_valid = really_valid;
        gd->flags = real_gd_flags;
        return ret_val;
@@ -246,24 +210,24 @@ int env_import_redund(const char *buf1, const char *buf2)
                set_default_env("!bad CRC");
                return 0;
        } else if (crc1_ok && !crc2_ok) {
-               gd->env_valid = 1;
+               gd->env_valid = ENV_VALID;
        } else if (!crc1_ok && crc2_ok) {
-               gd->env_valid = 2;
+               gd->env_valid = ENV_REDUND;
        } else {
                /* both ok - check serial */
                if (tmp_env1->flags == 255 && tmp_env2->flags == 0)
-                       gd->env_valid = 2;
+                       gd->env_valid = ENV_REDUND;
                else if (tmp_env2->flags == 255 && tmp_env1->flags == 0)
-                       gd->env_valid = 1;
+                       gd->env_valid = ENV_VALID;
                else if (tmp_env1->flags > tmp_env2->flags)
-                       gd->env_valid = 1;
+                       gd->env_valid = ENV_VALID;
                else if (tmp_env2->flags > tmp_env1->flags)
-                       gd->env_valid = 2;
+                       gd->env_valid = ENV_REDUND;
                else /* flags are equal - almost impossible */
-                       gd->env_valid = 1;
+                       gd->env_valid = ENV_VALID;
        }
 
-       if (gd->env_valid == 1)
+       if (gd->env_valid == ENV_VALID)
                ep = tmp_env1;
        else
                ep = tmp_env2;
@@ -307,7 +271,7 @@ void env_relocate(void)
        env_reloc();
        env_htab.change_ok += gd->reloc_off;
 #endif
-       if (gd->env_valid == 0) {
+       if (gd->env_valid == ENV_INVALID) {
 #if defined(CONFIG_ENV_IS_NOWHERE) || defined(CONFIG_SPL_BUILD)
                /* Environment not changable */
                set_default_env(NULL);
@@ -316,7 +280,7 @@ void env_relocate(void)
                set_default_env("!bad CRC");
 #endif
        } else {
-               env_relocate_spec();
+               env_load();
        }
 }