soc.lore.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 6/7] arm64: Add initial support for Blaize BLZP1600 CB2
@ 2024-04-24 13:33 Niko Pasaloukos
  2024-04-24 15:15 ` Conor Dooley
  0 siblings, 1 reply; 3+ messages in thread
From: Niko Pasaloukos @ 2024-04-24 13:33 UTC (permalink / raw)
  To: linux-arm-kernel, linux-kernel
  Cc: Niko Pasaloukos, James Cowgill, Matt Redfearn, Neil Jones,
	Arnd Bergmann, Olof Johansson, soc, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, devicetree

Adds support for the Blaize CB2 development board based on
BLZP1600 SoC. This consists of a Carrier-Board-2 and a SoM.

The blaize-blzp1600.dtsi is the common part for the SoC,
blaize-blzp1600-som.dtsi is the common part for the SoM and
blaize-blzp1600-cb2.dts is the board specific file.

'make dtbs_check' complains about ['ti,ina3221'] and ['national,lm96163']
which are already upstreamed drivers with no yaml documentation.

Co-developed-by: James Cowgill <james.cowgill@blaize.com>
Signed-off-by: James Cowgill <james.cowgill@blaize.com>
Co-developed-by: Matt Redfearn <matt.redfearn@blaize.com>
Signed-off-by: Matt Redfearn <matt.redfearn@blaize.com>
Co-developed-by: Neil Jones <neil.jones@blaize.com>
Signed-off-by: Neil Jones <neil.jones@blaize.com>
Signed-off-by: Nikolaos Pasaloukos <nikolaos.pasaloukos@blaize.com>
---
 arch/arm64/boot/dts/Makefile                  |   1 +
 arch/arm64/boot/dts/blaize/Makefile           |   2 +
 .../boot/dts/blaize/blaize-blzp1600-cb2.dts   |  84 +++++++
 .../boot/dts/blaize/blaize-blzp1600-som.dtsi  |  23 ++
 .../boot/dts/blaize/blaize-blzp1600.dtsi      | 211 ++++++++++++++++++
 5 files changed, 321 insertions(+)
 create mode 100644 arch/arm64/boot/dts/blaize/Makefile
 create mode 100644 arch/arm64/boot/dts/blaize/blaize-blzp1600-cb2.dts
 create mode 100644 arch/arm64/boot/dts/blaize/blaize-blzp1600-som.dtsi
 create mode 100644 arch/arm64/boot/dts/blaize/blaize-blzp1600.dtsi

diff --git a/arch/arm64/boot/dts/Makefile b/arch/arm64/boot/dts/Makefile
index 30dd6347a929..601b6381ea0c 100644
--- a/arch/arm64/boot/dts/Makefile
+++ b/arch/arm64/boot/dts/Makefile
@@ -9,6 +9,7 @@ subdir-y += apm
 subdir-y += apple
 subdir-y += arm
 subdir-y += bitmain
+subdir-y += blaize
 subdir-y += broadcom
 subdir-y += cavium
 subdir-y += exynos
diff --git a/arch/arm64/boot/dts/blaize/Makefile b/arch/arm64/boot/dts/blaize/Makefile
new file mode 100644
index 000000000000..595e7a350300
--- /dev/null
+++ b/arch/arm64/boot/dts/blaize/Makefile
@@ -0,0 +1,2 @@
+# SPDX-License-Identifier: GPL-2.0
+dtb-$(CONFIG_ARCH_BLAIZE_BLZP1600) += blaize-blzp1600-cb2.dtb
diff --git a/arch/arm64/boot/dts/blaize/blaize-blzp1600-cb2.dts b/arch/arm64/boot/dts/blaize/blaize-blzp1600-cb2.dts
new file mode 100644
index 000000000000..0bdec7e81380
--- /dev/null
+++ b/arch/arm64/boot/dts/blaize/blaize-blzp1600-cb2.dts
@@ -0,0 +1,84 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2023 Blaize, Inc. All rights reserved.
+ */
+
+/dts-v1/;
+
+#include "blaize-blzp1600-som.dtsi"
+#include <dt-bindings/net/ti-dp83867.h>
+
+/ {
+	model = "Blaize BLZP1600 SoM1600P CB2 Development Board";
+
+	compatible = "blaize,blzp1600-cb2", "blaize,blzp1600";
+
+	aliases {
+		serial0 = &uart0;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200";
+	};
+};
+
+&i2c0 {
+	clock-frequency = <100000>;
+	status = "okay";
+};
+
+&i2c1 {
+	clock-frequency = <100000>;
+	status = "okay";
+};
+
+&i2c3 {
+	clock-frequency = <100000>;
+	status = "okay";
+
+	gpio_expander: gpio@74 {
+		compatible = "ti,tca9539";
+		reg = <0x74>;
+		gpio-controller;
+		#gpio-cells = <2>;
+		gpio-line-names = "RSP_PIN_7",	/* GPIO_0 */
+				  "RSP_PIN_11",	/* GPIO_1 */
+				  "RSP_PIN_13",	/* GPIO_2 */
+				  "RSP_PIN_15",	/* GPIO_3 */
+				  "RSP_PIN_27",	/* GPIO_4 */
+				  "RSP_PIN_29",	/* GPIO_5 */
+				  "RSP_PIN_31",	/* GPIO_6 */
+				  "RSP_PIN_33",	/* GPIO_7 */
+				  "RSP_PIN_37",	/* GPIO_8 */
+				  "RSP_PIN_16",	/* GPIO_9 */
+				  "RSP_PIN_18",	/* GPIO_10 */
+				  "RSP_PIN_22",	/* GPIO_11 */
+				  "RSP_PIN_28",	/* GPIO_12 */
+				  "RSP_PIN_32",	/* GPIO_13 */
+				  "RSP_PIN_36",	/* GPIO_14 */
+				  "TP31";	/* GPIO_15 */
+	};
+
+	gpio_expander_m2: gpio@75 {
+		compatible = "ti,tca9539";
+		reg = <0x75>;
+		gpio-controller;
+		#gpio-cells = <2>;
+		gpio-line-names = "M2_W_DIS1_N",	/* GPIO_0 */
+				  "M2_W_DIS2_N",	/* GPIO_1 */
+				  "M2_UART_WAKE_N",	/* GPIO_2 */
+				  "M2_COEX3",		/* GPIO_3 */
+				  "M2_COEX_RXD",	/* GPIO_4 */
+				  "M2_COEX_TXD",	/* GPIO_5 */
+				  "M2_VENDOR_PIN40",	/* GPIO_6 */
+				  "M2_VENDOR_PIN42",	/* GPIO_7 */
+				  "M2_VENDOR_PIN38",	/* GPIO_8 */
+				  "M2_SDIO_RST_N",	/* GPIO_9 */
+				  "M2_SDIO_WAKE_N",	/* GPIO_10 */
+				  "M2_PETN1",		/* GPIO_11 */
+				  "M2_PERP1",		/* GPIO_12 */
+				  "M2_PERN1",		/* GPIO_13 */
+				  "UIM_SWP",		/* GPIO_14 */
+				  "UART1_TO_RSP";	/* GPIO_15 */
+	};
+};
diff --git a/arch/arm64/boot/dts/blaize/blaize-blzp1600-som.dtsi b/arch/arm64/boot/dts/blaize/blaize-blzp1600-som.dtsi
new file mode 100644
index 000000000000..efac0d6b3d60
--- /dev/null
+++ b/arch/arm64/boot/dts/blaize/blaize-blzp1600-som.dtsi
@@ -0,0 +1,23 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2023 Blaize, Inc. All rights reserved.
+ */
+
+#include "blaize-blzp1600.dtsi"
+
+/ {
+	memory@1000 {
+		device_type = "memory";
+		reg = <0x0 0x00001000 0xfffff000>;
+	};
+};
+
+/* i2c4 bus is available only on the SoM, not on the board */
+&i2c4 {
+	clock-frequency = <100000>;
+	status = "okay";
+};
+
+&uart0 {
+	status = "okay";
+};
diff --git a/arch/arm64/boot/dts/blaize/blaize-blzp1600.dtsi b/arch/arm64/boot/dts/blaize/blaize-blzp1600.dtsi
new file mode 100644
index 000000000000..ad1e502559d8
--- /dev/null
+++ b/arch/arm64/boot/dts/blaize/blaize-blzp1600.dtsi
@@ -0,0 +1,211 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2023 Blaize, Inc. All rights reserved.
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/reset/blaize,blzp1600-reset.h>
+#include <dt-bindings/clock/blaize,blzp1600-clk.h>
+
+/ {
+	interrupt-parent = <&gic>;
+	#address-cells = <2>;
+	#size-cells = <1>;
+
+	cpus {
+		#address-cells = <2>;
+		#size-cells = <0>;
+
+		cpu0: cpu@0 {
+			compatible = "arm,cortex-a53";
+			device_type = "cpu";
+			enable-method = "psci";
+			reg = <0x0 0x0>;
+			next-level-cache = <&l2>;
+		};
+
+		cpu1: cpu@1 {
+			compatible = "arm,cortex-a53";
+			device_type = "cpu";
+			enable-method = "psci";
+			reg = <0x0 0x1>;
+			next-level-cache = <&l2>;
+		};
+
+		l2: l2-cache0 {
+			compatible = "cache";
+			cache-level = <2>;
+			cache-unified;
+		};
+	};
+
+	timer {
+		compatible = "arm,armv8-timer";
+		interrupts = /* Physical Secure PPI */
+			     <GIC_PPI 13 (GIC_CPU_MASK_RAW(0x3) |
+					  IRQ_TYPE_LEVEL_LOW)>,
+			     /* Physical Non-Secure PPI */
+			     <GIC_PPI 14 (GIC_CPU_MASK_RAW(0x3) |
+					  IRQ_TYPE_LEVEL_LOW)>,
+			     /* Hypervisor PPI */
+			     <GIC_PPI 10 (GIC_CPU_MASK_RAW(0x3) |
+					  IRQ_TYPE_LEVEL_LOW)>,
+			     /* Virtual PPI */
+			     <GIC_PPI 11 (GIC_CPU_MASK_RAW(0x3) |
+					  IRQ_TYPE_LEVEL_LOW)>;
+	};
+
+	psci {
+		compatible = "arm,psci-1.0", "arm,psci-0.2";
+		method = "smc";
+	};
+
+	pmu {
+		compatible = "arm,cortex-a53-pmu";
+		interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
+			     <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
+		interrupt-affinity = <&cpu0>, <&cpu1>;
+	};
+
+	sram@0 {
+		/*
+		 * On BLZP1600 there is no general purpose (non-secure) SRAM.
+		 * A small DDR memory space has been reserved for general use.
+		 */
+		compatible = "mmio-sram";
+		reg = <0x0 0x00000000 0x00001000>;
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges = <0 0x0 0x00000000 0x1000>;
+
+		/* SCMI reserved buffer space on DDR space */
+		scmi0_shm: scmi-sram@800 {
+			compatible = "arm,scmi-shmem";
+			reg = <0x800 0x80>;
+		};
+	};
+
+	firmware {
+		scmi {
+			compatible = "arm,scmi-smc";
+			arm,smc-id = <0x82002000>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			shmem = <&scmi0_shm>;
+
+			scmi_clk: protocol@14 {
+				reg = <0x14>;
+				#clock-cells = <1>;
+			};
+
+			scmi_rst: protocol@16 {
+				reg = <0x16>;
+				#reset-cells = <1>;
+			};
+		};
+	};
+
+	soc {
+		compatible = "simple-bus";
+		#address-cells = <2>;
+		#size-cells = <1>;
+		ranges;
+
+		gic: interrupt-controller@200410000 {
+			compatible = "arm,gic-400";
+			#interrupt-cells = <3>;
+			#address-cells = <0>;
+			interrupt-controller;
+			reg = <0x2 0x00410000 0x20000>,
+			      <0x2 0x00420000 0x20000>,
+			      <0x2 0x00440000 0x20000>,
+			      <0x2 0x00460000 0x20000>;
+			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_RAW(0x3) |
+						 IRQ_TYPE_LEVEL_LOW)>;
+		};
+
+		uart0: serial@2004d0000 {
+			compatible = "ns16550a";
+			reg = <0x2 0x004d0000 0x1000>;
+			clocks = <&scmi_clk BLZP1600_UART0_CLK>;
+			resets = <&scmi_rst BLZP1600_UART0_RST>;
+			reg-shift = <2>;
+			interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
+			status = "disabled";
+		};
+
+		uart1: serial@2004e0000 {
+			compatible = "ns16550a";
+			reg = <0x2 0x004e0000 0x1000>;
+			clocks = <&scmi_clk BLZP1600_UART1_CLK>;
+			resets = <&scmi_rst BLZP1600_UART1_RST>;
+			reg-shift = <2>;
+			interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
+			status = "disabled";
+		};
+
+		i2c0: i2c@2004f0000 {
+			compatible = "snps,designware-i2c";
+			reg = <0x2 0x004f0000 0x1000>;
+			interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&scmi_clk BLZP1600_I2C0_CLK>;
+			resets = <&scmi_rst BLZP1600_I2C0_RST>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			status = "disabled";
+		};
+
+		i2c1: i2c@200500000 {
+			compatible = "snps,designware-i2c";
+			reg = <0x2 0x00500000 0x1000>;
+			interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&scmi_clk BLZP1600_I2C1_CLK>;
+			resets = <&scmi_rst BLZP1600_I2C1_RST>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			status = "disabled";
+		};
+
+		i2c2: i2c@200510000 {
+			compatible = "snps,designware-i2c";
+			reg = <0x2 0x00510000 0x1000>;
+			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&scmi_clk BLZP1600_I2C2_CLK>;
+			resets = <&scmi_rst BLZP1600_I2C2_RST>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			status = "disabled";
+		};
+
+		i2c3: i2c@200520000 {
+			compatible = "snps,designware-i2c";
+			reg = <0x2 0x00520000 0x1000>;
+			interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&scmi_clk BLZP1600_I2C3_CLK>;
+			resets = <&scmi_rst BLZP1600_I2C3_RST>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			status = "disabled";
+		};
+
+		i2c4: i2c@200530000 {
+			compatible = "snps,designware-i2c";
+			reg = <0x2 0x00530000 0x1000>;
+			interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&scmi_clk BLZP1600_I2C4_CLK>;
+			resets = <&scmi_rst BLZP1600_I2C4_RST>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			status = "disabled";
+		};
+
+		arm_cc712: crypto@200550000 {
+			compatible = "arm,cryptocell-712-ree";
+			reg = <0x2 0x00550000 0x1000>;
+			interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&scmi_clk 7>;
+		};
+	};
+};
-- 
2.34.1


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

* Re: [PATCH v2 6/7] arm64: Add initial support for Blaize BLZP1600 CB2
  2024-04-24 13:33 [PATCH v2 6/7] arm64: Add initial support for Blaize BLZP1600 CB2 Niko Pasaloukos
@ 2024-04-24 15:15 ` Conor Dooley
  2024-04-25  9:33   ` Nikolaos Pasaloukos
  0 siblings, 1 reply; 3+ messages in thread
From: Conor Dooley @ 2024-04-24 15:15 UTC (permalink / raw)
  To: Niko Pasaloukos
  Cc: linux-arm-kernel, linux-kernel, James Cowgill, Matt Redfearn,
	Neil Jones, Arnd Bergmann, Olof Johansson, soc, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, devicetree

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

On Wed, Apr 24, 2024 at 01:33:23PM +0000, Niko Pasaloukos wrote:
> Adds support for the Blaize CB2 development board based on
> BLZP1600 SoC. This consists of a Carrier-Board-2 and a SoM.
> 
> The blaize-blzp1600.dtsi is the common part for the SoC,
> blaize-blzp1600-som.dtsi is the common part for the SoM and
> blaize-blzp1600-cb2.dts is the board specific file.
> 
> 'make dtbs_check' complains about ['ti,ina3221'] and ['national,lm96163']
> which are already upstreamed drivers with no yaml documentation.

Might not be what you want to hear, but please add yaml documentation
for them. Rob told you to do so on v1:
https://lore.kernel.org/all/20230412140344.GA2234522-robh@kernel.org/

That said, I went and looked. ina3221 _is_ documented in a yaml binding
and has been since October. national,lm96163 on the other hand, you'll
have to document if you want to use it.

Cheers,
Conor.

> 
> Co-developed-by: James Cowgill <james.cowgill@blaize.com>
> Signed-off-by: James Cowgill <james.cowgill@blaize.com>
> Co-developed-by: Matt Redfearn <matt.redfearn@blaize.com>
> Signed-off-by: Matt Redfearn <matt.redfearn@blaize.com>
> Co-developed-by: Neil Jones <neil.jones@blaize.com>
> Signed-off-by: Neil Jones <neil.jones@blaize.com>
> Signed-off-by: Nikolaos Pasaloukos <nikolaos.pasaloukos@blaize.com>
> ---
>  arch/arm64/boot/dts/Makefile                  |   1 +
>  arch/arm64/boot/dts/blaize/Makefile           |   2 +
>  .../boot/dts/blaize/blaize-blzp1600-cb2.dts   |  84 +++++++
>  .../boot/dts/blaize/blaize-blzp1600-som.dtsi  |  23 ++
>  .../boot/dts/blaize/blaize-blzp1600.dtsi      | 211 ++++++++++++++++++
>  5 files changed, 321 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/blaize/Makefile
>  create mode 100644 arch/arm64/boot/dts/blaize/blaize-blzp1600-cb2.dts
>  create mode 100644 arch/arm64/boot/dts/blaize/blaize-blzp1600-som.dtsi
>  create mode 100644 arch/arm64/boot/dts/blaize/blaize-blzp1600.dtsi
> 
> diff --git a/arch/arm64/boot/dts/Makefile b/arch/arm64/boot/dts/Makefile
> index 30dd6347a929..601b6381ea0c 100644
> --- a/arch/arm64/boot/dts/Makefile
> +++ b/arch/arm64/boot/dts/Makefile
> @@ -9,6 +9,7 @@ subdir-y += apm
>  subdir-y += apple
>  subdir-y += arm
>  subdir-y += bitmain
> +subdir-y += blaize
>  subdir-y += broadcom
>  subdir-y += cavium
>  subdir-y += exynos
> diff --git a/arch/arm64/boot/dts/blaize/Makefile b/arch/arm64/boot/dts/blaize/Makefile
> new file mode 100644
> index 000000000000..595e7a350300
> --- /dev/null
> +++ b/arch/arm64/boot/dts/blaize/Makefile
> @@ -0,0 +1,2 @@
> +# SPDX-License-Identifier: GPL-2.0
> +dtb-$(CONFIG_ARCH_BLAIZE_BLZP1600) += blaize-blzp1600-cb2.dtb
> diff --git a/arch/arm64/boot/dts/blaize/blaize-blzp1600-cb2.dts b/arch/arm64/boot/dts/blaize/blaize-blzp1600-cb2.dts
> new file mode 100644
> index 000000000000..0bdec7e81380
> --- /dev/null
> +++ b/arch/arm64/boot/dts/blaize/blaize-blzp1600-cb2.dts
> @@ -0,0 +1,84 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2023 Blaize, Inc. All rights reserved.
> + */
> +
> +/dts-v1/;
> +
> +#include "blaize-blzp1600-som.dtsi"
> +#include <dt-bindings/net/ti-dp83867.h>
> +
> +/ {
> +	model = "Blaize BLZP1600 SoM1600P CB2 Development Board";
> +
> +	compatible = "blaize,blzp1600-cb2", "blaize,blzp1600";
> +
> +	aliases {
> +		serial0 = &uart0;
> +	};
> +
> +	chosen {
> +		stdout-path = "serial0:115200";
> +	};
> +};
> +
> +&i2c0 {
> +	clock-frequency = <100000>;
> +	status = "okay";
> +};
> +
> +&i2c1 {
> +	clock-frequency = <100000>;
> +	status = "okay";
> +};
> +
> +&i2c3 {
> +	clock-frequency = <100000>;
> +	status = "okay";
> +
> +	gpio_expander: gpio@74 {
> +		compatible = "ti,tca9539";
> +		reg = <0x74>;
> +		gpio-controller;
> +		#gpio-cells = <2>;
> +		gpio-line-names = "RSP_PIN_7",	/* GPIO_0 */
> +				  "RSP_PIN_11",	/* GPIO_1 */
> +				  "RSP_PIN_13",	/* GPIO_2 */
> +				  "RSP_PIN_15",	/* GPIO_3 */
> +				  "RSP_PIN_27",	/* GPIO_4 */
> +				  "RSP_PIN_29",	/* GPIO_5 */
> +				  "RSP_PIN_31",	/* GPIO_6 */
> +				  "RSP_PIN_33",	/* GPIO_7 */
> +				  "RSP_PIN_37",	/* GPIO_8 */
> +				  "RSP_PIN_16",	/* GPIO_9 */
> +				  "RSP_PIN_18",	/* GPIO_10 */
> +				  "RSP_PIN_22",	/* GPIO_11 */
> +				  "RSP_PIN_28",	/* GPIO_12 */
> +				  "RSP_PIN_32",	/* GPIO_13 */
> +				  "RSP_PIN_36",	/* GPIO_14 */
> +				  "TP31";	/* GPIO_15 */
> +	};
> +
> +	gpio_expander_m2: gpio@75 {
> +		compatible = "ti,tca9539";
> +		reg = <0x75>;
> +		gpio-controller;
> +		#gpio-cells = <2>;
> +		gpio-line-names = "M2_W_DIS1_N",	/* GPIO_0 */
> +				  "M2_W_DIS2_N",	/* GPIO_1 */
> +				  "M2_UART_WAKE_N",	/* GPIO_2 */
> +				  "M2_COEX3",		/* GPIO_3 */
> +				  "M2_COEX_RXD",	/* GPIO_4 */
> +				  "M2_COEX_TXD",	/* GPIO_5 */
> +				  "M2_VENDOR_PIN40",	/* GPIO_6 */
> +				  "M2_VENDOR_PIN42",	/* GPIO_7 */
> +				  "M2_VENDOR_PIN38",	/* GPIO_8 */
> +				  "M2_SDIO_RST_N",	/* GPIO_9 */
> +				  "M2_SDIO_WAKE_N",	/* GPIO_10 */
> +				  "M2_PETN1",		/* GPIO_11 */
> +				  "M2_PERP1",		/* GPIO_12 */
> +				  "M2_PERN1",		/* GPIO_13 */
> +				  "UIM_SWP",		/* GPIO_14 */
> +				  "UART1_TO_RSP";	/* GPIO_15 */
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/blaize/blaize-blzp1600-som.dtsi b/arch/arm64/boot/dts/blaize/blaize-blzp1600-som.dtsi
> new file mode 100644
> index 000000000000..efac0d6b3d60
> --- /dev/null
> +++ b/arch/arm64/boot/dts/blaize/blaize-blzp1600-som.dtsi
> @@ -0,0 +1,23 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2023 Blaize, Inc. All rights reserved.
> + */
> +
> +#include "blaize-blzp1600.dtsi"
> +
> +/ {
> +	memory@1000 {
> +		device_type = "memory";
> +		reg = <0x0 0x00001000 0xfffff000>;
> +	};
> +};
> +
> +/* i2c4 bus is available only on the SoM, not on the board */
> +&i2c4 {
> +	clock-frequency = <100000>;
> +	status = "okay";
> +};
> +
> +&uart0 {
> +	status = "okay";
> +};
> diff --git a/arch/arm64/boot/dts/blaize/blaize-blzp1600.dtsi b/arch/arm64/boot/dts/blaize/blaize-blzp1600.dtsi
> new file mode 100644
> index 000000000000..ad1e502559d8
> --- /dev/null
> +++ b/arch/arm64/boot/dts/blaize/blaize-blzp1600.dtsi
> @@ -0,0 +1,211 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2023 Blaize, Inc. All rights reserved.
> + */
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/interrupt-controller/arm-gic.h>
> +#include <dt-bindings/reset/blaize,blzp1600-reset.h>
> +#include <dt-bindings/clock/blaize,blzp1600-clk.h>
> +
> +/ {
> +	interrupt-parent = <&gic>;
> +	#address-cells = <2>;
> +	#size-cells = <1>;
> +
> +	cpus {
> +		#address-cells = <2>;
> +		#size-cells = <0>;
> +
> +		cpu0: cpu@0 {
> +			compatible = "arm,cortex-a53";
> +			device_type = "cpu";
> +			enable-method = "psci";
> +			reg = <0x0 0x0>;
> +			next-level-cache = <&l2>;
> +		};
> +
> +		cpu1: cpu@1 {
> +			compatible = "arm,cortex-a53";
> +			device_type = "cpu";
> +			enable-method = "psci";
> +			reg = <0x0 0x1>;
> +			next-level-cache = <&l2>;
> +		};
> +
> +		l2: l2-cache0 {
> +			compatible = "cache";
> +			cache-level = <2>;
> +			cache-unified;
> +		};
> +	};
> +
> +	timer {
> +		compatible = "arm,armv8-timer";
> +		interrupts = /* Physical Secure PPI */
> +			     <GIC_PPI 13 (GIC_CPU_MASK_RAW(0x3) |
> +					  IRQ_TYPE_LEVEL_LOW)>,
> +			     /* Physical Non-Secure PPI */
> +			     <GIC_PPI 14 (GIC_CPU_MASK_RAW(0x3) |
> +					  IRQ_TYPE_LEVEL_LOW)>,
> +			     /* Hypervisor PPI */
> +			     <GIC_PPI 10 (GIC_CPU_MASK_RAW(0x3) |
> +					  IRQ_TYPE_LEVEL_LOW)>,
> +			     /* Virtual PPI */
> +			     <GIC_PPI 11 (GIC_CPU_MASK_RAW(0x3) |
> +					  IRQ_TYPE_LEVEL_LOW)>;
> +	};
> +
> +	psci {
> +		compatible = "arm,psci-1.0", "arm,psci-0.2";
> +		method = "smc";
> +	};
> +
> +	pmu {
> +		compatible = "arm,cortex-a53-pmu";
> +		interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
> +			     <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
> +		interrupt-affinity = <&cpu0>, <&cpu1>;
> +	};
> +
> +	sram@0 {
> +		/*
> +		 * On BLZP1600 there is no general purpose (non-secure) SRAM.
> +		 * A small DDR memory space has been reserved for general use.
> +		 */
> +		compatible = "mmio-sram";
> +		reg = <0x0 0x00000000 0x00001000>;
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		ranges = <0 0x0 0x00000000 0x1000>;
> +
> +		/* SCMI reserved buffer space on DDR space */
> +		scmi0_shm: scmi-sram@800 {
> +			compatible = "arm,scmi-shmem";
> +			reg = <0x800 0x80>;
> +		};
> +	};
> +
> +	firmware {
> +		scmi {
> +			compatible = "arm,scmi-smc";
> +			arm,smc-id = <0x82002000>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			shmem = <&scmi0_shm>;
> +
> +			scmi_clk: protocol@14 {
> +				reg = <0x14>;
> +				#clock-cells = <1>;
> +			};
> +
> +			scmi_rst: protocol@16 {
> +				reg = <0x16>;
> +				#reset-cells = <1>;
> +			};
> +		};
> +	};
> +
> +	soc {
> +		compatible = "simple-bus";
> +		#address-cells = <2>;
> +		#size-cells = <1>;
> +		ranges;
> +
> +		gic: interrupt-controller@200410000 {
> +			compatible = "arm,gic-400";
> +			#interrupt-cells = <3>;
> +			#address-cells = <0>;
> +			interrupt-controller;
> +			reg = <0x2 0x00410000 0x20000>,
> +			      <0x2 0x00420000 0x20000>,
> +			      <0x2 0x00440000 0x20000>,
> +			      <0x2 0x00460000 0x20000>;
> +			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_RAW(0x3) |
> +						 IRQ_TYPE_LEVEL_LOW)>;
> +		};
> +
> +		uart0: serial@2004d0000 {
> +			compatible = "ns16550a";
> +			reg = <0x2 0x004d0000 0x1000>;
> +			clocks = <&scmi_clk BLZP1600_UART0_CLK>;
> +			resets = <&scmi_rst BLZP1600_UART0_RST>;
> +			reg-shift = <2>;
> +			interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
> +			status = "disabled";
> +		};
> +
> +		uart1: serial@2004e0000 {
> +			compatible = "ns16550a";
> +			reg = <0x2 0x004e0000 0x1000>;
> +			clocks = <&scmi_clk BLZP1600_UART1_CLK>;
> +			resets = <&scmi_rst BLZP1600_UART1_RST>;
> +			reg-shift = <2>;
> +			interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
> +			status = "disabled";
> +		};
> +
> +		i2c0: i2c@2004f0000 {
> +			compatible = "snps,designware-i2c";
> +			reg = <0x2 0x004f0000 0x1000>;
> +			interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&scmi_clk BLZP1600_I2C0_CLK>;
> +			resets = <&scmi_rst BLZP1600_I2C0_RST>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			status = "disabled";
> +		};
> +
> +		i2c1: i2c@200500000 {
> +			compatible = "snps,designware-i2c";
> +			reg = <0x2 0x00500000 0x1000>;
> +			interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&scmi_clk BLZP1600_I2C1_CLK>;
> +			resets = <&scmi_rst BLZP1600_I2C1_RST>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			status = "disabled";
> +		};
> +
> +		i2c2: i2c@200510000 {
> +			compatible = "snps,designware-i2c";
> +			reg = <0x2 0x00510000 0x1000>;
> +			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&scmi_clk BLZP1600_I2C2_CLK>;
> +			resets = <&scmi_rst BLZP1600_I2C2_RST>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			status = "disabled";
> +		};
> +
> +		i2c3: i2c@200520000 {
> +			compatible = "snps,designware-i2c";
> +			reg = <0x2 0x00520000 0x1000>;
> +			interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&scmi_clk BLZP1600_I2C3_CLK>;
> +			resets = <&scmi_rst BLZP1600_I2C3_RST>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			status = "disabled";
> +		};
> +
> +		i2c4: i2c@200530000 {
> +			compatible = "snps,designware-i2c";
> +			reg = <0x2 0x00530000 0x1000>;
> +			interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&scmi_clk BLZP1600_I2C4_CLK>;
> +			resets = <&scmi_rst BLZP1600_I2C4_RST>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			status = "disabled";
> +		};
> +
> +		arm_cc712: crypto@200550000 {
> +			compatible = "arm,cryptocell-712-ree";
> +			reg = <0x2 0x00550000 0x1000>;
> +			interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&scmi_clk 7>;
> +		};
> +	};
> +};
> -- 
> 2.34.1
> 

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

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

* Re: [PATCH v2 6/7] arm64: Add initial support for Blaize BLZP1600 CB2
  2024-04-24 15:15 ` Conor Dooley
