ipq40xx: Added support for DK04-C6 board

Change-Id: Ic9f451c30f4991df8013ae3191ad4384aed6f730
Signed-off-by: Rajkumar Ayyasamy <arajkuma@codeaurora.org>
This commit is contained in:
Rajkumar Ayyasamy 2018-04-09 18:12:29 +05:30
parent 1bd1098d42
commit 5364cd9d80
5 changed files with 36 additions and 2 deletions

View file

@ -420,6 +420,11 @@ unsigned int smem_read_platform_type(union qca_platform *platform_type)
return status;
}
__weak unsigned int get_dts_machid(unsigned int machid)
{
return machid;
}
unsigned int smem_get_board_platform_type()
{
union qca_platform platform_type;

View file

@ -1137,6 +1137,7 @@ extern unsigned int __machine_arch_type;
#define MACH_TYPE_IPQ40XX_DB_DK01_1_C1 0x1010002
#define MACH_TYPE_IPQ40XX_DB_DK02_1_C1 0x1010003
#define MACH_TYPE_IPQ40XX_TB832 0x1010004
#define MACH_TYPE_IPQ40XX_AP_DK04_1_C6 0x8010501
#ifdef CONFIG_ARCH_EBSA110
# ifdef machine_arch_type

View file

@ -199,9 +199,10 @@ int board_eth_init(bd_t *bis)
gpio_set_value(59, 1);
ipq40xx_register_switch(ipq_qca8075_phy_init);
break;
case MACH_TYPE_IPQ40XX_AP_DK04_1_C4:
case MACH_TYPE_IPQ40XX_AP_DK04_1_C1:
case MACH_TYPE_IPQ40XX_AP_DK04_1_C3:
case MACH_TYPE_IPQ40XX_AP_DK04_1_C4:
case MACH_TYPE_IPQ40XX_AP_DK04_1_C6:
/* 8075 out of reset */
mdelay(1);
gpio_set_value(47, 1);
@ -379,6 +380,19 @@ void disable_audio_clks(void)
void ipq_fdt_fixup_socinfo(void *blob)
{
int nodeoff, ret;
const char *model = "Qualcomm Technologies, Inc. IPQ4019/AP-DK04.1-C6";
nodeoff = fdt_path_offset(blob, "/");
if (nodeoff < 0) {
printf("ipq: fdt fixup cannot find root node\n");
return;
}
if (gd->bd->bi_arch_number == MACH_TYPE_IPQ40XX_AP_DK04_1_C6)
ret = fdt_setprop(blob, nodeoff, "model",
model, (strlen(model) + 1));
return;
}
@ -474,3 +488,14 @@ void disable_caches(void)
{
icache_disable();
}
unsigned int get_dts_machid(unsigned int machid)
{
switch (machid)
{
case MACH_TYPE_IPQ40XX_AP_DK04_1_C6:
return MACH_TYPE_IPQ40XX_AP_DK04_1_C1;
default:
return machid;
}
}

View file

@ -74,6 +74,7 @@ int ipq40xx_ess_sw_init(ipq40xx_edma_board_cfg_t *cfg)
case MACH_TYPE_IPQ40XX_AP_DK04_1_C4:
case MACH_TYPE_IPQ40XX_AP_DK04_1_C2:
case MACH_TYPE_IPQ40XX_AP_DK04_1_C3:
case MACH_TYPE_IPQ40XX_AP_DK04_1_C6:
case MACH_TYPE_IPQ40XX_AP_DK06_1_C1:
case MACH_TYPE_IPQ40XX_AP_DK07_1_C1:
case MACH_TYPE_IPQ40XX_AP_DK07_1_C2:

View file

@ -1250,6 +1250,7 @@ static int parse_combined_fdt(unsigned long machid)
int fdtdec_setup(void)
{
unsigned int machid;
#if CONFIG_IS_ENABLED(OF_CONTROL)
# ifdef CONFIG_OF_EMBED
/* Get a pointer to the FDT */
@ -1263,8 +1264,9 @@ int fdtdec_setup(void)
gd->fdt_blob = (ulong *)&__bss_end;
# else
#ifdef CONFIG_OF_COMBINE
machid = smem_get_board_platform_type();
gd->fdt_blob = (ulong *)
parse_combined_fdt(smem_get_board_platform_type());
parse_combined_fdt(get_dts_machid(machid));
#else
/* FDT is at end of image */
gd->fdt_blob = (ulong *)&_end;