[PATCH 0/1] arm: bcmbca: introduce the bcmbca architecture and 47622 SOC

This change introduces Broadcom's ARCH_BCMBCA architecture for armv7 and armv8 based Broadband SoCs. We expect to send additional patches for each SoC in the near future.
William Zhang (1): arm: bcmbca: introduce the bcmbca architecture and 47622 SOC
MAINTAINERS | 11 ++++++++ arch/arm/Kconfig | 7 ++++++ arch/arm/Makefile | 1 + arch/arm/dts/Makefile | 3 +++ arch/arm/dts/bcm47622.dtsi | 25 ++++++++++++++++++ arch/arm/dts/bcm947622.dts | 31 +++++++++++++++++++++++ arch/arm/mach-bcmbca/Kconfig | 17 +++++++++++++ arch/arm/mach-bcmbca/Makefile | 6 +++++ arch/arm/mach-bcmbca/bcm47622/Kconfig | 17 +++++++++++++ arch/arm/mach-bcmbca/bcm47622/Makefile | 5 ++++ board/broadcom/bcmbca/Kconfig | 17 +++++++++++++ board/broadcom/bcmbca/Makefile | 5 ++++ board/broadcom/bcmbca/board.c | 35 ++++++++++++++++++++++++++ configs/bcm947622_defconfig | 18 +++++++++++++ include/configs/bcm947622.h | 21 ++++++++++++++++ 15 files changed, 219 insertions(+) create mode 100644 arch/arm/dts/bcm47622.dtsi create mode 100644 arch/arm/dts/bcm947622.dts create mode 100644 arch/arm/mach-bcmbca/Kconfig create mode 100644 arch/arm/mach-bcmbca/Makefile create mode 100644 arch/arm/mach-bcmbca/bcm47622/Kconfig create mode 100644 arch/arm/mach-bcmbca/bcm47622/Makefile create mode 100644 board/broadcom/bcmbca/Kconfig create mode 100644 board/broadcom/bcmbca/Makefile create mode 100644 board/broadcom/bcmbca/board.c create mode 100644 configs/bcm947622_defconfig create mode 100644 include/configs/bcm947622.h

