All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/1] arm: bcmbca: introduce the bcmbca architecture and 47622 SOC
@ 2022-03-24  2:03 William Zhang
  2022-03-24  2:03 ` [PATCH 1/1] " William Zhang
  0 siblings, 1 reply; 9+ messages in thread
From: William Zhang @ 2022-03-24  2:03 UTC (permalink / raw)
  To: U-Boot Mailing List
  Cc: William Zhang, Anand Gore, Andre Przywara, Bharat Gooty,
	Christian Hewitt, Fabio Estevam, Jagan Teki, Joel Peshkin,
	Kever Yang, Kursad Oney, Peter Robinson, Rayagonda Kokatanur,
	Simon Glass, Tim Harvey, Tom Rini, Ying-Chun Liu (PaulLiu)

[-- Attachment #1: Type: text/plain, Size: 1718 bytes --]

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

-- 
2.17.1


[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4212 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 1/1] arm: bcmbca: introduce the bcmbca architecture and 47622 SOC
  2022-03-24  2:03 [PATCH 0/1] arm: bcmbca: introduce the bcmbca architecture and 47622 SOC William Zhang
@ 2022-03-24  2:03 ` William Zhang
  2022-03-24  3:08   ` Tom Rini
  2022-03-25  1:13   ` Andre Przywara
  0 siblings, 2 replies; 9+ messages in thread
From: William Zhang @ 2022-03-24  2:03 UTC (permalink / raw)
  To: U-Boot Mailing List
  Cc: William Zhang, Kursad Oney, Anand Gore, Andre Przywara,
	Bharat Gooty, Christian Hewitt, Fabio Estevam, Jagan Teki,
	Joel Peshkin, Kever Yang, Peter Robinson, Rayagonda Kokatanur,
	Simon Glass, Tim Harvey, Tom Rini, Ying-Chun Liu (PaulLiu)

[-- Attachment #1: Type: text/plain, Size: 9878 bytes --]

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
-- 
2.17.1


[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4212 bytes --]

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/1] arm: bcmbca: introduce the bcmbca architecture and 47622 SOC
  2022-03-24  2:03 ` [PATCH 1/1] " William Zhang
@ 2022-03-24  3:08   ` Tom Rini
  2022-03-24  4:21     ` William Zhang
  2022-03-24 18:53     ` William Zhang
  2022-03-25  1:13   ` Andre Przywara
  1 sibling, 2 replies; 9+ messages in thread
From: Tom Rini @ 2022-03-24  3:08 UTC (permalink / raw)
  To: William Zhang
  Cc: U-Boot Mailing List, Kursad Oney, Anand Gore, Andre Przywara,
	Bharat Gooty, Christian Hewitt, Fabio Estevam, Jagan Teki,
	Joel Peshkin, Kever Yang, Peter Robinson, Rayagonda Kokatanur,
	Simon Glass, Tim Harvey, Ying-Chun Liu (PaulLiu)

[-- Attachment #1: Type: text/plain, Size: 1171 bytes --]

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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/1] arm: bcmbca: introduce the bcmbca architecture and 47622 SOC
  2022-03-24  3:08   ` Tom Rini
@ 2022-03-24  4:21     ` William Zhang
  2022-03-24 18:53     ` William Zhang
  1 sibling, 0 replies; 9+ messages in thread
From: William Zhang @ 2022-03-24  4:21 UTC (permalink / raw)
  To: Tom Rini
  Cc: U-Boot Mailing List, Kursad Oney, Anand Gore, Andre Przywara,
	Bharat Gooty, Christian Hewitt, Fabio Estevam, Jagan Teki,
	Joel Peshkin, Kever Yang, Peter Robinson, Rayagonda Kokatanur,
	Simon Glass, Tim Harvey, Ying-Chun Liu (PaulLiu)


[-- Attachment #1.1: Type: text/plain, Size: 1347 bytes --]

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
>

[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4212 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/1] arm: bcmbca: introduce the bcmbca architecture and 47622 SOC
  2022-03-24  3:08   ` Tom Rini
  2022-03-24  4:21     ` William Zhang
@ 2022-03-24 18:53     ` William Zhang
  2022-03-24 18:58       ` Tom Rini
  1 sibling, 1 reply; 9+ messages in thread
From: William Zhang @ 2022-03-24 18:53 UTC (permalink / raw)
  To: Tom Rini
  Cc: U-Boot Mailing List, Kursad Oney, Anand Gore, Andre Przywara,
	Bharat Gooty, Christian Hewitt, Fabio Estevam, Jagan Teki,
	Joel Peshkin, Kever Yang, Peter Robinson, Rayagonda Kokatanur,
	Simon Glass, Tim Harvey, Ying-Chun Liu (PaulLiu)

[-- Attachment #1: Type: text/plain, Size: 1408 bytes --]

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

[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4212 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/1] arm: bcmbca: introduce the bcmbca architecture and 47622 SOC
  2022-03-24 18:53     ` William Zhang
@ 2022-03-24 18:58       ` Tom Rini
  2022-03-24 21:12         ` William Zhang
  0 siblings, 1 reply; 9+ messages in thread
From: Tom Rini @ 2022-03-24 18:58 UTC (permalink / raw)
  To: William Zhang
  Cc: U-Boot Mailing List, Kursad Oney, Anand Gore, Andre Przywara,
	Bharat Gooty, Christian Hewitt, Fabio Estevam, Jagan Teki,
	Joel Peshkin, Kever Yang, Peter Robinson, Rayagonda Kokatanur,
	Simon Glass, Tim Harvey, Ying-Chun Liu (PaulLiu)

[-- Attachment #1: Type: text/plain, Size: 1760 bytes --]

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.

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/1] arm: bcmbca: introduce the bcmbca architecture and 47622 SOC
  2022-03-24 18:58       ` Tom Rini
@ 2022-03-24 21:12         ` William Zhang
  0 siblings, 0 replies; 9+ messages in thread
From: William Zhang @ 2022-03-24 21:12 UTC (permalink / raw)
  To: Tom Rini
  Cc: U-Boot Mailing List, Kursad Oney, Anand Gore, Andre Przywara,
	Bharat Gooty, Christian Hewitt, Fabio Estevam, Jagan Teki,
	Joel Peshkin, Kever Yang, Peter Robinson, Rayagonda Kokatanur,
	Simon Glass, Tim Harvey, Ying-Chun Liu (PaulLiu)

[-- Attachment #1: Type: text/plain, Size: 1795 bytes --]


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.

[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4212 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/1] arm: bcmbca: introduce the bcmbca architecture and 47622 SOC
  2022-03-24  2:03 ` [PATCH 1/1] " William Zhang
  2022-03-24  3:08   ` Tom Rini
@ 2022-03-25  1:13   ` Andre Przywara
  2022-03-25  4:52     ` William Zhang
  1 sibling, 1 reply; 9+ messages in thread
From: Andre Przywara @ 2022-03-25  1:13 UTC (permalink / raw)
  To: William Zhang
  Cc: U-Boot Mailing List, Kursad Oney, Anand Gore, Bharat Gooty,
	Christian Hewitt, Fabio Estevam, Jagan Teki, Joel Peshkin,
	Kever Yang, Peter Robinson, Rayagonda Kokatanur, Simon Glass,
	Tim Harvey, Tom Rini, Ying-Chun Liu (PaulLiu)

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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/1] arm: bcmbca: introduce the bcmbca architecture and 47622 SOC
  2022-03-25  1:13   ` Andre Przywara
@ 2022-03-25  4:52     ` William Zhang
  0 siblings, 0 replies; 9+ messages in thread
From: William Zhang @ 2022-03-25  4:52 UTC (permalink / raw)
  To: Andre Przywara
  Cc: U-Boot Mailing List, Kursad Oney, Anand Gore, Bharat Gooty,
	Christian Hewitt, Fabio Estevam, Jagan Teki, Joel Peshkin,
	Kever Yang, Peter Robinson, Rayagonda Kokatanur, Simon Glass,
	Tim Harvey, Tom Rini, Ying-Chun Liu (PaulLiu)

[-- Attachment #1: Type: text/plain, Size: 12237 bytes --]



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
> 

[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4212 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2022-03-25  4:52 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-24  2:03 [PATCH 0/1] arm: bcmbca: introduce the bcmbca architecture and 47622 SOC William Zhang
2022-03-24  2:03 ` [PATCH 1/1] " William Zhang
2022-03-24  3:08   ` Tom Rini
2022-03-24  4:21     ` William Zhang
2022-03-24 18:53     ` William Zhang
2022-03-24 18:58       ` Tom Rini
2022-03-24 21:12         ` William Zhang
2022-03-25  1:13   ` Andre Przywara
2022-03-25  4:52     ` William Zhang

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.