
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