This is the initial support for Broadcom's ARM-based 47622 SOC.
In this change, our first SOC is an armv7 platform called 47622. The initial support includes a bare-bone implementation and dts with ARM PL011 uart.
The SOC-specific code resides in arch/arm/mach-bcmbca/<soc> and board related code is in board/broadcom/bcmba.
The u-boot image can be loaded from flash or network to the entry point address in the memory and boot from there.
Signed-off-by: William Zhang william.zhang@broadcom.com Signed-off-by: Kursad Oney kursad.oney@broadcom.com Signed-off-by: Anand Gore anand.gore@broadcom.com ---
MAINTAINERS | 11 ++++++++ arch/arm/Kconfig | 7 ++++++ arch/arm/Makefile | 1 + arch/arm/dts/Makefile | 3 +++ arch/arm/dts/bcm47622.dtsi | 25 ++++++++++++++++++ arch/arm/dts/bcm947622.dts | 31 +++++++++++++++++++++++ arch/arm/mach-bcmbca/Kconfig | 17 +++++++++++++ arch/arm/mach-bcmbca/Makefile | 6 +++++ arch/arm/mach-bcmbca/bcm47622/Kconfig | 17 +++++++++++++ arch/arm/mach-bcmbca/bcm47622/Makefile | 5 ++++ board/broadcom/bcmbca/Kconfig | 17 +++++++++++++ board/broadcom/bcmbca/Makefile | 5 ++++ board/broadcom/bcmbca/board.c | 35 ++++++++++++++++++++++++++ configs/bcm947622_defconfig | 18 +++++++++++++ include/configs/bcm947622.h | 21 ++++++++++++++++ 15 files changed, 219 insertions(+) create mode 100644 arch/arm/dts/bcm47622.dtsi create mode 100644 arch/arm/dts/bcm947622.dts create mode 100644 arch/arm/mach-bcmbca/Kconfig create mode 100644 arch/arm/mach-bcmbca/Makefile create mode 100644 arch/arm/mach-bcmbca/bcm47622/Kconfig create mode 100644 arch/arm/mach-bcmbca/bcm47622/Makefile create mode 100644 board/broadcom/bcmbca/Kconfig create mode 100644 board/broadcom/bcmbca/Makefile create mode 100644 board/broadcom/bcmbca/board.c create mode 100644 configs/bcm947622_defconfig create mode 100644 include/configs/bcm947622.h
diff --git a/MAINTAINERS b/MAINTAINERS index 96582fc677..ef4a9b04e8 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -195,6 +195,17 @@ F: drivers/pinctrl/broadcom/ F: configs/rpi_* T: git https://source.denx.de/u-boot/custodians/u-boot-arm.git
+ARM BROADCOM BCMBCA +M: Anand Gore anand.gore@broadcom.com +M: William Zhang william.zhang@broadcom.com +M: Kursad Oney kursad.oney@broadcom.com +M: Joel Peshkin joel.peshkin@broadcom.com +S: Maintained +F: arch/arm/mach-bcmbca/ +F: board/broadcom/bcmbca/ +F: configs/bcm947622_defconfig +F: include/configs/bcm947622.h + ARM BROADCOM BCMSTB M: Thomas Fitzsimmons fitzsim@fitzsim.org S: Maintained diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 4567c183fb..9a75d2e6bb 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -641,6 +641,11 @@ config ARCH_BCMSTB This enables support for Broadcom ARM-based set-top box chipsets, including the 7445 family of chips.
+config ARCH_BCMBCA + bool "Broadcom broadband chip family" + select DM + select OF_CONTROL + config TARGET_VEXPRESS_CA9X4 bool "Support vexpress_ca9x4" select CPU_V7A @@ -2092,6 +2097,8 @@ source "arch/arm/mach-at91/Kconfig"
source "arch/arm/mach-bcm283x/Kconfig"
+source "arch/arm/mach-bcmbca/Kconfig" + source "arch/arm/mach-bcmstb/Kconfig"
source "arch/arm/mach-davinci/Kconfig" diff --git a/arch/arm/Makefile b/arch/arm/Makefile index ad757e982e..0fd127e0e7 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -59,6 +59,7 @@ machine-$(CONFIG_ARCH_APPLE) += apple machine-$(CONFIG_ARCH_ASPEED) += aspeed machine-$(CONFIG_ARCH_AT91) += at91 machine-$(CONFIG_ARCH_BCM283X) += bcm283x +machine-$(CONFIG_ARCH_BCMBCA) += bcmbca machine-$(CONFIG_ARCH_BCMSTB) += bcmstb machine-$(CONFIG_ARCH_DAVINCI) += davinci machine-$(CONFIG_ARCH_EXYNOS) += exynos diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 644ba961a2..448347d278 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -1112,6 +1112,9 @@ dtb-$(CONFIG_TARGET_BCMNS3) += ns3-board.dtb
dtb-$(CONFIG_ARCH_BCMSTB) += bcm7xxx.dtb
+dtb-$(CONFIG_BCM47622) += \ + bcm947622.dtb + dtb-$(CONFIG_ASPEED_AST2500) += ast2500-evb.dtb dtb-$(CONFIG_ASPEED_AST2600) += ast2600-evb.dtb
diff --git a/arch/arm/dts/bcm47622.dtsi b/arch/arm/dts/bcm47622.dtsi new file mode 100644 index 0000000000..1fe05daa67 --- /dev/null +++ b/arch/arm/dts/bcm47622.dtsi @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright 2019 Broadcom Ltd. + */ + +#include "skeleton.dtsi" + +/ { + compatible = "brcm,bcm47622"; + #address-cells = <0x1>; + #size-cells = <0x1>; + + ubus@ff800000 { + compatible = "simple-bus"; + #address-cells = <0x1>; + #size-cells = <0x1>; + + uart0: serial@ff812000 { + compatible = "arm,pl011", "arm,primecell"; + reg = <0xff812000 0x1000>; + clock = <50000000>; + status = "disabled"; + }; + }; +}; diff --git a/arch/arm/dts/bcm947622.dts b/arch/arm/dts/bcm947622.dts new file mode 100644 index 0000000000..e241c4ec56 --- /dev/null +++ b/arch/arm/dts/bcm947622.dts @@ -0,0 +1,31 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright 2019 Broadcom Ltd. + */ + +/dts-v1/; + +#include "bcm47622.dtsi" + +/ { + model = "Broadcom bcm947622"; + compatible = "broadcom,bcm947622", "brcm,bcm947622"; + + aliases { + serial0 = &uart0; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + memory { + device_type = "memory"; + reg = <0x0 0x08000000>; + }; +}; + +&uart0 { + status = "okay"; +}; + diff --git a/arch/arm/mach-bcmbca/Kconfig b/arch/arm/mach-bcmbca/Kconfig new file mode 100644 index 0000000000..2d49380f87 --- /dev/null +++ b/arch/arm/mach-bcmbca/Kconfig @@ -0,0 +1,17 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# (C) Copyright 2022 Broadcom Ltd +# + +if ARCH_BCMBCA + +config BCM47622 + bool "Support for Broadcom 47622 Family" + select SYS_ARCH_TIMER + select CPU_V7A + select DM_SERIAL + select PL01X_SERIAL + +endif + +source "arch/arm/mach-bcmbca/bcm47622/Kconfig" diff --git a/arch/arm/mach-bcmbca/Makefile b/arch/arm/mach-bcmbca/Makefile new file mode 100644 index 0000000000..072d4ea7b5 --- /dev/null +++ b/arch/arm/mach-bcmbca/Makefile @@ -0,0 +1,6 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# (C) Copyright 2022 Broadcom Ltd +# + +obj-$(CONFIG_BCM47622) += bcm47622/ diff --git a/arch/arm/mach-bcmbca/bcm47622/Kconfig b/arch/arm/mach-bcmbca/bcm47622/Kconfig new file mode 100644 index 0000000000..bce30892e3 --- /dev/null +++ b/arch/arm/mach-bcmbca/bcm47622/Kconfig @@ -0,0 +1,17 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# (C) Copyright 2022 Broadcom Ltd +# + +if BCM47622 + +config TARGET_BCM947622 + bool "Broadcom 47622 Reference Board" + depends on ARCH_BCMBCA + +config SYS_SOC + default "bcm47622" + +source "board/broadcom/bcmbca/Kconfig" + +endif diff --git a/arch/arm/mach-bcmbca/bcm47622/Makefile b/arch/arm/mach-bcmbca/bcm47622/Makefile new file mode 100644 index 0000000000..beb979af75 --- /dev/null +++ b/arch/arm/mach-bcmbca/bcm47622/Makefile @@ -0,0 +1,5 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# (C) Copyright 2022 Broadcom Ltd +# +obj- += dummy.o diff --git a/board/broadcom/bcmbca/Kconfig b/board/broadcom/bcmbca/Kconfig new file mode 100644 index 0000000000..63d4252da6 --- /dev/null +++ b/board/broadcom/bcmbca/Kconfig @@ -0,0 +1,17 @@ +# 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 diff --git a/board/broadcom/bcmbca/Makefile b/board/broadcom/bcmbca/Makefile new file mode 100644 index 0000000000..8f06c3111b --- /dev/null +++ b/board/broadcom/bcmbca/Makefile @@ -0,0 +1,5 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# (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 0000000000..4aa1d659d5 --- /dev/null +++ b/board/broadcom/bcmbca/board.c @@ -0,0 +1,35 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * (C) Copyright 2022 Broadcom Ltd. + */ + +#include <common.h> +#include <fdtdec.h> + +int board_init(void) +{ + return 0; +} + +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; +} + +void reset_cpu(ulong addr) +{ +} diff --git a/configs/bcm947622_defconfig b/configs/bcm947622_defconfig new file mode 100644 index 0000000000..c8d14820af --- /dev/null +++ b/configs/bcm947622_defconfig @@ -0,0 +1,18 @@ +CONFIG_ARM=y +CONFIG_ARCH_BCMBCA=y +CONFIG_SYS_TEXT_BASE=0x10000000 +CONFIG_SYS_MALLOC_LEN=0x2000000 +CONFIG_SYS_MALLOC_F_LEN=0x8000 +CONFIG_BCM47622=y +CONFIG_TARGET_BCM947622=y +CONFIG_NR_DRAM_BANKS=1 +CONFIG_DEFAULT_DEVICE_TREE="bcm947622" +CONFIG_IDENT_STRING=" Broadcom BCM47622" +CONFIG_ENV_VARS_UBOOT_CONFIG=y +CONFIG_SYS_LOAD_ADDR=0x10000000 +CONFIG_OF_STDOUT_VIA_ALIAS=y +CONFIG_DISPLAY_BOARDINFO_LATE=y +CONFIG_HUSH_PARSER=y +CONFIG_CMD_CACHE=y +CONFIG_OF_EMBED=y +CONFIG_CLK=y diff --git a/include/configs/bcm947622.h b/include/configs/bcm947622.h new file mode 100644 index 0000000000..7c80e88be0 --- /dev/null +++ b/include/configs/bcm947622.h @@ -0,0 +1,21 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * (C) Copyright 2022 Broadcom Ltd. + */ + +#ifndef __BCM947622_H +#define __BCM947622_H +#include <linux/sizes.h> + +#define CONFIG_SYS_MAXARGS 64 +#define CONFIG_SYS_BOOTM_LEN (32 * 1024 * 1024) + +/* UART */ +#define CONFIG_SYS_BAUDRATE_TABLE { 115200 } + +#define CONFIG_SYS_SDRAM_BASE 0x00000000 + +#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_TEXT_BASE + SZ_16M) + +#define COUNTER_FREQUENCY 50000000 +#endif

On Wed, Mar 23, 2022 at 07:03:48PM -0700, William Zhang wrote:
This is the initial support for Broadcom's ARM-based 47622 SOC.
In this change, our first SOC is an armv7 platform called 47622. The initial support includes a bare-bone implementation and dts with ARM PL011 uart.
The SOC-specific code resides in arch/arm/mach-bcmbca/<soc> and board related code is in board/broadcom/bcmba.
The u-boot image can be loaded from flash or network to the entry point address in the memory and boot from there.
Signed-off-by: William Zhang william.zhang@broadcom.com Signed-off-by: Kursad Oney kursad.oney@broadcom.com Signed-off-by: Anand Gore anand.gore@broadcom.com
MAINTAINERS | 11 ++++++++ arch/arm/Kconfig | 7 ++++++ arch/arm/Makefile | 1 + arch/arm/dts/Makefile | 3 +++ arch/arm/dts/bcm47622.dtsi | 25 ++++++++++++++++++ arch/arm/dts/bcm947622.dts | 31 +++++++++++++++++++++++
What is the status of these dts files with upstream Linux kernel? Thanks.

Hi Tom,
We haven't upstream to linux yet but it is in our plan.
Thanks, William On Wed, Mar 23, 2022 at 8:08 PM Tom Rini trini@konsulko.com wrote:
On Wed, Mar 23, 2022 at 07:03:48PM -0700, William Zhang wrote:
This is the initial support for Broadcom's ARM-based 47622 SOC.
In this change, our first SOC is an armv7 platform called 47622. The initial support includes a bare-bone implementation and dts with ARM PL011 uart.
The SOC-specific code resides in arch/arm/mach-bcmbca/<soc> and board related code is in board/broadcom/bcmba.
The u-boot image can be loaded from flash or network to the entry point address in the memory and boot from there.
Signed-off-by: William Zhang william.zhang@broadcom.com Signed-off-by: Kursad Oney kursad.oney@broadcom.com Signed-off-by: Anand Gore anand.gore@broadcom.com
MAINTAINERS | 11 ++++++++ arch/arm/Kconfig | 7 ++++++ arch/arm/Makefile | 1 + arch/arm/dts/Makefile | 3 +++ arch/arm/dts/bcm47622.dtsi | 25 ++++++++++++++++++ arch/arm/dts/bcm947622.dts | 31 +++++++++++++++++++++++
What is the status of these dts files with upstream Linux kernel? Thanks.
-- Tom

Hi Tom,
On 3/23/22 20:08, Tom Rini wrote:
On Wed, Mar 23, 2022 at 07:03:48PM -0700, William Zhang wrote:
This is the initial support for Broadcom's ARM-based 47622 SOC.
In this change, our first SOC is an armv7 platform called 47622. The initial support includes a bare-bone implementation and dts with ARM PL011 uart.
The SOC-specific code resides in arch/arm/mach-bcmbca/<soc> and board related code is in board/broadcom/bcmba.
The u-boot image can be loaded from flash or network to the entry point address in the memory and boot from there.
Signed-off-by: William Zhang william.zhang@broadcom.com Signed-off-by: Kursad Oney kursad.oney@broadcom.com Signed-off-by: Anand Gore anand.gore@broadcom.com
MAINTAINERS | 11 ++++++++ arch/arm/Kconfig | 7 ++++++ arch/arm/Makefile | 1 + arch/arm/dts/Makefile | 3 +++ arch/arm/dts/bcm47622.dtsi | 25 ++++++++++++++++++ arch/arm/dts/bcm947622.dts | 31 +++++++++++++++++++++++
What is the status of these dts files with upstream Linux kernel? Thanks.
Sorry my reply yesterday was from an wrong email client and format. Try it again with thunderbird plan text mode.
We haven't upstream to linux support yet but it is in our plan.
Thanks, William

