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
a07ff15e2e
5 changed files with 103 additions and 27 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;
|
||||
|
|
@ -2142,20 +2144,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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -873,27 +873,32 @@ 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;
|
||||
case MACH_TYPE_IPQ5332_AP_MI01_3_C2:
|
||||
config_list[config_nos++] = "config@mi01.3-c2";
|
||||
config_list[config_nos++] = "config-mi01.3-c2";
|
||||
config_list[config_nos++] = "config@rdp477";
|
||||
config_list[config_nos++] = "config-rdp477";
|
||||
break;
|
||||
case MACH_TYPE_IPQ5332_AP_MI01_7:
|
||||
config_list[config_nos++] = "config@mi01.7";
|
||||
config_list[config_nos++] = "config-mi01.7";
|
||||
config_list[config_nos++] = "config@rdp473";
|
||||
config_list[config_nos++] = "config-rdp473";
|
||||
break;
|
||||
case MACH_TYPE_IPQ5332_AP_MI04_1_C2:
|
||||
config_list[config_nos++] = "config@mi04.1-c2";
|
||||
config_list[config_nos++] = "config-mi04.1-c2";
|
||||
config_list[config_nos++] = "config@rdp478";
|
||||
config_list[config_nos++] = "config-rdp478";
|
||||
config_list[config_nos++] = "config@1";
|
||||
break;
|
||||
case MACH_TYPE_IPQ5332_AP_MI01_14:
|
||||
config_list[config_nos++] = "config@mi01.14";
|
||||
config_list[config_nos++] = "config-mi01.14";
|
||||
config_list[config_nos++] = "config@rdp481";
|
||||
config_list[config_nos++] = "config-rdp481";
|
||||
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);
|
||||
|
|
@ -1233,38 +1235,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
|
||||
|
|
@ -1381,41 +1383,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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1410,45 +1410,55 @@ void ipq_uboot_fdt_fixup(void)
|
|||
{
|
||||
case MACH_TYPE_IPQ9574_EMULATION:
|
||||
config_list[config_nos++] = "config@emulation-fbc";
|
||||
config_list[config_nos++] = "config-emulation-fbc";
|
||||
break;
|
||||
case MACH_TYPE_IPQ9574_AP_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_list[config_nos++] = "config@al02-c6";
|
||||
config_list[config_nos++] = "config-al02-c6";
|
||||
config_list[config_nos++] = "config@rdp449";
|
||||
config_list[config_nos++] = "config-rdp449";
|
||||
break;
|
||||
case MACH_TYPE_IPQ9574_AP_AL02_C11:
|
||||
config_list[config_nos++] = "config@al02-c11";
|
||||
config_list[config_nos++] = "config-al02-c11";
|
||||
config_list[config_nos++] = "config@rdp455";
|
||||
config_list[config_nos++] = "config-rdp455";
|
||||
break;
|
||||
case MACH_TYPE_IPQ9574_AP_AL02_C12:
|
||||
config_list[config_nos++] = "config@al02-c12";
|
||||
config_list[config_nos++] = "config-al02-c12";
|
||||
config_list[config_nos++] = "config@rdp455";
|
||||
config_list[config_nos++] = "config-rdp455";
|
||||
break;
|
||||
case MACH_TYPE_IPQ9574_AP_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_list[config_nos++] = "config@al02-c15";
|
||||
config_list[config_nos++] = "config-al02-c15";
|
||||
config_list[config_nos++] = "config@rdp457";
|
||||
config_list[config_nos++] = "config-rdp457";
|
||||
break;
|
||||
case MACH_TYPE_IPQ9574_AP_AL02_C16:
|
||||
config_list[config_nos++] = "config@al02-c16";
|
||||
config_list[config_nos++] = "config-al02-c16";
|
||||
config_list[config_nos++] = "config@rdp456";
|
||||
config_list[config_nos++] = "config-rdp456";
|
||||
break;
|
||||
case MACH_TYPE_IPQ9574_AP_AL02_C20:
|
||||
config_list[config_nos++] = "config@al02-c20";
|
||||
config_list[config_nos++] = "config-al02-c20";
|
||||
config_list[config_nos++] = "config@rdp467";
|
||||
config_list[config_nos++] = "config-rdp467";
|
||||
break;
|
||||
case MACH_TYPE_IPQ9574_AP_AL03_C2:
|
||||
config_list[config_nos++] = "config@al03-c2";
|
||||
config_list[config_nos++] = "config-al03-c2";
|
||||
config_list[config_nos++] = "config@rdp458";
|
||||
config_list[config_nos++] = "config-rdp458";
|
||||
break;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue