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

2022-06-10 Thread Tom Rini
On Mon, May 09, 2022 at 09:28:02AM -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/ 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 
> Signed-off-by: Kursad Oney 
> Signed-off-by: Anand Gore 
> Reviewed-by: Philippe Reynes 

Applied to u-boot/next, thanks!

-- 
Tom


signature.asc
Description: PGP signature


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

2022-05-11 Thread Philippe REYNES

Hi William,

Le 09/05/2022 à 18:28, William Zhang a écrit :

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/ 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 
Signed-off-by: Kursad Oney 
Signed-off-by: Anand Gore 



Reviewed-by: Philippe Reynes 




---

Changes in v3:
- Remove the CONFIG_SYS_BAUDRATE_TABLE to use the u-boot default table

Changes in v2:
- Updated dts and dtsi files which are accpeted in linux-next upstream
- Changed CONFIG_SYS_TEXT_BASE to 0x0100 from 0x1000 to work
on boards with 256MB or less memory

  MAINTAINERS|  11 +++
  arch/arm/Kconfig   |   7 ++
  arch/arm/Makefile  |   1 +
  arch/arm/dts/Makefile  |   3 +
  arch/arm/dts/bcm47622.dtsi | 126 +
  arch/arm/dts/bcm947622.dts |  30 ++
  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|  18 
  15 files changed, 316 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 56be0bfad00c..96cd85dd1c7a 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 
+M: William Zhang 
+M: Kursad Oney 
+M: Joel Peshkin 
+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 
  S:Maintained
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 57946f61fabe..5e231fc72854 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -712,6 +712,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
@@ -2175,6 +2180,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 ad757e982e37..0fd127e0e7e4 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 ab2d0da192c6..db42475bba1c 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -1132,6 +1132,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 ..c016e12b7372
--- /dev/null
+++ b/arch/arm/dts/bcm47622.dtsi
@@ -0,0 +1,126 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2022 Broadcom Ltd.
+ */
+
+#include 
+#include 
+
+/ {
+   compatible = "brcm,bcm47622", "brcm,bcmbca";
+   #a

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

2022-05-09 Thread William Zhang
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/ 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 
Signed-off-by: Kursad Oney 
Signed-off-by: Anand Gore 

---

Changes in v3:
- Remove the CONFIG_SYS_BAUDRATE_TABLE to use the u-boot default table

Changes in v2:
- Updated dts and dtsi files which are accpeted in linux-next upstream
- Changed CONFIG_SYS_TEXT_BASE to 0x0100 from 0x1000 to work
on boards with 256MB or less memory

 MAINTAINERS|  11 +++
 arch/arm/Kconfig   |   7 ++
 arch/arm/Makefile  |   1 +
 arch/arm/dts/Makefile  |   3 +
 arch/arm/dts/bcm47622.dtsi | 126 +
 arch/arm/dts/bcm947622.dts |  30 ++
 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|  18 
 15 files changed, 316 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 56be0bfad00c..96cd85dd1c7a 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 
+M: William Zhang 
+M: Kursad Oney 
+M: Joel Peshkin 
+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 
 S: Maintained
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 57946f61fabe..5e231fc72854 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -712,6 +712,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
@@ -2175,6 +2180,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 ad757e982e37..0fd127e0e7e4 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 ab2d0da192c6..db42475bba1c 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -1132,6 +1132,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 ..c016e12b7372
--- /dev/null
+++ b/arch/arm/dts/bcm47622.dtsi
@@ -0,0 +1,126 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2022 Broadcom Ltd.
+ */
+
+#include 
+#include 
+
+/ {
+   compatible = "brcm,bcm47622", "brcm,bcmbca";
+   #address-cells = <1>;
+   #size-cells = <1>;
+
+   interrupt-parent = <&gic>;
+
+   cpus {
+   #address-cells = <1>;
+   #size-ce