diff options
Diffstat (limited to 'board/broadcom')
54 files changed, 589 insertions, 857 deletions
diff --git a/board/broadcom/bcm11130/MAINTAINERS b/board/broadcom/bcm11130/MAINTAINERS deleted file mode 100644 index 54783501e6d..00000000000 --- a/board/broadcom/bcm11130/MAINTAINERS +++ /dev/null @@ -1,6 +0,0 @@ -BCM11130 BOARD -M: Steve Rae <steve.rae@raedomain.com> -S: Maintained -F: board/broadcom/bcm28155_ap/ -F: include/configs/bcm_ep_board.h -F: configs/bcm11130_defconfig diff --git a/board/broadcom/bcm11130_nand/MAINTAINERS b/board/broadcom/bcm11130_nand/MAINTAINERS deleted file mode 100644 index 4cf66b7e4a6..00000000000 --- a/board/broadcom/bcm11130_nand/MAINTAINERS +++ /dev/null @@ -1,6 +0,0 @@ -BCM11130_NAND BOARD -M: Steve Rae <steve.rae@raedomain.com> -S: Maintained -F: board/broadcom/bcm28155_ap/ -F: include/configs/bcm_ep_board.h -F: configs/bcm11130_nand_defconfig diff --git a/board/broadcom/bcm23550_w1d/Kconfig b/board/broadcom/bcm23550_w1d/Kconfig deleted file mode 100644 index 007a127250d..00000000000 --- a/board/broadcom/bcm23550_w1d/Kconfig +++ /dev/null @@ -1,15 +0,0 @@ -if TARGET_BCM23550_W1D - -config SYS_BOARD - default "bcm23550_w1d" - -config SYS_VENDOR - default "broadcom" - -config SYS_SOC - default "bcm235xx" - -config SYS_CONFIG_NAME - default "bcm23550_w1d" - -endif diff --git a/board/broadcom/bcm23550_w1d/MAINTAINERS b/board/broadcom/bcm23550_w1d/MAINTAINERS deleted file mode 100644 index bde6337ce34..00000000000 --- a/board/broadcom/bcm23550_w1d/MAINTAINERS +++ /dev/null @@ -1,6 +0,0 @@ -BCM23550_W1D BOARD -M: Steve Rae <steve.rae@raedomain.com> -S: Maintained -F: board/broadcom/bcm23550_w1d/ -F: include/configs/bcm23550_w1d.h -F: configs/bcm23550_w1d_defconfig diff --git a/board/broadcom/bcm23550_w1d/Makefile b/board/broadcom/bcm23550_w1d/Makefile deleted file mode 100644 index 0552f3762e8..00000000000 --- a/board/broadcom/bcm23550_w1d/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0+ -# -# Copyright 2013 Broadcom Corporation. - -obj-y += bcm23550_w1d.o diff --git a/board/broadcom/bcm23550_w1d/bcm23550_w1d.c b/board/broadcom/bcm23550_w1d/bcm23550_w1d.c deleted file mode 100644 index d83eb9bd524..00000000000 --- a/board/broadcom/bcm23550_w1d/bcm23550_w1d.c +++ /dev/null @@ -1,123 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright 2013 Broadcom Corporation. - */ - -#include <common.h> -#include <init.h> -#include <asm/io.h> -#include <asm/mach-types.h> -#include <env.h> -#include <mmc.h> -#include <asm/kona-common/kona_sdhci.h> -#include <asm/kona-common/clk.h> -#include <asm/arch/sysmap.h> - -#include <usb.h> -#include <usb/dwc2_udc.h> -#include <g_dnl.h> - -#define SECWATCHDOG_SDOGCR_OFFSET 0x00000000 -#define SECWATCHDOG_SDOGCR_EN_SHIFT 27 -#define SECWATCHDOG_SDOGCR_SRSTEN_SHIFT 26 -#define SECWATCHDOG_SDOGCR_CLKS_SHIFT 20 -#define SECWATCHDOG_SDOGCR_LD_SHIFT 0 - -#ifndef CONFIG_USB_SERIALNO -#define CONFIG_USB_SERIALNO "1234567890" -#endif - -DECLARE_GLOBAL_DATA_PTR; - -/* - * board_init - early hardware init - */ -int board_init(void) -{ - printf("Relocation Offset is: %08lx\n", gd->reloc_off); - - /* adress of boot parameters */ - gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100; - - clk_init(); - - return 0; -} - -/* - * misc_init_r - miscellaneous platform dependent initializations - */ -int misc_init_r(void) -{ - return 0; -} - -/* - * dram_init - sets uboots idea of sdram size - */ -int dram_init(void) -{ - gd->ram_size = get_ram_size((long *)CONFIG_SYS_SDRAM_BASE, - CONFIG_SYS_SDRAM_SIZE); - return 0; -} - -/* This is called after dram_init() so use get_ram_size result */ -int dram_init_banksize(void) -{ - gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE; - gd->bd->bi_dram[0].size = gd->ram_size; - - return 0; -} - -#ifdef CONFIG_MMC_SDHCI_KONA -/* - * mmc_init - Initializes mmc - */ -int board_mmc_init(bd_t *bis) -{ - int ret = 0; - - /* Register eMMC - SDIO2 */ - ret = kona_sdhci_init(1, 400000, 0); - if (ret) - return ret; - - /* Register SD Card - SDIO4 kona_mmc_init assumes 0 based index */ - ret = kona_sdhci_init(3, 400000, 0); - return ret; -} -#endif - -#ifdef CONFIG_USB_GADGET -static struct dwc2_plat_otg_data bcm_otg_data = { - .regs_otg = HSOTG_BASE_ADDR -}; - -int board_usb_init(int index, enum usb_init_type init) -{ - debug("%s: performing dwc2_udc_probe\n", __func__); - return dwc2_udc_probe(&bcm_otg_data); -} - -int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name) -{ - debug("%s\n", __func__); - if (!env_get("serial#")) - g_dnl_set_serialnumber(CONFIG_USB_SERIALNO); - return 0; -} - -int g_dnl_get_board_bcd_device_number(int gcnum) -{ - debug("%s\n", __func__); - return 1; -} - -int board_usb_cleanup(int index, enum usb_init_type init) -{ - debug("%s\n", __func__); - return 0; -} -#endif diff --git a/board/broadcom/bcm28155_ap/Kconfig b/board/broadcom/bcm28155_ap/Kconfig deleted file mode 100644 index f1b4e089411..00000000000 --- a/board/broadcom/bcm28155_ap/Kconfig +++ /dev/null @@ -1,15 +0,0 @@ -if TARGET_BCM28155_AP - -config SYS_BOARD - default "bcm28155_ap" - -config SYS_VENDOR - default "broadcom" - -config SYS_SOC - default "bcm281xx" - -config SYS_CONFIG_NAME - default "bcm28155_ap" - -endif diff --git a/board/broadcom/bcm28155_ap/MAINTAINERS b/board/broadcom/bcm28155_ap/MAINTAINERS deleted file mode 100644 index e1e99d0784f..00000000000 --- a/board/broadcom/bcm28155_ap/MAINTAINERS +++ /dev/null @@ -1,6 +0,0 @@ -BCM28155_AP BOARD -M: Steve Rae <steve.rae@raedomain.com> -S: Maintained -F: board/broadcom/bcm28155_ap/ -F: include/configs/bcm28155_ap.h -F: configs/bcm28155_ap_defconfig diff --git a/board/broadcom/bcm28155_ap/Makefile b/board/broadcom/bcm28155_ap/Makefile deleted file mode 100644 index 06eba8fbfde..00000000000 --- a/board/broadcom/bcm28155_ap/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0+ -# -# Copyright 2013 Broadcom Corporation. - -obj-y += bcm28155_ap.o diff --git a/board/broadcom/bcm28155_ap/bcm28155_ap.c b/board/broadcom/bcm28155_ap/bcm28155_ap.c deleted file mode 100644 index 40ced1a87ce..00000000000 --- a/board/broadcom/bcm28155_ap/bcm28155_ap.c +++ /dev/null @@ -1,130 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright 2013 Broadcom Corporation. - */ - -#include <common.h> -#include <init.h> -#include <asm/io.h> -#include <asm/mach-types.h> -#include <env.h> -#include <mmc.h> -#include <asm/kona-common/kona_sdhci.h> -#include <asm/kona-common/clk.h> -#include <asm/arch/sysmap.h> - -#include <usb.h> -#include <usb/dwc2_udc.h> -#include <g_dnl.h> - -#define SECWATCHDOG_SDOGCR_OFFSET 0x00000000 -#define SECWATCHDOG_SDOGCR_EN_SHIFT 27 -#define SECWATCHDOG_SDOGCR_SRSTEN_SHIFT 26 -#define SECWATCHDOG_SDOGCR_CLKS_SHIFT 20 -#define SECWATCHDOG_SDOGCR_LD_SHIFT 0 - -#ifndef CONFIG_USB_SERIALNO -#define CONFIG_USB_SERIALNO "1234567890" -#endif - -DECLARE_GLOBAL_DATA_PTR; - -/* - * board_init - early hardware init - */ -int board_init(void) -{ - printf("Relocation Offset is: %08lx\n", gd->reloc_off); - - /* adress of boot parameters */ - gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100; - - clk_init(); - - return 0; -} - -/* - * misc_init_r - miscellaneous platform dependent initializations - */ -int misc_init_r(void) -{ - /* Disable watchdog reset - watchdog unused */ - writel((0 << SECWATCHDOG_SDOGCR_EN_SHIFT) | - (0 << SECWATCHDOG_SDOGCR_SRSTEN_SHIFT) | - (4 << SECWATCHDOG_SDOGCR_CLKS_SHIFT) | - (0x5a0 << SECWATCHDOG_SDOGCR_LD_SHIFT), - (SECWD_BASE_ADDR + SECWATCHDOG_SDOGCR_OFFSET)); - - return 0; -} - -/* - * dram_init - sets uboots idea of sdram size - */ -int dram_init(void) -{ - gd->ram_size = get_ram_size((long *)CONFIG_SYS_SDRAM_BASE, - CONFIG_SYS_SDRAM_SIZE); - return 0; -} - -/* This is called after dram_init() so use get_ram_size result */ -int dram_init_banksize(void) -{ - gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE; - gd->bd->bi_dram[0].size = gd->ram_size; - - return 0; -} - -#ifdef CONFIG_MMC_SDHCI_KONA -/* - * mmc_init - Initializes mmc - */ -int board_mmc_init(bd_t *bis) -{ - int ret = 0; - - /* Register eMMC - SDIO2 */ - ret = kona_sdhci_init(1, 400000, 0); - if (ret) - return ret; - - /* Register SD Card - SDIO4 kona_mmc_init assumes 0 based index */ - ret = kona_sdhci_init(3, 400000, 0); - return ret; -} -#endif - -#ifdef CONFIG_USB_GADGET -static struct dwc2_plat_otg_data bcm_otg_data = { - .regs_otg = HSOTG_BASE_ADDR -}; - -int board_usb_init(int index, enum usb_init_type init) -{ - debug("%s: performing dwc2_udc_probe\n", __func__); - return dwc2_udc_probe(&bcm_otg_data); -} - -int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name) -{ - debug("%s\n", __func__); - if (!env_get("serial#")) - g_dnl_set_serialnumber(CONFIG_USB_SERIALNO); - return 0; -} - -int g_dnl_get_board_bcd_device_number(int gcnum) -{ - debug("%s\n", __func__); - return 1; -} - -int board_usb_cleanup(int index, enum usb_init_type init) -{ - debug("%s\n", __func__); - return 0; -} -#endif diff --git a/board/broadcom/bcm28155_w1d/MAINTAINERS b/board/broadcom/bcm28155_w1d/MAINTAINERS deleted file mode 100644 index c0558e7f255..00000000000 --- a/board/broadcom/bcm28155_w1d/MAINTAINERS +++ /dev/null @@ -1,6 +0,0 @@ -BCM28155_W1D BOARD -M: Steve Rae <steve.rae@raedomain.com> -S: Maintained -F: board/broadcom/bcm28155_ap/ -F: include/configs/bcm28155_ap.h -F: configs/bcm28155_w1d_defconfig diff --git a/board/broadcom/bcm911360_entphn-ns/MAINTAINERS b/board/broadcom/bcm911360_entphn-ns/MAINTAINERS deleted file mode 100644 index 8b831d8cb7a..00000000000 --- a/board/broadcom/bcm911360_entphn-ns/MAINTAINERS +++ /dev/null @@ -1,6 +0,0 @@ -BCM911360_ENTPHN-NS BOARD -M: Steve Rae <steve.rae@raedomain.com> -S: Maintained -F: board/broadcom/bcmcygnus/ -F: include/configs/bcm_ep_board.h -F: configs/bcm911360_entphn-ns_defconfig diff --git a/board/broadcom/bcm911360_entphn/MAINTAINERS b/board/broadcom/bcm911360_entphn/MAINTAINERS deleted file mode 100644 index d4f6aefe488..00000000000 --- a/board/broadcom/bcm911360_entphn/MAINTAINERS +++ /dev/null @@ -1,6 +0,0 @@ -BCM911360_ENTPHN BOARD -M: Steve Rae <steve.rae@raedomain.com> -S: Maintained -F: board/broadcom/bcmcygnus/ -F: include/configs/bcm_ep_board.h -F: configs/bcm911360_entphn_defconfig diff --git a/board/broadcom/bcm911360k/MAINTAINERS b/board/broadcom/bcm911360k/MAINTAINERS deleted file mode 100644 index 32e60327cfc..00000000000 --- a/board/broadcom/bcm911360k/MAINTAINERS +++ /dev/null @@ -1,6 +0,0 @@ -BCM911360K BOARD -M: Steve Rae <steve.rae@raedomain.com> -S: Maintained -F: board/broadcom/bcmcygnus/ -F: include/configs/bcm_ep_board.h -F: configs/bcm911360k_defconfig diff --git a/board/broadcom/bcm958300k-ns/MAINTAINERS b/board/broadcom/bcm958300k-ns/MAINTAINERS deleted file mode 100644 index 237d3446292..00000000000 --- a/board/broadcom/bcm958300k-ns/MAINTAINERS +++ /dev/null @@ -1,6 +0,0 @@ -BCM958300K-NS BOARD -M: Steve Rae <steve.rae@raedomain.com> -S: Maintained -F: board/broadcom/bcmcygnus/ -F: include/configs/bcm_ep_board.h -F: configs/bcm958300k-ns_defconfig diff --git a/board/broadcom/bcm958300k/MAINTAINERS b/board/broadcom/bcm958300k/MAINTAINERS deleted file mode 100644 index bbb6d64e1f0..00000000000 --- a/board/broadcom/bcm958300k/MAINTAINERS +++ /dev/null @@ -1,6 +0,0 @@ -BCM958300K BOARD -M: Steve Rae <steve.rae@raedomain.com> -S: Maintained -F: board/broadcom/bcmcygnus/ -F: include/configs/bcm_ep_board.h -F: configs/bcm958300k_defconfig diff --git a/board/broadcom/bcm958305k/MAINTAINERS b/board/broadcom/bcm958305k/MAINTAINERS deleted file mode 100644 index 5ca0effc00d..00000000000 --- a/board/broadcom/bcm958305k/MAINTAINERS +++ /dev/null @@ -1,6 +0,0 @@ -BCM958305K BOARD -M: Steve Rae <steve.rae@raedomain.com> -S: Maintained -F: board/broadcom/bcmcygnus/ -F: include/configs/bcm_ep_board.h -F: configs/bcm958305k_defconfig diff --git a/board/broadcom/bcm958622hr/MAINTAINERS b/board/broadcom/bcm958622hr/MAINTAINERS deleted file mode 100644 index de44dd11598..00000000000 --- a/board/broadcom/bcm958622hr/MAINTAINERS +++ /dev/null @@ -1,6 +0,0 @@ -BCM958622HR BOARD -M: Steve Rae <steve.rae@raedomain.com> -S: Maintained -F: board/broadcom/bcmnsp/ -F: include/configs/bcm_ep_board.h -F: configs/bcm958622hr_defconfig diff --git a/board/broadcom/bcm958712k/MAINTAINERS b/board/broadcom/bcm958712k/MAINTAINERS deleted file mode 100644 index 024fb1447d2..00000000000 --- a/board/broadcom/bcm958712k/MAINTAINERS +++ /dev/null @@ -1,6 +0,0 @@ -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 diff --git a/board/broadcom/bcm963158/Kconfig b/board/broadcom/bcm963158/Kconfig deleted file mode 100644 index 08a8bc1c14d..00000000000 --- a/board/broadcom/bcm963158/Kconfig +++ /dev/null @@ -1,17 +0,0 @@ -if TARGET_BCM963158 - -config SYS_VENDOR - default "broadcom" - -config SYS_BOARD - default "bcm963158" - -config SYS_CONFIG_NAME - default "broadcom_bcm963158" - -endif - -config TARGET_BCM963158 - bool "Support Broadcom bcm963158" - depends on ARCH_BCM63158 - select ARM64 diff --git a/board/broadcom/bcm963158/MAINTAINERS b/board/broadcom/bcm963158/MAINTAINERS deleted file mode 100644 index d28d971f9d3..00000000000 --- a/board/broadcom/bcm963158/MAINTAINERS +++ /dev/null @@ -1,6 +0,0 @@ -BROADCOM BCM963158 -M: Philippe Reynes <philippe.reynes@softathome.com> -S: Maintained -F: board/broadcom/bcm963158/ -F: include/configs/broadcom_bcm963158.h -F: configs/bcm963158_ram_defconfig diff --git a/board/broadcom/bcm963158/Makefile b/board/broadcom/bcm963158/Makefile deleted file mode 100644 index 0a902c9cf61..00000000000 --- a/board/broadcom/bcm963158/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0+ - -obj-y += bcm963158.o diff --git a/board/broadcom/bcm963158/bcm963158.c b/board/broadcom/bcm963158/bcm963158.c deleted file mode 100644 index db82cd570d6..00000000000 --- a/board/broadcom/bcm963158/bcm963158.c +++ /dev/null @@ -1,61 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright (C) 2019 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_bcm963158_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_bcm963158_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; -} diff --git a/board/broadcom/bcm968360bg/Kconfig b/board/broadcom/bcm968360bg/Kconfig deleted file mode 100644 index dd372f126ae..00000000000 --- a/board/broadcom/bcm968360bg/Kconfig +++ /dev/null @@ -1,17 +0,0 @@ -if ARCH_BCM68360 - -config SYS_VENDOR - default "broadcom" - -config SYS_BOARD - default "bcm968360bg" - -config SYS_CONFIG_NAME - default "broadcom_bcm968360bg" - -endif - -config TARGET_BCM968360BG - bool "Support Broadcom bcm968360bg" - depends on ARCH_BCM68360 - select ARM64 diff --git a/board/broadcom/bcm968360bg/MAINTAINERS b/board/broadcom/bcm968360bg/MAINTAINERS deleted file mode 100644 index cfcbbc51f8e..00000000000 --- a/board/broadcom/bcm968360bg/MAINTAINERS +++ /dev/null @@ -1,6 +0,0 @@ -BCM968360BG BOARD -M: Philippe Reynes <philippe.reynes@softathome.com> -S: Maintained -F: board/broadcom/bcm968360bg -F: include/configs/broadcom_bcm968360bg.h -F: configs/bcm968360bg_ram_defconfig diff --git a/board/broadcom/bcm968360bg/Makefile b/board/broadcom/bcm968360bg/Makefile deleted file mode 100644 index d099c1cf356..00000000000 --- a/board/broadcom/bcm968360bg/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0+ - -obj-y += bcm968360bg.o diff --git a/board/broadcom/bcm968360bg/bcm968360bg.c b/board/broadcom/bcm968360bg/bcm968360bg.c deleted file mode 100644 index a5fbc1d297c..00000000000 --- a/board/broadcom/bcm968360bg/bcm968360bg.c +++ /dev/null @@ -1,61 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright (C) 2020 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_bcm968360bg_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_bcm968360bg_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; -} diff --git a/board/broadcom/bcm968380gerg/Makefile b/board/broadcom/bcm968380gerg/Makefile deleted file mode 100644 index a525b7b9b36..00000000000 --- a/board/broadcom/bcm968380gerg/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0+ - -obj-y += bcm968380gerg.o diff --git a/board/broadcom/bcm968380gerg/bcm968380gerg.c b/board/broadcom/bcm968380gerg/bcm968380gerg.c deleted file mode 100644 index 044b3554ba1..00000000000 --- a/board/broadcom/bcm968380gerg/bcm968380gerg.c +++ /dev/null @@ -1,6 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright (C) 2018 Philippe Reynes <philippe.reynes@softathome.com> - */ - -#include <common.h> diff --git a/board/broadcom/bcm968380gerg/board.c b/board/broadcom/bcm968380gerg/board.c deleted file mode 100644 index 044b3554ba1..00000000000 --- a/board/broadcom/bcm968380gerg/board.c +++ /dev/null @@ -1,6 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright (C) 2018 Philippe Reynes <philippe.reynes@softathome.com> - */ - -#include <common.h> diff --git a/board/broadcom/bcm968580xref/Kconfig b/board/broadcom/bcm968580xref/Kconfig deleted file mode 100644 index b5730367a2d..00000000000 --- a/board/broadcom/bcm968580xref/Kconfig +++ /dev/null @@ -1,17 +0,0 @@ -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 diff --git a/board/broadcom/bcm968580xref/MAINTAINERS b/board/broadcom/bcm968580xref/MAINTAINERS deleted file mode 100644 index 5ee0c4dd4e4..00000000000 --- a/board/broadcom/bcm968580xref/MAINTAINERS +++ /dev/null @@ -1,6 +0,0 @@ -BCM968580XREF BOARD -M: Philippe Reynes <philippe.reynes@softathome.com> -S: Maintained -F: board/broadcom/bcm968580xref/ -F: include/configs/broadcom_bcm968580xref.h -F: configs/bcm968580xref_ram_defconfig diff --git a/board/broadcom/bcm968580xref/Makefile b/board/broadcom/bcm968580xref/Makefile deleted file mode 100644 index 5cd393b1962..00000000000 --- a/board/broadcom/bcm968580xref/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0+ - -obj-y += bcm968580xref.o diff --git a/board/broadcom/bcm968580xref/bcm968580xref.c b/board/broadcom/bcm968580xref/bcm968580xref.c deleted file mode 100644 index 2e547f51708..00000000000 --- a/board/broadcom/bcm968580xref/bcm968580xref.c +++ /dev/null @@ -1,61 +0,0 @@ -// 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; -} diff --git a/board/broadcom/bcm_ep/board.c b/board/broadcom/bcm_ep/board.c deleted file mode 100644 index e4dbe426490..00000000000 --- a/board/broadcom/bcm_ep/board.c +++ /dev/null @@ -1,83 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright 2014 Broadcom Corporation. - */ - -#include <common.h> -#include <cpu_func.h> -#include <init.h> -#include <asm/io.h> -#include <config.h> -#include <netdev.h> -#include <asm/system.h> -#include <asm/iproc-common/armpll.h> - -DECLARE_GLOBAL_DATA_PTR; - -/* - * board_init - early hardware init - */ -int board_init(void) -{ - /* - * Address of boot parameters passed to kernel - * Use default offset 0x100 - */ - gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100; - - return 0; -} - -/* - * dram_init - sets u-boot's idea of sdram size - */ -int dram_init(void) -{ - gd->ram_size = get_ram_size((long *)CONFIG_SYS_SDRAM_BASE, - CONFIG_SYS_SDRAM_SIZE); - return 0; -} - -int dram_init_banksize(void) -{ - gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE; - gd->bd->bi_dram[0].size = gd->ram_size; - - return 0; -} - -int board_early_init_f(void) -{ - uint32_t status = 0; - - /* Setup PLL if required */ -#if defined(CONFIG_ARMCLK) - armpll_config(CONFIG_ARMCLK); -#endif - - return status; -} - -#ifdef CONFIG_ARMV7_NONSEC -void smp_set_core_boot_addr(unsigned long addr, int corenr) -{ -} - -void smp_kick_all_cpus(void) -{ -} - -void smp_waitloop(unsigned previous_address) -{ -} -#endif - -#ifdef CONFIG_BCM_SF2_ETH -int board_eth_init(bd_t *bis) -{ - int rc = -1; - printf("Registering BCM sf2 eth\n"); - rc = bcm_sf2_eth_register(bis, 0); - return rc; -} -#endif diff --git a/board/broadcom/bcmbca/Kconfig b/board/broadcom/bcmbca/Kconfig new file mode 100644 index 00000000000..5903a6a786f --- /dev/null +++ b/board/broadcom/bcmbca/Kconfig @@ -0,0 +1,115 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# (C) Copyright 2022 Broadcom Ltd +# + +config SYS_BOARD + default "bcmbca" + +config SYS_VENDOR + default "broadcom" + +if TARGET_BCM947622 + +config SYS_CONFIG_NAME + default "bcm947622" + +endif + +if TARGET_BCM94908 + +config SYS_CONFIG_NAME + default "bcm94908" + +endif + +if TARGET_BCM94912 + +config SYS_CONFIG_NAME + default "bcm94912" + +endif + +if TARGET_BCM963138 + +config SYS_CONFIG_NAME + default "bcm963138" + +endif + +if TARGET_BCM963146 + +config SYS_CONFIG_NAME + default "bcm963146" + +endif + +if TARGET_BCM963148 + +config SYS_CONFIG_NAME + default "bcm963148" + +endif + +if TARGET_BCM963158 + +config SYS_CONFIG_NAME + default "bcm963158" + +endif + +if TARGET_BCM963178 + +config SYS_CONFIG_NAME + default "bcm963178" + +endif + +if TARGET_BCM96756 + +config SYS_CONFIG_NAME + default "bcm96756" + +endif + +if TARGET_BCM96813 + +config SYS_CONFIG_NAME + default "bcm96813" + +endif + +if TARGET_BCM96846 + +config SYS_CONFIG_NAME + default "bcm96846" + +endif + +if TARGET_BCM96855 + +config SYS_CONFIG_NAME + default "bcm96855" + +endif + +if TARGET_BCM96856 + +config SYS_CONFIG_NAME + default "bcm96856" + +endif + +if TARGET_BCM96858 + +config SYS_CONFIG_NAME + default "bcm96858" + +endif + +if TARGET_BCM96878 + +config SYS_CONFIG_NAME + default "bcm96878" + +endif diff --git a/board/broadcom/bcm_ep/Makefile b/board/broadcom/bcmbca/Makefile index 29a3ea7eda1..8f06c3111b9 100644 --- a/board/broadcom/bcm_ep/Makefile +++ b/board/broadcom/bcmbca/Makefile @@ -1,5 +1,5 @@ # SPDX-License-Identifier: GPL-2.0+ # -# Copyright 2014 Broadcom Corporation. +# (C) Copyright 2022 Broadcom Ltd obj-y += board.o diff --git a/board/broadcom/bcmbca/board.c b/board/broadcom/bcmbca/board.c new file mode 100644 index 00000000000..1ab6224011c --- /dev/null +++ b/board/broadcom/bcmbca/board.c @@ -0,0 +1,29 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * (C) Copyright 2022 Broadcom Ltd. + */ + +#include <fdtdec.h> + +int dram_init(void) +{ + if (fdtdec_setup_mem_size_base() != 0) + puts("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; +} + +__weak void reset_cpu(void) +{ +} diff --git a/board/broadcom/bcmcygnus/Kconfig b/board/broadcom/bcmcygnus/Kconfig deleted file mode 100644 index faba4cf82b1..00000000000 --- a/board/broadcom/bcmcygnus/Kconfig +++ /dev/null @@ -1,15 +0,0 @@ -if TARGET_BCMCYGNUS - -config SYS_BOARD - default "bcm_ep" - -config SYS_VENDOR - default "broadcom" - -config SYS_SOC - default "bcmcygnus" - -config SYS_CONFIG_NAME - default "bcm_ep_board" - -endif diff --git a/board/broadcom/bcmns/Kconfig b/board/broadcom/bcmns/Kconfig new file mode 100644 index 00000000000..82f4709e2d2 --- /dev/null +++ b/board/broadcom/bcmns/Kconfig @@ -0,0 +1,12 @@ +if TARGET_BCMNS + +config SYS_BOARD + default "bcmns" + +config SYS_VENDOR + default "broadcom" + +config SYS_CONFIG_NAME + default "bcmns" + +endif diff --git a/board/broadcom/bcmns/MAINTAINERS b/board/broadcom/bcmns/MAINTAINERS new file mode 100644 index 00000000000..63c6d8bb4ac --- /dev/null +++ b/board/broadcom/bcmns/MAINTAINERS @@ -0,0 +1,6 @@ +BCMNS BOARD +M: Linus Walleij <linus.walleij@linaro.org> +S: Maintained +F: board/broadcom/bcmns/ +F: configs/bcmns_defconfig +F: include/configs/bcmns.h diff --git a/board/broadcom/bcmns/Makefile b/board/broadcom/bcmns/Makefile new file mode 100644 index 00000000000..8a6a8543a90 --- /dev/null +++ b/board/broadcom/bcmns/Makefile @@ -0,0 +1,2 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +obj-y := ns.o diff --git a/board/broadcom/bcmns/ns.c b/board/broadcom/bcmns/ns.c new file mode 100644 index 00000000000..47a01227a35 --- /dev/null +++ b/board/broadcom/bcmns/ns.c @@ -0,0 +1,54 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Broadcom Northstar generic board set-up code + * Copyright (C) 2023 Linus Walleij <linus.walleij@linaro.org> + */ + +#include <dm.h> +#include <init.h> +#include <log.h> +#include <ram.h> +#include <serial.h> +#include <asm/global_data.h> +#include <asm/io.h> +#include <asm/armv7m.h> + +DECLARE_GLOBAL_DATA_PTR; + +int dram_init(void) +{ + return fdtdec_setup_mem_size_base(); +} + +int dram_init_banksize(void) +{ + return fdtdec_setup_memory_banksize(); +} + +int board_late_init(void) +{ + /* LEDs etc can be initialized here */ + return 0; +} + +void reset_cpu(void) +{ +} + +int print_cpuinfo(void) +{ + printf("BCMNS Northstar SoC\n"); + return 0; +} + +int misc_init_r(void) +{ + return 0; +} + +int ft_board_setup(void *fdt, struct bd_info *bd) +{ + printf("Northstar board setup: DTB at 0x%08lx\n", (ulong)fdt); + return 0; +} + diff --git a/board/broadcom/bcmns2/Kconfig b/board/broadcom/bcmns2/Kconfig deleted file mode 100644 index 3ac67249c4d..00000000000 --- a/board/broadcom/bcmns2/Kconfig +++ /dev/null @@ -1,15 +0,0 @@ -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 diff --git a/board/broadcom/bcmns2/Makefile b/board/broadcom/bcmns2/Makefile deleted file mode 100644 index 29274bd106c..00000000000 --- a/board/broadcom/bcmns2/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0+ -# -# Copyright 2016 Broadcom Ltd. - -obj-y := northstar2.o diff --git a/board/broadcom/bcmns2/northstar2.c b/board/broadcom/bcmns2/northstar2.c deleted file mode 100644 index 6cbad9c1f0a..00000000000 --- a/board/broadcom/bcmns2/northstar2.c +++ /dev/null @@ -1,61 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * (C) Copyright 2016 Broadcom Ltd. - */ -#include <common.h> -#include <cpu_func.h> -#include <init.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; -} - -int 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; - - return 0; -} - -void reset_cpu(ulong addr) -{ - psci_system_reset(); -} diff --git a/board/broadcom/bcmns3/Kconfig b/board/broadcom/bcmns3/Kconfig new file mode 100644 index 00000000000..cb73f98eaee --- /dev/null +++ b/board/broadcom/bcmns3/Kconfig @@ -0,0 +1,22 @@ +if TARGET_BCMNS3 + +config SYS_BOARD + default "bcmns3" + +config SYS_VENDOR + default "broadcom" + +config SYS_SOC + default "bcmns3" + +config SYS_CONFIG_NAME + default "bcm_ns3" + +config CMD_BCM_EXT_UTILS + bool "Enable Broadcom-specific U-Boot commands" + default y + help + Enable Broadcom specific U-Boot commands such as error log setup + command or any other commands specific to NS3 platform. + +endif diff --git a/board/broadcom/bcmns3/Makefile b/board/broadcom/bcmns3/Makefile new file mode 100644 index 00000000000..34042601481 --- /dev/null +++ b/board/broadcom/bcmns3/Makefile @@ -0,0 +1,5 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# Copyright 2020 Broadcom. + +obj-y := ns3.o diff --git a/board/broadcom/bcmns3/fit/keys/dev.crt b/board/broadcom/bcmns3/fit/keys/dev.crt new file mode 100644 index 00000000000..75b75db95c9 --- /dev/null +++ b/board/broadcom/bcmns3/fit/keys/dev.crt @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDXTCCAkWgAwIBAgIJAJgq/5aiJttEMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV +BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX +aWRnaXRzIFB0eSBMdGQwHhcNMTgwOTE5MDkzMzEwWhcNMTgxMDE5MDkzMzEwWjBF +MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50 +ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEAzeMQ92YqrejtMCfxjDyHvDW34ATozXSlWsudR+AyCSuJVAIoHEenVh+/ +PuT0+/EMiwsUnLXYBeOsIXDW3k3eHgm88ccb+0g9J6mlHqMaN0tXP+Ua2GFEk2Wv +5Bj5QynorOPoaWL/ecWus2Bvkmyt2pvIpaTjmkUKZ9al3z8WyS6wFlFitXyOWFcK +7Xkl43cOHxYAfbny5loWYDCgpkV+dgYZOoCEmL+Y9HfrQ+uBKGducpzNKeQjX9bn +UT9cleCtHZx0uY4wSGNgfmUMy7oUyVZhFpmjlcfjcfNFcBcoVF6StluoL6v1KRbH +4xJDD/UCn2Uk0S6Zpd7TRc26faOtfwIDAQABo1AwTjAdBgNVHQ4EFgQUZk/KKaWG +p4BtksPdQ8FLzWL/gAIwHwYDVR0jBBgwFoAUZk/KKaWGp4BtksPdQ8FLzWL/gAIw +DAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAPNveTvOC2bw91cUN1e+B +95qFp2Xd5XGiV35F10dT3VN/Iv2dzHlThq7xaJGkA53lHIXgLUUfnDTHJmoluw+t +UCpG8OWCxM0FbT8ZnXR4SmHK8k4yb7iZa7iu+Ey5B6F3247gJpEl+1iYxus0lqQW +E9dTwMf1YP9Jdf+dRoLKAAI0n5J1PMuseQkGdlRBNUcEg+kXqBSz5hq0xkuPRtey +GiAvpg3G93ft84Q4ov7IjAhJkY7whm6WktisU8mFPru3e9EouxjVtAvu6s9gQThm +pvn6hSL2/3gEOP3v9yBsH6//SOgNdVBGZIdX+HkvD8NZLftbIrDaeL/IfKUm/zXB +zA== +-----END CERTIFICATE----- diff --git a/board/broadcom/bcmns3/fit/keys/dev.key b/board/broadcom/bcmns3/fit/keys/dev.key new file mode 100644 index 00000000000..55b7033e9f9 --- /dev/null +++ b/board/broadcom/bcmns3/fit/keys/dev.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDN4xD3Ziqt6O0w +J/GMPIe8NbfgBOjNdKVay51H4DIJK4lUAigcR6dWH78+5PT78QyLCxSctdgF46wh +cNbeTd4eCbzxxxv7SD0nqaUeoxo3S1c/5RrYYUSTZa/kGPlDKeis4+hpYv95xa6z +YG+SbK3am8ilpOOaRQpn1qXfPxbJLrAWUWK1fI5YVwrteSXjdw4fFgB9ufLmWhZg +MKCmRX52Bhk6gISYv5j0d+tD64EoZ25ynM0p5CNf1udRP1yV4K0dnHS5jjBIY2B+ +ZQzLuhTJVmEWmaOVx+Nx80VwFyhUXpK2W6gvq/UpFsfjEkMP9QKfZSTRLpml3tNF +zbp9o61/AgMBAAECggEBAJ/TZClZk0ob5nyalWVS29/cJ5hs1zgfE/nu1HKmdNEv +jdS8M9z4Nsuhq3msjQ1Da4RInsCkXUT9H3N6QCKkeggBcT6TXYJs6qRuijLFVKWW +A+4i8PsGTxDJQIimZmGgF/KWnaWp5z7lmZ+//fzCBxgMFO+Zl+H7NH+1XmB2fj6/ +bfgnxLbiIqq/2oVJfdjA1Zs2ie3SE5U2hPNiE6TIajFS0PxUOGrojsSQ8z+gfqs3 +hyqo9msAqNQciT79vyXp+3HsxZo9rq5Tk5OtCEfgu0GED/d4/FHbDrZT3TorVYXr +Z3dADxvnnJfBdlQIMetCy/X8z2vKRRXaoWpqg1aiFVECgYEA7Ap5D4nvOie2NXgI +gMPzuYtpH4uF/cZMLGxTKZ3NG4RH6oVUdd4whETXfzBJdnJbIXDTphoHxjUhpGh8 +Ga+U1iqjp9c6Nd8ueVp/c5T1bD8/2RG0QM4iWgPbZDKtj1MqRg7vwAfpJ3kOIc/5 +bKJ4jAopNJMChL6vAZ9+ShPsRqkCgYEA30vbj6K7/giclJnyWkluQTqS8X/XjdAf +F5PkCBHGJnYxkDSzWPq7O5E1wYqTAou1U6nNNoUvZZdpRvo39NSrMCaagQ7GE+xA +j/h7tinD/lPlvoW9N4f4ddqWzsmf7I8OGZtP4IwVi9Pms+zPtrQ7TvuPT4UHTH2E +eE1hlJtic+cCgYEA6oKdNGr+WvEJfqX7DLOiej2f+89LGI7jL1+QYFB/b09FhCNj +fpd57G/ZCmyXEC8di2PlY6mI/8vZ2NZWNc7UONO0NRUIqG1MZxUae2MLUrikXq3Q +QHKMfpJGbo5LEZK29VPxrwAtDSKgf8d5MA1bZwbRWYKVhf1NMnebqU2R+cECgYEA +kOTKXhP85MR1xj928XtAnfcCLs8D8jOgWU5P46SU7ZQ4aRipYA2ivO5m8WWYK0i4 +qsc+MCiQLt3nJHVtJeNyCdai3yfVBEyDQGi+7d+AHGIYbF6f/46tfNwQi7JtobTa +M2eCl3SO7qLbytjZl/avnXrC7Zimuc2gzed4cFO7uPUCgYAo66MLtRWLdHqPDTaa +WhSQZkdKfZxlWNP6XIpBgHnYDIQGZddrjv+zZVFRxLCduh1v8xybbSDKwRkGuXVb +eTQHP2Nc5XsOopCSsDP0v0dUxaOu14C0jJJG2E+EhJsWJ2Eua7o40LEIX2WY7N7f +UqR3bLO5Qh/1OOwJj5WbpzkMwA== +-----END PRIVATE KEY----- diff --git a/board/broadcom/bcmns3/fit/multi.its b/board/broadcom/bcmns3/fit/multi.its new file mode 100644 index 00000000000..a0ff4bc9083 --- /dev/null +++ b/board/broadcom/bcmns3/fit/multi.its @@ -0,0 +1,59 @@ +/* + * U-Boot uImage source file with multiple kernels, ramdisks and FDT blobs + */ + +/dts-v1/; + +/ { + description = "Various kernels, ramdisks and FDT blobs"; + #address-cells = <1>; + + images { + kernel { + description = "Linux kernel Image"; + data = /incbin/("./Image"); + type = "kernel"; + arch = "arm64"; + os = "linux"; + compression = "none"; + load = <0x80080000>; + entry = <0x80080000>; + hash-1 { + algo = "sha1"; + }; + signature { + algo = "sha1,rsa2048"; + key-name-hint = "dev"; + }; + }; + + fdt-ns3 { + description = "FDT Blob"; + data = /incbin/("./dt-blob.bin"); + type = "flat_dt"; + arch = "arm64"; + compression = "none"; + hash-1 { + algo = "sha1"; + }; + signature { + algo = "sha1,rsa2048"; + key-name-hint = "dev"; + }; + }; + }; + + configurations { + default = "config-ns3"; + config-ns3 { + description = "FIT1 configuration"; + kernel = "kernel"; + fdt = "fdt-ns3"; + signature { + algo = "sha1,rsa2048"; + key-name-hint = "dev"; + sign-images = "fdt", "kernel"; + }; + }; + }; +}; diff --git a/board/broadcom/bcmns3/ns3.c b/board/broadcom/bcmns3/ns3.c new file mode 100644 index 00000000000..bb2f1e4f62a --- /dev/null +++ b/board/broadcom/bcmns3/ns3.c @@ -0,0 +1,221 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright 2020 Broadcom. + * + */ + +#include <fdt_support.h> +#include <linux/errno.h> +#include <asm/io.h> +#include <asm/gic-v3.h> +#include <asm/global_data.h> +#include <asm/system.h> +#include <asm/armv8/mmu.h> +#include <asm/arch-bcmns3/bl33_info.h> +#include <dt-bindings/memory/bcm-ns3-mc.h> +#include <broadcom/chimp.h> + +#define BANK_OFFSET(bank) ((u64)BCM_NS3_DDR_INFO_BASE + 8 + ((bank) * 16)) + +/* + * ns3_dram_bank - DDR bank details + * + * @start: DDR bank start address + * @len: DDR bank length + */ +struct ns3_dram_bank { + u64 start[BCM_NS3_MAX_NR_BANKS]; + u64 len[BCM_NS3_MAX_NR_BANKS]; +}; + +/* + * ns3_dram_hdr - DDR header info + * + * @sig: DDR info signature + * @bank: DDR bank details + */ +struct ns3_dram_hdr { + u32 sig; + struct ns3_dram_bank bank; +}; + +static struct mm_region ns3_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 = BCM_NS3_MEM_START, + .phys = BCM_NS3_MEM_START, + .size = BCM_NS3_MEM_LEN, + .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) | + PTE_BLOCK_INNER_SHARE + }, { + .virt = BCM_NS3_BANK_1_MEM_START, + .phys = BCM_NS3_BANK_1_MEM_START, + .size = BCM_NS3_BANK_1_MEM_LEN, + .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) | + PTE_BLOCK_INNER_SHARE + }, { + /* List terminator */ + 0, + } +}; + +struct mm_region *mem_map = ns3_mem_map; + +DECLARE_GLOBAL_DATA_PTR; + +/* + * Force the bl33_info to the data-section, as .bss will not be valid + * when save_boot_params is invoked. + */ +struct bl33_info *bl33_info __section(".data"); + +/* + * Run modulo 256 checksum calculation and return the calculated checksum + */ +static u8 checksum_calc(u8 *p, unsigned int len) +{ + unsigned int i; + u8 chksum = 0; + + for (i = 0; i < len; i++) + chksum += p[i]; + + return chksum; +} + +/* + * This function parses the memory layout information from a reserved area in + * DDR, and then fix up the FDT before passing it to Linux. + * + * In the case of error, do nothing and the default memory layout in DT will + * be used + */ +static int mem_info_parse_fixup(void *fdt) +{ + struct ns3_dram_hdr hdr; + u32 *p32, i, nr_banks; + u64 *p64; + + /* validate signature */ + p32 = (u32 *)BCM_NS3_DDR_INFO_BASE; + hdr.sig = *p32; + if (hdr.sig != BCM_NS3_DDR_INFO_SIG) { + printf("DDR info signature 0x%x invalid\n", hdr.sig); + return -EINVAL; + } + + /* run checksum test to validate data */ + if (checksum_calc((u8 *)p32, BCM_NS3_DDR_INFO_LEN) != 0) { + printf("Checksum on DDR info failed\n"); + return -EINVAL; + } + + /* parse information for each bank */ + nr_banks = 0; + for (i = 0; i < BCM_NS3_MAX_NR_BANKS; i++) { + /* skip banks with a length of zero */ + p64 = (u64 *)BANK_OFFSET(i); + if (*(p64 + 1) == 0) + continue; + + hdr.bank.start[i] = *p64; + hdr.bank.len[i] = *(p64 + 1); + + printf("mem[%u] 0x%llx - 0x%llx\n", i, hdr.bank.start[i], + hdr.bank.start[i] + hdr.bank.len[i] - 1); + nr_banks++; + } + + if (!nr_banks) { + printf("No DDR banks detected\n"); + return -ENOMEM; + } + + return fdt_fixup_memory_banks(fdt, hdr.bank.start, hdr.bank.len, + nr_banks); +} + +int board_init(void) +{ + /* Setup memory using "memory" node from DTB */ + if (fdtdec_setup_mem_size_base() != 0) + return -EINVAL; + fdtdec_setup_memory_banksize(); + + if (bl33_info->version != BL33_INFO_VERSION) + printf("*** warning: ATF BL31 and U-Boot not in sync! ***\n"); +#if IS_ENABLED(CONFIG_BNXT_ETH) + if (chimp_fastboot_optee() != 0) + printf("*** warning: secure chimp fastboot failed! ***\n"); +#endif + return 0; +} + +int board_late_init(void) +{ + return 0; +} + +int dram_init(void) +{ + /* + * Mark ram base as the last 16MB of 2GB DDR, which is 0xFF00_0000. + * So that relocation happens with in the last 16MB memory. + */ + gd->ram_base = (phys_size_t)(BCM_NS3_MEM_END - SZ_16M); + gd->ram_size = (unsigned long)SZ_16M; + + return 0; +} + +int dram_init_banksize(void) +{ + gd->bd->bi_dram[0].start = (BCM_NS3_MEM_END - SZ_16M); + gd->bd->bi_dram[0].size = SZ_16M; + + return 0; +} + +/* Limit RAM used by U-Boot to the DDR first bank End region */ +phys_addr_t board_get_usable_ram_top(phys_size_t total_size) +{ + return BCM_NS3_MEM_END; +} + +void reset_cpu(void) +{ + /* Perform a level 3 reset */ + psci_system_reset2(3, 0); +} + +#ifdef CONFIG_OF_BOARD_SETUP +int ft_board_setup(void *fdt, struct bd_info *bd) +{ + u32 chimp_hs = CHIMP_HANDSHAKE_WAIT_TIMEOUT; + + /* FIXME: Need to call gic_lpi_tables_init correctly now */ + printf("%s: failed to init gic-lpi-tables\n", __func__); + + /* + * Check for chimp handshake status. + * Zero timeout value will actually fall to default timeout. + * + * System boot is independent of chimp handshake. + * chimp handshake failure is not a catastrophic error. + * Hence continue booting if chimp handshake fails. + */ + chimp_handshake_status_optee(0, &chimp_hs); + if (chimp_hs == CHIMP_HANDSHAKE_SUCCESS) + printf("ChiMP handshake successful\n"); + else + printf("ERROR: ChiMP handshake status 0x%x\n", chimp_hs); + + return mem_info_parse_fixup(fdt); +} +#endif /* CONFIG_OF_BOARD_SETUP */ diff --git a/board/broadcom/bcmnsp/Kconfig b/board/broadcom/bcmnsp/Kconfig deleted file mode 100644 index a975082355a..00000000000 --- a/board/broadcom/bcmnsp/Kconfig +++ /dev/null @@ -1,15 +0,0 @@ -if TARGET_BCMNSP - -config SYS_BOARD - default "bcm_ep" - -config SYS_VENDOR - default "broadcom" - -config SYS_SOC - default "bcmnsp" - -config SYS_CONFIG_NAME - default "bcm_ep_board" - -endif diff --git a/board/broadcom/bcmstb/bcmstb.c b/board/broadcom/bcmstb/bcmstb.c index ee0cf8f9e29..e7313d8c431 100644 --- a/board/broadcom/bcmstb/bcmstb.c +++ b/board/broadcom/bcmstb/bcmstb.c @@ -8,9 +8,10 @@ #include <cpu_func.h> #include <init.h> +#include <log.h> #include <time.h> +#include <asm/global_data.h> #include <linux/types.h> -#include <common.h> #include <env.h> #include <asm/io.h> #include <asm/bootm.h> @@ -20,7 +21,7 @@ DECLARE_GLOBAL_DATA_PTR; -#define BCMSTB_DATA_SECTION __attribute__((section(".data"))) +#define BCMSTB_DATA_SECTION __section(".data") struct bcmstb_boot_parameters bcmstb_boot_parameters BCMSTB_DATA_SECTION; @@ -31,17 +32,7 @@ union reg_value_union { const phys_addr_t *address; }; -int board_init(void) -{ - return 0; -} - -u32 get_board_rev(void) -{ - return 0; -} - -void reset_cpu(ulong ignored) +void reset_cpu(void) { } @@ -64,13 +55,13 @@ int dram_init_banksize(void) /* * On this SoC, U-Boot is running as an ELF file. Change the - * relocation address to CONFIG_SYS_TEXT_BASE, so that in + * relocation address to CONFIG_TEXT_BASE, so that in * setup_reloc, gd->reloc_off works out to 0, effectively * disabling relocation. Otherwise U-Boot hangs in the setup * instructions just before relocate_code in * arch/arm/lib/crt0.S. */ - gd->relocaddr = CONFIG_SYS_TEXT_BASE; + gd->relocaddr = CONFIG_TEXT_BASE; return 0; } @@ -133,3 +124,11 @@ int board_late_init(void) return 0; } + +int board_fdt_blob_setup(void **fdtp) +{ + /* Stored the DTB address there during our init */ + *fdtp = (void *)prior_stage_fdt_address; + + return 0; +} |
