From 3f20321ad8bdd7e84c3cfd2592b16ff65d05d04c Mon Sep 17 00:00:00 2001 From: Thomas Fitzsimmons Date: Wed, 22 Aug 2018 18:37:55 -0400 Subject: [PATCH] board: arm: Add support for Broadcom BCM7260 Add support for loading U-Boot on the Broadcom 7260 SoC. This port assumes Broadcom's BOLT bootloader is acting as the second stage bootloader, and U-Boot is acting as the third stage bootloader, loaded as an ELF program by BOLT. Signed-off-by: Thomas Fitzsimmons Reviewed-by: Florian Fainelli Cc: Florian Fainelli --- MAINTAINERS | 2 +- arch/arm/mach-bcmstb/Kconfig | 13 +++++++--- board/broadcom/bcmstb/MAINTAINERS | 8 +++++++ configs/bcm7260_defconfig | 17 +++++++++++++ include/configs/bcm7260.h | 40 +++++++++++++++++++++++++++++++ 5 files changed, 76 insertions(+), 4 deletions(-) create mode 100644 configs/bcm7260_defconfig create mode 100644 include/configs/bcm7260.h diff --git a/MAINTAINERS b/MAINTAINERS index 8f237128b2..a1c31e24ab 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -113,7 +113,7 @@ M: Thomas Fitzsimmons S: Maintained F: arch/arm/mach-bcmstb/ F: board/broadcom/bcmstb/ -F: configs/bcm7445_defconfig +F: configs/bcm7*_defconfig F: doc/README.bcm7xxx F: drivers/mmc/bcmstb_sdhci.c F: drivers/spi/bcmstb_spi.c diff --git a/arch/arm/mach-bcmstb/Kconfig b/arch/arm/mach-bcmstb/Kconfig index 6c7952ffe5..0a56c3c7fa 100644 --- a/arch/arm/mach-bcmstb/Kconfig +++ b/arch/arm/mach-bcmstb/Kconfig @@ -7,8 +7,14 @@ config TARGET_BCM7445 Support for the Broadcom 7445 SoC. This port assumes BOLT is acting as the second stage bootloader, and U-Boot is acting as the third stage bootloader (TSBL), loaded by BOLT. - This port may work on other BCM7xxx boards with - configuration changes. + +config TARGET_BCM7260 + bool "Broadcom 7260 TSBL" + depends on ARCH_BCMSTB + help + Support for the Broadcom 7260 SoC. This port assumes BOLT + is acting as the second stage bootloader, and U-Boot is + acting as the third stage bootloader (TSBL), loaded by BOLT. config SYS_CPU default "armv7" @@ -23,7 +29,8 @@ config SYS_SOC default "bcmstb" config SYS_CONFIG_NAME - default "bcm7445" + default "bcm7445" if TARGET_BCM7445 + default "bcm7260" if TARGET_BCM7260 config SYS_FDT_SAVE_ADDRESS hex "Address to which the prior stage provided DTB will be copied" diff --git a/board/broadcom/bcmstb/MAINTAINERS b/board/broadcom/bcmstb/MAINTAINERS index 5851cb9978..eda29b95c8 100644 --- a/board/broadcom/bcmstb/MAINTAINERS +++ b/board/broadcom/bcmstb/MAINTAINERS @@ -5,3 +5,11 @@ F: board/broadcom/bcmstb/ F: include/configs/bcmstb.h F: include/configs/bcm7445.h F: configs/bcm7445_defconfig + +BCM7260 BOARD +M: Thomas Fitzsimmons +S: Maintained +F: board/broadcom/bcmstb/ +F: include/configs/bcmstb.h +F: include/configs/bcm7260.h +F: configs/bcm7260_defconfig diff --git a/configs/bcm7260_defconfig b/configs/bcm7260_defconfig new file mode 100644 index 0000000000..e3b6ed472c --- /dev/null +++ b/configs/bcm7260_defconfig @@ -0,0 +1,17 @@ +CONFIG_ARM=y +CONFIG_ARCH_BCMSTB=y +CONFIG_SYS_TEXT_BASE=0x10100000 +CONFIG_TARGET_BCM7260=y +CONFIG_NR_DRAM_BANKS=1 +CONFIG_FIT=y +CONFIG_FIT_SIGNATURE=y +CONFIG_BOOTDELAY=1 +CONFIG_HUSH_PARSER=y +CONFIG_SYS_PROMPT="U-Boot>" +CONFIG_OF_PRIOR_STAGE=y +CONFIG_ENV_IS_IN_MMC=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_BCMSTB=y +CONFIG_CONS_INDEX=1 +CONFIG_EFI_LOADER=n +CONFIG_EFI_PARTITION=y diff --git a/include/configs/bcm7260.h b/include/configs/bcm7260.h new file mode 100644 index 0000000000..a2d7f614ce --- /dev/null +++ b/include/configs/bcm7260.h @@ -0,0 +1,40 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * (C) Copyright 2018 Cisco Systems, Inc. + * + * Author: Thomas Fitzsimmons + * + * Configuration settings for the Broadcom BCM7260 SoC family. + */ + +#ifndef __CONFIG_H +#define __CONFIG_H + +#define CONFIG_SYS_NS16550_COM1 0xf040c000 + +#define CONFIG_SYS_TEXT_BASE 0x10100000 +#define CONFIG_SYS_INIT_RAM_ADDR 0x10200000 + +#define CONFIG_SYS_MALLOC_LEN ((40 * 1024) << 10) /* 40 MiB */ + +#include "bcmstb.h" + +#define BCMSTB_SDHCI_BASE 0xf0200300 +#define BCMSTB_TIMER_LOW 0xf0412008 +#define BCMSTB_TIMER_HIGH 0xf041200c +#define BCMSTB_TIMER_FREQUENCY 0xf0412020 +#define BCMSTB_HIF_MSPI_BASE 0xf0203c00 +#define BCMSTB_BSPI_BASE 0xf0203a00 +#define BCMSTB_HIF_SPI_INTR2 0xf0201a00 +#define BCMSTB_CS_REG 0xf0200920 + +/* + * Environment configuration for eMMC. + */ +#define CONFIG_ENV_OFFSET (0x000040a4 * 512) +#define CONFIG_SYS_MMC_ENV_DEV 0 +#define CONFIG_SYS_MMC_ENV_PART 0 + +#define CONFIG_CMD_GPT + +#endif /* __CONFIG_H */ -- 2.39.5