diff --git a/arch/arm/dts/ipq40xx-dk01-s1.dts b/arch/arm/dts/ipq40xx-dk01-s1.dts index 1c61a84ac7..757ad7f6f6 100644 --- a/arch/arm/dts/ipq40xx-dk01-s1.dts +++ b/arch/arm/dts/ipq40xx-dk01-s1.dts @@ -16,5 +16,5 @@ / { machid = <0x8010200>; ddr_size = <128>; - config_name = "config@ap.dk01.1-c3"; + config_name = "config@ap.dk01.1-c3,config@ap.dk01.1-c1"; }; diff --git a/board/qca/arm/common/cmd_bootqca.c b/board/qca/arm/common/cmd_bootqca.c index 96b5c6dbb6..252b7fb7ec 100644 --- a/board/qca/arm/common/cmd_bootqca.c +++ b/board/qca/arm/common/cmd_bootqca.c @@ -334,10 +334,15 @@ int config_select(unsigned int addr, char *rcmd, int rcmd_size) } } - if (fit_conf_get_node((void *)addr, dtb_config_name) >= 0) { - snprintf(rcmd, rcmd_size, "bootm 0x%x#%s\n", - addr, dtb_config_name); - return 0; + char *tok = strtok(dtb_config_name, ","); + + while(tok != NULL){ + if (fit_conf_get_node((void *)addr, tok) >= 0) { + snprintf(rcmd, rcmd_size, "bootm 0x%x#%s\n", + addr, tok); + return 0; + } + tok = strtok(NULL, ","); } printf("Config not availabale\n");