devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] arm64: bcmbca: add bcm63158 soc support
@ 2022-05-14 23:27 William Zhang
  2022-05-14 23:27 ` [PATCH 1/5] dt-bindings: arm64: add BCM63158 soc to binding document William Zhang
  2022-05-14 23:27 ` [PATCH 3/5] arm64: dts: add dts files for bcmbca soc 63158 William Zhang
  0 siblings, 2 replies; 8+ messages in thread
From: William Zhang @ 2022-05-14 23:27 UTC (permalink / raw)
  To: Linux ARM List, Broadcom Kernel List
  Cc: kursad.oney, florian.fainelli, joel.peshkin, tomer.yacoby,
	samyon.furman, philippe.reynes, anand.gore, dan.beygelman,
	William Zhang, Biju Das, Bjorn Andersson, Catalin Marinas,
	Dmitry Baryshkov, Florian Fainelli, Geert Uytterhoeven,
	Krzysztof Kozlowski, Krzysztof Kozlowski, Marcel Ziswiler,
	Nicolas Saenz Julienne, Rob Herring, Shawn Guo, Stefan Wahren,
	Vinod Koul, Will Deacon, devicetree, linux-kernel

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

This change adds the basic support for Broadcom's ARM64 based
Broadband SoC BCM63158. The initial support includes a bare-bone dts
for quad core ARM A53 with a ARM PL011 uart. Linux kernel image can be
built with the ARM64 defconfig.

William Zhang (5):
  dt-bindings: arm64: add BCM63158 soc to binding document
  arm64: bcmbca: add arch bcmbca machine entry
  arm64: dts: add dts files for bcmbca soc 63158
  MAINTAINERS: add bcm63158 to bcmbca arch entry
  arm64: defconfig: enable bcmbca soc support

 .../bindings/arm/bcm/brcm,bcmbca.yaml         |   7 +
 MAINTAINERS                                   |   2 +
 arch/arm64/Kconfig.platforms                  |   9 ++
 arch/arm64/boot/dts/broadcom/Makefile         |   1 +
 arch/arm64/boot/dts/broadcom/bcmbca/Makefile  |   2 +
 .../boot/dts/broadcom/bcmbca/bcm63158.dtsi    | 128 ++++++++++++++++++
 .../boot/dts/broadcom/bcmbca/bcm963158.dts    |  30 ++++
 arch/arm64/configs/defconfig                  |   1 +
 8 files changed, 180 insertions(+)
 create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/Makefile
 create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/bcm63158.dtsi
 create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/bcm963158.dts

-- 
2.17.1


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

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

* [PATCH 1/5] dt-bindings: arm64: add BCM63158 soc to binding document
  2022-05-14 23:27 [PATCH 0/5] arm64: bcmbca: add bcm63158 soc support William Zhang
@ 2022-05-14 23:27 ` William Zhang
  2022-05-16 16:06   ` Rob Herring
                     ` (2 more replies)
  2022-05-14 23:27 ` [PATCH 3/5] arm64: dts: add dts files for bcmbca soc 63158 William Zhang
  1 sibling, 3 replies; 8+ messages in thread
From: William Zhang @ 2022-05-14 23:27 UTC (permalink / raw)
  To: Linux ARM List, Broadcom Kernel List
  Cc: kursad.oney, florian.fainelli, joel.peshkin, tomer.yacoby,
	samyon.furman, philippe.reynes, anand.gore, dan.beygelman,
	William Zhang, Krzysztof Kozlowski, Rob Herring, devicetree,
	linux-kernel

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

Add BCM63158 SOC device tree description to bcmbca binding document.

Signed-off-by: William Zhang <william.zhang@broadcom.com>
---

 Documentation/devicetree/bindings/arm/bcm/brcm,bcmbca.yaml | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/bcm/brcm,bcmbca.yaml b/Documentation/devicetree/bindings/arm/bcm/brcm,bcmbca.yaml
index 5fb455840417..4e3a1a5391f6 100644
--- a/Documentation/devicetree/bindings/arm/bcm/brcm,bcmbca.yaml
+++ b/Documentation/devicetree/bindings/arm/bcm/brcm,bcmbca.yaml
@@ -28,6 +28,13 @@ properties:
           - const: brcm,bcm47622
           - const: brcm,bcmbca
 
+      - description: BCM63158 based boards
+        items:
+          - enum:
+              - brcm,bcm963158
+          - const: brcm,bcm63158
+          - const: brcm,bcmbca
+
 additionalProperties: true
 
 ...
-- 
2.17.1


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

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

* [PATCH 3/5] arm64: dts: add dts files for bcmbca soc 63158
  2022-05-14 23:27 [PATCH 0/5] arm64: bcmbca: add bcm63158 soc support William Zhang
  2022-05-14 23:27 ` [PATCH 1/5] dt-bindings: arm64: add BCM63158 soc to binding document William Zhang
@ 2022-05-14 23:27 ` William Zhang
  2022-05-18 20:05   ` Florian Fainelli
  1 sibling, 1 reply; 8+ messages in thread
From: William Zhang @ 2022-05-14 23:27 UTC (permalink / raw)
  To: Linux ARM List, Broadcom Kernel List
  Cc: kursad.oney, florian.fainelli, joel.peshkin, tomer.yacoby,
	samyon.furman, philippe.reynes, anand.gore, dan.beygelman,
	William Zhang, Florian Fainelli, Krzysztof Kozlowski,
	Nicolas Saenz Julienne, Rob Herring, Stefan Wahren, devicetree,
	linux-kernel

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

Add dts for ARMv8 based broadband SoC BCM63158. bcm63158.dtsi is the
SoC description dts header and bcm963158.dts is a simple dts file for
Broadcom BCM963158 Reference board that only enable the UART port.

Signed-off-by: William Zhang <william.zhang@broadcom.com>
---

 arch/arm64/boot/dts/broadcom/Makefile         |   1 +
 arch/arm64/boot/dts/broadcom/bcmbca/Makefile  |   2 +
 .../boot/dts/broadcom/bcmbca/bcm63158.dtsi    | 128 ++++++++++++++++++
 .../boot/dts/broadcom/bcmbca/bcm963158.dts    |  30 ++++
 4 files changed, 161 insertions(+)
 create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/Makefile
 create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/bcm63158.dtsi
 create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/bcm963158.dts

diff --git a/arch/arm64/boot/dts/broadcom/Makefile b/arch/arm64/boot/dts/broadcom/Makefile
index 5082fcd1fea5..e8584d3b698f 100644
--- a/arch/arm64/boot/dts/broadcom/Makefile
+++ b/arch/arm64/boot/dts/broadcom/Makefile
@@ -9,5 +9,6 @@ dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-400.dtb \
 			      bcm2837-rpi-zero-2-w.dtb
 
 subdir-y	+= bcm4908
+subdir-y	+= bcmbca
 subdir-y	+= northstar2
 subdir-y	+= stingray
diff --git a/arch/arm64/boot/dts/broadcom/bcmbca/Makefile b/arch/arm64/boot/dts/broadcom/bcmbca/Makefile
new file mode 100644
index 000000000000..d5f89245336c
--- /dev/null
+++ b/arch/arm64/boot/dts/broadcom/bcmbca/Makefile
@@ -0,0 +1,2 @@
+# SPDX-License-Identifier: GPL-2.0
+dtb-$(CONFIG_ARCH_BCMBCA) += bcm963158.dtb
diff --git a/arch/arm64/boot/dts/broadcom/bcmbca/bcm63158.dtsi b/arch/arm64/boot/dts/broadcom/bcmbca/bcm63158.dtsi
new file mode 100644
index 000000000000..cfa235d99a32
--- /dev/null
+++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm63158.dtsi
@@ -0,0 +1,128 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2022 Broadcom Ltd.
+ */
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+	compatible = "brcm,bcm63158", "brcm,bcmbca";
+	#address-cells = <2>;
+	#size-cells = <2>;
+
+	interrupt-parent = <&gic>;
+
+	cpus {
+		#address-cells = <2>;
+		#size-cells = <0>;
+
+		B53_0: cpu@0 {
+			compatible = "brcm,brahma-b53";
+			device_type = "cpu";
+			reg = <0x0 0x0>;
+			next-level-cache = <&L2_0>;
+			enable-method = "psci";
+		};
+
+		B53_1: cpu@1 {
+			compatible = "brcm,brahma-b53";
+			device_type = "cpu";
+			reg = <0x0 0x1>;
+			next-level-cache = <&L2_0>;
+			enable-method = "psci";
+		};
+
+		B53_2: cpu@2 {
+			compatible = "brcm,brahma-b53";
+			device_type = "cpu";
+			reg = <0x0 0x2>;
+			next-level-cache = <&L2_0>;
+			enable-method = "psci";
+		};
+
+		B53_3: cpu@3 {
+			compatible = "brcm,brahma-b53";
+			device_type = "cpu";
+			reg = <0x0 0x3>;
+			next-level-cache = <&L2_0>;
+			enable-method = "psci";
+		};
+
+		L2_0: l2-cache0 {
+			compatible = "cache";
+		};
+	};
+
+	timer {
+		compatible = "arm,armv8-timer";
+		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+			<GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+			<GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+			<GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
+	};
+
+	pmu: pmu {
+		compatible = "arm,armv8-pmuv3";
+		interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
+			<GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
+			<GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
+			<GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
+		interrupt-affinity = <&B53_0>, <&B53_1>,
+			<&B53_2>, <&B53_3>;
+	};
+
+	clocks: clocks {
+		periph_clk: periph-clk {
+			compatible = "fixed-clock";
+			#clock-cells = <0>;
+			clock-frequency = <200000000>;
+		};
+		uart_clk: uart-clk {
+			compatible = "fixed-factor-clock";
+			#clock-cells = <0>;
+			clocks = <&periph_clk>;
+			clock-div = <4>;
+			clock-mult = <1>;
+		};
+	};
+
+	psci {
+		compatible = "arm,psci-0.2";
+		method = "smc";
+		cpu_off = <1>;
+		cpu_on = <2>;
+	};
+
+	axi@81000000 {
+		compatible = "simple-bus";
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges = <0x0 0x0 0x0 0x81000000 0x0 0x4000>;
+
+		gic: interrupt-controller@1000 {
+			compatible = "arm,gic-400";
+			#interrupt-cells = <3>;
+			#address-cells = <0>;
+			interrupt-controller;
+			reg = <0x0 0x1000 0x0 0x1000>,
+				<0x0 0x2000 0x0 0x2000>;
+		};
+	};
+
+	bus@ff800000 {
+		compatible = "simple-bus";
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges = <0x0 0x0 0x0 0xff800000 0x0 0x800000>;
+
+		uart0: serial@12000 {
+			compatible = "arm,pl011", "arm,primecell";
+			reg = <0x0 0x12000 0x0 0x1000>;
+			interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&uart_clk>, <&uart_clk>;
+			clock-names = "uartclk", "apb_pclk";
+			status = "disabled";
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/broadcom/bcmbca/bcm963158.dts b/arch/arm64/boot/dts/broadcom/bcmbca/bcm963158.dts
new file mode 100644
index 000000000000..eba07e0b1ca6
--- /dev/null
+++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm963158.dts
@@ -0,0 +1,30 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2022 Broadcom Ltd.
+ */
+
+/dts-v1/;
+
+#include "bcm63158.dtsi"
+
+/ {
+	model = "Broadcom BCM963158 Reference Board";
+	compatible = "brcm,bcm963158", "brcm,bcm63158", "brcm,bcmbca";
+
+	aliases {
+		serial0 = &uart0;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+
+	memory@0 {
+		device_type = "memory";
+		reg = <0x0 0x0 0x0 0x08000000>;
+	};
+};
+
+&uart0 {
+	status = "okay";
+};
-- 
2.17.1


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

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

* Re: [PATCH 1/5] dt-bindings: arm64: add BCM63158 soc to binding document
  2022-05-14 23:27 ` [PATCH 1/5] dt-bindings: arm64: add BCM63158 soc to binding document William Zhang
