board: arm: Add support for Broadcom BCM7260
authorThomas Fitzsimmons <fitzsim@fitzsim.org>
Wed, 22 Aug 2018 22:37:55 +0000 (18:37 -0400)
committerTom Rini <trini@konsulko.com>
Tue, 11 Sep 2018 01:19:31 +0000 (21:19 -0400)
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 <fitzsim@fitzsim.org>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Cc: Florian Fainelli <f.fainelli@gmail.com>
MAINTAINERS
arch/arm/mach-bcmstb/Kconfig
board/broadcom/bcmstb/MAINTAINERS
configs/bcm7260_defconfig [new file with mode: 0644]
include/configs/bcm7260.h [new file with mode: 0644]

index 8f23712..a1c31e2 100644 (file)
@@ -113,7 +113,7 @@ M:  Thomas Fitzsimmons <fitzsim@fitzsim.org>
 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
index 6c7952f..0a56c3c 100644 (file)
@@ -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"
index 5851cb9..eda29b9 100644 (file)
@@ -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 <fitzsim@fitzsim.org>
+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 (file)
index 0000000..e3b6ed4
--- /dev/null
@@ -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 (file)
index 0000000..a2d7f61
--- /dev/null
@@ -0,0 +1,40 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * (C) Copyright 2018  Cisco Systems, Inc.
+ *
+ * Author: Thomas Fitzsimmons <fitzsim@fitzsim.org>
+ *
+ * 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 */