[U-Boot] No environment driver for location 14

Hi,
i'm getting a error with last env patches (u-boot-rockchip repo).
U-boot booting halts on env_init() with message:
env_driver_lookup_default: No environment driver for location 14
...
env_driver_lookup_default: No environment driver for location 14 initcall sequence 60445dc8 failed at call 60430915 (err=-19) ### ERROR ### Please RESET the board ###
60445dc8 -> init_sequence_f()
60430915 -> env_init()
I have narrowed down the problem to env_get_default_location returning 14 (ENVL_UNKNOWN)
I have enabled CONFIG_ENV_IS_NOWHERE so it should return ENVL_NOWHERE.
Any ideas where to go from here?
Regards
Paweł

Hi Pawel,
On 17 August 2017 at 11:22, Paweł Jarosz paweljarosz3691@gmail.com wrote:
Hi,
i'm getting a error with last env patches (u-boot-rockchip repo).
U-boot booting halts on env_init() with message:
env_driver_lookup_default: No environment driver for location 14
...
env_driver_lookup_default: No environment driver for location 14 initcall sequence 60445dc8 failed at call 60430915 (err=-19) ### ERROR ### Please RESET the board ###
60445dc8 -> init_sequence_f()
60430915 -> env_init()
I have narrowed down the problem to env_get_default_location returning 14 (ENVL_UNKNOWN)
I have enabled CONFIG_ENV_IS_NOWHERE so it should return ENVL_NOWHERE.
Any ideas where to go from here?
Which board is this please? Is this happening in SPL or U-Boot proper?
Can you debug why env_get_default_location() is not returning ENVL_NOWHERE?
Regards
Paweł
Regards, Simon

W dniu 17.08.2017 o 19:46, Simon Glass pisze:
Hi Pawel,
On 17 August 2017 at 11:22, Paweł Jarosz paweljarosz3691@gmail.com wrote:
Hi,
i'm getting a error with last env patches (u-boot-rockchip repo).
U-boot booting halts on env_init() with message:
env_driver_lookup_default: No environment driver for location 14
...
env_driver_lookup_default: No environment driver for location 14 initcall sequence 60445dc8 failed at call 60430915 (err=-19) ### ERROR ### Please RESET the board ###
60445dc8 -> init_sequence_f()
60430915 -> env_init()
I have narrowed down the problem to env_get_default_location returning 14 (ENVL_UNKNOWN)
I have enabled CONFIG_ENV_IS_NOWHERE so it should return ENVL_NOWHERE.
Any ideas where to go from here?
Which board is this please? Is this happening in SPL or U-Boot proper?
Can you debug why env_get_default_location() is not returning ENVL_NOWHERE?
Ad.1 Board is mk808 (rk3066, patches are on mailing list now)
Ad.2 This happens in spl and U-Boot proper
Ad.3 Function looks like this:
static enum env_location env_get_default_location(void) { if IS_ENABLED(CONFIG_ENV_IS_IN_DATAFLASH) return ENVL_DATAFLASH; else if IS_ENABLED(CONFIG_ENV_IS_IN_EEPROM) return ENVL_EEPROM; else if IS_ENABLED(CONFIG_ENV_IS_IN_FAT) return ENVL_FAT; else if IS_ENABLED(CONFIG_ENV_IS_IN_FLASH) return ENVL_FLASH; else if IS_ENABLED(CONFIG_ENV_IS_IN_MMC) return ENVL_MMC; else if IS_ENABLED(CONFIG_ENV_IS_IN_NAND) return ENVL_NAND; else if IS_ENABLED(CONFIG_ENV_IS_IN_NVRAM) return ENVL_NVRAM; else if IS_ENABLED(CONFIG_ENV_IS_IN_REMOTE) return ENVL_REMOTE; else if IS_ENABLED(CONFIG_ENV_IS_IN_SPI_FLASH) return ENVL_SPI_FLASH; else if IS_ENABLED(CONFIG_ENV_IS_IN_UBI) return ENVL_UBI; else if IS_ENABLED(CONFIG_ENV_IS_NOWHERE) return ENVL_NOWHERE; else return ENVL_UNKNOWN; }
So the main reason is "IS_ENABLED(CONFIG_ENV_IS_NOWHERE)" is false
Regards Paweł
Regards
Paweł
Regards, Simon

Simon,
I had CONFIG_ENV_IS_NOWHERE set in wrong place (rk3066_common.h)
Moving this config to board defconfig resolves the issue.
Sorry for the confusion and thanks for the reply.
Regards
Paweł
W dniu 17.08.2017 o 19:46, Simon Glass pisze:
Hi Pawel,
On 17 August 2017 at 11:22, Paweł Jarosz paweljarosz3691@gmail.com wrote:
Hi,
i'm getting a error with last env patches (u-boot-rockchip repo).
U-boot booting halts on env_init() with message:
env_driver_lookup_default: No environment driver for location 14
...
env_driver_lookup_default: No environment driver for location 14 initcall sequence 60445dc8 failed at call 60430915 (err=-19) ### ERROR ### Please RESET the board ###
60445dc8 -> init_sequence_f()
60430915 -> env_init()
I have narrowed down the problem to env_get_default_location returning 14 (ENVL_UNKNOWN)
I have enabled CONFIG_ENV_IS_NOWHERE so it should return ENVL_NOWHERE.
Any ideas where to go from here?
Which board is this please? Is this happening in SPL or U-Boot proper?
Can you debug why env_get_default_location() is not returning ENVL_NOWHERE?
Regards
Paweł
Regards, Simon

Hi Pawel,
On 17 August 2017 at 12:48, Paweł Jarosz paweljarosz3691@gmail.com wrote:
Simon,
I had CONFIG_ENV_IS_NOWHERE set in wrong place (rk3066_common.h)
Moving this config to board defconfig resolves the issue.
Sorry for the confusion and thanks for the reply.
Ah OK, that's great! Thanks for letting me know.
- Simon
Regards
Paweł
W dniu 17.08.2017 o 19:46, Simon Glass pisze:
Hi Pawel,
On 17 August 2017 at 11:22, Paweł Jarosz paweljarosz3691@gmail.com wrote:
Hi,
i'm getting a error with last env patches (u-boot-rockchip repo).
U-boot booting halts on env_init() with message:
env_driver_lookup_default: No environment driver for location 14
...
env_driver_lookup_default: No environment driver for location 14 initcall sequence 60445dc8 failed at call 60430915 (err=-19) ### ERROR ### Please RESET the board ###
60445dc8 -> init_sequence_f()
60430915 -> env_init()
I have narrowed down the problem to env_get_default_location returning 14 (ENVL_UNKNOWN)
I have enabled CONFIG_ENV_IS_NOWHERE so it should return ENVL_NOWHERE.
Any ideas where to go from here?
Which board is this please? Is this happening in SPL or U-Boot proper?
Can you debug why env_get_default_location() is not returning ENVL_NOWHERE?
Regards
Paweł
Regards, Simon
participants (2)
-
Paweł Jarosz
-
Simon Glass