@ 2022-05-16 16:06   ` Rob Herring
  2022-05-16 17:51     ` William Zhang
  2022-05-17 14:23   ` Rob Herring
  2022-05-18 20:08   ` Florian Fainelli
  2 siblings, 1 reply; 8+ messages in thread
From: Rob Herring @ 2022-05-16 16:06 UTC (permalink / raw)
  To: William Zhang
  Cc: Linux ARM List, Broadcom Kernel List, kursad.oney,
	florian.fainelli, joel.peshkin, tomer.yacoby, samyon.furman,
	philippe.reynes, anand.gore, dan.beygelman, Krzysztof Kozlowski,
	devicetree, linux-kernel

On Sat, May 14, 2022 at 04:27:56PM -0700, William Zhang wrote:
> Add BCM63158 SOC device tree description to bcmbca binding document.
> 
> Signed-off-by: William Zhang <william.zhang@broadcom.com>
> ---
> 
>  Documentation/devicetree/bindings/arm/bcm/brcm,bcmbca.yaml | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/arm/bcm/brcm,bcmbca.yaml b/Documentation/devicetree/bindings/arm/bcm/brcm,bcmbca.yaml
> index 5fb455840417..4e3a1a5391f6 100644
> --- a/Documentation/devicetree/bindings/arm/bcm/brcm,bcmbca.yaml
> +++ b/Documentation/devicetree/bindings/arm/bcm/brcm,bcmbca.yaml
> @@ -28,6 +28,13 @@ properties:
>            - const: brcm,bcm47622
>            - const: brcm,bcmbca
>  
> +      - description: BCM63158 based boards
> +        items:
> +          - enum:
> +              - brcm,bcm963158

