Merge tag 'u-boot-amlogic-20211007' of https://source.denx.de/u-boot/custodians/u...
[platform/kernel/u-boot.git] / env / eeprom.c
index cb04d2a..253bdf1 100644 (file)
@@ -9,9 +9,12 @@
 
 #include <common.h>
 #include <command.h>
+#include <eeprom.h>
 #include <env.h>
 #include <env_internal.h>
+#include <asm/global_data.h>
 #include <linux/stddef.h>
+#include <u-boot/crc.h>
 #if defined(CONFIG_I2C_ENV_EEPROM_BUS)
 #include <i2c.h>
 #endif
@@ -73,7 +76,7 @@ int env_eeprom_get_char(int index)
        if (gd->env_valid == ENV_REDUND)
                off = CONFIG_ENV_OFFSET_REDUND;
 #endif
-       eeprom_bus_read(CONFIG_SYS_DEF_EEPROM_ADDR,
+       eeprom_bus_read(CONFIG_SYS_I2C_EEPROM_ADDR,
                        off + index + offsetof(env_t, data), &c, 1);
 
        return c;
@@ -97,11 +100,11 @@ static int env_eeprom_load(void)
 
        for (i = 0; i < 2; i++) {
                /* read CRC */
-               eeprom_bus_read(CONFIG_SYS_DEF_EEPROM_ADDR,
+               eeprom_bus_read(CONFIG_SYS_I2C_EEPROM_ADDR,
                                off_env[i] + offsetof(env_t, crc),
                                (uchar *)&crc[i], sizeof(ulong));
                /* read FLAGS */
-               eeprom_bus_read(CONFIG_SYS_DEF_EEPROM_ADDR,
+               eeprom_bus_read(CONFIG_SYS_I2C_EEPROM_ADDR,
                                off_env[i] + offsetof(env_t, flags),
                                (uchar *)&flags[i], sizeof(uchar));
 
@@ -111,7 +114,7 @@ static int env_eeprom_load(void)
                while (len > 0) {
                        int n = (len > sizeof(rdbuf)) ? sizeof(rdbuf) : len;
 
-                       eeprom_bus_read(CONFIG_SYS_DEF_EEPROM_ADDR, off,
+                       eeprom_bus_read(CONFIG_SYS_I2C_EEPROM_ADDR, off,
                                        rdbuf, n);
 
                        crc_tmp = crc32(crc_tmp, rdbuf, n);
@@ -153,7 +156,7 @@ static int env_eeprom_load(void)
        eeprom_init(-1);        /* prepare for EEPROM read/write */
 
        /* read old CRC */
-       eeprom_bus_read(CONFIG_SYS_DEF_EEPROM_ADDR,
+       eeprom_bus_read(CONFIG_SYS_I2C_EEPROM_ADDR,
                        CONFIG_ENV_OFFSET + offsetof(env_t, crc),
                        (uchar *)&crc, sizeof(ulong));
 
@@ -163,7 +166,7 @@ static int env_eeprom_load(void)
        while (len > 0) {
                int n = (len > sizeof(rdbuf)) ? sizeof(rdbuf) : len;
 
-               eeprom_bus_read(CONFIG_SYS_DEF_EEPROM_ADDR,
+               eeprom_bus_read(CONFIG_SYS_I2C_EEPROM_ADDR,
                                CONFIG_ENV_OFFSET + off, rdbuf, n);
                new = crc32(new, rdbuf, n);
                len -= n;
@@ -183,10 +186,10 @@ static int env_eeprom_load(void)
                off = CONFIG_ENV_OFFSET_REDUND;
 #endif
 
-       eeprom_bus_read(CONFIG_SYS_DEF_EEPROM_ADDR,
+       eeprom_bus_read(CONFIG_SYS_I2C_EEPROM_ADDR,
                off, (uchar *)buf_env, CONFIG_ENV_SIZE);
 
-       return env_import(buf_env, 1);
+       return env_import(buf_env, 1, H_EXTERNAL);
 }
 
 static int env_eeprom_save(void)
@@ -212,12 +215,12 @@ static int env_eeprom_save(void)
        env_new.flags = ENV_REDUND_ACTIVE;
 #endif
 
-       rc = eeprom_bus_write(CONFIG_SYS_DEF_EEPROM_ADDR,
+       rc = eeprom_bus_write(CONFIG_SYS_I2C_EEPROM_ADDR,
                              off, (uchar *)&env_new, CONFIG_ENV_SIZE);
 
 #ifdef CONFIG_ENV_OFFSET_REDUND
        if (rc == 0) {
-               eeprom_bus_write(CONFIG_SYS_DEF_EEPROM_ADDR,
+               eeprom_bus_write(CONFIG_SYS_I2C_EEPROM_ADDR,
                                 off_red + offsetof(env_t, flags),
                                 (uchar *)&flag_obsolete, 1);