On Thu, Mar 24, 2022 at 11:53:19AM -0700, William Zhang wrote:
Hi Tom,
On 3/23/22 20:08, Tom Rini wrote:
On Wed, Mar 23, 2022 at 07:03:48PM -0700, William Zhang wrote:
This is the initial support for Broadcom's ARM-based 47622 SOC.
In this change, our first SOC is an armv7 platform called 47622. The initial support includes a bare-bone implementation and dts with ARM PL011 uart.
The SOC-specific code resides in arch/arm/mach-bcmbca/<soc> and board related code is in board/broadcom/bcmba.
The u-boot image can be loaded from flash or network to the entry point address in the memory and boot from there.
Signed-off-by: William Zhang william.zhang@broadcom.com Signed-off-by: Kursad Oney kursad.oney@broadcom.com Signed-off-by: Anand Gore anand.gore@broadcom.com
MAINTAINERS | 11 ++++++++ arch/arm/Kconfig | 7 ++++++ arch/arm/Makefile | 1 + arch/arm/dts/Makefile | 3 +++ arch/arm/dts/bcm47622.dtsi | 25 ++++++++++++++++++ arch/arm/dts/bcm947622.dts | 31 +++++++++++++++++++++++
What is the status of these dts files with upstream Linux kernel? Thanks.
Sorry my reply yesterday was from an wrong email client and format. Try it again with thunderbird plan text mode.
We haven't upstream to linux support yet but it is in our plan.
OK. The device tree needs to get reviewed and accepted in to linux-next at least first. For skeleton trees like this, it should not be too hard. Thanks.

On 3/24/22 11:58, Tom Rini wrote:
On Thu, Mar 24, 2022 at 11:53:19AM -0700, William Zhang wrote:
Hi Tom,
On 3/23/22 20:08, Tom Rini wrote:
On Wed, Mar 23, 2022 at 07:03:48PM -0700, William Zhang wrote:
This is the initial support for Broadcom's ARM-based 47622 SOC.
In this change, our first SOC is an armv7 platform called 47622. The initial support includes a bare-bone implementation and dts with ARM PL011 uart.
The SOC-specific code resides in arch/arm/mach-bcmbca/<soc> and board related code is in board/broadcom/bcmba.
The u-boot image can be loaded from flash or network to the entry point address in the memory and boot from there.
Signed-off-by: William Zhang william.zhang@broadcom.com Signed-off-by: Kursad Oney kursad.oney@broadcom.com Signed-off-by: Anand Gore anand.gore@broadcom.com
MAINTAINERS | 11 ++++++++ arch/arm/Kconfig | 7 ++++++ arch/arm/Makefile | 1 + arch/arm/dts/Makefile | 3 +++ arch/arm/dts/bcm47622.dtsi | 25 ++++++++++++++++++ arch/arm/dts/bcm947622.dts | 31 +++++++++++++++++++++++
What is the status of these dts files with upstream Linux kernel? Thanks.
Sorry my reply yesterday was from an wrong email client and format. Try it again with thunderbird plan text mode.
We haven't upstream to linux support yet but it is in our plan.
OK. The device tree needs to get reviewed and accepted in to linux-next at least first. For skeleton trees like this, it should not be too hard. Thanks.
Okay. We will work on the linux device tree first then.