bcm963158 is a board?

> +          - const: brcm,bcm63158
> +          - const: brcm,bcmbca
> +
>  additionalProperties: true
>  
>  ...
> -- 
> 2.17.1
> 



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

* Re: [PATCH 1/5] dt-bindings: arm64: add BCM63158 soc to binding document
  2022-05-16 16:06   ` Rob Herring
@ 2022-05-16 17:51     ` William Zhang
  0 siblings, 0 replies; 8+ messages in thread
From: William Zhang @ 2022-05-16 17:51 UTC (permalink / raw)
  To: Rob Herring
  Cc: Linux ARM List, Broadcom Kernel List, kursad.oney,
	florian.fainelli, joel.peshkin, tomer.yacoby, samyon.furman,
	philippe.reynes, anand.gore, dan.beygelman, Krzysztof Kozlowski,
	devicetree, linux-kernel

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

Hi Rob,

On 5/16/22 09:06, Rob Herring wrote:
> On Sat, May 14, 2022 at 04:27:56PM -0700, William Zhang wrote:
>> Add BCM63158 SOC device tree description to bcmbca binding document.
>>
>> Signed-off-by: William Zhang <william.zhang@broadcom.com>
>> ---
>>
>>   Documentation/devicetree/bindings/arm/bcm/brcm,bcmbca.yaml | 7 +++++++
>>   1 file changed, 7 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/arm/bcm/brcm,bcmbca.yaml b/Documentation/devicetree/bindings/arm/bcm/brcm,bcmbca.yaml
>> index 5fb455840417..4e3a1a5391f6 100644
>> --- a/Documentation/devicetree/bindings/arm/bcm/brcm,bcmbca.yaml
>> +++ b/Documentation/devicetree/bindings/arm/bcm/brcm,bcmbca.yaml
>> @@ -28,6 +28,13 @@ properties:
>>             - const: brcm,bcm47622
>>             - const: brcm,bcmbca
>>   
>> +      - description: BCM63158 based boards
>> +        items:
>> +          - enum:
>> +              - brcm,bcm963158
> 
> bcm963158 is a board?
> 
Yes it is the generic board id with only minimum hardware blocks(cpu, 
memory, uart) enabled for all BCM63158 based boards.  Specific board id 
can be added in the future with actual hardware blocks that are used on 
the board.

>> +          - const: brcm,bcm63158
>> +          - const: brcm,bcmbca
>> +
>>   additionalProperties: true
>>   
>>   ...
>> -- 
>> 2.17.1
>>
> 
> 

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

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

* Re: [PATCH 1/5] dt-bindings: arm64: add BCM63158 soc to binding document
  2022-05-14 23:27 ` [PATCH 1/5] dt-bindings: arm64: add BCM63158 soc to binding document William Zhang
  2022-05-16 16:06   ` Rob Herring
@ 2022-05-17 14:23   ` Rob Herring
  2022-05-18 20:08   ` Florian Fainelli
  2 siblings, 0 replies; 8+ messages in thread