@ 2024-04-25  9:33   ` Nikolaos Pasaloukos
  0 siblings, 0 replies; 3+ messages in thread
From: Nikolaos Pasaloukos @ 2024-04-25  9:33 UTC (permalink / raw)
  To: Conor Dooley
  Cc: linux-arm-kernel, linux-kernel, James Cowgill, Matt Redfearn,
	Neil Jones, Arnd Bergmann, Olof Johansson, soc, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, devicetree

On 24/04/2024 16:15, Conor Dooley wrote:
> On Wed, Apr 24, 2024 at 01:33:23PM +0000, Niko Pasaloukos wrote:
>> Adds support for the Blaize CB2 development board based on
>> BLZP1600 SoC. This consists of a Carrier-Board-2 and a SoM.
>>
>> The blaize-blzp1600.dtsi is the common part for the SoC,
>> blaize-blzp1600-som.dtsi is the common part for the SoM and
>> blaize-blzp1600-cb2.dts is the board specific file.
>>
>> 'make dtbs_check' complains about ['ti,ina3221'] and ['national,lm96163']
>> which are already upstreamed drivers with no yaml documentation.
> 
> Might not be what you want to hear, but please add yaml documentation
> for them. Rob told you to do so on v1:
> https://lore.kernel.org/all/20230412140344.GA2234522-robh@kernel.org/
> 
> That said, I went and looked. ina3221 _is_ documented in a yaml binding
> and has been since October. national,lm96163 on the other hand, you'll
> have to document if you want to use it.
> 
> Cheers,
> Conor.

Apologies Conor. It has been removed for now and I'll do it when
we will push it upstream.

Kind regards,
Niko

> 
>>
>> Co-developed-by: James Cowgill <james.cowgill@blaize.com>
>> Signed-off-by: James Cowgill <james.cowgill@blaize.com>
>> Co-developed-by: Matt Redfearn <matt.redfearn@blaize.com>
>> Signed-off-by: Matt Redfearn <matt.redfearn@blaize.com>
>> Co-developed-by: Neil Jones <neil.jones@blaize.com>
>> Signed-off-by: Neil Jones <neil.jones@blaize.com>
>> Signed-off-by: Nikolaos Pasaloukos <nikolaos.pasaloukos@blaize.com>
>> ---
>>  arch/arm64/boot/dts/Makefile                  |   1 +
>>  arch/arm64/boot/dts/blaize/Makefile           |   2 +
>>  .../boot/dts/blaize/blaize-blzp1600-cb2.dts   |  84 +++++++
>>  .../boot/dts/blaize/blaize-blzp1600-som.dtsi  |  23 ++
>>  .../boot/dts/blaize/blaize-blzp1600.dtsi      | 211 ++++++++++++++++++
>>  5 files changed, 321 insertions(+)
>>  create mode 100644 arch/arm64/boot/dts/blaize/Makefile
>>  create mode 100644 arch/arm64/boot/dts/blaize/blaize-blzp1600-cb2.dts
>>  create mode 100644 arch/arm64/boot/dts/blaize/blaize-blzp1600-som.dtsi
>>  create mode 100644 arch/arm64/boot/dts/blaize/blaize-blzp1600.dtsi
>>
>> diff --git a/arch/arm64/boot/dts/Makefile b/arch/arm64/boot/dts/Makefile
>> index 30dd6347a929..601b6381ea0c 100644
>> --- a/arch/arm64/boot/dts/Makefile
>> +++ b/arch/arm64/boot/dts/Makefile
>> @@ -9,6 +9,7 @@ subdir-y += apm
>>  subdir-y += apple
>>  subdir-y += arm
>>  subdir-y += bitmain
>> +subdir-y += blaize
>>  subdir-y += broadcom
>>  subdir-y += cavium
>>  subdir-y += exynos
>> diff --git a/arch/arm64/boot/dts/blaize/Makefile b/arch/arm64/boot/dts/blaize/Makefile
>> new file mode 100644
>> index 000000000000..595e7a350300
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/blaize/Makefile
>> @@ -0,0 +1,2 @@
>> +# SPDX-License-Identifier: GPL-2.0
>> +dtb-$(CONFIG_ARCH_BLAIZE_BLZP1600) += blaize-blzp1600-cb2.dtb
>> diff --git a/arch/arm64/boot/dts/blaize/blaize-blzp1600-cb2.dts b/arch/arm64/boot/dts/blaize/blaize-blzp1600-cb2.dts
>> new file mode 100644
>> index 000000000000..0bdec7e81380
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/blaize/blaize-blzp1600-cb2.dts
>> @@ -0,0 +1,84 @@
>> +// SPDX-License-Identifier: GPL-2.0
>> +/*
>> + * Copyright (c) 2023 Blaize, Inc. All rights reserved.
>> + */
>> +
>> +/dts-v1/;
>> +
>> +#include "blaize-blzp1600-som.dtsi"
>> +#include <dt-bindings/net/ti-dp83867.h>
>> +
>> +/ {
>> +	model = "Blaize BLZP1600 SoM1600P CB2 Development Board";
>> +
>> +	compatible = "blaize,blzp1600-cb2", "blaize,blzp1600";
>> +
>> +	aliases {
>> +		serial0 = &uart0;
>> +	};
>> +
>> +	chosen {
>> +		stdout-path = "serial0:115200";
>> +	};
>> +};
>> +
>> +&i2c0 {
>> +	clock-frequency = <100000>;
>> +	status = "okay";
>> +};
>> +
>> +&i2c1 {
>> +	clock-frequency = <100000>;
>> +	status = "okay";
>> +};
>> +
>> +&i2c3 {
>> +	clock-frequency = <100000>;
>> +	status = "okay";
>> +
>> +	gpio_expander: gpio@74 {
>> +		compatible = "ti,tca9539";
>> +		reg = <0x74>;
>> +		gpio-controller;
>> +		#gpio-cells = <2>;
>> +		gpio-line-names = "RSP_PIN_7",	/* GPIO_0 */
>> +				  "RSP_PIN_11",	/* GPIO_1 */
>> +				  "RSP_PIN_13",	/* GPIO_2 */
>> +				  "RSP_PIN_15",	/* GPIO_3 */
>> +				  "RSP_PIN_27",	/* GPIO_4 */
>> +				  "RSP_PIN_29",	/* GPIO_5 */
>> +				  "RSP_PIN_31",	/* GPIO_6 */
>> +				  "RSP_PIN_33",	/* GPIO_7 */
>> +				  "RSP_PIN_37",	/* GPIO_8 */
>> +				  "RSP_PIN_16",	/* GPIO_9 */
>> +				  "RSP_PIN_18",	/* GPIO_10 */
>> +				  "RSP_PIN_22",	/* GPIO_11 */
>> +				  "RSP_PIN_28",	/* GPIO_12 */
>> +				  "RSP_PIN_32",	/* GPIO_13 */
>> +				  "RSP_PIN_36",	/* GPIO_14 */
>> +				  "TP31";	/* GPIO_15 */
>> +	};
>> +
>> +	gpio_expander_m2: gpio@75 {
>> +		compatible = "ti,tca9539";
>> +		reg = <0x75>;
>> +		gpio-controller;
>> +		#gpio-cells = <2>;
>> +		gpio-line-names = "M2_W_DIS1_N",	/* GPIO_0 */
>> +				  "M2_W_DIS2_N",	/* GPIO_1 */
>> +				  "M2_UART_WAKE_N",	/* GPIO_2 */
>> +				  "M2_COEX3",		/* GPIO_3 */
>> +				  "M2_COEX_RXD",	/* GPIO_4 */
>> +				  "M2_COEX_TXD",	/* GPIO_5 */
>> +				  "M2_VENDOR_PIN40",	/* GPIO_6 */
>> +				  "M2_VENDOR_PIN42",	/* GPIO_7 */
>> +				  "M2_VENDOR_PIN38",	/* GPIO_8 */
>> +				  "M2_SDIO_RST_N",	/* GPIO_9 */
>> +				  "M2_SDIO_WAKE_N",	/* GPIO_10 */
>> +				  "M2_PETN1",		/* GPIO_11 */
>> +				  "M2_PERP1",		/* GPIO_12 */
>> +				  "M2_PERN1",		/* GPIO_13 */
>> +				  "UIM_SWP",		/* GPIO_14 */
>> +				  "UART1_TO_RSP";	/* GPIO_15 */
>> +	};
>> +};
>> diff --git a/arch/arm64/boot/dts/blaize/blaize-blzp1600-som.dtsi b/arch/arm64/boot/dts/blaize/blaize-blzp1600-som.dtsi
>> new file mode 100644
>> index 000000000000..efac0d6b3d60
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/blaize/blaize-blzp1600-som.dtsi
>> @@ -0,0 +1,23 @@
>> +// SPDX-License-Identifier: GPL-2.0
>> +/*
>> + * Copyright (c) 2023 Blaize, Inc. All rights reserved.
>> + */
>> +
>> +#include "blaize-blzp1600.dtsi"
>> +
>> +/ {
>> +	memory@1000 {
>> +		device_type = "memory";
>> +		reg = <0x0 0x00001000 0xfffff000>;
>> +	};
>> +};
>> +
>> +/* i2c4 bus is available only on the SoM, not on the board */
>> +&i2c4 {
>> +	clock-frequency = <100000>;
>> +	status = "okay";
>> +};
>> +
>> +&uart0 {
>> +	status = "okay";
>> +};
>> diff --git a/arch/arm64/boot/dts/blaize/blaize-blzp1600.dtsi b/arch/arm64/boot/dts/blaize/blaize-blzp1600.dtsi
>> new file mode 100644
>> index 000000000000..ad1e502559d8
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/blaize/blaize-blzp1600.dtsi
>> @@ -0,0 +1,211 @@
>> +// SPDX-License-Identifier: GPL-2.0
>> +/*
>> + * Copyright (c) 2023 Blaize, Inc. All rights reserved.
>> + */
>> +
>> +#include <dt-bindings/gpio/gpio.h>
>> +#include <dt-bindings/interrupt-controller/arm-gic.h>
>> +#include <dt-bindings/reset/blaize,blzp1600-reset.h>
>> +#include <dt-bindings/clock/blaize,blzp1600-clk.h>
>> +
>> +/ {
>> +	interrupt-parent = <&gic>;
>> +	#address-cells = <2>;
>> +	#size-cells = <1>;
>> +
>> +	cpus {
>> +		#address-cells = <2>;
>> +		#size-cells = <0>;
>> +
>> +		cpu0: cpu@0 {
>> +			compatible = "arm,cortex-a53";
>> +			device_type = "cpu";
>> +			enable-method = "psci";
>> +			reg = <0x0 0x0>;
>> +			next-level-cache = <&l2>;
>> +		};
>> +
>> +		cpu1: cpu@1 {
>> +			compatible = "arm,cortex-a53";
>> +			device_type = "cpu";
>> +			enable-method = "psci";
>> +			reg = <0x0 0x1>;
>> +			next-level-cache = <&l2>;
>> +		};
>> +
>> +		l2: l2-cache0 {
>> +			compatible = "cache";
>> +			cache-level = <2>;
>> +			cache-unified;
>> +		};
>> +	};
>> +
>> +	timer {
>> +		compatible = "arm,armv8-timer";
>> +		interrupts = /* Physical Secure PPI */
>> +			     <GIC_PPI 13 (GIC_CPU_MASK_RAW(0x3) |
>> +					  IRQ_TYPE_LEVEL_LOW)>,
>> +			     /* Physical Non-Secure PPI */
>> +			     <GIC_PPI 14 (GIC_CPU_MASK_RAW(0x3) |
>> +					  IRQ_TYPE_LEVEL_LOW)>,
>> +			     /* Hypervisor PPI */
>> +			     <GIC_PPI 10 (GIC_CPU_MASK_RAW(0x3) |
>> +					  IRQ_TYPE_LEVEL_LOW)>,
>> +			     /* Virtual PPI */
>> +			     <GIC_PPI 11 (GIC_CPU_MASK_RAW(0x3) |
>> +					  IRQ_TYPE_LEVEL_LOW)>;
>> +	};
>> +
>> +	psci {
>> +		compatible = "arm,psci-1.0", "arm,psci-0.2";
>> +		method = "smc";
>> +	};
>> +
>> +	pmu {
>> +		compatible = "arm,cortex-a53-pmu";
>> +		interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
>> +			     <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
>> +		interrupt-affinity = <&cpu0>, <&cpu1>;
>> +	};
>> +
>> +	sram@0 {
>> +		/*
>> +		 * On BLZP1600 there is no general purpose (non-secure) SRAM.
>> +		 * A small DDR memory space has been reserved for general use.
>> +		 */
>> +		compatible = "mmio-sram";
>> +		reg = <0x0 0x00000000 0x00001000>;
>> +		#address-cells = <1>;
>> +		#size-cells = <1>;
>> +		ranges = <0 0x0 0x00000000 0x1000>;
>> +
>> +		/* SCMI reserved buffer space on DDR space */
>> +		scmi0_shm: scmi-sram@800 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0x800 0x80>;
>> +		};
>> +	};
>> +
>> +	firmware {
>> +		scmi {
>> +			compatible = "arm,scmi-smc";
>> +			arm,smc-id = <0x82002000>;
>> +			#address-cells = <1>;
>> +			#size-cells = <0>;
>> +
>> +			shmem = <&scmi0_shm>;
>> +
>> +			scmi_clk: protocol@14 {
>> +				reg = <0x14>;
>> +				#clock-cells = <1>;
>> +			};
>> +
>> +			scmi_rst: protocol@16 {
>> +				reg = <0x16>;
>> +				#reset-cells = <1>;
>> +			};
>> +		};
>> +	};
>> +
>> +	soc {
>> +		compatible = "simple-bus";
>> +		#address-cells = <2>;
>> +		#size-cells = <1>;
>> +		ranges;
>> +
>> +		gic: interrupt-controller@200410000 {
>> +			compatible = "arm,gic-400";
>> +			#interrupt-cells = <3>;
>> +			#address-cells = <0>;
>> +			interrupt-controller;
>> +			reg = <0x2 0x00410000 0x20000>,
>> +			      <0x2 0x00420000 0x20000>,
>> +			      <0x2 0x00440000 0x20000>,
>> +			      <0x2 0x00460000 0x20000>;
>> +			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_RAW(0x3) |
>> +						 IRQ_TYPE_LEVEL_LOW)>;
>> +		};
>> +
>> +		uart0: serial@2004d0000 {
>> +			compatible = "ns16550a";
>> +			reg = <0x2 0x004d0000 0x1000>;
>> +			clocks = <&scmi_clk BLZP1600_UART0_CLK>;
>> +			resets = <&scmi_rst BLZP1600_UART0_RST>;
>> +			reg-shift = <2>;
>> +			interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
>> +			status = "disabled";
>> +		};
>> +
>> +		uart1: serial@2004e0000 {
>> +			compatible = "ns16550a";
>> +			reg = <0x2 0x004e0000 0x1000>;
>> +			clocks = <&scmi_clk BLZP1600_UART1_CLK>;
>> +			resets = <&scmi_rst BLZP1600_UART1_RST>;
>> +			reg-shift = <2>;
>> +			interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
>> +			status = "disabled";
>> +		};
>> +
>> +		i2c0: i2c@2004f0000 {
>> +			compatible = "snps,designware-i2c";
>> +			reg = <0x2 0x004f0000 0x1000>;
>> +			interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
>> +			clocks = <&scmi_clk BLZP1600_I2C0_CLK>;
>> +			resets = <&scmi_rst BLZP1600_I2C0_RST>;
>> +			#address-cells = <1>;
>> +			#size-cells = <0>;
>> +			status = "disabled";
>> +		};
>> +
>> +		i2c1: i2c@200500000 {
>> +			compatible = "snps,designware-i2c";
>> +			reg = <0x2 0x00500000 0x1000>;
>> +			interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
>> +			clocks = <&scmi_clk BLZP1600_I2C1_CLK>;
>> +			resets = <&scmi_rst BLZP1600_I2C1_RST>;
>> +			#address-cells = <1>;
>> +			#size-cells = <0>;
>> +			status = "disabled";
>> +		};
>> +
>> +		i2c2: i2c@200510000 {
>> +			compatible = "snps,designware-i2c";
>> +			reg = <0x2 0x00510000 0x1000>;
>> +			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
>> +			clocks = <&scmi_clk BLZP1600_I2C2_CLK>;
>> +			resets = <&scmi_rst BLZP1600_I2C2_RST>;
>> +			#address-cells = <1>;
>> +			#size-cells = <0>;
>> +			status = "disabled";
>> +		};
>> +
>> +		i2c3: i2c@200520000 {
>> +			compatible = "snps,designware-i2c";
>> +			reg = <0x2 0x00520000 0x1000>;
>> +			interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
>> +			clocks = <&scmi_clk BLZP1600_I2C3_CLK>;
>> +			resets = <&scmi_rst BLZP1600_I2C3_RST>;
>> +			#address-cells = <1>;
>> +			#size-cells = <0>;
>> +			status = "disabled";
>> +		};
>> +
>> +		i2c4: i2c@200530000 {
>> +			compatible = "snps,designware-i2c";
>> +			reg = <0x2 0x00530000 0x1000>;
>> +			interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
>> +			clocks = <&scmi_clk BLZP1600_I2C4_CLK>;
>> +			resets = <&scmi_rst BLZP1600_I2C4_RST>;
>> +			#address-cells = <1>;
>> +			#size-cells = <0>;
>> +			status = "disabled";
>> +		};
>> +
>> +		arm_cc712: crypto@200550000 {
>> +			compatible = "arm,cryptocell-712-ree";
>> +			reg = <0x2 0x00550000 0x1000>;
>> +			interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
>> +			clocks = <&scmi_clk 7>;
>> +		};
>> +	};
>> +};
>> -- 
>> 2.34.1
>>


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

end of thread, other threads:[~2024-04-25  9:34 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-24 13:33 [PATCH v2 6/7] arm64: Add initial support for Blaize BLZP1600 CB2 Niko Pasaloukos
2024-04-24 15:15 ` Conor Dooley
2024-04-25  9:33   ` Nikolaos Pasaloukos

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).