mirror of
https://git.codelinaro.org/clo/qsdk/oss/boot/u-boot-2016.git
synced 2025-12-10 07:44:53 +01:00
Merge "board: qca: arm: ipq: config_name update"
This commit is contained in:
commit
c62f6c9bb5
5 changed files with 129 additions and 43 deletions
|
|
@ -54,6 +54,8 @@
|
|||
|
||||
#define TCSR_SOC_HW_VERSION_REG 0x194D000
|
||||
|
||||
#define CONFIG_NAME_MAX_LEN 128
|
||||
|
||||
ipq_gmac_board_cfg_t gmac_cfg[CONFIG_IPQ_NO_MACS];
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
|
@ -2133,20 +2135,42 @@ unsigned int get_dts_machid(unsigned int machid)
|
|||
|
||||
void ipq_uboot_fdt_fixup(void)
|
||||
{
|
||||
int ret, len;
|
||||
const char *config = "config@mp05.1";
|
||||
len = fdt_totalsize(gd->fdt_blob) + strlen(config) + 1;
|
||||
if (gd->bd->bi_arch_number == MACH_TYPE_IPQ5018_AP_MP05_1)
|
||||
int ret, len = 0, config_nos = 0;
|
||||
char config[CONFIG_NAME_MAX_LEN];
|
||||
char *config_list[6] = { NULL };
|
||||
|
||||
switch (gd->bd->bi_arch_number)
|
||||
{
|
||||
case MACH_TYPE_IPQ5018_AP_MP05_1:
|
||||
config_list[config_nos++] = "config@mp05.1";
|
||||
config_list[config_nos++] = "config-mp05.1";
|
||||
break;
|
||||
}
|
||||
|
||||
if (config_nos)
|
||||
{
|
||||
while (config_nos--) {
|
||||
strlcpy(&config[len], config_list[config_nos],
|
||||
CONFIG_NAME_MAX_LEN - len);
|
||||
len += strnlen(config_list[config_nos],
|
||||
CONFIG_NAME_MAX_LEN) + 1;
|
||||
if (len > CONFIG_NAME_MAX_LEN) {
|
||||
printf("skipping uboot fdt fixup err: "
|
||||
"config name len-overflow\n");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Open in place with a new length.
|
||||
*/
|
||||
ret = fdt_open_into(gd->fdt_blob, (void *)gd->fdt_blob, len);
|
||||
ret = fdt_open_into(gd->fdt_blob, (void *)gd->fdt_blob,
|
||||
fdt_totalsize(gd->fdt_blob) + len);
|
||||
if (ret)
|
||||
printf("uboot-fdt-fixup: Cannot expand FDT: %s\n", fdt_strerror(ret));
|
||||
|
||||
ret = fdt_setprop((void *)gd->fdt_blob, 0, "config_name",
|
||||
config, (strlen(config)+1));
|
||||
config, len);
|
||||
if (ret)
|
||||
printf("uboot-fdt-fixup: unable to set config_name(%d)\n", ret);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -848,6 +848,7 @@ void ipq_uboot_fdt_fixup(void)
|
|||
{
|
||||
case MACH_TYPE_IPQ5332_AP_MI01_2_C2:
|
||||
config_list[config_nos++] = "config@mi01.2-c2";
|
||||
config_list[config_nos++] = "config-mi01.2-c2";
|
||||
config_list[config_nos++] = "config@rdp484";
|
||||
config_list[config_nos++] = "config-rdp484";
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -34,6 +34,8 @@
|
|||
|
||||
#define TCSR_SOC_HW_VERSION_REG 0x194D000
|
||||
|
||||
#define CONFIG_NAME_MAX_LEN 128
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
struct sdhci_host mmc_host;
|
||||
extern int ipq6018_edma_init(void *cfg);
|
||||
|
|
@ -1250,38 +1252,54 @@ unsigned int get_dts_machid(unsigned int machid)
|
|||
|
||||
void ipq_uboot_fdt_fixup(void)
|
||||
{
|
||||
int ret, len;
|
||||
char *config = NULL;
|
||||
int ret, len = 0, config_nos = 0;
|
||||
char config[CONFIG_NAME_MAX_LEN];
|
||||
char *config_list[6] = { NULL };
|
||||
|
||||
switch (gd->bd->bi_arch_number)
|
||||
{
|
||||
case MACH_TYPE_IPQ6018_AP_CP01_C2:
|
||||
config = "config@cp01-c2";
|
||||
config_list[config_nos++] = "config@cp01-c2";
|
||||
config_list[config_nos++] = "config-cp01-c2";
|
||||
break;
|
||||
case MACH_TYPE_IPQ6018_AP_CP01_C3:
|
||||
config = "config@cp01-c3";
|
||||
config_list[config_nos++] = "config@cp01-c3";
|
||||
config_list[config_nos++] = "config-cp01-c3";
|
||||
break;
|
||||
case MACH_TYPE_IPQ6018_AP_CP01_C4:
|
||||
config = "config@cp01-c4";
|
||||
config_list[config_nos++] = "config@cp01-c4";
|
||||
config_list[config_nos++] = "config-cp01-c4";
|
||||
break;
|
||||
case MACH_TYPE_IPQ6018_AP_CP01_C5:
|
||||
config = "config@cp01-c5";
|
||||
config_list[config_nos++] = "config@cp01-c5";
|
||||
config_list[config_nos++] = "config-cp01-c5";
|
||||
break;
|
||||
}
|
||||
|
||||
if (config != NULL)
|
||||
if (config_nos)
|
||||
{
|
||||
len = fdt_totalsize(gd->fdt_blob) + strlen(config) + 1;
|
||||
while (config_nos--) {
|
||||
strlcpy(&config[len], config_list[config_nos],
|
||||
CONFIG_NAME_MAX_LEN - len);
|
||||
len += strnlen(config_list[config_nos],
|
||||
CONFIG_NAME_MAX_LEN) + 1;
|
||||
if (len > CONFIG_NAME_MAX_LEN) {
|
||||
printf("skipping uboot fdt fixup err: "
|
||||
"config name len-overflow\n");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Open in place with a new length.
|
||||
*/
|
||||
ret = fdt_open_into(gd->fdt_blob, (void *)gd->fdt_blob, len);
|
||||
ret = fdt_open_into(gd->fdt_blob, (void *)gd->fdt_blob,
|
||||
fdt_totalsize(gd->fdt_blob) + len);
|
||||
if (ret)
|
||||
printf("uboot-fdt-fixup: Cannot expand FDT: %s\n", fdt_strerror(ret));
|
||||
|
||||
ret = fdt_setprop((void *)gd->fdt_blob, 0, "config_name",
|
||||
config, (strlen(config)+1));
|
||||
config, len);
|
||||
if (ret)
|
||||
printf("uboot-fdt-fixup: unable to set config_name(%d)\n", ret);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -62,6 +62,8 @@
|
|||
|
||||
#define TCSR_SOC_HW_VERSION_REG 0x194D000
|
||||
|
||||
#define CONFIG_NAME_MAX_LEN 128
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
#define GCNT_PSHOLD 0x004AB000
|
||||
|
|
@ -1376,41 +1378,58 @@ unsigned int get_dts_machid(unsigned int machid)
|
|||
|
||||
void ipq_uboot_fdt_fixup(void)
|
||||
{
|
||||
int ret, len;
|
||||
char *config = NULL;
|
||||
int ret, len = 0, config_nos = 0;
|
||||
char config[CONFIG_NAME_MAX_LEN];
|
||||
char *config_list[6] = { NULL };
|
||||
|
||||
switch (gd->bd->bi_arch_number)
|
||||
{
|
||||
case MACH_TYPE_IPQ807x_AP_HK01_C3:
|
||||
config = "config@hk01.c3";
|
||||
config_list[config_nos++] = "config@hk01.c3";
|
||||
config_list[config_nos++] = "config-hk01.c3";
|
||||
break;
|
||||
case MACH_TYPE_IPQ807x_AP_HK01_C6:
|
||||
config = "config@hk01.c6";
|
||||
config_list[config_nos++] = "config@hk01.c6";
|
||||
config_list[config_nos++] = "config-hk01.c6";
|
||||
break;
|
||||
case MACH_TYPE_IPQ807x_AP_HK12_C1:
|
||||
config = "config@hk12";
|
||||
config_list[config_nos++] = "config@hk12";
|
||||
config_list[config_nos++] = "config-hk12";
|
||||
break;
|
||||
case MACH_TYPE_IPQ807x_AP_AC02:
|
||||
config = "config@ac02";
|
||||
config_list[config_nos++] = "config@ac02";
|
||||
config_list[config_nos++] = "config-ac02";
|
||||
break;
|
||||
case MACH_TYPE_IPQ807x_AP_OAK03:
|
||||
config = "config@oak03";
|
||||
config_list[config_nos++] = "config@oak03";
|
||||
config_list[config_nos++] = "config-oak03";
|
||||
break;
|
||||
}
|
||||
|
||||
if (config != NULL)
|
||||
if (config_nos)
|
||||
{
|
||||
len = fdt_totalsize(gd->fdt_blob) + strlen(config) + 1;
|
||||
while (config_nos--) {
|
||||
strlcpy(&config[len], config_list[config_nos],
|
||||
CONFIG_NAME_MAX_LEN - len);
|
||||
len += strnlen(config_list[config_nos],
|
||||
CONFIG_NAME_MAX_LEN) + 1;
|
||||
if (len > CONFIG_NAME_MAX_LEN) {
|
||||
printf("skipping uboot fdt fixup err: "
|
||||
"config name len-overflow\n");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Open in place with a new length.
|
||||
*/
|
||||
ret = fdt_open_into(gd->fdt_blob, (void *)gd->fdt_blob, len);
|
||||
ret = fdt_open_into(gd->fdt_blob, (void *)gd->fdt_blob,
|
||||
fdt_totalsize(gd->fdt_blob) + len);
|
||||
if (ret)
|
||||
printf("uboot-fdt-fixup: Cannot expand FDT: %s\n", fdt_strerror(ret));
|
||||
|
||||
ret = fdt_setprop((void *)gd->fdt_blob, 0, "config_name",
|
||||
config, (strlen(config)+1));
|
||||
config, len);
|
||||
if (ret)
|
||||
printf("uboot-fdt-fixup: unable to set config_name(%d)\n", ret);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,6 +31,8 @@
|
|||
#define DLOAD_MAGIC_COOKIE 0x10
|
||||
#define DLOAD_DISABLED 0x40
|
||||
|
||||
#define CONFIG_NAME_MAX_LEN 128
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
struct sdhci_host mmc_host;
|
||||
|
|
@ -1375,56 +1377,78 @@ unsigned int get_dts_machid(unsigned int machid)
|
|||
|
||||
void ipq_uboot_fdt_fixup(void)
|
||||
{
|
||||
int ret, len;
|
||||
char *config = NULL;
|
||||
int ret, len = 0, config_nos = 0;
|
||||
char config[CONFIG_NAME_MAX_LEN];
|
||||
char *config_list[6] = { NULL };
|
||||
|
||||
switch (gd->bd->bi_arch_number)
|
||||
{
|
||||
case MACH_TYPE_IPQ9574_EMULATION:
|
||||
config = "config@emulation-fbc";
|
||||
config_list[config_nos++] = "config@emulation-fbc";
|
||||
config_list[config_nos++] = "config-emulation-fbc";
|
||||
break;
|
||||
case MACH_TYPE_IPQ9574_AP_AL02_C5:
|
||||
config = "config@al02-c5";
|
||||
config_list[config_nos++] = "config@al02-c5";
|
||||
config_list[config_nos++] = "config-al02-c5";
|
||||
break;
|
||||
case MACH_TYPE_IPQ9574_AP_AL02_C6:
|
||||
config = "config@al02-c6";
|
||||
config_list[config_nos++] = "config@al02-c6";
|
||||
config_list[config_nos++] = "config-al02-c6";
|
||||
break;
|
||||
case MACH_TYPE_IPQ9574_AP_AL02_C11:
|
||||
config = "config@al02-c11";
|
||||
config_list[config_nos++] = "config@al02-c11";
|
||||
config_list[config_nos++] = "config-al02-c11";
|
||||
break;
|
||||
case MACH_TYPE_IPQ9574_AP_AL02_C12:
|
||||
config = "config@al02-c12";
|
||||
config_list[config_nos++] = "config@al02-c12";
|
||||
config_list[config_nos++] = "config-al02-c12";
|
||||
break;
|
||||
case MACH_TYPE_IPQ9574_AP_AL02_C14:
|
||||
config = "config@al02-c14";
|
||||
config_list[config_nos++] = "config@al02-c14";
|
||||
config_list[config_nos++] = "config-al02-c14";
|
||||
break;
|
||||
case MACH_TYPE_IPQ9574_AP_AL02_C15:
|
||||
config = "config@al02-c15";
|
||||
config_list[config_nos++] = "config@al02-c15";
|
||||
config_list[config_nos++] = "config-al02-c15";
|
||||
break;
|
||||
case MACH_TYPE_IPQ9574_AP_AL02_C16:
|
||||
config = "config@al02-c16";
|
||||
config_list[config_nos++] = "config@al02-c16";
|
||||
config_list[config_nos++] = "config-al02-c16";
|
||||
break;
|
||||
case MACH_TYPE_IPQ9574_AP_AL03_C2:
|
||||
config = "config@al03-c2";
|
||||
config_list[config_nos++] = "config@al03-c2";
|
||||
config_list[config_nos++] = "config-al03-c2";
|
||||
break;
|
||||
case MACH_TYPE_IPQ9574_AP_AL02_C20:
|
||||
config = "config@al02-c20";
|
||||
config_list[config_nos++] = "config@al02-c20";
|
||||
config_list[config_nos++] = "config-al02-c20";
|
||||
break;
|
||||
}
|
||||
|
||||
if (config != NULL)
|
||||
if (config_nos)
|
||||
{
|
||||
len = fdt_totalsize(gd->fdt_blob) + strlen(config) + 1;
|
||||
while (config_nos--) {
|
||||
strlcpy(&config[len], config_list[config_nos],
|
||||
CONFIG_NAME_MAX_LEN - len);
|
||||
len += strnlen(config_list[config_nos],
|
||||
CONFIG_NAME_MAX_LEN) + 1;
|
||||
if (len > CONFIG_NAME_MAX_LEN) {
|
||||
printf("skipping uboot fdt fixup err: "
|
||||
"config name len-overflow\n");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Open in place with a new length.
|
||||
*/
|
||||
ret = fdt_open_into(gd->fdt_blob, (void *)gd->fdt_blob, len);
|
||||
ret = fdt_open_into(gd->fdt_blob, (void *)gd->fdt_blob,
|
||||
fdt_totalsize(gd->fdt_blob) + len);
|
||||
if (ret)
|
||||
printf("uboot-fdt-fixup: Cannot expand FDT: %s\n", fdt_strerror(ret));
|
||||
|
||||
ret = fdt_setprop((void *)gd->fdt_blob, 0, "config_name",
|
||||
config, (strlen(config)+1));
|
||||
config, len);
|
||||
if (ret)
|
||||
printf("uboot-fdt-fixup: unable to set config_name(%d)\n", ret);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue