* [PATCH v2 0/3] arm: bcmbca: move bcm68360 support under CONFIG_ARCH_BCMBCA @ 2022-08-15 18:55 William Zhang 2022-08-15 18:55 ` [PATCH v2 1/3] arm: bcmbca: add bcm6856 SoC " William Zhang ` (2 more replies) 0 siblings, 3 replies; 7+ messages in thread From: William Zhang @ 2022-08-15 18:55 UTC (permalink / raw) To: U-Boot Mailing List Cc: anand.gore, rafal, f.fainelli, kursad.oney, dan.beygelman, joel.peshkin, philippe.reynes, William Zhang, Andre Przywara, Christian Hewitt, Fabio Estevam, Rayagonda Kokatanur, Rick Chen, Samuel Holland, Sean Anderson, Simon Glass, Tom Rini, Tomer Yacoby, Ying-Chun Liu (PaulLiu) [-- Attachment #1: Type: text/plain, Size: 2993 bytes --] BCM68360 is a variant for the main PON chip BCM6856 which is part of the Broadcom BCA (Broadband Carrier Access origin) chipset family. BCM68360 was originally added by Philippe before Broadcom started to upstream the support for BCMBCA SoCs. The ARM based Broadband SoC family is now supported under the unified ARCH_BCMBCA config. This patch series migrate the BCM68360 support under the config of ARCH_BCMBCA and BCM6856. This patch series need to apply on top of my previous patch series [1]. [1] https://lists.denx.de/pipermail/u-boot/2022-August/491581.html Changes in v2: - Bring Philippe Reynes copyright tag from 68360 dts to 6856 dts William Zhang (3): arm: bcmbca: add bcm6856 SoC support under CONFIG_ARCH_BCMBCA arm: bcmbca: remove bcm68360 support under CONFIG_ARCH_BCM68360 arm: bcmbca: make bcm68360 driver depending on CONFIG_BCM6856 MAINTAINERS | 1 + arch/arm/Kconfig | 7 - arch/arm/dts/Makefile | 6 +- arch/arm/dts/bcm68360.dtsi | 217 ------------------- arch/arm/dts/bcm6856.dtsi | 253 +++++++++++++++++++++++ arch/arm/dts/bcm968360bg.dts | 6 +- arch/arm/dts/bcm96856.dts | 30 +++ arch/arm/mach-bcmbca/Kconfig | 8 + arch/arm/mach-bcmbca/Makefile | 1 + arch/arm/mach-bcmbca/bcm6856/Kconfig | 17 ++ arch/arm/mach-bcmbca/bcm6856/Makefile | 5 + arch/arm/mach-bcmbca/bcm6856/mmu_table.c | 32 +++ board/broadcom/bcm968360bg/Kconfig | 17 -- board/broadcom/bcm968360bg/MAINTAINERS | 6 - board/broadcom/bcm968360bg/Makefile | 3 - board/broadcom/bcm968360bg/bcm968360bg.c | 62 ------ board/broadcom/bcmbca/Kconfig | 7 + configs/bcm968360bg_ram_defconfig | 10 +- configs/bcm96856_defconfig | 23 +++ drivers/gpio/Kconfig | 2 +- drivers/led/Kconfig | 2 +- drivers/mtd/nand/raw/Kconfig | 2 +- drivers/spi/Kconfig | 2 +- drivers/watchdog/Kconfig | 2 +- include/configs/bcm96856.h | 15 ++ include/configs/broadcom_bcm968360bg.h | 32 --- 26 files changed, 408 insertions(+), 360 deletions(-) delete mode 100644 arch/arm/dts/bcm68360.dtsi create mode 100644 arch/arm/dts/bcm6856.dtsi create mode 100644 arch/arm/dts/bcm96856.dts create mode 100644 arch/arm/mach-bcmbca/bcm6856/Kconfig create mode 100644 arch/arm/mach-bcmbca/bcm6856/Makefile create mode 100644 arch/arm/mach-bcmbca/bcm6856/mmu_table.c delete mode 100644 board/broadcom/bcm968360bg/Kconfig delete mode 100644 board/broadcom/bcm968360bg/MAINTAINERS delete mode 100644 board/broadcom/bcm968360bg/Makefile delete mode 100644 board/broadcom/bcm968360bg/bcm968360bg.c create mode 100644 configs/bcm96856_defconfig create mode 100644 include/configs/bcm96856.h delete mode 100644 include/configs/broadcom_bcm968360bg.h -- 2.37.1 [-- Attachment #2: S/MIME Cryptographic Signature --] [-- Type: application/pkcs7-signature, Size: 4212 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2 1/3] arm: bcmbca: add bcm6856 SoC support under CONFIG_ARCH_BCMBCA 2022-08-15 18:55 [PATCH v2 0/3] arm: bcmbca: move bcm68360 support under CONFIG_ARCH_BCMBCA William Zhang @ 2022-08-15 18:55 ` William Zhang 2022-08-24 12:23 ` Philippe REYNES 2022-08-15 18:55 ` [PATCH v2 2/3] arm: bcmbca: remove bcm68360 support under CONFIG_ARCH_BCM68360 William Zhang 2022-08-15 18:55 ` [PATCH v2 3/3] arm: bcmbca: make bcm68360 driver depending on CONFIG_BCM6856 William Zhang 2 siblings, 1 reply; 7+ messages in thread From: William Zhang @ 2022-08-15 18:55 UTC (permalink / raw) To: U-Boot Mailing List Cc: anand.gore, rafal, f.fainelli, kursad.oney, dan.beygelman, joel.peshkin, philippe.reynes, William Zhang, Andre Przywara, Christian Hewitt, Fabio Estevam, Samuel Holland, Simon Glass, Tom Rini, Tomer Yacoby, Ying-Chun Liu (PaulLiu) [-- Attachment #1: Type: text/plain, Size: 10068 bytes --] BCM6856 is a Broadcom B53 based PON Gateway SoC. It is part of the BCA (Broadband Carrier Access origin) chipset family. Like other Broadband SoC, this patch adds it under CONFIG_BCM6856 chip config and CONFIG_ARCH_BCMBCA platform config. This initial support includes a bare-bone implementation and dts with CPU subsystem, memory and Broadcom uart. This SoC is supported in the linux-next git repository so the dts and dtsi files are copied from linux. The u-boot image can be loaded from flash or network to the entry point address in the memory and boot from there to the console. Signed-off-by: William Zhang <william.zhang@broadcom.com> --- (no changes since v1) MAINTAINERS | 1 + arch/arm/dts/Makefile | 2 + arch/arm/dts/bcm6856.dtsi | 103 +++++++++++++++++++++++ arch/arm/dts/bcm96856.dts | 30 +++++++ arch/arm/mach-bcmbca/Kconfig | 8 ++ arch/arm/mach-bcmbca/Makefile | 1 + arch/arm/mach-bcmbca/bcm6856/Kconfig | 17 ++++ arch/arm/mach-bcmbca/bcm6856/Makefile | 5 ++ arch/arm/mach-bcmbca/bcm6856/mmu_table.c | 32 +++++++ board/broadcom/bcmbca/Kconfig | 7 ++ configs/bcm96856_defconfig | 23 +++++ include/configs/bcm96856.h | 11 +++ 12 files changed, 240 insertions(+) create mode 100644 arch/arm/dts/bcm6856.dtsi create mode 100644 arch/arm/dts/bcm96856.dts create mode 100644 arch/arm/mach-bcmbca/bcm6856/Kconfig create mode 100644 arch/arm/mach-bcmbca/bcm6856/Makefile create mode 100644 arch/arm/mach-bcmbca/bcm6856/mmu_table.c create mode 100644 configs/bcm96856_defconfig create mode 100644 include/configs/bcm96856.h diff --git a/MAINTAINERS b/MAINTAINERS index d0a5b2352cc8..1f50dad583ce 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -230,6 +230,7 @@ N: bcm[9]?63178 N: bcm[9]?6756 N: bcm[9]?6813 N: bcm[9]?6846 +N: bcm[9]?6856 N: bcm[9]?6878 ARM BROADCOM BCMSTB diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index c55bc3569662..a32bdf8c9f17 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -1182,6 +1182,8 @@ dtb-$(CONFIG_BCM6813) += \ bcm96813.dtb dtb-$(CONFIG_BCM6846) += \ bcm96846.dtb +dtb-$(CONFIG_BCM6856) += \ + bcm96856.dtb dtb-$(CONFIG_BCM6878) += \ bcm96878.dtb diff --git a/arch/arm/dts/bcm6856.dtsi b/arch/arm/dts/bcm6856.dtsi new file mode 100644 index 000000000000..0bce6497219f --- /dev/null +++ b/arch/arm/dts/bcm6856.dtsi @@ -0,0 +1,103 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright 2022 Broadcom Ltd. + */ + +#include <dt-bindings/interrupt-controller/irq.h> +#include <dt-bindings/interrupt-controller/arm-gic.h> + +/ { + compatible = "brcm,bcm6856", "brcm,bcmbca"; + #address-cells = <2>; + #size-cells = <2>; + + interrupt-parent = <&gic>; + + cpus { + #address-cells = <2>; + #size-cells = <0>; + + B53_0: cpu@0 { + compatible = "brcm,brahma-b53"; + device_type = "cpu"; + reg = <0x0 0x0>; + next-level-cache = <&L2_0>; + enable-method = "psci"; + }; + + B53_1: cpu@1 { + compatible = "brcm,brahma-b53"; + device_type = "cpu"; + reg = <0x0 0x1>; + next-level-cache = <&L2_0>; + enable-method = "psci"; + }; + + L2_0: l2-cache0 { + compatible = "cache"; + }; + }; + + timer { + compatible = "arm,armv8-timer"; + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, + <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, + <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, + <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>; + }; + + pmu: pmu { + compatible = "arm,cortex-a53-pmu"; + interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; + interrupt-affinity = <&B53_0>, <&B53_1>; + }; + + clocks: clocks { + periph_clk:periph-clk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <200000000>; + }; + }; + + psci { + compatible = "arm,psci-0.2"; + method = "smc"; + }; + + axi@81000000 { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0x0 0x0 0x81000000 0x8000>; + + gic: interrupt-controller@1000 { + compatible = "arm,gic-400"; + #interrupt-cells = <3>; + interrupt-controller; + reg = <0x1000 0x1000>, /* GICD */ + <0x2000 0x2000>, /* GICC */ + <0x4000 0x2000>, /* GICH */ + <0x6000 0x2000>; /* GICV */ + interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | + IRQ_TYPE_LEVEL_HIGH)>; + }; + }; + + bus@ff800000 { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0x0 0x0 0xff800000 0x800000>; + + uart0: serial@640 { + compatible = "brcm,bcm6345-uart"; + reg = <0x640 0x18>; + interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&periph_clk>; + clock-names = "refclk"; + status = "disabled"; + }; + }; +}; diff --git a/arch/arm/dts/bcm96856.dts b/arch/arm/dts/bcm96856.dts new file mode 100644 index 000000000000..032aeb75c983 --- /dev/null +++ b/arch/arm/dts/bcm96856.dts @@ -0,0 +1,30 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright 2022 Broadcom Ltd. + */ + +/dts-v1/; + +#include "bcm6856.dtsi" + +/ { + model = "Broadcom BCM96856 Reference Board"; + compatible = "brcm,bcm96856", "brcm,bcm6856", "brcm,bcmbca"; + + aliases { + serial0 = &uart0; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x0 0x0 0x08000000>; + }; +}; + +&uart0 { + status = "okay"; +}; diff --git a/arch/arm/mach-bcmbca/Kconfig b/arch/arm/mach-bcmbca/Kconfig index d78618820b58..5dd566a98d32 100644 --- a/arch/arm/mach-bcmbca/Kconfig +++ b/arch/arm/mach-bcmbca/Kconfig @@ -83,6 +83,13 @@ config BCM6846 select DM_SERIAL select BCM6345_SERIAL +config BCM6856 + bool "Support for Broadcom 6856 Family" + select ARM64 + select SYS_ARCH_TIMER + select DM_SERIAL + select BCM6345_SERIAL + config BCM6878 bool "Support for Broadcom 6878 Family" select SYS_ARCH_TIMER @@ -101,6 +108,7 @@ source "arch/arm/mach-bcmbca/bcm63178/Kconfig" source "arch/arm/mach-bcmbca/bcm6756/Kconfig" source "arch/arm/mach-bcmbca/bcm6813/Kconfig" source "arch/arm/mach-bcmbca/bcm6846/Kconfig" +source "arch/arm/mach-bcmbca/bcm6856/Kconfig" source "arch/arm/mach-bcmbca/bcm6878/Kconfig" endif diff --git a/arch/arm/mach-bcmbca/Makefile b/arch/arm/mach-bcmbca/Makefile index e5df60e7648b..20f827512005 100644 --- a/arch/arm/mach-bcmbca/Makefile +++ b/arch/arm/mach-bcmbca/Makefile @@ -14,4 +14,5 @@ obj-$(CONFIG_BCM63178) += bcm63178/ obj-$(CONFIG_BCM6756) += bcm6756/ obj-$(CONFIG_BCM6813) += bcm6813/ obj-$(CONFIG_BCM6846) += bcm6846/ +obj-$(CONFIG_BCM6856) += bcm6856/ obj-$(CONFIG_BCM6878) += bcm6878/ diff --git a/arch/arm/mach-bcmbca/bcm6856/Kconfig b/arch/arm/mach-bcmbca/bcm6856/Kconfig new file mode 100644 index 000000000000..6ac75cb84095 --- /dev/null +++ b/arch/arm/mach-bcmbca/bcm6856/Kconfig @@ -0,0 +1,17 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# (C) Copyright 2022 Broadcom Ltd +# + +if BCM6856 + +config TARGET_BCM96856 + bool "Broadcom 6856 Reference Board" + depends on ARCH_BCMBCA + +config SYS_SOC + default "bcm6856" + +source "board/broadcom/bcmbca/Kconfig" + +endif diff --git a/arch/arm/mach-bcmbca/bcm6856/Makefile b/arch/arm/mach-bcmbca/bcm6856/Makefile new file mode 100644 index 000000000000..62624977034b --- /dev/null +++ b/arch/arm/mach-bcmbca/bcm6856/Makefile @@ -0,0 +1,5 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# (C) Copyright 2022 Broadcom Ltd +# +obj-y += mmu_table.o diff --git a/arch/arm/mach-bcmbca/bcm6856/mmu_table.c b/arch/arm/mach-bcmbca/bcm6856/mmu_table.c new file mode 100644 index 000000000000..8e53b4929eb8 --- /dev/null +++ b/arch/arm/mach-bcmbca/bcm6856/mmu_table.c @@ -0,0 +1,32 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright 2022 Broadcom Ltd. + */ +#include <common.h> +#include <asm/armv8/mmu.h> +#include <linux/sizes.h> + +static struct mm_region bcm96856_mem_map[] = { + { + .virt = 0x00000000UL, + .phys = 0x00000000UL, + .size = 1UL * SZ_1G, + .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) | + PTE_BLOCK_INNER_SHARE + }, + { + /* SoC peripheral */ + .virt = 0xff800000UL, + .phys = 0xff800000UL, + .size = 0x100000, + .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 = bcm96856_mem_map; diff --git a/board/broadcom/bcmbca/Kconfig b/board/broadcom/bcmbca/Kconfig index 13815fd7975f..efe504919a0f 100644 --- a/board/broadcom/bcmbca/Kconfig +++ b/board/broadcom/bcmbca/Kconfig @@ -86,6 +86,13 @@ config SYS_CONFIG_NAME endif +if TARGET_BCM96856 + +config SYS_CONFIG_NAME + default "bcm96856" + +endif + if TARGET_BCM96878 config SYS_CONFIG_NAME diff --git a/configs/bcm96856_defconfig b/configs/bcm96856_defconfig new file mode 100644 index 000000000000..7e1c09769f70 --- /dev/null +++ b/configs/bcm96856_defconfig @@ -0,0 +1,23 @@ +CONFIG_ARM=y +CONFIG_COUNTER_FREQUENCY=50000000 +CONFIG_ARCH_BCMBCA=y +CONFIG_SYS_TEXT_BASE=0x01000000 +CONFIG_SYS_MALLOC_LEN=0x2000000 +CONFIG_SYS_MALLOC_F_LEN=0x8000 +CONFIG_BCM6856=y +CONFIG_TARGET_BCM96856=y +CONFIG_NR_DRAM_BANKS=2 +CONFIG_DEFAULT_DEVICE_TREE="bcm96856" +CONFIG_IDENT_STRING=" Broadcom BCM6856" +CONFIG_SYS_LOAD_ADDR=0x01000000 +CONFIG_ENV_VARS_UBOOT_CONFIG=y +CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y +CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x2000000 +CONFIG_OF_STDOUT_VIA_ALIAS=y +CONFIG_DISPLAY_BOARDINFO_LATE=y +CONFIG_HUSH_PARSER=y +CONFIG_SYS_MAXARGS=64 +CONFIG_SYS_BOOTM_LEN=0x4000000 +CONFIG_CMD_CACHE=y +CONFIG_OF_EMBED=y +CONFIG_CLK=y diff --git a/include/configs/bcm96856.h b/include/configs/bcm96856.h new file mode 100644 index 000000000000..a7ae71eeaafe --- /dev/null +++ b/include/configs/bcm96856.h @@ -0,0 +1,11 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * (C) Copyright 2022 Broadcom Ltd. + */ + +#ifndef __BCM96856_H +#define __BCM96856_H + +#define CONFIG_SYS_SDRAM_BASE 0x00000000 + +#endif -- 2.37.1 [-- Attachment #2: S/MIME Cryptographic Signature --] [-- Type: application/pkcs7-signature, Size: 4212 bytes --] ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2 1/3] arm: bcmbca: add bcm6856 SoC support under CONFIG_ARCH_BCMBCA 2022-08-15 18:55 ` [PATCH v2 1/3] arm: bcmbca: add bcm6856 SoC " William Zhang @ 2022-08-24 12:23 ` Philippe REYNES 0 siblings, 0 replies; 7+ messages in thread From: Philippe REYNES @ 2022-08-24 12:23 UTC (permalink / raw) To: William Zhang, U-Boot Mailing List Cc: anand.gore, rafal, f.fainelli, kursad.oney, dan.beygelman, joel.peshkin, Andre Przywara, Christian Hewitt, Fabio Estevam, Samuel Holland, Simon Glass, Tom Rini, Tomer Yacoby, Ying-Chun Liu (PaulLiu) Hi William, Le 15/08/2022 à 20:55, William Zhang a écrit : > BCM6856 is a Broadcom B53 based PON Gateway SoC. It is part of the BCA > (Broadband Carrier Access origin) chipset family. Like other Broadband > SoC, this patch adds it under CONFIG_BCM6856 chip config and > CONFIG_ARCH_BCMBCA platform config. > > This initial support includes a bare-bone implementation and dts with > CPU subsystem, memory and Broadcom uart. This SoC is supported in the > linux-next git repository so the dts and dtsi files are copied from > linux. > > The u-boot image can be loaded from flash or network to the entry point > address in the memory and boot from there to the console. > > Signed-off-by: William Zhang <william.zhang@broadcom.com> Reviewed-by: Philippe Reynes <philippe.reynes@softathome.com> > --- > > (no changes since v1) > > MAINTAINERS | 1 + > arch/arm/dts/Makefile | 2 + > arch/arm/dts/bcm6856.dtsi | 103 +++++++++++++++++++++++ > arch/arm/dts/bcm96856.dts | 30 +++++++ > arch/arm/mach-bcmbca/Kconfig | 8 ++ > arch/arm/mach-bcmbca/Makefile | 1 + > arch/arm/mach-bcmbca/bcm6856/Kconfig | 17 ++++ > arch/arm/mach-bcmbca/bcm6856/Makefile | 5 ++ > arch/arm/mach-bcmbca/bcm6856/mmu_table.c | 32 +++++++ > board/broadcom/bcmbca/Kconfig | 7 ++ > configs/bcm96856_defconfig | 23 +++++ > include/configs/bcm96856.h | 11 +++ > 12 files changed, 240 insertions(+) > create mode 100644 arch/arm/dts/bcm6856.dtsi > create mode 100644 arch/arm/dts/bcm96856.dts > create mode 100644 arch/arm/mach-bcmbca/bcm6856/Kconfig > create mode 100644 arch/arm/mach-bcmbca/bcm6856/Makefile > create mode 100644 arch/arm/mach-bcmbca/bcm6856/mmu_table.c > create mode 100644 configs/bcm96856_defconfig > create mode 100644 include/configs/bcm96856.h > > diff --git a/MAINTAINERS b/MAINTAINERS > index d0a5b2352cc8..1f50dad583ce 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -230,6 +230,7 @@ N: bcm[9]?63178 > N: bcm[9]?6756 > N: bcm[9]?6813 > N: bcm[9]?6846 > +N: bcm[9]?6856 > N: bcm[9]?6878 > > ARM BROADCOM BCMSTB > diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile > index c55bc3569662..a32bdf8c9f17 100644 > --- a/arch/arm/dts/Makefile > +++ b/arch/arm/dts/Makefile > @@ -1182,6 +1182,8 @@ dtb-$(CONFIG_BCM6813) += \ > bcm96813.dtb > dtb-$(CONFIG_BCM6846) += \ > bcm96846.dtb > +dtb-$(CONFIG_BCM6856) += \ > + bcm96856.dtb > dtb-$(CONFIG_BCM6878) += \ > bcm96878.dtb > > diff --git a/arch/arm/dts/bcm6856.dtsi b/arch/arm/dts/bcm6856.dtsi > new file mode 100644 > index 000000000000..0bce6497219f > --- /dev/null > +++ b/arch/arm/dts/bcm6856.dtsi > @@ -0,0 +1,103 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Copyright 2022 Broadcom Ltd. > + */ > + > +#include <dt-bindings/interrupt-controller/irq.h> > +#include <dt-bindings/interrupt-controller/arm-gic.h> > + > +/ { > + compatible = "brcm,bcm6856", "brcm,bcmbca"; > + #address-cells = <2>; > + #size-cells = <2>; > + > + interrupt-parent = <&gic>; > + > + cpus { > + #address-cells = <2>; > + #size-cells = <0>; > + > + B53_0: cpu@0 { > + compatible = "brcm,brahma-b53"; > + device_type = "cpu"; > + reg = <0x0 0x0>; > + next-level-cache = <&L2_0>; > + enable-method = "psci"; > + }; > + > + B53_1: cpu@1 { > + compatible = "brcm,brahma-b53"; > + device_type = "cpu"; > + reg = <0x0 0x1>; > + next-level-cache = <&L2_0>; > + enable-method = "psci"; > + }; > + > + L2_0: l2-cache0 { > + compatible = "cache"; > + }; > + }; > + > + timer { > + compatible = "arm,armv8-timer"; > + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, > + <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, > + <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, > + <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>; > + }; > + > + pmu: pmu { > + compatible = "arm,cortex-a53-pmu"; > + interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; > + interrupt-affinity = <&B53_0>, <&B53_1>; > + }; > + > + clocks: clocks { > + periph_clk:periph-clk { > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <200000000>; > + }; > + }; > + > + psci { > + compatible = "arm,psci-0.2"; > + method = "smc"; > + }; > + > + axi@81000000 { > + compatible = "simple-bus"; > + #address-cells = <1>; > + #size-cells = <1>; > + ranges = <0x0 0x0 0x81000000 0x8000>; > + > + gic: interrupt-controller@1000 { > + compatible = "arm,gic-400"; > + #interrupt-cells = <3>; > + interrupt-controller; > + reg = <0x1000 0x1000>, /* GICD */ > + <0x2000 0x2000>, /* GICC */ > + <0x4000 0x2000>, /* GICH */ > + <0x6000 0x2000>; /* GICV */ > + interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | > + IRQ_TYPE_LEVEL_HIGH)>; > + }; > + }; > + > + bus@ff800000 { > + compatible = "simple-bus"; > + #address-cells = <1>; > + #size-cells = <1>; > + ranges = <0x0 0x0 0xff800000 0x800000>; > + > + uart0: serial@640 { > + compatible = "brcm,bcm6345-uart"; > + reg = <0x640 0x18>; > + interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&periph_clk>; > + clock-names = "refclk"; > + status = "disabled"; > + }; > + }; > +}; > diff --git a/arch/arm/dts/bcm96856.dts b/arch/arm/dts/bcm96856.dts > new file mode 100644 > index 000000000000..032aeb75c983 > --- /dev/null > +++ b/arch/arm/dts/bcm96856.dts > @@ -0,0 +1,30 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Copyright 2022 Broadcom Ltd. > + */ > + > +/dts-v1/; > + > +#include "bcm6856.dtsi" > + > +/ { > + model = "Broadcom BCM96856 Reference Board"; > + compatible = "brcm,bcm96856", "brcm,bcm6856", "brcm,bcmbca"; > + > + aliases { > + serial0 = &uart0; > + }; > + > + chosen { > + stdout-path = "serial0:115200n8"; > + }; > + > + memory@0 { > + device_type = "memory"; > + reg = <0x0 0x0 0x0 0x08000000>; > + }; > +}; > + > +&uart0 { > + status = "okay"; > +}; > diff --git a/arch/arm/mach-bcmbca/Kconfig b/arch/arm/mach-bcmbca/Kconfig > index d78618820b58..5dd566a98d32 100644 > --- a/arch/arm/mach-bcmbca/Kconfig > +++ b/arch/arm/mach-bcmbca/Kconfig > @@ -83,6 +83,13 @@ config BCM6846 > select DM_SERIAL > select BCM6345_SERIAL > > +config BCM6856 > + bool "Support for Broadcom 6856 Family" > + select ARM64 > + select SYS_ARCH_TIMER > + select DM_SERIAL > + select BCM6345_SERIAL > + > config BCM6878 > bool "Support for Broadcom 6878 Family" > select SYS_ARCH_TIMER > @@ -101,6 +108,7 @@ source "arch/arm/mach-bcmbca/bcm63178/Kconfig" > source "arch/arm/mach-bcmbca/bcm6756/Kconfig" > source "arch/arm/mach-bcmbca/bcm6813/Kconfig" > source "arch/arm/mach-bcmbca/bcm6846/Kconfig" > +source "arch/arm/mach-bcmbca/bcm6856/Kconfig" > source "arch/arm/mach-bcmbca/bcm6878/Kconfig" > > endif > diff --git a/arch/arm/mach-bcmbca/Makefile b/arch/arm/mach-bcmbca/Makefile > index e5df60e7648b..20f827512005 100644 > --- a/arch/arm/mach-bcmbca/Makefile > +++ b/arch/arm/mach-bcmbca/Makefile > @@ -14,4 +14,5 @@ obj-$(CONFIG_BCM63178) += bcm63178/ > obj-$(CONFIG_BCM6756) += bcm6756/ > obj-$(CONFIG_BCM6813) += bcm6813/ > obj-$(CONFIG_BCM6846) += bcm6846/ > +obj-$(CONFIG_BCM6856) += bcm6856/ > obj-$(CONFIG_BCM6878) += bcm6878/ > diff --git a/arch/arm/mach-bcmbca/bcm6856/Kconfig b/arch/arm/mach-bcmbca/bcm6856/Kconfig > new file mode 100644 > index 000000000000..6ac75cb84095 > --- /dev/null > +++ b/arch/arm/mach-bcmbca/bcm6856/Kconfig > @@ -0,0 +1,17 @@ > +# SPDX-License-Identifier: GPL-2.0+ > +# > +# (C) Copyright 2022 Broadcom Ltd > +# > + > +if BCM6856 > + > +config TARGET_BCM96856 > + bool "Broadcom 6856 Reference Board" > + depends on ARCH_BCMBCA > + > +config SYS_SOC > + default "bcm6856" > + > +source "board/broadcom/bcmbca/Kconfig" > + > +endif > diff --git a/arch/arm/mach-bcmbca/bcm6856/Makefile b/arch/arm/mach-bcmbca/bcm6856/Makefile > new file mode 100644 > index 000000000000..62624977034b > --- /dev/null > +++ b/arch/arm/mach-bcmbca/bcm6856/Makefile > @@ -0,0 +1,5 @@ > +# SPDX-License-Identifier: GPL-2.0+ > +# > +# (C) Copyright 2022 Broadcom Ltd > +# > +obj-y += mmu_table.o > diff --git a/arch/arm/mach-bcmbca/bcm6856/mmu_table.c b/arch/arm/mach-bcmbca/bcm6856/mmu_table.c > new file mode 100644 > index 000000000000..8e53b4929eb8 > --- /dev/null > +++ b/arch/arm/mach-bcmbca/bcm6856/mmu_table.c > @@ -0,0 +1,32 @@ > +// SPDX-License-Identifier: GPL-2.0+ > +/* > + * Copyright 2022 Broadcom Ltd. > + */ > +#include <common.h> > +#include <asm/armv8/mmu.h> > +#include <linux/sizes.h> > + > +static struct mm_region bcm96856_mem_map[] = { > + { > + .virt = 0x00000000UL, > + .phys = 0x00000000UL, > + .size = 1UL * SZ_1G, > + .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) | > + PTE_BLOCK_INNER_SHARE > + }, > + { > + /* SoC peripheral */ > + .virt = 0xff800000UL, > + .phys = 0xff800000UL, > + .size = 0x100000, > + .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 = bcm96856_mem_map; > diff --git a/board/broadcom/bcmbca/Kconfig b/board/broadcom/bcmbca/Kconfig > index 13815fd7975f..efe504919a0f 100644 > --- a/board/broadcom/bcmbca/Kconfig > +++ b/board/broadcom/bcmbca/Kconfig > @@ -86,6 +86,13 @@ config SYS_CONFIG_NAME > > endif > > +if TARGET_BCM96856 > + > +config SYS_CONFIG_NAME > + default "bcm96856" > + > +endif > + > if TARGET_BCM96878 > > config SYS_CONFIG_NAME > diff --git a/configs/bcm96856_defconfig b/configs/bcm96856_defconfig > new file mode 100644 > index 000000000000..7e1c09769f70 > --- /dev/null > +++ b/configs/bcm96856_defconfig > @@ -0,0 +1,23 @@ > +CONFIG_ARM=y > +CONFIG_COUNTER_FREQUENCY=50000000 > +CONFIG_ARCH_BCMBCA=y > +CONFIG_SYS_TEXT_BASE=0x01000000 > +CONFIG_SYS_MALLOC_LEN=0x2000000 > +CONFIG_SYS_MALLOC_F_LEN=0x8000 > +CONFIG_BCM6856=y > +CONFIG_TARGET_BCM96856=y > +CONFIG_NR_DRAM_BANKS=2 > +CONFIG_DEFAULT_DEVICE_TREE="bcm96856" > +CONFIG_IDENT_STRING=" Broadcom BCM6856" > +CONFIG_SYS_LOAD_ADDR=0x01000000 > +CONFIG_ENV_VARS_UBOOT_CONFIG=y > +CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y > +CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x2000000 > +CONFIG_OF_STDOUT_VIA_ALIAS=y > +CONFIG_DISPLAY_BOARDINFO_LATE=y > +CONFIG_HUSH_PARSER=y > +CONFIG_SYS_MAXARGS=64 > +CONFIG_SYS_BOOTM_LEN=0x4000000 > +CONFIG_CMD_CACHE=y > +CONFIG_OF_EMBED=y > +CONFIG_CLK=y > diff --git a/include/configs/bcm96856.h b/include/configs/bcm96856.h > new file mode 100644 > index 000000000000..a7ae71eeaafe > --- /dev/null > +++ b/include/configs/bcm96856.h > @@ -0,0 +1,11 @@ > +/* SPDX-License-Identifier: GPL-2.0+ */ > +/* > + * (C) Copyright 2022 Broadcom Ltd. > + */ > + > +#ifndef __BCM96856_H > +#define __BCM96856_H > + > +#define CONFIG_SYS_SDRAM_BASE 0x00000000 > + > +#endif ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2 2/3] arm: bcmbca: remove bcm68360 support under CONFIG_ARCH_BCM68360 2022-08-15 18:55 [PATCH v2 0/3] arm: bcmbca: move bcm68360 support under CONFIG_ARCH_BCMBCA William Zhang 2022-08-15 18:55 ` [PATCH v2 1/3] arm: bcmbca: add bcm6856 SoC " William Zhang @ 2022-08-15 18:55 ` William Zhang 2022-08-24 12:24 ` Philippe REYNES 2022-08-15 18:55 ` [PATCH v2 3/3] arm: bcmbca: make bcm68360 driver depending on CONFIG_BCM6856 William Zhang 2 siblings, 1 reply; 7+ messages in thread From: William Zhang @ 2022-08-15 18:55 UTC (permalink / raw) To: U-Boot Mailing List Cc: anand.gore, rafal, f.fainelli, kursad.oney, dan.beygelman, joel.peshkin, philippe.reynes, William Zhang, Andre Przywara, Christian Hewitt, Fabio Estevam, Rayagonda Kokatanur, Rick Chen, Samuel Holland, Sean Anderson, Simon Glass, Tom Rini, Tomer Yacoby, Ying-Chun Liu (PaulLiu) [-- Attachment #1: Type: text/plain, Size: 16954 bytes --] BCM68360 is a variant within the BCM6856 chip family. Now that BCM6856 is supported under CONFIG_ARCH_BCMBCA and CONFIG_BCM6856, remove the original ARCH_BCM68360 support and migrate its configuration and dts settings. This includes: - Remove the bcm968360bg board folder. It is replaced by the generic bcmbca board folder. - Merge the 68360.dtsi setting to the new 6856.dtsi file. Update board dts with the new compatible string. - Merge broadcom_bcm968360bg.h setting to the new bcm96856.h file. Signed-off-by: William Zhang <william.zhang@broadcom.com> --- Changes in v2: - Bring Philippe Reynes copyright tag from 68360 dts to 6856 dts arch/arm/Kconfig | 7 - arch/arm/dts/Makefile | 6 +- arch/arm/dts/bcm68360.dtsi | 217 ----------------------- arch/arm/dts/bcm6856.dtsi | 150 ++++++++++++++++ arch/arm/dts/bcm968360bg.dts | 6 +- board/broadcom/bcm968360bg/Kconfig | 17 -- board/broadcom/bcm968360bg/MAINTAINERS | 6 - board/broadcom/bcm968360bg/Makefile | 3 - board/broadcom/bcm968360bg/bcm968360bg.c | 62 ------- configs/bcm968360bg_ram_defconfig | 10 +- include/configs/bcm96856.h | 4 + include/configs/broadcom_bcm968360bg.h | 32 ---- 12 files changed, 164 insertions(+), 356 deletions(-) delete mode 100644 arch/arm/dts/bcm68360.dtsi delete mode 100644 board/broadcom/bcm968360bg/Kconfig delete mode 100644 board/broadcom/bcm968360bg/MAINTAINERS delete mode 100644 board/broadcom/bcm968360bg/Makefile delete mode 100644 board/broadcom/bcm968360bg/bcm968360bg.c delete mode 100644 include/configs/broadcom_bcm968360bg.h diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index da4defa08466..3f124ab0ce85 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -672,12 +672,6 @@ config ARCH_BCM6753 select OF_CONTROL imply CMD_DM -config ARCH_BCM68360 - bool "Broadcom BCM68360 family" - select DM - select OF_CONTROL - imply CMD_DM - config ARCH_BCM6858 bool "Broadcom BCM6858 family" select DM @@ -2280,7 +2274,6 @@ source "board/armltd/vexpress/Kconfig" source "board/armltd/vexpress64/Kconfig" source "board/cortina/presidio-asic/Kconfig" source "board/broadcom/bcm96753ref/Kconfig" -source "board/broadcom/bcm968360bg/Kconfig" source "board/broadcom/bcm968580xref/Kconfig" source "board/broadcom/bcmns3/Kconfig" source "board/cavium/thunderx/Kconfig" diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index a32bdf8c9f17..a0ea9fa6029d 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -1147,9 +1147,6 @@ dtb-$(CONFIG_ARCH_BCM283X) += \ bcm2837-rpi-cm3-io3.dtb \ bcm2711-rpi-4-b.dtb -dtb-$(CONFIG_ARCH_BCM68360) += \ - bcm968360bg.dtb - dtb-$(CONFIG_ARCH_BCM6753) += \ bcm96753ref.dtb @@ -1183,7 +1180,8 @@ dtb-$(CONFIG_BCM6813) += \ dtb-$(CONFIG_BCM6846) += \ bcm96846.dtb dtb-$(CONFIG_BCM6856) += \ - bcm96856.dtb + bcm96856.dtb \ + bcm968360bg.dtb dtb-$(CONFIG_BCM6878) += \ bcm96878.dtb diff --git a/arch/arm/dts/bcm68360.dtsi b/arch/arm/dts/bcm68360.dtsi deleted file mode 100644 index 7bbe207794eb..000000000000 --- a/arch/arm/dts/bcm68360.dtsi +++ /dev/null @@ -1,217 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright (C) 2020 Philippe Reynes <philippe.reynes@softathome.com> - */ - -#include "skeleton64.dtsi" - -/ { - compatible = "brcm,bcm68360"; - #address-cells = <2>; - #size-cells = <2>; - - aliases { - spi0 = &hsspi; - }; - - cpus { - #address-cells = <2>; - #size-cells = <0>; - u-boot,dm-pre-reloc; - - cpu0: cpu@0 { - compatible = "arm,cortex-a53", "arm,armv8"; - device_type = "cpu"; - reg = <0x0 0x0>; - next-level-cache = <&l2>; - u-boot,dm-pre-reloc; - }; - - cpu1: cpu@1 { - compatible = "arm,cortex-a53", "arm,armv8"; - device_type = "cpu"; - reg = <0x0 0x1>; - next-level-cache = <&l2>; - u-boot,dm-pre-reloc; - }; - - l2: l2-cache0 { - compatible = "cache"; - u-boot,dm-pre-reloc; - }; - }; - - clocks { - compatible = "simple-bus"; - #address-cells = <2>; - #size-cells = <2>; - ranges; - u-boot,dm-pre-reloc; - - periph_osc: periph-osc { - compatible = "fixed-clock"; - #clock-cells = <0>; - clock-frequency = <200000000>; - u-boot,dm-pre-reloc; - }; - - hsspi_pll: hsspi-pll { - compatible = "fixed-factor-clock"; - #clock-cells = <0>; - clocks = <&periph_osc>; - clock-mult = <2>; - clock-div = <1>; - }; - - refclk50mhz: refclk50mhz { - compatible = "fixed-clock"; - #clock-cells = <0>; - clock-frequency = <50000000>; - }; - }; - - ubus { - compatible = "simple-bus"; - #address-cells = <2>; - #size-cells = <2>; - u-boot,dm-pre-reloc; - - wdt1: watchdog@ff800480 { - compatible = "brcm,bcm6345-wdt"; - reg = <0x0 0xff800480 0x0 0x14>; - clocks = <&refclk50mhz>; - }; - - wdt2: watchdog@ff8004c0 { - compatible = "brcm,bcm6345-wdt"; - reg = <0x0 0xff8004c0 0x0 0x14>; - clocks = <&refclk50mhz>; - }; - - wdt-reboot { - compatible = "wdt-reboot"; - wdt = <&wdt1>; - }; - - uart0: serial@ff800640 { - compatible = "brcm,bcm6345-uart"; - reg = <0x0 0xff800640 0x0 0x18>; - clocks = <&periph_osc>; - - status = "disabled"; - }; - - leds: led-controller@ff800800 { - compatible = "brcm,bcm6858-leds"; - reg = <0x0 0xff800800 0x0 0xe4>; - - status = "disabled"; - }; - - gpio0: gpio-controller@0xff800500 { - compatible = "brcm,bcm6345-gpio"; - reg = <0x0 0xff800500 0x0 0x4>, - <0x0 0xff800520 0x0 0x4>; - gpio-controller; - #gpio-cells = <2>; - - status = "disabled"; - }; - - gpio1: gpio-controller@0xff800504 { - compatible = "brcm,bcm6345-gpio"; - reg = <0x0 0xff800504 0x0 0x4>, - <0x0 0xff800524 0x0 0x4>; - gpio-controller; - #gpio-cells = <2>; - - status = "disabled"; - }; - - gpio2: gpio-controller@0xff800508 { - compatible = "brcm,bcm6345-gpio"; - reg = <0x0 0xff800508 0x0 0x4>, - <0x0 0xff800528 0x0 0x4>; - gpio-controller; - #gpio-cells = <2>; - - status = "disabled"; - }; - - gpio3: gpio-controller@0xff80050c { - compatible = "brcm,bcm6345-gpio"; - reg = <0x0 0xff80050c 0x0 0x4>, - <0x0 0xff80052c 0x0 0x4>; - gpio-controller; - #gpio-cells = <2>; - - status = "disabled"; - }; - - gpio4: gpio-controller@0xff800510 { - compatible = "brcm,bcm6345-gpio"; - reg = <0x0 0xff800510 0x0 0x4>, - <0x0 0xff800530 0x0 0x4>; - gpio-controller; - #gpio-cells = <2>; - - status = "disabled"; - }; - - gpio5: gpio-controller@0xff800514 { - compatible = "brcm,bcm6345-gpio"; - reg = <0x0 0xff800514 0x0 0x4>, - <0x0 0xff800534 0x0 0x4>; - gpio-controller; - #gpio-cells = <2>; - - status = "disabled"; - }; - - gpio6: gpio-controller@0xff800518 { - compatible = "brcm,bcm6345-gpio"; - reg = <0x0 0xff800518 0x0 0x4>, - <0x0 0xff800538 0x0 0x4>; - gpio-controller; - #gpio-cells = <2>; - - status = "disabled"; - }; - - gpio7: gpio-controller@0xff80051c { - compatible = "brcm,bcm6345-gpio"; - reg = <0x0 0xff80051c 0x0 0x4>, - <0x0 0xff80053c 0x0 0x4>; - gpio-controller; - #gpio-cells = <2>; - - status = "disabled"; - }; - - hsspi: spi-controller@ff801000 { - compatible = "brcm,bcm6328-hsspi"; - #address-cells = <1>; - #size-cells = <0>; - reg = <0x0 0xff801000 0x0 0x600>; - clocks = <&hsspi_pll>, <&hsspi_pll>; - clock-names = "hsspi", "pll"; - spi-max-frequency = <100000000>; - num-cs = <8>; - - status = "disabled"; - }; - - nand: nand-controller@ff801800 { - compatible = "brcm,nand-bcm68360", - "brcm,brcmnand-v5.0", - "brcm,brcmnand"; - reg-names = "nand", "nand-int-base", "nand-cache"; - reg = <0x0 0xff801800 0x0 0x180>, - <0x0 0xff802000 0x0 0x10>, - <0x0 0xff801c00 0x0 0x200>; - parameter-page-big-endian = <0>; - - status = "disabled"; - }; - }; -}; diff --git a/arch/arm/dts/bcm6856.dtsi b/arch/arm/dts/bcm6856.dtsi index 0bce6497219f..99185ab0bcaf 100644 --- a/arch/arm/dts/bcm6856.dtsi +++ b/arch/arm/dts/bcm6856.dtsi @@ -1,5 +1,6 @@ // SPDX-License-Identifier: (GPL-2.0+ OR MIT) /* + * Copyright (C) 2020 Philippe Reynes <philippe.reynes@softathome.com> * Copyright 2022 Broadcom Ltd. */ @@ -54,11 +55,29 @@ }; clocks: clocks { + u-boot,dm-pre-reloc; + periph_clk:periph-clk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <200000000>; }; + + hsspi_pll: hsspi-pll { + compatible = "fixed-factor-clock"; + #clock-cells = <0>; + clocks = <&periph_clk>; + clock-mult = <2>; + clock-div = <1>; + }; + + wdt_clk: wdt-clk { + compatible = "fixed-factor-clock"; + #clock-cells = <0>; + clocks = <&periph_clk>; + clock-div = <4>; + clock-mult = <1>; + }; }; psci { @@ -90,6 +109,7 @@ #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x0 0xff800000 0x800000>; + u-boot,dm-pre-reloc; uart0: serial@640 { compatible = "brcm,bcm6345-uart"; @@ -99,5 +119,135 @@ clock-names = "refclk"; status = "disabled"; }; + + wdt1: watchdog@480 { + compatible = "brcm,bcm6345-wdt"; + reg = <0x480 0x14>; + clocks = <&wdt_clk>; + }; + + wdt2: watchdog@4c0 { + compatible = "brcm,bcm6345-wdt"; + reg = <0x4c0 0x14>; + clocks = <&wdt_clk>; + }; + + wdt-reboot { + compatible = "wdt-reboot"; + wdt = <&wdt1>; + }; + + leds: led-controller@800 { + compatible = "brcm,bcm6858-leds"; + reg = <0x800 0xe4>; + + status = "disabled"; + }; + + gpio0: gpio-controller@500 { + compatible = "brcm,bcm6345-gpio"; + reg = <0x500 0x4>, + <0x520 0x4>; + gpio-controller; + #gpio-cells = <2>; + + status = "disabled"; + }; + + gpio1: gpio-controller@504 { + compatible = "brcm,bcm6345-gpio"; + reg = <0x504 0x4>, + <0x524 0x4>; + gpio-controller; + #gpio-cells = <2>; + + status = "disabled"; + }; + + gpio2: gpio-controller@508 { + compatible = "brcm,bcm6345-gpio"; + reg = <0x508 0x4>, + <0x528 0x4>; + gpio-controller; + #gpio-cells = <2>; + + status = "disabled"; + }; + + gpio3: gpio-controller@50c { + compatible = "brcm,bcm6345-gpio"; + reg = <0x50c 0x4>, + <0x52c 0x4>; + gpio-controller; + #gpio-cells = <2>; + + status = "disabled"; + }; + + gpio4: gpio-controller@510 { + compatible = "brcm,bcm6345-gpio"; + reg = <0x510 0x4>, + <0x530 0x4>; + gpio-controller; + #gpio-cells = <2>; + + status = "disabled"; + }; + + gpio5: gpio-controller@514 { + compatible = "brcm,bcm6345-gpio"; + reg = <0x514 0x4>, + <0x534 0x4>; + gpio-controller; + #gpio-cells = <2>; + + status = "disabled"; + }; + + gpio6: gpio-controller@518 { + compatible = "brcm,bcm6345-gpio"; + reg = <0x518 0x4>, + <0x538 0x4>; + gpio-controller; + #gpio-cells = <2>; + + status = "disabled"; + }; + + gpio7: gpio-controller@51c { + compatible = "brcm,bcm6345-gpio"; + reg = <0x51c 0x4>, + <0x53c 0x4>; + gpio-controller; + #gpio-cells = <2>; + + status = "disabled"; + }; + + hsspi: spi-controller@1000 { + compatible = "brcm,bcm6328-hsspi"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x1000 0x600>; + clocks = <&hsspi_pll>, <&hsspi_pll>; + clock-names = "hsspi", "pll"; + spi-max-frequency = <100000000>; + num-cs = <8>; + + status = "disabled"; + }; + + nand: nand-controller@1800 { + compatible = "brcm,nand-bcm68360", + "brcm,brcmnand-v5.0", + "brcm,brcmnand"; + reg-names = "nand", "nand-int-base", "nand-cache"; + reg = <0x1800 0x180>, + <0x2000 0x10>, + <0x1c00 0x200>; + parameter-page-big-endian = <0>; + + status = "disabled"; + }; }; }; diff --git a/arch/arm/dts/bcm968360bg.dts b/arch/arm/dts/bcm968360bg.dts index c060294cc925..6f1090aa8eee 100644 --- a/arch/arm/dts/bcm968360bg.dts +++ b/arch/arm/dts/bcm968360bg.dts @@ -5,11 +5,11 @@ /dts-v1/; -#include "bcm68360.dtsi" +#include "bcm6856.dtsi" / { - model = "Broadcom bcm68360bg"; - compatible = "broadcom,bcm68360bg", "brcm,bcm68360"; + model = "Broadcom BCM968360BG Reference Board"; + compatible = "brcm,bcm968360bg", "brcm,bcm6856", "brcm,bcmbca"; aliases { serial0 = &uart0; diff --git a/board/broadcom/bcm968360bg/Kconfig b/board/broadcom/bcm968360bg/Kconfig deleted file mode 100644 index dd372f126aef..000000000000 --- 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 cfcbbc51f8e6..000000000000 --- 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 d099c1cf3569..000000000000 --- 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 90af6b88bd47..000000000000 --- a/board/broadcom/bcm968360bg/bcm968360bg.c +++ /dev/null @@ -1,62 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright (C) 2020 Philippe Reynes <philippe.reynes@softathome.com> - */ - -#include <common.h> -#include <fdtdec.h> -#include <init.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/configs/bcm968360bg_ram_defconfig b/configs/bcm968360bg_ram_defconfig index 7f9093c6f6d3..c10e15e04fe8 100644 --- a/configs/bcm968360bg_ram_defconfig +++ b/configs/bcm968360bg_ram_defconfig @@ -1,15 +1,17 @@ CONFIG_ARM=y CONFIG_SKIP_LOWLEVEL_INIT=y -CONFIG_ARCH_BCM68360=y +CONFIG_COUNTER_FREQUENCY=50000000 +CONFIG_ARCH_BCMBCA=y CONFIG_SYS_TEXT_BASE=0x10000000 CONFIG_SYS_MALLOC_LEN=0x100000 CONFIG_SYS_MALLOC_F_LEN=0x8000 -CONFIG_NR_DRAM_BANKS=1 +CONFIG_BCM6856=y +CONFIG_TARGET_BCM96856=y +CONFIG_NR_DRAM_BANKS=2 CONFIG_ENV_SIZE=0x2000 CONFIG_DM_GPIO=y CONFIG_DEFAULT_DEVICE_TREE="bcm968360bg" CONFIG_SYS_LOAD_ADDR=0x10000000 -CONFIG_TARGET_BCM968360BG=y CONFIG_ENV_VARS_UBOOT_CONFIG=y CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x11000000 @@ -52,9 +54,7 @@ CONFIG_SPI_FLASH_SFDP_SUPPORT=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_SPECIFY_CONSOLE_INDEX=y CONFIG_CONS_INDEX=0 -CONFIG_DM_SERIAL=y CONFIG_SERIAL_SEARCH_ALL=y -CONFIG_BCM6345_SERIAL=y CONFIG_SPI=y CONFIG_DM_SPI=y CONFIG_BCM63XX_HSSPI=y diff --git a/include/configs/bcm96856.h b/include/configs/bcm96856.h index a7ae71eeaafe..3050cf337229 100644 --- a/include/configs/bcm96856.h +++ b/include/configs/bcm96856.h @@ -8,4 +8,8 @@ #define CONFIG_SYS_SDRAM_BASE 0x00000000 +#ifdef CONFIG_MTD_RAW_NAND +#define CONFIG_SYS_MAX_NAND_DEVICE 1 +#endif /* CONFIG_MTD_RAW_NAND */ + #endif diff --git a/include/configs/broadcom_bcm968360bg.h b/include/configs/broadcom_bcm968360bg.h deleted file mode 100644 index 8a8023571236..000000000000 --- a/include/configs/broadcom_bcm968360bg.h +++ /dev/null @@ -1,32 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ -/* - * Copyright (C) 2020 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 */ - -/* - * 6858 - */ - -/* RAM */ -#define CONFIG_SYS_SDRAM_BASE 0x00000000 - -/* U-Boot */ - -#ifdef CONFIG_MTD_RAW_NAND -#define CONFIG_SYS_MAX_NAND_DEVICE 1 -#endif /* CONFIG_MTD_RAW_NAND */ - -/* - * 968360bg - */ -- 2.37.1 [-- Attachment #2: S/MIME Cryptographic Signature --] [-- Type: application/pkcs7-signature, Size: 4212 bytes --] ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2 2/3] arm: bcmbca: remove bcm68360 support under CONFIG_ARCH_BCM68360 2022-08-15 18:55 ` [PATCH v2 2/3] arm: bcmbca: remove bcm68360 support under CONFIG_ARCH_BCM68360 William Zhang @ 2022-08-24 12:24 ` Philippe REYNES 0 siblings, 0 replies; 7+ messages in thread From: Philippe REYNES @ 2022-08-24 12:24 UTC (permalink / raw) To: William Zhang, U-Boot Mailing List Cc: anand.gore, rafal, f.fainelli, kursad.oney, dan.beygelman, joel.peshkin, Andre Przywara, Christian Hewitt, Fabio Estevam, Rayagonda Kokatanur, Rick Chen, Samuel Holland, Sean Anderson, Simon Glass, Tom Rini, Tomer Yacoby, Ying-Chun Liu (PaulLiu) Hi William, Le 15/08/2022 à 20:55, William Zhang a écrit : > BCM68360 is a variant within the BCM6856 chip family. Now that BCM6856 > is supported under CONFIG_ARCH_BCMBCA and CONFIG_BCM6856, remove the > original ARCH_BCM68360 support and migrate its configuration and dts > settings. This includes: > - Remove the bcm968360bg board folder. It is replaced by the generic > bcmbca board folder. > - Merge the 68360.dtsi setting to the new 6856.dtsi file. Update board > dts with the new compatible string. > - Merge broadcom_bcm968360bg.h setting to the new bcm96856.h file. > > Signed-off-by: William Zhang <william.zhang@broadcom.com> Reviewed-by: Philippe Reynes <philippe.reynes@softathome.com> > > --- > > Changes in v2: > - Bring Philippe Reynes copyright tag from 68360 dts to 6856 dts > > arch/arm/Kconfig | 7 - > arch/arm/dts/Makefile | 6 +- > arch/arm/dts/bcm68360.dtsi | 217 ----------------------- > arch/arm/dts/bcm6856.dtsi | 150 ++++++++++++++++ > arch/arm/dts/bcm968360bg.dts | 6 +- > board/broadcom/bcm968360bg/Kconfig | 17 -- > board/broadcom/bcm968360bg/MAINTAINERS | 6 - > board/broadcom/bcm968360bg/Makefile | 3 - > board/broadcom/bcm968360bg/bcm968360bg.c | 62 ------- > configs/bcm968360bg_ram_defconfig | 10 +- > include/configs/bcm96856.h | 4 + > include/configs/broadcom_bcm968360bg.h | 32 ---- > 12 files changed, 164 insertions(+), 356 deletions(-) > delete mode 100644 arch/arm/dts/bcm68360.dtsi > delete mode 100644 board/broadcom/bcm968360bg/Kconfig > delete mode 100644 board/broadcom/bcm968360bg/MAINTAINERS > delete mode 100644 board/broadcom/bcm968360bg/Makefile > delete mode 100644 board/broadcom/bcm968360bg/bcm968360bg.c > delete mode 100644 include/configs/broadcom_bcm968360bg.h > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index da4defa08466..3f124ab0ce85 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -672,12 +672,6 @@ config ARCH_BCM6753 > select OF_CONTROL > imply CMD_DM > > -config ARCH_BCM68360 > - bool "Broadcom BCM68360 family" > - select DM > - select OF_CONTROL > - imply CMD_DM > - > config ARCH_BCM6858 > bool "Broadcom BCM6858 family" > select DM > @@ -2280,7 +2274,6 @@ source "board/armltd/vexpress/Kconfig" > source "board/armltd/vexpress64/Kconfig" > source "board/cortina/presidio-asic/Kconfig" > source "board/broadcom/bcm96753ref/Kconfig" > -source "board/broadcom/bcm968360bg/Kconfig" > source "board/broadcom/bcm968580xref/Kconfig" > source "board/broadcom/bcmns3/Kconfig" > source "board/cavium/thunderx/Kconfig" > diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile > index a32bdf8c9f17..a0ea9fa6029d 100644 > --- a/arch/arm/dts/Makefile > +++ b/arch/arm/dts/Makefile > @@ -1147,9 +1147,6 @@ dtb-$(CONFIG_ARCH_BCM283X) += \ > bcm2837-rpi-cm3-io3.dtb \ > bcm2711-rpi-4-b.dtb > > -dtb-$(CONFIG_ARCH_BCM68360) += \ > - bcm968360bg.dtb > - > dtb-$(CONFIG_ARCH_BCM6753) += \ > bcm96753ref.dtb > > @@ -1183,7 +1180,8 @@ dtb-$(CONFIG_BCM6813) += \ > dtb-$(CONFIG_BCM6846) += \ > bcm96846.dtb > dtb-$(CONFIG_BCM6856) += \ > - bcm96856.dtb > + bcm96856.dtb \ > + bcm968360bg.dtb > dtb-$(CONFIG_BCM6878) += \ > bcm96878.dtb > > diff --git a/arch/arm/dts/bcm68360.dtsi b/arch/arm/dts/bcm68360.dtsi > deleted file mode 100644 > index 7bbe207794eb..000000000000 > --- a/arch/arm/dts/bcm68360.dtsi > +++ /dev/null > @@ -1,217 +0,0 @@ > -// SPDX-License-Identifier: GPL-2.0+ > -/* > - * Copyright (C) 2020 Philippe Reynes <philippe.reynes@softathome.com> > - */ > - > -#include "skeleton64.dtsi" > - > -/ { > - compatible = "brcm,bcm68360"; > - #address-cells = <2>; > - #size-cells = <2>; > - > - aliases { > - spi0 = &hsspi; > - }; > - > - cpus { > - #address-cells = <2>; > - #size-cells = <0>; > - u-boot,dm-pre-reloc; > - > - cpu0: cpu@0 { > - compatible = "arm,cortex-a53", "arm,armv8"; > - device_type = "cpu"; > - reg = <0x0 0x0>; > - next-level-cache = <&l2>; > - u-boot,dm-pre-reloc; > - }; > - > - cpu1: cpu@1 { > - compatible = "arm,cortex-a53", "arm,armv8"; > - device_type = "cpu"; > - reg = <0x0 0x1>; > - next-level-cache = <&l2>; > - u-boot,dm-pre-reloc; > - }; > - > - l2: l2-cache0 { > - compatible = "cache"; > - u-boot,dm-pre-reloc; > - }; > - }; > - > - clocks { > - compatible = "simple-bus"; > - #address-cells = <2>; > - #size-cells = <2>; > - ranges; > - u-boot,dm-pre-reloc; > - > - periph_osc: periph-osc { > - compatible = "fixed-clock"; > - #clock-cells = <0>; > - clock-frequency = <200000000>; > - u-boot,dm-pre-reloc; > - }; > - > - hsspi_pll: hsspi-pll { > - compatible = "fixed-factor-clock"; > - #clock-cells = <0>; > - clocks = <&periph_osc>; > - clock-mult = <2>; > - clock-div = <1>; > - }; > - > - refclk50mhz: refclk50mhz { > - compatible = "fixed-clock"; > - #clock-cells = <0>; > - clock-frequency = <50000000>; > - }; > - }; > - > - ubus { > - compatible = "simple-bus"; > - #address-cells = <2>; > - #size-cells = <2>; > - u-boot,dm-pre-reloc; > - > - wdt1: watchdog@ff800480 { > - compatible = "brcm,bcm6345-wdt"; > - reg = <0x0 0xff800480 0x0 0x14>; > - clocks = <&refclk50mhz>; > - }; > - > - wdt2: watchdog@ff8004c0 { > - compatible = "brcm,bcm6345-wdt"; > - reg = <0x0 0xff8004c0 0x0 0x14>; > - clocks = <&refclk50mhz>; > - }; > - > - wdt-reboot { > - compatible = "wdt-reboot"; > - wdt = <&wdt1>; > - }; > - > - uart0: serial@ff800640 { > - compatible = "brcm,bcm6345-uart"; > - reg = <0x0 0xff800640 0x0 0x18>; > - clocks = <&periph_osc>; > - > - status = "disabled"; > - }; > - > - leds: led-controller@ff800800 { > - compatible = "brcm,bcm6858-leds"; > - reg = <0x0 0xff800800 0x0 0xe4>; > - > - status = "disabled"; > - }; > - > - gpio0: gpio-controller@0xff800500 { > - compatible = "brcm,bcm6345-gpio"; > - reg = <0x0 0xff800500 0x0 0x4>, > - <0x0 0xff800520 0x0 0x4>; > - gpio-controller; > - #gpio-cells = <2>; > - > - status = "disabled"; > - }; > - > - gpio1: gpio-controller@0xff800504 { > - compatible = "brcm,bcm6345-gpio"; > - reg = <0x0 0xff800504 0x0 0x4>, > - <0x0 0xff800524 0x0 0x4>; > - gpio-controller; > - #gpio-cells = <2>; > - > - status = "disabled"; > - }; > - > - gpio2: gpio-controller@0xff800508 { > - compatible = "brcm,bcm6345-gpio"; > - reg = <0x0 0xff800508 0x0 0x4>, > - <0x0 0xff800528 0x0 0x4>; > - gpio-controller; > - #gpio-cells = <2>; > - > - status = "disabled"; > - }; > - > - gpio3: gpio-controller@0xff80050c { > - compatible = "brcm,bcm6345-gpio"; > - reg = <0x0 0xff80050c 0x0 0x4>, > - <0x0 0xff80052c 0x0 0x4>; > - gpio-controller; > - #gpio-cells = <2>; > - > - status = "disabled"; > - }; > - > - gpio4: gpio-controller@0xff800510 { > - compatible = "brcm,bcm6345-gpio"; > - reg = <0x0 0xff800510 0x0 0x4>, > - <0x0 0xff800530 0x0 0x4>; > - gpio-controller; > - #gpio-cells = <2>; > - > - status = "disabled"; > - }; > - > - gpio5: gpio-controller@0xff800514 { > - compatible = "brcm,bcm6345-gpio"; > - reg = <0x0 0xff800514 0x0 0x4>, > - <0x0 0xff800534 0x0 0x4>; > - gpio-controller; > - #gpio-cells = <2>; > - > - status = "disabled"; > - }; > - > - gpio6: gpio-controller@0xff800518 { > - compatible = "brcm,bcm6345-gpio"; > - reg = <0x0 0xff800518 0x0 0x4>, > - <0x0 0xff800538 0x0 0x4>; > - gpio-controller; > - #gpio-cells = <2>; > - > - status = "disabled"; > - }; > - > - gpio7: gpio-controller@0xff80051c { > - compatible = "brcm,bcm6345-gpio"; > - reg = <0x0 0xff80051c 0x0 0x4>, > - <0x0 0xff80053c 0x0 0x4>; > - gpio-controller; > - #gpio-cells = <2>; > - > - status = "disabled"; > - }; > - > - hsspi: spi-controller@ff801000 { > - compatible = "brcm,bcm6328-hsspi"; > - #address-cells = <1>; > - #size-cells = <0>; > - reg = <0x0 0xff801000 0x0 0x600>; > - clocks = <&hsspi_pll>, <&hsspi_pll>; > - clock-names = "hsspi", "pll"; > - spi-max-frequency = <100000000>; > - num-cs = <8>; > - > - status = "disabled"; > - }; > - > - nand: nand-controller@ff801800 { > - compatible = "brcm,nand-bcm68360", > - "brcm,brcmnand-v5.0", > - "brcm,brcmnand"; > - reg-names = "nand", "nand-int-base", "nand-cache"; > - reg = <0x0 0xff801800 0x0 0x180>, > - <0x0 0xff802000 0x0 0x10>, > - <0x0 0xff801c00 0x0 0x200>; > - parameter-page-big-endian = <0>; > - > - status = "disabled"; > - }; > - }; > -}; > diff --git a/arch/arm/dts/bcm6856.dtsi b/arch/arm/dts/bcm6856.dtsi > index 0bce6497219f..99185ab0bcaf 100644 > --- a/arch/arm/dts/bcm6856.dtsi > +++ b/arch/arm/dts/bcm6856.dtsi > @@ -1,5 +1,6 @@ > // SPDX-License-Identifier: (GPL-2.0+ OR MIT) > /* > + * Copyright (C) 2020 Philippe Reynes <philippe.reynes@softathome.com> > * Copyright 2022 Broadcom Ltd. > */ > > @@ -54,11 +55,29 @@ > }; > > clocks: clocks { > + u-boot,dm-pre-reloc; > + > periph_clk:periph-clk { > compatible = "fixed-clock"; > #clock-cells = <0>; > clock-frequency = <200000000>; > }; > + > + hsspi_pll: hsspi-pll { > + compatible = "fixed-factor-clock"; > + #clock-cells = <0>; > + clocks = <&periph_clk>; > + clock-mult = <2>; > + clock-div = <1>; > + }; > + > + wdt_clk: wdt-clk { > + compatible = "fixed-factor-clock"; > + #clock-cells = <0>; > + clocks = <&periph_clk>; > + clock-div = <4>; > + clock-mult = <1>; > + }; > }; > > psci { > @@ -90,6 +109,7 @@ > #address-cells = <1>; > #size-cells = <1>; > ranges = <0x0 0x0 0xff800000 0x800000>; > + u-boot,dm-pre-reloc; > > uart0: serial@640 { > compatible = "brcm,bcm6345-uart"; > @@ -99,5 +119,135 @@ > clock-names = "refclk"; > status = "disabled"; > }; > + > + wdt1: watchdog@480 { > + compatible = "brcm,bcm6345-wdt"; > + reg = <0x480 0x14>; > + clocks = <&wdt_clk>; > + }; > + > + wdt2: watchdog@4c0 { > + compatible = "brcm,bcm6345-wdt"; > + reg = <0x4c0 0x14>; > + clocks = <&wdt_clk>; > + }; > + > + wdt-reboot { > + compatible = "wdt-reboot"; > + wdt = <&wdt1>; > + }; > + > + leds: led-controller@800 { > + compatible = "brcm,bcm6858-leds"; > + reg = <0x800 0xe4>; > + > + status = "disabled"; > + }; > + > + gpio0: gpio-controller@500 { > + compatible = "brcm,bcm6345-gpio"; > + reg = <0x500 0x4>, > + <0x520 0x4>; > + gpio-controller; > + #gpio-cells = <2>; > + > + status = "disabled"; > + }; > + > + gpio1: gpio-controller@504 { > + compatible = "brcm,bcm6345-gpio"; > + reg = <0x504 0x4>, > + <0x524 0x4>; > + gpio-controller; > + #gpio-cells = <2>; > + > + status = "disabled"; > + }; > + > + gpio2: gpio-controller@508 { > + compatible = "brcm,bcm6345-gpio"; > + reg = <0x508 0x4>, > + <0x528 0x4>; > + gpio-controller; > + #gpio-cells = <2>; > + > + status = "disabled"; > + }; > + > + gpio3: gpio-controller@50c { > + compatible = "brcm,bcm6345-gpio"; > + reg = <0x50c 0x4>, > + <0x52c 0x4>; > + gpio-controller; > + #gpio-cells = <2>; > + > + status = "disabled"; > + }; > + > + gpio4: gpio-controller@510 { > + compatible = "brcm,bcm6345-gpio"; > + reg = <0x510 0x4>, > + <0x530 0x4>; > + gpio-controller; > + #gpio-cells = <2>; > + > + status = "disabled"; > + }; > + > + gpio5: gpio-controller@514 { > + compatible = "brcm,bcm6345-gpio"; > + reg = <0x514 0x4>, > + <0x534 0x4>; > + gpio-controller; > + #gpio-cells = <2>; > + > + status = "disabled"; > + }; > + > + gpio6: gpio-controller@518 { > + compatible = "brcm,bcm6345-gpio"; > + reg = <0x518 0x4>, > + <0x538 0x4>; > + gpio-controller; > + #gpio-cells = <2>; > + > + status = "disabled"; > + }; > + > + gpio7: gpio-controller@51c { > + compatible = "brcm,bcm6345-gpio"; > + reg = <0x51c 0x4>, > + <0x53c 0x4>; > + gpio-controller; > + #gpio-cells = <2>; > + > + status = "disabled"; > + }; > + > + hsspi: spi-controller@1000 { > + compatible = "brcm,bcm6328-hsspi"; > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <0x1000 0x600>; > + clocks = <&hsspi_pll>, <&hsspi_pll>; > + clock-names = "hsspi", "pll"; > + spi-max-frequency = <100000000>; > + num-cs = <8>; > + > + status = "disabled"; > + }; > + > + nand: nand-controller@1800 { > + compatible = "brcm,nand-bcm68360", > + "brcm,brcmnand-v5.0", > + "brcm,brcmnand"; > + reg-names = "nand", "nand-int-base", "nand-cache"; > + reg = <0x1800 0x180>, > + <0x2000 0x10>, > + <0x1c00 0x200>; > + parameter-page-big-endian = <0>; > + > + status = "disabled"; > + }; > }; > }; > diff --git a/arch/arm/dts/bcm968360bg.dts b/arch/arm/dts/bcm968360bg.dts > index c060294cc925..6f1090aa8eee 100644 > --- a/arch/arm/dts/bcm968360bg.dts > +++ b/arch/arm/dts/bcm968360bg.dts > @@ -5,11 +5,11 @@ > > /dts-v1/; > > -#include "bcm68360.dtsi" > +#include "bcm6856.dtsi" > > / { > - model = "Broadcom bcm68360bg"; > - compatible = "broadcom,bcm68360bg", "brcm,bcm68360"; > + model = "Broadcom BCM968360BG Reference Board"; > + compatible = "brcm,bcm968360bg", "brcm,bcm6856", "brcm,bcmbca"; > > aliases { > serial0 = &uart0; > diff --git a/board/broadcom/bcm968360bg/Kconfig b/board/broadcom/bcm968360bg/Kconfig > deleted file mode 100644 > index dd372f126aef..000000000000 > --- 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 cfcbbc51f8e6..000000000000 > --- 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 d099c1cf3569..000000000000 > --- 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 90af6b88bd47..000000000000 > --- a/board/broadcom/bcm968360bg/bcm968360bg.c > +++ /dev/null > @@ -1,62 +0,0 @@ > -// SPDX-License-Identifier: GPL-2.0+ > -/* > - * Copyright (C) 2020 Philippe Reynes <philippe.reynes@softathome.com> > - */ > - > -#include <common.h> > -#include <fdtdec.h> > -#include <init.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/configs/bcm968360bg_ram_defconfig b/configs/bcm968360bg_ram_defconfig > index 7f9093c6f6d3..c10e15e04fe8 100644 > --- a/configs/bcm968360bg_ram_defconfig > +++ b/configs/bcm968360bg_ram_defconfig > @@ -1,15 +1,17 @@ > CONFIG_ARM=y > CONFIG_SKIP_LOWLEVEL_INIT=y > -CONFIG_ARCH_BCM68360=y > +CONFIG_COUNTER_FREQUENCY=50000000 > +CONFIG_ARCH_BCMBCA=y > CONFIG_SYS_TEXT_BASE=0x10000000 > CONFIG_SYS_MALLOC_LEN=0x100000 > CONFIG_SYS_MALLOC_F_LEN=0x8000 > -CONFIG_NR_DRAM_BANKS=1 > +CONFIG_BCM6856=y > +CONFIG_TARGET_BCM96856=y > +CONFIG_NR_DRAM_BANKS=2 > CONFIG_ENV_SIZE=0x2000 > CONFIG_DM_GPIO=y > CONFIG_DEFAULT_DEVICE_TREE="bcm968360bg" > CONFIG_SYS_LOAD_ADDR=0x10000000 > -CONFIG_TARGET_BCM968360BG=y > CONFIG_ENV_VARS_UBOOT_CONFIG=y > CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y > CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x11000000 > @@ -52,9 +54,7 @@ CONFIG_SPI_FLASH_SFDP_SUPPORT=y > CONFIG_SPI_FLASH_MACRONIX=y > CONFIG_SPECIFY_CONSOLE_INDEX=y > CONFIG_CONS_INDEX=0 > -CONFIG_DM_SERIAL=y > CONFIG_SERIAL_SEARCH_ALL=y > -CONFIG_BCM6345_SERIAL=y > CONFIG_SPI=y > CONFIG_DM_SPI=y > CONFIG_BCM63XX_HSSPI=y > diff --git a/include/configs/bcm96856.h b/include/configs/bcm96856.h > index a7ae71eeaafe..3050cf337229 100644 > --- a/include/configs/bcm96856.h > +++ b/include/configs/bcm96856.h > @@ -8,4 +8,8 @@ > > #define CONFIG_SYS_SDRAM_BASE 0x00000000 > > +#ifdef CONFIG_MTD_RAW_NAND > +#define CONFIG_SYS_MAX_NAND_DEVICE 1 > +#endif /* CONFIG_MTD_RAW_NAND */ > + > #endif > diff --git a/include/configs/broadcom_bcm968360bg.h b/include/configs/broadcom_bcm968360bg.h > deleted file mode 100644 > index 8a8023571236..000000000000 > --- a/include/configs/broadcom_bcm968360bg.h > +++ /dev/null > @@ -1,32 +0,0 @@ > -/* SPDX-License-Identifier: GPL-2.0+ */ > -/* > - * Copyright (C) 2020 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 */ > - > -/* > - * 6858 > - */ > - > -/* RAM */ > -#define CONFIG_SYS_SDRAM_BASE 0x00000000 > - > -/* U-Boot */ > - > -#ifdef CONFIG_MTD_RAW_NAND > -#define CONFIG_SYS_MAX_NAND_DEVICE 1 > -#endif /* CONFIG_MTD_RAW_NAND */ > - > -/* > - * 968360bg > - */ ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2 3/3] arm: bcmbca: make bcm68360 driver depending on CONFIG_BCM6856 2022-08-15 18:55 [PATCH v2 0/3] arm: bcmbca: move bcm68360 support under CONFIG_ARCH_BCMBCA William Zhang 2022-08-15 18:55 ` [PATCH v2 1/3] arm: bcmbca: add bcm6856 SoC " William Zhang 2022-08-15 18:55 ` [PATCH v2 2/3] arm: bcmbca: remove bcm68360 support under CONFIG_ARCH_BCM68360 William Zhang @ 2022-08-15 18:55 ` William Zhang 2022-08-24 12:24 ` Philippe REYNES 2 siblings, 1 reply; 7+ messages in thread From: William Zhang @ 2022-08-15 18:55 UTC (permalink / raw) To: U-Boot Mailing List Cc: anand.gore, rafal, f.fainelli, kursad.oney, dan.beygelman, joel.peshkin, philippe.reynes, William Zhang, Dario Binacchi, Eddie James, Heiko Schocher, Ivan Vozvakhov, Jagan Teki, Michael Trimarchi, Michal Simek, Oleksandr Suvorov, Sebastian Reichel, Simon Glass, Stefan Roese, T Karthik Reddy, Tom Rini [-- Attachment #1: Type: text/plain, Size: 2729 bytes --] As CONFIG_ARCH_BCM68360 is replaced with CONFIG_BCM6856, update the driver Kconfig to use the new config symbol Signed-off-by: William Zhang <william.zhang@broadcom.com> --- (no changes since v1) drivers/gpio/Kconfig | 2 +- drivers/led/Kconfig | 2 +- drivers/mtd/nand/raw/Kconfig | 2 +- drivers/spi/Kconfig | 2 +- drivers/watchdog/Kconfig | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig index 83f4f5089992..9e00b48234ab 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -110,7 +110,7 @@ config BCM2835_GPIO config BCM6345_GPIO bool "BCM6345 GPIO driver" - depends on DM_GPIO && (ARCH_BMIPS || ARCH_BCM68360 || \ + depends on DM_GPIO && (ARCH_BMIPS || BCM6856 || \ ARCH_BCM6858 || BCM63158 || \ ARCH_BCM6753) help diff --git a/drivers/led/Kconfig b/drivers/led/Kconfig index d777414dda8d..bd8f23fd9631 100644 --- a/drivers/led/Kconfig +++ b/drivers/led/Kconfig @@ -37,7 +37,7 @@ config LED_BCM6753 config LED_BCM6858 bool "LED Support for BCM6858" - depends on LED && (ARCH_BCM68360 || ARCH_BCM6858 || BCM63158) + depends on LED && (BCM6856 || ARCH_BCM6858 || BCM63158) help This option enables support for LEDs connected to the BCM6858 HW has blinking capabilities and up to 32 LEDs can be controlled. diff --git a/drivers/mtd/nand/raw/Kconfig b/drivers/mtd/nand/raw/Kconfig index 24c27b6ecf7f..5d006ca1ea07 100644 --- a/drivers/mtd/nand/raw/Kconfig +++ b/drivers/mtd/nand/raw/Kconfig @@ -103,7 +103,7 @@ config NAND_BRCMNAND_6753 config NAND_BRCMNAND_68360 bool "Support Broadcom NAND controller on bcm68360" - depends on NAND_BRCMNAND && ARCH_BCM68360 + depends on NAND_BRCMNAND && BCM6856 help Enable support for broadcom nand driver on bcm68360. diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig index 0a666eee80e7..978e5c86a420 100644 --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig @@ -91,7 +91,7 @@ config ATMEL_SPI config BCM63XX_HSSPI bool "BCM63XX HSSPI driver" - depends on (ARCH_BMIPS || ARCH_BCM68360 || \ + depends on (ARCH_BMIPS || BCM6856 || \ ARCH_BCM6858 || BCM63158) help Enable the BCM6328 HSSPI driver. This driver can be used to diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig index ff4d1ee530d2..6d559515b78b 100644 --- a/drivers/watchdog/Kconfig +++ b/drivers/watchdog/Kconfig @@ -128,7 +128,7 @@ config WDT_AT91 config WDT_BCM6345 bool "BCM6345 watchdog timer support" - depends on WDT && (ARCH_BMIPS || ARCH_BCM68360 || \ + depends on WDT && (ARCH_BMIPS || BCM6856 || \ ARCH_BCM6858 || BCM63158 || \ ARCH_BCM6753) help -- 2.37.1 [-- Attachment #2: S/MIME Cryptographic Signature --] [-- Type: application/pkcs7-signature, Size: 4212 bytes --] ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2 3/3] arm: bcmbca: make bcm68360 driver depending on CONFIG_BCM6856 2022-08-15 18:55 ` [PATCH v2 3/3] arm: bcmbca: make bcm68360 driver depending on CONFIG_BCM6856 William Zhang @ 2022-08-24 12:24 ` Philippe REYNES 0 siblings, 0 replies; 7+ messages in thread From: Philippe REYNES @ 2022-08-24 12:24 UTC (permalink / raw) To: William Zhang, U-Boot Mailing List Cc: anand.gore, rafal, f.fainelli, kursad.oney, dan.beygelman, joel.peshkin, Dario Binacchi, Eddie James, Heiko Schocher, Ivan Vozvakhov, Jagan Teki, Michael Trimarchi, Michal Simek, Oleksandr Suvorov, Sebastian Reichel, Simon Glass, Stefan Roese, T Karthik Reddy, Tom Rini Hi William, Le 15/08/2022 à 20:55, William Zhang a écrit : > As CONFIG_ARCH_BCM68360 is replaced with CONFIG_BCM6856, update the > driver Kconfig to use the new config symbol > > Signed-off-by: William Zhang <william.zhang@broadcom.com> Reviewed-by: Philippe Reynes <philippe.reynes@softathome.com> > > --- > > (no changes since v1) > > drivers/gpio/Kconfig | 2 +- > drivers/led/Kconfig | 2 +- > drivers/mtd/nand/raw/Kconfig | 2 +- > drivers/spi/Kconfig | 2 +- > drivers/watchdog/Kconfig | 2 +- > 5 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig > index 83f4f5089992..9e00b48234ab 100644 > --- a/drivers/gpio/Kconfig > +++ b/drivers/gpio/Kconfig > @@ -110,7 +110,7 @@ config BCM2835_GPIO > > config BCM6345_GPIO > bool "BCM6345 GPIO driver" > - depends on DM_GPIO && (ARCH_BMIPS || ARCH_BCM68360 || \ > + depends on DM_GPIO && (ARCH_BMIPS || BCM6856 || \ > ARCH_BCM6858 || BCM63158 || \ > ARCH_BCM6753) > help > diff --git a/drivers/led/Kconfig b/drivers/led/Kconfig > index d777414dda8d..bd8f23fd9631 100644 > --- a/drivers/led/Kconfig > +++ b/drivers/led/Kconfig > @@ -37,7 +37,7 @@ config LED_BCM6753 > > config LED_BCM6858 > bool "LED Support for BCM6858" > - depends on LED && (ARCH_BCM68360 || ARCH_BCM6858 || BCM63158) > + depends on LED && (BCM6856 || ARCH_BCM6858 || BCM63158) > help > This option enables support for LEDs connected to the BCM6858 > HW has blinking capabilities and up to 32 LEDs can be controlled. > diff --git a/drivers/mtd/nand/raw/Kconfig b/drivers/mtd/nand/raw/Kconfig > index 24c27b6ecf7f..5d006ca1ea07 100644 > --- a/drivers/mtd/nand/raw/Kconfig > +++ b/drivers/mtd/nand/raw/Kconfig > @@ -103,7 +103,7 @@ config NAND_BRCMNAND_6753 > > config NAND_BRCMNAND_68360 > bool "Support Broadcom NAND controller on bcm68360" > - depends on NAND_BRCMNAND && ARCH_BCM68360 > + depends on NAND_BRCMNAND && BCM6856 > help > Enable support for broadcom nand driver on bcm68360. > > diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig > index 0a666eee80e7..978e5c86a420 100644 > --- a/drivers/spi/Kconfig > +++ b/drivers/spi/Kconfig > @@ -91,7 +91,7 @@ config ATMEL_SPI > > config BCM63XX_HSSPI > bool "BCM63XX HSSPI driver" > - depends on (ARCH_BMIPS || ARCH_BCM68360 || \ > + depends on (ARCH_BMIPS || BCM6856 || \ > ARCH_BCM6858 || BCM63158) > help > Enable the BCM6328 HSSPI driver. This driver can be used to > diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig > index ff4d1ee530d2..6d559515b78b 100644 > --- a/drivers/watchdog/Kconfig > +++ b/drivers/watchdog/Kconfig > @@ -128,7 +128,7 @@ config WDT_AT91 > > config WDT_BCM6345 > bool "BCM6345 watchdog timer support" > - depends on WDT && (ARCH_BMIPS || ARCH_BCM68360 || \ > + depends on WDT && (ARCH_BMIPS || BCM6856 || \ > ARCH_BCM6858 || BCM63158 || \ > ARCH_BCM6753) > help ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2022-08-24 12:24 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-08-15 18:55 [PATCH v2 0/3] arm: bcmbca: move bcm68360 support under CONFIG_ARCH_BCMBCA William Zhang 2022-08-15 18:55 ` [PATCH v2 1/3] arm: bcmbca: add bcm6856 SoC " William Zhang 2022-08-24 12:23 ` Philippe REYNES 2022-08-15 18:55 ` [PATCH v2 2/3] arm: bcmbca: remove bcm68360 support under CONFIG_ARCH_BCM68360 William Zhang 2022-08-24 12:24 ` Philippe REYNES 2022-08-15 18:55 ` [PATCH v2 3/3] arm: bcmbca: make bcm68360 driver depending on CONFIG_BCM6856 William Zhang 2022-08-24 12:24 ` Philippe REYNES
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.