On Wed, 23 Mar 2022 19:03:48 -0700 William Zhang william.zhang@broadcom.com wrote:
Hi,
This is the initial support for Broadcom's ARM-based 47622 SOC.
In this change, our first SOC is an armv7 platform called 47622. The initial support includes a bare-bone implementation and dts with ARM PL011 uart.
As Tom said, you need to run the DT through the kernel review first. To maybe save you one round there, see below my comments.
The SOC-specific code resides in arch/arm/mach-bcmbca/<soc> and board related code is in board/broadcom/bcmba.
The u-boot image can be loaded from flash or network to the entry point address in the memory and boot from there.
Signed-off-by: William Zhang william.zhang@broadcom.com Signed-off-by: Kursad Oney kursad.oney@broadcom.com Signed-off-by: Anand Gore anand.gore@broadcom.com
MAINTAINERS | 11 ++++++++ arch/arm/Kconfig | 7 ++++++ arch/arm/Makefile | 1 + arch/arm/dts/Makefile | 3 +++ arch/arm/dts/bcm47622.dtsi | 25 ++++++++++++++++++ arch/arm/dts/bcm947622.dts | 31 +++++++++++++++++++++++ arch/arm/mach-bcmbca/Kconfig | 17 +++++++++++++ arch/arm/mach-bcmbca/Makefile | 6 +++++ arch/arm/mach-bcmbca/bcm47622/Kconfig | 17 +++++++++++++ arch/arm/mach-bcmbca/bcm47622/Makefile | 5 ++++ board/broadcom/bcmbca/Kconfig | 17 +++++++++++++ board/broadcom/bcmbca/Makefile | 5 ++++ board/broadcom/bcmbca/board.c | 35 ++++++++++++++++++++++++++ configs/bcm947622_defconfig | 18 +++++++++++++ include/configs/bcm947622.h | 21 ++++++++++++++++ 15 files changed, 219 insertions(+) create mode 100644 arch/arm/dts/bcm47622.dtsi create mode 100644 arch/arm/dts/bcm947622.dts create mode 100644 arch/arm/mach-bcmbca/Kconfig create mode 100644 arch/arm/mach-bcmbca/Makefile create mode 100644 arch/arm/mach-bcmbca/bcm47622/Kconfig create mode 100644 arch/arm/mach-bcmbca/bcm47622/Makefile create mode 100644 board/broadcom/bcmbca/Kconfig create mode 100644 board/broadcom/bcmbca/Makefile create mode 100644 board/broadcom/bcmbca/board.c create mode 100644 configs/bcm947622_defconfig create mode 100644 include/configs/bcm947622.h
diff --git a/MAINTAINERS b/MAINTAINERS index 96582fc677..ef4a9b04e8 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -195,6 +195,17 @@ F: drivers/pinctrl/broadcom/ F: configs/rpi_* T: git https://source.denx.de/u-boot/custodians/u-boot-arm.git
+ARM BROADCOM BCMBCA +M: Anand Gore anand.gore@broadcom.com +M: William Zhang william.zhang@broadcom.com +M: Kursad Oney kursad.oney@broadcom.com +M: Joel Peshkin joel.peshkin@broadcom.com +S: Maintained +F: arch/arm/mach-bcmbca/ +F: board/broadcom/bcmbca/ +F: configs/bcm947622_defconfig +F: include/configs/bcm947622.h
ARM BROADCOM BCMSTB M: Thomas Fitzsimmons fitzsim@fitzsim.org S: Maintained diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 4567c183fb..9a75d2e6bb 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -641,6 +641,11 @@ config ARCH_BCMSTB This enables support for Broadcom ARM-based set-top box chipsets, including the 7445 family of chips.
+config ARCH_BCMBCA
- bool "Broadcom broadband chip family"
- select DM
- select OF_CONTROL
config TARGET_VEXPRESS_CA9X4 bool "Support vexpress_ca9x4" select CPU_V7A @@ -2092,6 +2097,8 @@ source "arch/arm/mach-at91/Kconfig"
source "arch/arm/mach-bcm283x/Kconfig"
+source "arch/arm/mach-bcmbca/Kconfig"
source "arch/arm/mach-bcmstb/Kconfig"
source "arch/arm/mach-davinci/Kconfig" diff --git a/arch/arm/Makefile b/arch/arm/Makefile index ad757e982e..0fd127e0e7 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -59,6 +59,7 @@ machine-$(CONFIG_ARCH_APPLE) += apple machine-$(CONFIG_ARCH_ASPEED) += aspeed machine-$(CONFIG_ARCH_AT91) += at91 machine-$(CONFIG_ARCH_BCM283X) += bcm283x +machine-$(CONFIG_ARCH_BCMBCA) += bcmbca machine-$(CONFIG_ARCH_BCMSTB) += bcmstb machine-$(CONFIG_ARCH_DAVINCI) += davinci machine-$(CONFIG_ARCH_EXYNOS) += exynos diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 644ba961a2..448347d278 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -1112,6 +1112,9 @@ dtb-$(CONFIG_TARGET_BCMNS3) += ns3-board.dtb
dtb-$(CONFIG_ARCH_BCMSTB) += bcm7xxx.dtb
+dtb-$(CONFIG_BCM47622) += \
- bcm947622.dtb
dtb-$(CONFIG_ASPEED_AST2500) += ast2500-evb.dtb dtb-$(CONFIG_ASPEED_AST2600) += ast2600-evb.dtb
diff --git a/arch/arm/dts/bcm47622.dtsi b/arch/arm/dts/bcm47622.dtsi new file mode 100644 index 0000000000..1fe05daa67 --- /dev/null +++ b/arch/arm/dts/bcm47622.dtsi @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: GPL-2.0+ +/*
- Copyright 2019 Broadcom Ltd.
- */
+#include "skeleton.dtsi"
skeleton is not used anymore in the kernel.
+/ {
- compatible = "brcm,bcm47622";
- #address-cells = <0x1>;
- #size-cells = <0x1>;
Just use decimals: ... = <1>;
- ubus@ff800000 {
just: bus@ff800000 {
Actually not sure you need that at all. Are there going to be more devices later?
compatible = "simple-bus";
#address-cells = <0x1>;
#size-cells = <0x1>;
uart0: serial@ff812000 {
compatible = "arm,pl011", "arm,primecell";
reg = <0xff812000 0x1000>;
clock = <50000000>;
This is not an official property. Please use a fixed-clock and the clocks property.
In general, once you have those files in the kernel tree, run your DT through "make dtbs_check". This will report a lot of unrelated failures initially, so ignore the first run, "touch" your .dts file, then re-run.
If this SoC contains Cortex-A7 cores, then please also add the GIC, arch timer and CPU nodes, for basic functionality.
Cheers, Andre
status = "disabled";
};
- };
+}; diff --git a/arch/arm/dts/bcm947622.dts b/arch/arm/dts/bcm947622.dts new file mode 100644 index 0000000000..e241c4ec56 --- /dev/null +++ b/arch/arm/dts/bcm947622.dts @@ -0,0 +1,31 @@ +// SPDX-License-Identifier: GPL-2.0 +/*
- Copyright 2019 Broadcom Ltd.
- */
+/dts-v1/;
+#include "bcm47622.dtsi"
+/ {
- model = "Broadcom bcm947622";
- compatible = "broadcom,bcm947622", "brcm,bcm947622";
- aliases {
serial0 = &uart0;
- };
- chosen {
stdout-path = "serial0:115200n8";
- };
- memory {
device_type = "memory";
reg = <0x0 0x08000000>;
- };
+};
+&uart0 {
- status = "okay";
+};
diff --git a/arch/arm/mach-bcmbca/Kconfig b/arch/arm/mach-bcmbca/Kconfig new file mode 100644 index 0000000000..2d49380f87 --- /dev/null +++ b/arch/arm/mach-bcmbca/Kconfig @@ -0,0 +1,17 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# (C) Copyright 2022 Broadcom Ltd +#
+if ARCH_BCMBCA
+config BCM47622
- bool "Support for Broadcom 47622 Family"
- select SYS_ARCH_TIMER
- select CPU_V7A
- select DM_SERIAL
- select PL01X_SERIAL
+endif
+source "arch/arm/mach-bcmbca/bcm47622/Kconfig" diff --git a/arch/arm/mach-bcmbca/Makefile b/arch/arm/mach-bcmbca/Makefile new file mode 100644 index 0000000000..072d4ea7b5 --- /dev/null +++ b/arch/arm/mach-bcmbca/Makefile @@ -0,0 +1,6 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# (C) Copyright 2022 Broadcom Ltd +#
+obj-$(CONFIG_BCM47622) += bcm47622/ diff --git a/arch/arm/mach-bcmbca/bcm47622/Kconfig b/arch/arm/mach-bcmbca/bcm47622/Kconfig new file mode 100644 index 0000000000..bce30892e3 --- /dev/null +++ b/arch/arm/mach-bcmbca/bcm47622/Kconfig @@ -0,0 +1,17 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# (C) Copyright 2022 Broadcom Ltd +#
+if BCM47622
+config TARGET_BCM947622
- bool "Broadcom 47622 Reference Board"
- depends on ARCH_BCMBCA
+config SYS_SOC
- default "bcm47622"
+source "board/broadcom/bcmbca/Kconfig"
+endif diff --git a/arch/arm/mach-bcmbca/bcm47622/Makefile b/arch/arm/mach-bcmbca/bcm47622/Makefile new file mode 100644 index 0000000000..beb979af75 --- /dev/null +++ b/arch/arm/mach-bcmbca/bcm47622/Makefile @@ -0,0 +1,5 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# (C) Copyright 2022 Broadcom Ltd +# +obj- += dummy.o diff --git a/board/broadcom/bcmbca/Kconfig b/board/broadcom/bcmbca/Kconfig new file mode 100644 index 0000000000..63d4252da6 --- /dev/null +++ b/board/broadcom/bcmbca/Kconfig @@ -0,0 +1,17 @@ +# 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 diff --git a/board/broadcom/bcmbca/Makefile b/board/broadcom/bcmbca/Makefile new file mode 100644 index 0000000000..8f06c3111b --- /dev/null +++ b/board/broadcom/bcmbca/Makefile @@ -0,0 +1,5 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# (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 0000000000..4aa1d659d5 --- /dev/null +++ b/board/broadcom/bcmbca/board.c @@ -0,0 +1,35 @@ +// SPDX-License-Identifier: GPL-2.0+ +/*
- (C) Copyright 2022 Broadcom Ltd.
- */
+#include <common.h> +#include <fdtdec.h>
+int board_init(void) +{
- return 0;
+}
+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;
+}
+void reset_cpu(ulong addr) +{ +} diff --git a/configs/bcm947622_defconfig b/configs/bcm947622_defconfig new file mode 100644 index 0000000000..c8d14820af --- /dev/null +++ b/configs/bcm947622_defconfig @@ -0,0 +1,18 @@ +CONFIG_ARM=y +CONFIG_ARCH_BCMBCA=y +CONFIG_SYS_TEXT_BASE=0x10000000 +CONFIG_SYS_MALLOC_LEN=0x2000000 +CONFIG_SYS_MALLOC_F_LEN=0x8000 +CONFIG_BCM47622=y +CONFIG_TARGET_BCM947622=y +CONFIG_NR_DRAM_BANKS=1 +CONFIG_DEFAULT_DEVICE_TREE="bcm947622" +CONFIG_IDENT_STRING=" Broadcom BCM47622" +CONFIG_ENV_VARS_UBOOT_CONFIG=y +CONFIG_SYS_LOAD_ADDR=0x10000000 +CONFIG_OF_STDOUT_VIA_ALIAS=y +CONFIG_DISPLAY_BOARDINFO_LATE=y +CONFIG_HUSH_PARSER=y +CONFIG_CMD_CACHE=y +CONFIG_OF_EMBED=y +CONFIG_CLK=y diff --git a/include/configs/bcm947622.h b/include/configs/bcm947622.h new file mode 100644 index 0000000000..7c80e88be0 --- /dev/null +++ b/include/configs/bcm947622.h @@ -0,0 +1,21 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/*
- (C) Copyright 2022 Broadcom Ltd.
- */
+#ifndef __BCM947622_H +#define __BCM947622_H +#include <linux/sizes.h>
+#define CONFIG_SYS_MAXARGS 64 +#define CONFIG_SYS_BOOTM_LEN (32 * 1024 * 1024)
+/* UART */ +#define CONFIG_SYS_BAUDRATE_TABLE { 115200 }
+#define CONFIG_SYS_SDRAM_BASE 0x00000000
+#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_TEXT_BASE + SZ_16M)
+#define COUNTER_FREQUENCY 50000000 +#endif