From: Rob Herring @ 2022-05-17 14:23 UTC (permalink / raw)
  To: William Zhang
  Cc: devicetree, Rob Herring, kursad.oney, samyon.furman,
	philippe.reynes, Krzysztof Kozlowski, linux-kernel,
	florian.fainelli, Broadcom Kernel List, tomer.yacoby,
	dan.beygelman, Linux ARM List, anand.gore, joel.peshkin

On Sat, 14 May 2022 16:27:56 -0700, William Zhang wrote:
> Add BCM63158 SOC device tree description to bcmbca binding document.
> 
> Signed-off-by: William Zhang <william.zhang@broadcom.com>
> ---
> 
>  Documentation/devicetree/bindings/arm/bcm/brcm,bcmbca.yaml | 7 +++++++
>  1 file changed, 7 insertions(+)
> 

Acked-by: Rob Herring <robh@kernel.org>

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

* Re: [PATCH 3/5] arm64: dts: add dts files for bcmbca soc 63158
  2022-05-14 23:27 ` [PATCH 3/5] arm64: dts: add dts files for bcmbca soc 63158 William Zhang
@ 2022-05-18 20:05   ` Florian Fainelli
  0 siblings, 0 replies; 8+ messages in thread
From: Florian Fainelli @ 2022-05-18 20:05 UTC (permalink / raw)
  To: bcm-kernel-feedback-list, William Zhang, Linux ARM List
  Cc: kursad.oney, florian.fainelli, joel.peshkin, tomer.yacoby,
	samyon.furman, philippe.reynes, anand.gore, dan.beygelman,
	Krzysztof Kozlowski, Nicolas Saenz Julienne, Rob Herring,
	Stefan Wahren, devicetree, linux-kernel

On Sat, 14 May 2022 16:27:58 -0700, William Zhang <william.zhang@broadcom.com> wrote:
> Add dts for ARMv8 based broadband SoC BCM63158. bcm63158.dtsi is the
> SoC description dts header and bcm963158.dts is a simple dts file for
> Broadcom BCM963158 Reference board that only enable the UART port.
> 
> Signed-off-by: William Zhang <william.zhang@broadcom.com>
> ---

Applied to https://github.com/Broadcom/stblinux/commits/devicetree-arm64/next, thanks!
--
Florian

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

* Re: [PATCH 1/5] dt-bindings: arm64: add BCM63158 soc to binding document
  2022-05-14 23:27 ` [PATCH 1/5] dt-bindings: arm64: add BCM63158 soc to binding document William Zhang
  2022-05-16 16:06   ` Rob Herring
  2022-05-17 14:23   ` Rob Herring
@ 2022-05-18 20:08   ` Florian Fainelli
  2 siblings, 0 replies; 8+ messages in thread
From: Florian Fainelli @ 2022-05-18 20:08 UTC (permalink / raw)
  To: William Zhang, Linux ARM List, Broadcom Kernel List
  Cc: kursad.oney, joel.peshkin, tomer.yacoby, samyon.furman,
	philippe.reynes, anand.gore, dan.beygelman, Krzysztof Kozlowski,
	Rob Herring, devicetree, linux-kernel



On 5/14/2022 4:27 PM, William Zhang wrote:
> Add BCM63158 SOC device tree description to bcmbca binding document.
> 
> Signed-off-by: William Zhang <william.zhang@broadcom.com>
> ---

Applied to https://github.com/Broadcom/stblinux/commits/devicetree/next, 
thanks!
-- 
Florian

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

end of thread, other threads:[~2022-05-18 20:08 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-05-14 23:27 [PATCH 0/5] arm64: bcmbca: add bcm63158 soc support William Zhang
2022-05-14 23:27 ` [PATCH 1/5] dt-bindings: arm64: add BCM63158 soc to binding document William Zhang
2022-05-16 16:06   ` Rob Herring
2022-05-16 17:51     ` William Zhang
2022-05-17 14:23   ` Rob Herring
2022-05-18 20:08   ` Florian Fainelli
2022-05-14 23:27 ` [PATCH 3/5] arm64: dts: add dts files for bcmbca soc 63158 William Zhang
2022-05-18 20:05   ` Florian Fainelli

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).