O problema foi com a versão do u-boot. A versão do u-boot-2017-01 não suporta a configuração de macros do ambiente a partir do arquivo de configuração. Isso tem que ser feito no arquivo de cabeçalho para o quadro específico, baltos.h no meu caso.
A adição a seguir em baltos.h fez com que funcionasse:
#define CONFIG_ENV_SIZE (128 << 10)
#define CONFIG_ENV_IS_IN_FAT
#define FAT_ENV_INTERFACE "mmc"
#define FAT_ENV_DEVICE_AND_PART "0.0"
#define FAT_ENV_FILE "uboot.env"
/*#define CONFIG_ENV_IS_NOWHERE*/
As versões mais recentes do u-boot suportam a configuração do ambiente a partir de um arquivo de configuração.