On 3/24/22 18:13, Andre Przywara wrote:
On Wed, 23 Mar 2022 19:03:48 -0700 William Zhang william.zhang@broadcom.com wrote:
Hi,
This is the initial support for Broadcom's ARM-based 47622 SOC.
In this change, our first SOC is an armv7 platform called 47622. The initial support includes a bare-bone implementation and dts with ARM PL011 uart.
As Tom said, you need to run the DT through the kernel review first. To maybe save you one round there, see below my comments.
Yes we are working on that.
The SOC-specific code resides in arch/arm/mach-bcmbca/<soc> and board related code is in board/broadcom/bcmba.
The u-boot image can be loaded from flash or network to the entry point address in the memory and boot from there.
Signed-off-by: William Zhang william.zhang@broadcom.com Signed-off-by: Kursad Oney kursad.oney@broadcom.com Signed-off-by: Anand Gore anand.gore@broadcom.com
MAINTAINERS | 11 ++++++++ arch/arm/Kconfig | 7 ++++++ arch/arm/Makefile | 1 + arch/arm/dts/Makefile | 3 +++ arch/arm/dts/bcm47622.dtsi | 25 ++++++++++++++++++ arch/arm/dts/bcm947622.dts | 31 +++++++++++++++++++++++ arch/arm/mach-bcmbca/Kconfig | 17 +++++++++++++ arch/arm/mach-bcmbca/Makefile | 6 +++++ arch/arm/mach-bcmbca/bcm47622/Kconfig | 17 +++++++++++++ arch/arm/mach-bcmbca/bcm47622/Makefile | 5 ++++ board/broadcom/bcmbca/Kconfig | 17 +++++++++++++ board/broadcom/bcmbca/Makefile | 5 ++++ board/broadcom/bcmbca/board.c | 35 ++++++++++++++++++++++++++ configs/bcm947622_defconfig | 18 +++++++++++++ include/configs/bcm947622.h | 21 ++++++++++++++++ 15 files changed, 219 insertions(+) create mode 100644 arch/arm/dts/bcm47622.dtsi create mode 100644 arch/arm/dts/bcm947622.dts create mode 100644 arch/arm/mach-bcmbca/Kconfig create mode 100644 arch/arm/mach-bcmbca/Makefile create mode 100644 arch/arm/mach-bcmbca/bcm47622/Kconfig create mode 100644 arch/arm/mach-bcmbca/bcm47622/Makefile create mode 100644 board/broadcom/bcmbca/Kconfig create mode 100644 board/broadcom/bcmbca/Makefile create mode 100644 board/broadcom/bcmbca/board.c create mode 100644 configs/bcm947622_defconfig create mode 100644 include/configs/bcm947622.h
diff --git a/MAINTAINERS b/MAINTAINERS index 96582fc677..ef4a9b04e8 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -195,6 +195,17 @@ F: drivers/pinctrl/broadcom/ F: configs/rpi_* T: git https://source.denx.de/u-boot/custodians/u-boot-arm.git
+ARM BROADCOM BCMBCA +M: Anand Gore anand.gore@broadcom.com +M: William Zhang william.zhang@broadcom.com +M: Kursad Oney kursad.oney@broadcom.com +M: Joel Peshkin joel.peshkin@broadcom.com +S: Maintained +F: arch/arm/mach-bcmbca/ +F: board/broadcom/bcmbca/ +F: configs/bcm947622_defconfig +F: include/configs/bcm947622.h
- ARM BROADCOM BCMSTB M: Thomas Fitzsimmons fitzsim@fitzsim.org S: Maintained
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 4567c183fb..9a75d2e6bb 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -641,6 +641,11 @@ config ARCH_BCMSTB This enables support for Broadcom ARM-based set-top box chipsets, including the 7445 family of chips.
+config ARCH_BCMBCA
- bool "Broadcom broadband chip family"
- select DM
- select OF_CONTROL
- config TARGET_VEXPRESS_CA9X4 bool "Support vexpress_ca9x4" select CPU_V7A
@@ -2092,6 +2097,8 @@ source "arch/arm/mach-at91/Kconfig"
source "arch/arm/mach-bcm283x/Kconfig"
+source "arch/arm/mach-bcmbca/Kconfig"
source "arch/arm/mach-bcmstb/Kconfig"
source "arch/arm/mach-davinci/Kconfig"
diff --git a/arch/arm/Makefile b/arch/arm/Makefile index ad757e982e..0fd127e0e7 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -59,6 +59,7 @@ machine-$(CONFIG_ARCH_APPLE) += apple machine-$(CONFIG_ARCH_ASPEED) += aspeed machine-$(CONFIG_ARCH_AT91) += at91 machine-$(CONFIG_ARCH_BCM283X) += bcm283x +machine-$(CONFIG_ARCH_BCMBCA) += bcmbca machine-$(CONFIG_ARCH_BCMSTB) += bcmstb machine-$(CONFIG_ARCH_DAVINCI) += davinci machine-$(CONFIG_ARCH_EXYNOS) += exynos diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 644ba961a2..448347d278 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -1112,6 +1112,9 @@ dtb-$(CONFIG_TARGET_BCMNS3) += ns3-board.dtb
dtb-$(CONFIG_ARCH_BCMSTB) += bcm7xxx.dtb
+dtb-$(CONFIG_BCM47622) += \
- bcm947622.dtb
- dtb-$(CONFIG_ASPEED_AST2500) += ast2500-evb.dtb dtb-$(CONFIG_ASPEED_AST2600) += ast2600-evb.dtb
diff --git a/arch/arm/dts/bcm47622.dtsi b/arch/arm/dts/bcm47622.dtsi new file mode 100644 index 0000000000..1fe05daa67 --- /dev/null +++ b/arch/arm/dts/bcm47622.dtsi @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: GPL-2.0+ +/*
- Copyright 2019 Broadcom Ltd.
- */
+#include "skeleton.dtsi"
skeleton is not used anymore in the kernel.
+/ {
- compatible = "brcm,bcm47622";
- #address-cells = <0x1>;
- #size-cells = <0x1>;
Just use decimals: ... = <1>;
- ubus@ff800000 {
just: bus@ff800000 {
Actually not sure you need that at all. Are there going to be more devices later?
There will be more devices under this peripheral bus. I will rename it as periph.
compatible = "simple-bus";
#address-cells = <0x1>;
#size-cells = <0x1>;
uart0: serial@ff812000 {
compatible = "arm,pl011", "arm,primecell";
reg = <0xff812000 0x1000>;
clock = <50000000>;
This is not an official property. Please use a fixed-clock and the clocks property.
In general, once you have those files in the kernel tree, run your DT through "make dtbs_check". This will report a lot of unrelated failures initially, so ignore the first run, "touch" your .dts file, then re-run.
If this SoC contains Cortex-A7 cores, then please also add the GIC, arch timer and CPU nodes, for basic functionality.
Thanks for the feedbacks Andre! Will address all your comments in the dts we submit to kernel upstream.
Cheers, Andre
status = "disabled";
};
- };
+}; diff --git a/arch/arm/dts/bcm947622.dts b/arch/arm/dts/bcm947622.dts new file mode 100644 index 0000000000..e241c4ec56 --- /dev/null +++ b/arch/arm/dts/bcm947622.dts @@ -0,0 +1,31 @@ +// SPDX-License-Identifier: GPL-2.0 +/*
- Copyright 2019 Broadcom Ltd.
- */
+/dts-v1/;
+#include "bcm47622.dtsi"
+/ {
- model = "Broadcom bcm947622";
- compatible = "broadcom,bcm947622", "brcm,bcm947622";
- aliases {
serial0 = &uart0;
- };
- chosen {
stdout-path = "serial0:115200n8";
- };
- memory {
device_type = "memory";
reg = <0x0 0x08000000>;
- };
+};
+&uart0 {
- status = "okay";
+};
diff --git a/arch/arm/mach-bcmbca/Kconfig b/arch/arm/mach-bcmbca/Kconfig new file mode 100644 index 0000000000..2d49380f87 --- /dev/null +++ b/arch/arm/mach-bcmbca/Kconfig @@ -0,0 +1,17 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# (C) Copyright 2022 Broadcom Ltd +#
+if ARCH_BCMBCA
+config BCM47622
- bool "Support for Broadcom 47622 Family"
- select SYS_ARCH_TIMER
- select CPU_V7A
- select DM_SERIAL
- select PL01X_SERIAL
+endif
+source "arch/arm/mach-bcmbca/bcm47622/Kconfig" diff --git a/arch/arm/mach-bcmbca/Makefile b/arch/arm/mach-bcmbca/Makefile new file mode 100644 index 0000000000..072d4ea7b5 --- /dev/null +++ b/arch/arm/mach-bcmbca/Makefile @@ -0,0 +1,6 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# (C) Copyright 2022 Broadcom Ltd +#
+obj-$(CONFIG_BCM47622) += bcm47622/ diff --git a/arch/arm/mach-bcmbca/bcm47622/Kconfig b/arch/arm/mach-bcmbca/bcm47622/Kconfig new file mode 100644 index 0000000000..bce30892e3 --- /dev/null +++ b/arch/arm/mach-bcmbca/bcm47622/Kconfig @@ -0,0 +1,17 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# (C) Copyright 2022 Broadcom Ltd +#
+if BCM47622
+config TARGET_BCM947622
- bool "Broadcom 47622 Reference Board"
- depends on ARCH_BCMBCA
+config SYS_SOC
- default "bcm47622"
+source "board/broadcom/bcmbca/Kconfig"
+endif diff --git a/arch/arm/mach-bcmbca/bcm47622/Makefile b/arch/arm/mach-bcmbca/bcm47622/Makefile new file mode 100644 index 0000000000..beb979af75 --- /dev/null +++ b/arch/arm/mach-bcmbca/bcm47622/Makefile @@ -0,0 +1,5 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# (C) Copyright 2022 Broadcom Ltd +# +obj- += dummy.o diff --git a/board/broadcom/bcmbca/Kconfig b/board/broadcom/bcmbca/Kconfig new file mode 100644 index 0000000000..63d4252da6 --- /dev/null +++ b/board/broadcom/bcmbca/Kconfig @@ -0,0 +1,17 @@ +# 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 diff --git a/board/broadcom/bcmbca/Makefile b/board/broadcom/bcmbca/Makefile new file mode 100644 index 0000000000..8f06c3111b --- /dev/null +++ b/board/broadcom/bcmbca/Makefile @@ -0,0 +1,5 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# (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 0000000000..4aa1d659d5 --- /dev/null +++ b/board/broadcom/bcmbca/board.c @@ -0,0 +1,35 @@ +// SPDX-License-Identifier: GPL-2.0+ +/*
- (C) Copyright 2022 Broadcom Ltd.
- */
+#include <common.h> +#include <fdtdec.h>
+int board_init(void) +{
- return 0;
+}
+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;
+}
+void reset_cpu(ulong addr) +{ +} diff --git a/configs/bcm947622_defconfig b/configs/bcm947622_defconfig new file mode 100644 index 0000000000..c8d14820af --- /dev/null +++ b/configs/bcm947622_defconfig @@ -0,0 +1,18 @@ +CONFIG_ARM=y +CONFIG_ARCH_BCMBCA=y +CONFIG_SYS_TEXT_BASE=0x10000000 +CONFIG_SYS_MALLOC_LEN=0x2000000 +CONFIG_SYS_MALLOC_F_LEN=0x8000 +CONFIG_BCM47622=y +CONFIG_TARGET_BCM947622=y +CONFIG_NR_DRAM_BANKS=1 +CONFIG_DEFAULT_DEVICE_TREE="bcm947622" +CONFIG_IDENT_STRING=" Broadcom BCM47622" +CONFIG_ENV_VARS_UBOOT_CONFIG=y +CONFIG_SYS_LOAD_ADDR=0x10000000 +CONFIG_OF_STDOUT_VIA_ALIAS=y +CONFIG_DISPLAY_BOARDINFO_LATE=y +CONFIG_HUSH_PARSER=y +CONFIG_CMD_CACHE=y +CONFIG_OF_EMBED=y +CONFIG_CLK=y diff --git a/include/configs/bcm947622.h b/include/configs/bcm947622.h new file mode 100644 index 0000000000..7c80e88be0 --- /dev/null +++ b/include/configs/bcm947622.h @@ -0,0 +1,21 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/*
- (C) Copyright 2022 Broadcom Ltd.
- */
+#ifndef __BCM947622_H +#define __BCM947622_H +#include <linux/sizes.h>
+#define CONFIG_SYS_MAXARGS 64 +#define CONFIG_SYS_BOOTM_LEN (32 * 1024 * 1024)
+/* UART */ +#define CONFIG_SYS_BAUDRATE_TABLE { 115200 }
+#define CONFIG_SYS_SDRAM_BASE 0x00000000
+#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_TEXT_BASE + SZ_16M)
+#define COUNTER_FREQUENCY 50000000 +#endif
participants (3)
-
Andre Przywara
-
Tom Rini
-
William Zhang