bcm968580xref: add initial support
This add the initial support of the broadcom reference board bcm968580xref with a bcm6858 SoC. This board has 512 MB of ram, 256 MB of flash (nand), 2 usb port, 1 uart, 4 ethernet ports (LAN), 1 ethernet port (WAN). Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
This commit is contained in:
parent
40b59b0586
commit
786dc91492
31
arch/arm/dts/bcm968580xref.dts
Normal file
31
arch/arm/dts/bcm968580xref.dts
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2018 Philippe Reynes <philippe.reynes@softathome.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/dts-v1/;
|
||||||
|
|
||||||
|
#include "bcm6858.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "Broadcom bcm68580xref";
|
||||||
|
compatible = "broadcom,bcm68580xref", "brcm,bcm6858";
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
serial0 = &uart0;
|
||||||
|
};
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
stdout-path = "serial0:115200n8";
|
||||||
|
};
|
||||||
|
|
||||||
|
memory {
|
||||||
|
device_type = "memory";
|
||||||
|
reg = <0x0 0x0 0x0 0x20000000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart0 {
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
status = "okay";
|
||||||
|
};
|
17
board/broadcom/bcm968580xref/Kconfig
Normal file
17
board/broadcom/bcm968580xref/Kconfig
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
if ARCH_BCM6858
|
||||||
|
|
||||||
|
config SYS_VENDOR
|
||||||
|
default "broadcom"
|
||||||
|
|
||||||
|
config SYS_BOARD
|
||||||
|
default "bcm968580xref"
|
||||||
|
|
||||||
|
config SYS_CONFIG_NAME
|
||||||
|
default "broadcom_bcm968580xref"
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
config TARGET_BCM968580XREF
|
||||||
|
bool "Support Broadcom bcm968580xref"
|
||||||
|
depends on ARCH_BCM6858
|
||||||
|
select ARM64
|
6
board/broadcom/bcm968580xref/MAINTAINERS
Normal file
6
board/broadcom/bcm968580xref/MAINTAINERS
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
BROADCOM BCM968580XREF
|
||||||
|
M: Philippe Reynes <philippe.reynes@softathome.com>
|
||||||
|
S: Maintained
|
||||||
|
F: board/broadcom/bcm968580xref/
|
||||||
|
F: include/configs/broadcom_bcm968580xref.h
|
||||||
|
F: configs/bcm968580_ram_defconfig
|
3
board/broadcom/bcm968580xref/Makefile
Normal file
3
board/broadcom/bcm968580xref/Makefile
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0+
|
||||||
|
|
||||||
|
obj-y += bcm968580xref.o
|
61
board/broadcom/bcm968580xref/bcm968580xref.c
Normal file
61
board/broadcom/bcm968580xref/bcm968580xref.c
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2018 Philippe Reynes <philippe.reynes@softathome.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <common.h>
|
||||||
|
#include <fdtdec.h>
|
||||||
|
#include <linux/io.h>
|
||||||
|
|
||||||
|
#ifdef CONFIG_ARM64
|
||||||
|
#include <asm/armv8/mmu.h>
|
||||||
|
|
||||||
|
static struct mm_region broadcom_bcm968580xref_mem_map[] = {
|
||||||
|
{
|
||||||
|
/* RAM */
|
||||||
|
.virt = 0x00000000UL,
|
||||||
|
.phys = 0x00000000UL,
|
||||||
|
.size = 8UL * SZ_1G,
|
||||||
|
.attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
|
||||||
|
PTE_BLOCK_INNER_SHARE
|
||||||
|
}, {
|
||||||
|
/* SoC */
|
||||||
|
.virt = 0x80000000UL,
|
||||||
|
.phys = 0x80000000UL,
|
||||||
|
.size = 0xff80000000UL,
|
||||||
|
.attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
|
||||||
|
PTE_BLOCK_NON_SHARE |
|
||||||
|
PTE_BLOCK_PXN | PTE_BLOCK_UXN
|
||||||
|
}, {
|
||||||
|
/* List terminator */
|
||||||
|
0,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
struct mm_region *mem_map = broadcom_bcm968580xref_mem_map;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int board_init(void)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int dram_init(void)
|
||||||
|
{
|
||||||
|
if (fdtdec_setup_mem_size_base() != 0)
|
||||||
|
printf("fdtdec_setup_mem_size_base() has failed\n");
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int dram_init_banksize(void)
|
||||||
|
{
|
||||||
|
fdtdec_setup_memory_banksize();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int print_cpuinfo(void)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
36
configs/bcm968580_ram_defconfig
Normal file
36
configs/bcm968580_ram_defconfig
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
CONFIG_ARM=y
|
||||||
|
CONFIG_ARCH_BCM6858=y
|
||||||
|
CONFIG_SYS_TEXT_BASE=0x10000000
|
||||||
|
CONFIG_SYS_MALLOC_F_LEN=0x8000
|
||||||
|
CONFIG_SPL_SYS_MALLOC_F_LEN=0x400
|
||||||
|
CONFIG_TARGET_BCM968580XREF=y
|
||||||
|
CONFIG_ENV_VARS_UBOOT_CONFIG=y
|
||||||
|
CONFIG_NR_DRAM_BANKS=1
|
||||||
|
CONFIG_TPL_SYS_MALLOC_F_LEN=0x400
|
||||||
|
CONFIG_FIT=y
|
||||||
|
CONFIG_FIT_SIGNATURE=y
|
||||||
|
CONFIG_FIT_VERBOSE=y
|
||||||
|
CONFIG_IMAGE_FORMAT_LEGACY=y
|
||||||
|
CONFIG_SUPPORT_RAW_INITRD=y
|
||||||
|
CONFIG_DISPLAY_BOARDINFO_LATE=y
|
||||||
|
CONFIG_HUSH_PARSER=y
|
||||||
|
CONFIG_CMD_BOOTEFI_SELFTEST=y
|
||||||
|
CONFIG_DOS_PARTITION=y
|
||||||
|
CONFIG_ISO_PARTITION=y
|
||||||
|
CONFIG_EFI_PARTITION=y
|
||||||
|
CONFIG_OF_EMBED=y
|
||||||
|
CONFIG_DEFAULT_DEVICE_TREE="bcm968580xref"
|
||||||
|
# CONFIG_NET is not set
|
||||||
|
CONFIG_BLK=y
|
||||||
|
CONFIG_CLK=y
|
||||||
|
CONFIG_FIRMWARE=y
|
||||||
|
# CONFIG_MMC is not set
|
||||||
|
CONFIG_SPECIFY_CONSOLE_INDEX=y
|
||||||
|
# CONFIG_SPL_SERIAL_PRESENT is not set
|
||||||
|
CONFIG_CONS_INDEX=0
|
||||||
|
CONFIG_DM_SERIAL=y
|
||||||
|
CONFIG_SERIAL_SEARCH_ALL=y
|
||||||
|
CONFIG_BCM6858_SERIAL=y
|
||||||
|
CONFIG_SYSRESET=y
|
||||||
|
CONFIG_REGEX=y
|
||||||
|
# CONFIG_GENERATE_SMBIOS_TABLE is not set
|
36
include/configs/broadcom_bcm968580xref.h
Normal file
36
include/configs/broadcom_bcm968580xref.h
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
/* SPDX-License-Identifier: GPL-2.0+ */
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2018 Philippe Reynes <philippe.reynes@softathome.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <linux/sizes.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* common
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* UART */
|
||||||
|
#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, \
|
||||||
|
230400, 500000, 1500000 }
|
||||||
|
/* Memory usage */
|
||||||
|
#define CONFIG_SYS_MAXARGS 24
|
||||||
|
#define CONFIG_SYS_MALLOC_LEN (1024 * 1024)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 6858
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* RAM */
|
||||||
|
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||||
|
|
||||||
|
/* U-Boot */
|
||||||
|
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_TEXT_BASE + SZ_16M)
|
||||||
|
#define CONFIG_SYS_LOAD_ADDR CONFIG_SYS_TEXT_BASE
|
||||||
|
|
||||||
|
#define CONFIG_SKIP_LOWLEVEL_INIT
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 968580xref
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define CONFIG_ENV_SIZE (8 * 1024)
|
Loading…
Reference in New Issue
Block a user