Add support for the Broadcom Northstar2 SoC and SVK (bcm958712k). The BCM5871X is a series of quad-core 64-bit 2GHz ARMv8 Cortex-A57 processors targeting a broad range of networking applications. Signed-off-by: Jon Mason <jon.mason@broadcom.com>master
parent
daa483debe
commit
274bced86d
@ -0,0 +1,6 @@ |
||||
BCM958712K BOARD |
||||
M: Jon Mason <jon.mason@broadcom.com> |
||||
S: Maintained |
||||
F: board/broadcom/bcmns2/ |
||||
F: include/configs/bcm_northstar2.h |
||||
F: configs/bcm958712k_defconfig |
@ -0,0 +1,15 @@ |
||||
if TARGET_BCMNS2 |
||||
|
||||
config SYS_BOARD |
||||
default "bcmns2" |
||||
|
||||
config SYS_VENDOR |
||||
default "broadcom" |
||||
|
||||
config SYS_SOC |
||||
default "ns2" |
||||
|
||||
config SYS_CONFIG_NAME |
||||
default "bcm_northstar2" |
||||
|
||||
endif |
@ -0,0 +1,7 @@ |
||||
#
|
||||
# Copyright 2016 Broadcom Ltd.
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0+
|
||||
#
|
||||
|
||||
obj-y := northstar2.o
|
@ -0,0 +1,58 @@ |
||||
/*
|
||||
* (C) Copyright 2016 Broadcom Ltd. |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0+ |
||||
*/ |
||||
#include <common.h> |
||||
#include <asm/system.h> |
||||
#include <asm/armv8/mmu.h> |
||||
|
||||
static struct mm_region ns2_mem_map[] = { |
||||
{ |
||||
.virt = 0x0UL, |
||||
.phys = 0x0UL, |
||||
.size = 0x80000000UL, |
||||
.attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | |
||||
PTE_BLOCK_NON_SHARE | |
||||
PTE_BLOCK_PXN | PTE_BLOCK_UXN |
||||
}, { |
||||
.virt = 0x80000000UL, |
||||
.phys = 0x80000000UL, |
||||
.size = 0xff80000000UL, |
||||
.attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) | |
||||
PTE_BLOCK_INNER_SHARE |
||||
}, { |
||||
/* List terminator */ |
||||
0, |
||||
} |
||||
}; |
||||
|
||||
struct mm_region *mem_map = ns2_mem_map; |
||||
|
||||
DECLARE_GLOBAL_DATA_PTR; |
||||
|
||||
int board_init(void) |
||||
{ |
||||
return 0; |
||||
} |
||||
|
||||
int dram_init(void) |
||||
{ |
||||
gd->ram_size = get_ram_size((long *)CONFIG_SYS_SDRAM_BASE, |
||||
PHYS_SDRAM_1_SIZE + PHYS_SDRAM_2_SIZE); |
||||
return 0; |
||||
} |
||||
|
||||
void dram_init_banksize(void) |
||||
{ |
||||
gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE; |
||||
gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE; |
||||
|
||||
gd->bd->bi_dram[1].start = CONFIG_SYS_SDRAM_BASE + PHYS_SDRAM_1_SIZE; |
||||
gd->bd->bi_dram[1].size = PHYS_SDRAM_2_SIZE; |
||||
} |
||||
|
||||
void reset_cpu(ulong addr) |
||||
{ |
||||
psci_system_reset(); |
||||
} |
@ -0,0 +1,10 @@ |
||||
CONFIG_ARM=y |
||||
CONFIG_TARGET_BCMNS2=y |
||||
CONFIG_IDENT_STRING=" Broadcom Northstar 2" |
||||
CONFIG_DISTRO_DEFAULTS=y |
||||
CONFIG_BOOTDELAY=5 |
||||
# CONFIG_DISPLAY_CPUINFO is not set |
||||
CONFIG_SYS_PROMPT="u-boot> " |
||||
# CONFIG_CMD_IMLS is not set |
||||
CONFIG_SYS_NS16550=y |
||||
CONFIG_OF_LIBFDT=y |
@ -0,0 +1,55 @@ |
||||
/*
|
||||
* Configuration for Broadcom NS2. |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0+ |
||||
*/ |
||||
|
||||
#ifndef __BCM_NORTHSTAR2_H |
||||
#define __BCM_NORTHSTAR2_H |
||||
|
||||
#include <linux/sizes.h> |
||||
|
||||
#define CONFIG_HOSTNAME northstar2 |
||||
|
||||
/* Physical Memory Map */ |
||||
#define V2M_BASE 0x80000000 |
||||
#define PHYS_SDRAM_1 V2M_BASE |
||||
|
||||
#define CONFIG_NR_DRAM_BANKS 2 |
||||
#define PHYS_SDRAM_1_SIZE (4UL * SZ_1G) |
||||
#define PHYS_SDRAM_2_SIZE (4UL * SZ_1G) |
||||
#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 |
||||
|
||||
/* define text_base for U-boot image */ |
||||
#define CONFIG_SYS_TEXT_BASE 0x85000000 |
||||
#define CONFIG_SYS_INIT_SP_ADDR (PHYS_SDRAM_1 + 0x7ff00) |
||||
#define CONFIG_SYS_LOAD_ADDR 0x90000000 |
||||
#define CONFIG_SYS_MALLOC_LEN SZ_16M |
||||
|
||||
/* Serial Configuration */ |
||||
#define CONFIG_SYS_NS16550_SERIAL |
||||
#define CONFIG_SYS_NS16550_REG_SIZE (-4) |
||||
#define CONFIG_SYS_NS16550_CLK 25000000 |
||||
#define CONFIG_SYS_NS16550_COM1 0x66100000 |
||||
#define CONFIG_SYS_NS16550_COM2 0x66110000 |
||||
#define CONFIG_SYS_NS16550_COM3 0x66120000 |
||||
#define CONFIG_SYS_NS16550_COM4 0x66130000 |
||||
#define CONFIG_CONS_INDEX 4 |
||||
#define CONFIG_BAUDRATE 115200 |
||||
|
||||
#define CONFIG_ENV_SIZE SZ_8K |
||||
#define CONFIG_ENV_IS_NOWHERE |
||||
|
||||
/* console configuration */ |
||||
#define CONFIG_SYS_CBSIZE SZ_1K |
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ |
||||
sizeof(CONFIG_SYS_PROMPT) + 16) |
||||
#define CONFIG_SYS_MAXARGS 64 |
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE |
||||
|
||||
/* version string, parser, etc */ |
||||
#define CONFIG_CMDLINE_EDITING |
||||
#define CONFIG_COMMAND_HISTORY |
||||
#define CONFIG_SYS_LONGHELP |
||||
|
||||
#endif /* __BCM_NORTHSTAR2_H */ |
Loading…
Reference in new issue