All of lore.kernel.org
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
To: Tomer Maimon <tmaimon77@gmail.com>,
	avifishman70@gmail.com, tali.perry1@gmail.com, joel@jms.id.au,
	venture@google.com, yuenn@google.com, benjaminfair@google.com,
	robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org,
	mturquette@baylibre.com, sboyd@kernel.org,
	p.zabel@pengutronix.de, gregkh@linuxfoundation.org,
	daniel.lezcano@linaro.org, tglx@linutronix.de,
	wim@linux-watchdog.org, linux@roeck-us.net,
	catalin.marinas@arm.com, will@kernel.org, arnd@arndb.de,
	olof@lixom.net, jirislaby@kernel.org, shawnguo@kernel.org,
	bjorn.andersson@linaro.org, geert+renesas@glider.be,
	marcel.ziswiler@toradex.com, vkoul@kernel.org,
	biju.das.jz@bp.renesas.com, nobuhiro1.iwamatsu@toshiba.co.jp,
	robert.hancock@calian.com, j.neuschaefer@gmx.net, lkundrak@v3.sk
Cc: soc@kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org,
	linux-serial@vger.kernel.org, linux-watchdog@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v1 17/19] arm64: dts: nuvoton: Add initial NPCM8XX device tree
Date: Mon, 23 May 2022 11:08:06 +0200	[thread overview]
Message-ID: <c1b86493-d82d-a639-07af-4c979d733786@linaro.org> (raw)
In-Reply-To: <20220522155046.260146-18-tmaimon77@gmail.com>

On 22/05/2022 17:50, Tomer Maimon wrote:
> This adds initial device tree support for the
> Nuvoton NPCM845 Board Management controller (BMC) SoC family.

Thank you for your patch. There is something to discuss/improve.

> 
> The NPCM845 based quad-core Cortex-A35 ARMv8 architecture and
> have various peripheral IPs.
> 
> Signed-off-by: Tomer Maimon <tmaimon77@gmail.com>
> ---
>  arch/arm64/boot/dts/Makefile                  |   1 +
>  .../dts/nuvoton/nuvoton-common-npcm8xx.dtsi   | 197 ++++++++++++++++++
>  .../boot/dts/nuvoton/nuvoton-npcm845.dtsi     |  77 +++++++
>  3 files changed, 275 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/nuvoton/nuvoton-common-npcm8xx.dtsi
>  create mode 100644 arch/arm64/boot/dts/nuvoton/nuvoton-npcm845.dtsi
> 
> diff --git a/arch/arm64/boot/dts/Makefile b/arch/arm64/boot/dts/Makefile
> index 1ba04e31a438..7b107fa7414b 100644
> --- a/arch/arm64/boot/dts/Makefile
> +++ b/arch/arm64/boot/dts/Makefile
> @@ -19,6 +19,7 @@ subdir-y += lg
>  subdir-y += marvell
>  subdir-y += mediatek
>  subdir-y += microchip
> +subdir-y += nuvoton
>  subdir-y += nvidia
>  subdir-y += qcom
>  subdir-y += realtek
> diff --git a/arch/arm64/boot/dts/nuvoton/nuvoton-common-npcm8xx.dtsi b/arch/arm64/boot/dts/nuvoton/nuvoton-common-npcm8xx.dtsi
> new file mode 100644
> index 000000000000..19c672ecfee7
> --- /dev/null
> +++ b/arch/arm64/boot/dts/nuvoton/nuvoton-common-npcm8xx.dtsi
> @@ -0,0 +1,197 @@
> +// SPDX-License-Identifier: GPL-2.0
> +// Copyright (c) 2021 Nuvoton Technology tomer.maimon@nuvoton.com
> +
> +#include <dt-bindings/clock/nuvoton,npcm8xx-clock.h>
> +#include <dt-bindings/interrupt-controller/arm-gic.h>
> +#include <dt-bindings/interrupt-controller/irq.h>
> +
> +/ {
> +	#address-cells = <2>;
> +	#size-cells = <2>;
> +	interrupt-parent = <&gic>;
> +
> +	/* external reference clock */
> +	clk_refclk: clk-refclk {
> +		compatible = "fixed-clock";
> +		#clock-cells = <0>;
> +		clock-frequency = <25000000>

This is not a property of a SoC, but board.

> +		clock-output-names = "refclk";
> +	};
> +
> +	/* external reference clock for cpu. float in normal operation */
> +	clk_sysbypck: clk-sysbypck {
> +		compatible = "fixed-clock";
> +		#clock-cells = <0>;
> +		clock-frequency = <1000000000>;

This is not a property of a SoC, but board.


> +		clock-output-names = "sysbypck";
> +	};
> +
> +	/* external reference clock for MC. float in normal operation */
> +	clk_mcbypck: clk-mcbypck {
> +		compatible = "fixed-clock";
> +		#clock-cells = <0>;
> +		clock-frequency = <1050000000>;

This is not a property of a SoC, but board.

> +		clock-output-names = "mcbypck";
> +	};
> +
> +	soc {
> +		#address-cells = <2>;
> +		#size-cells = <2>;
> +		compatible = "simple-bus";
> +		interrupt-parent = <&gic>;
> +		ranges;
> +
> +		gcr: gcr@f0800000 {

Generic node names. I guess it is system-controller?

> +			compatible = "nuvoton,npcm845-gcr", "syscon",
> +				"simple-mfd";
> +			reg = <0x0 0xf0800000 0x0 0x1000>;
> +		};
> +
> +		gic: interrupt-controller@dfff9000 {
> +			compatible = "arm,gic-400";
> +			reg = <0x0 0xdfff9000 0x0 0x1000>,
> +			      <0x0 0xdfffa000 0x0 0x2000>,
> +			      <0x0 0xdfffc000 0x0 0x2000>,
> +			      <0x0 0xdfffe000 0x0 0x2000>;
> +			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
> +			#interrupt-cells = <3>;
> +			interrupt-controller;
> +			#address-cells = <0>;
> +			ppi-partitions {
> +				ppi_cluster0: interrupt-partition-0 {
> +					affinity = <&cpu0 &cpu1 &cpu2 &cpu3>;
> +				};
> +			};
> +		};
> +	};
> +
> +	ahb {
> +		#address-cells = <2>;
> +		#size-cells = <2>;
> +		compatible = "simple-bus";
> +		interrupt-parent = <&gic>;
> +		ranges;
> +
> +		rstc: rstc@f0801000 {

Generic node names.

> +			compatible = "nuvoton,npcm845-reset";
> +			reg = <0x0 0xf0801000 0x0 0x78>;
> +			#reset-cells = <2>;
> +			syscon = <&gcr>;
> +		};
> +
> +		clk: clock-controller@f0801000 {
> +			compatible = "nuvoton,npcm845-clk";
> +			#clock-cells = <1>;
> +			reg = <0x0 0xf0801000 0x0 0x1000>;
> +			clock-names = "refclk", "sysbypck", "mcbypck";
> +			clocks = <&clk_refclk>, <&clk_sysbypck>, <&clk_mcbypck>;
> +		};
> +
> +		apb {
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			compatible = "simple-bus";
> +			interrupt-parent = <&gic>;
> +			ranges = <0x0 0x0 0xf0000000 0x00300000>,
> +				<0xfff00000 0x0 0xfff00000 0x00016000>;
> +
> +			timer0: timer@8000 {
> +				compatible = "nuvoton,npcm845-timer";
> +				interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
> +				reg = <0x8000 0x1C>;
> +				clocks	= <&clk_refclk>;
> +				clock-names = "refclk";
> +			};
> +
> +			serial0: serial@0 {
> +				compatible = "nuvoton,npcm845-uart";
> +				reg = <0x0 0x1000>;
> +				clocks = <&clk NPCM8XX_CLK_UART>;
> +				interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
> +				reg-shift = <2>;
> +				status = "disabled";
> +			};
> +
> +			serial1: serial@1000 {
> +				compatible = "nuvoton,npcm845-uart";
> +				reg = <0x1000 0x1000>;
> +				clocks = <&clk NPCM8XX_CLK_UART>;
> +				interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
> +				reg-shift = <2>;
> +				status = "disabled";
> +			};
> +
> +			serial2: serial@2000 {
> +				compatible = "nuvoton,npcm845-uart";
> +				reg = <0x2000 0x1000>;
> +				clocks = <&clk NPCM8XX_CLK_UART>;
> +				interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>;
> +				reg-shift = <2>;
> +				status = "disabled";
> +			};
> +
> +			serial3: serial@3000 {
> +				compatible = "nuvoton,npcm845-uart";
> +				reg = <0x3000 0x1000>;
> +				clocks = <&clk NPCM8XX_CLK_UART>;
> +				interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>;
> +				reg-shift = <2>;
> +				status = "disabled";
> +			};
> +
> +			serial4: serial@4000 {
> +				compatible = "nuvoton,npcm845-uart";
> +				reg = <0x4000 0x1000>;
> +				clocks = <&clk NPCM8XX_CLK_UART>;
> +				interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>;
> +				reg-shift = <2>;
> +				status = "disabled";
> +			};
> +
> +			serial5: serial@5000 {
> +				compatible = "nuvoton,npcm845-uart";
> +				reg = <0x5000 0x1000>;
> +				clocks = <&clk NPCM8XX_CLK_UART>;
> +				interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
> +				reg-shift = <2>;
> +				status = "disabled";
> +			};
> +
> +			serial6: serial@6000 {
> +				compatible = "nuvoton,npcm845-uart";
> +				reg = <0x6000 0x1000>;
> +				clocks = <&clk NPCM8XX_CLK_UART>;
> +				interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>;
> +				reg-shift = <2>;
> +				status = "disabled";
> +			};
> +
> +			watchdog0: watchdog@801c {
> +				compatible = "nuvoton,npcm845-wdt";
> +				interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
> +				reg = <0x801c 0x4>;
> +				status = "disabled";
> +				clocks = <&clk_refclk>;
> +				syscon = <&gcr>;
> +			};
> +
> +			watchdog1: watchdog@901c {
> +				compatible = "nuvoton,npcm845-wdt";
> +				interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
> +				reg = <0x901c 0x4>;
> +				status = "disabled";
> +				clocks = <&clk_refclk>;
> +				syscon = <&gcr>;
> +			};
> +
> +			watchdog2: watchdog@a01c {
> +				compatible = "nuvoton,npcm845-wdt";
> +				interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
> +				reg = <0xa01c 0x4>;
> +				status = "disabled";
> +				clocks = <&clk_refclk>;
> +				syscon = <&gcr>;
> +			};
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/nuvoton/nuvoton-npcm845.dtsi b/arch/arm64/boot/dts/nuvoton/nuvoton-npcm845.dtsi
> new file mode 100644
> index 000000000000..900cee112251
> --- /dev/null
> +++ b/arch/arm64/boot/dts/nuvoton/nuvoton-npcm845.dtsi
> @@ -0,0 +1,77 @@
> +// SPDX-License-Identifier: GPL-2.0
> +// Copyright (c) 2021 Nuvoton Technology tomer.maimon@nuvoton.com
> +
> +#include "nuvoton-common-npcm8xx.dtsi"
> +
> +/ {
> +	#address-cells = <2>;
> +	#size-cells = <2>;
> +	interrupt-parent = <&gic>;

You do not have gic here, so it's not correct. Do not reference nodes
outsides of the file.

> +
> +	cpus {
> +		#address-cells = <2>;
> +		#size-cells = <0>;
> +
> +		cpu0: cpu@0 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a35";
> +			clocks = <&clk NPCM8XX_CLK_CPU>;
> +			reg = <0x0 0x0>;

Why do you have two address cells? A bit more complicated and not
necessary, I think.

> +			next-level-cache = <&l2>;
> +			enable-method = "psci";
> +		};
> +
> +		cpu1: cpu@1 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a35";
> +			clocks = <&clk NPCM8XX_CLK_CPU>;
> +			reg = <0x0 0x1>;
> +			next-level-cache = <&l2>;
> +			enable-method = "psci";
> +		};
> +
> +		cpu2: cpu@2 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a35";
> +			clocks = <&clk NPCM8XX_CLK_CPU>;
> +			reg = <0x0 0x2>;
> +			next-level-cache = <&l2>;
> +			enable-method = "psci";
> +		};
> +
> +		cpu3: cpu@3 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a35";
> +			clocks = <&clk NPCM8XX_CLK_CPU>;
> +			reg = <0x0 0x3>;
> +			next-level-cache = <&l2>;
> +			enable-method = "psci";
> +		};
> +
> +		l2: l2-cache {
> +			compatible = "cache";

Is this a real compatible? What bindings are you using here?

> +		};
> +	};
> +
> +	arm-pmu {
> +		compatible = "arm,cortex-a35-pmu";
> +		interrupts = <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>,
> +			     <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>,
> +			     <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>,
> +			     <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>;
> +		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
> +	};
> +
> +	psci {
> +		compatible      = "arm,psci-1.0";
> +		method          = "smc";

Weird indentation.

> +	};
> +
> +	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)>;
> +	};
> +};


Best regards,
Krzysztof

WARNING: multiple messages have this Message-ID (diff)
From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
To: Tomer Maimon <tmaimon77@gmail.com>,
	avifishman70@gmail.com, tali.perry1@gmail.com, joel@jms.id.au,
	venture@google.com, yuenn@google.com, benjaminfair@google.com,
	robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org,
	mturquette@baylibre.com, sboyd@kernel.org,
	p.zabel@pengutronix.de, gregkh@linuxfoundation.org,
	daniel.lezcano@linaro.org, tglx@linutronix.de,
	wim@linux-watchdog.org, linux@roeck-us.net,
	catalin.marinas@arm.com, will@kernel.org, arnd@arndb.de,
	olof@lixom.net, jirislaby@kernel.org, shawnguo@kernel.org,
	bjorn.andersson@linaro.org, geert+renesas@glider.be,
	marcel.ziswiler@toradex.com, vkoul@kernel.org,
	biju.das.jz@bp.renesas.com, nobuhiro1.iwamatsu@toshiba.co.jp,
	robert.hancock@calian.com, j.neuschaefer@gmx.net, lkundrak@v3.sk
Cc: soc@kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,  linux-clk@vger.kernel.org,
	linux-serial@vger.kernel.org, linux-watchdog@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v1 17/19] arm64: dts: nuvoton: Add initial NPCM8XX device tree
Date: Mon, 23 May 2022 11:08:06 +0200	[thread overview]
Message-ID: <c1b86493-d82d-a639-07af-4c979d733786@linaro.org> (raw)
In-Reply-To: <20220522155046.260146-18-tmaimon77@gmail.com>

On 22/05/2022 17:50, Tomer Maimon wrote:
> This adds initial device tree support for the
> Nuvoton NPCM845 Board Management controller (BMC) SoC family.

Thank you for your patch. There is something to discuss/improve.

> 
> The NPCM845 based quad-core Cortex-A35 ARMv8 architecture and
> have various peripheral IPs.
> 
> Signed-off-by: Tomer Maimon <tmaimon77@gmail.com>
> ---
>  arch/arm64/boot/dts/Makefile                  |   1 +
>  .../dts/nuvoton/nuvoton-common-npcm8xx.dtsi   | 197 ++++++++++++++++++
>  .../boot/dts/nuvoton/nuvoton-npcm845.dtsi     |  77 +++++++
>  3 files changed, 275 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/nuvoton/nuvoton-common-npcm8xx.dtsi
>  create mode 100644 arch/arm64/boot/dts/nuvoton/nuvoton-npcm845.dtsi
> 
> diff --git a/arch/arm64/boot/dts/Makefile b/arch/arm64/boot/dts/Makefile
> index 1ba04e31a438..7b107fa7414b 100644
> --- a/arch/arm64/boot/dts/Makefile
> +++ b/arch/arm64/boot/dts/Makefile
> @@ -19,6 +19,7 @@ subdir-y += lg
>  subdir-y += marvell
>  subdir-y += mediatek
>  subdir-y += microchip
> +subdir-y += nuvoton
>  subdir-y += nvidia
>  subdir-y += qcom
>  subdir-y += realtek
> diff --git a/arch/arm64/boot/dts/nuvoton/nuvoton-common-npcm8xx.dtsi b/arch/arm64/boot/dts/nuvoton/nuvoton-common-npcm8xx.dtsi
> new file mode 100644
> index 000000000000..19c672ecfee7
> --- /dev/null
> +++ b/arch/arm64/boot/dts/nuvoton/nuvoton-common-npcm8xx.dtsi
> @@ -0,0 +1,197 @@
> +// SPDX-License-Identifier: GPL-2.0
> +// Copyright (c) 2021 Nuvoton Technology tomer.maimon@nuvoton.com
> +
> +#include <dt-bindings/clock/nuvoton,npcm8xx-clock.h>
> +#include <dt-bindings/interrupt-controller/arm-gic.h>
> +#include <dt-bindings/interrupt-controller/irq.h>
> +
> +/ {
> +	#address-cells = <2>;
> +	#size-cells = <2>;
> +	interrupt-parent = <&gic>;
> +
> +	/* external reference clock */
> +	clk_refclk: clk-refclk {
> +		compatible = "fixed-clock";
> +		#clock-cells = <0>;
> +		clock-frequency = <25000000>

This is not a property of a SoC, but board.

> +		clock-output-names = "refclk";
> +	};
> +
> +	/* external reference clock for cpu. float in normal operation */
> +	clk_sysbypck: clk-sysbypck {
> +		compatible = "fixed-clock";
> +		#clock-cells = <0>;
> +		clock-frequency = <1000000000>;

This is not a property of a SoC, but board.


> +		clock-output-names = "sysbypck";
> +	};
> +
> +	/* external reference clock for MC. float in normal operation */
> +	clk_mcbypck: clk-mcbypck {
> +		compatible = "fixed-clock";
> +		#clock-cells = <0>;
> +		clock-frequency = <1050000000>;

This is not a property of a SoC, but board.

> +		clock-output-names = "mcbypck";
> +	};
> +
> +	soc {
> +		#address-cells = <2>;
> +		#size-cells = <2>;
> +		compatible = "simple-bus";
> +		interrupt-parent = <&gic>;
> +		ranges;
> +
> +		gcr: gcr@f0800000 {

Generic node names. I guess it is system-controller?

> +			compatible = "nuvoton,npcm845-gcr", "syscon",
> +				"simple-mfd";
> +			reg = <0x0 0xf0800000 0x0 0x1000>;
> +		};
> +
> +		gic: interrupt-controller@dfff9000 {
> +			compatible = "arm,gic-400";
> +			reg = <0x0 0xdfff9000 0x0 0x1000>,
> +			      <0x0 0xdfffa000 0x0 0x2000>,
> +			      <0x0 0xdfffc000 0x0 0x2000>,
> +			      <0x0 0xdfffe000 0x0 0x2000>;
> +			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
> +			#interrupt-cells = <3>;
> +			interrupt-controller;
> +			#address-cells = <0>;
> +			ppi-partitions {
> +				ppi_cluster0: interrupt-partition-0 {
> +					affinity = <&cpu0 &cpu1 &cpu2 &cpu3>;
> +				};
> +			};
> +		};
> +	};
> +
> +	ahb {
> +		#address-cells = <2>;
> +		#size-cells = <2>;
> +		compatible = "simple-bus";
> +		interrupt-parent = <&gic>;
> +		ranges;
> +
> +		rstc: rstc@f0801000 {

Generic node names.

> +			compatible = "nuvoton,npcm845-reset";
> +			reg = <0x0 0xf0801000 0x0 0x78>;
> +			#reset-cells = <2>;
> +			syscon = <&gcr>;
> +		};
> +
> +		clk: clock-controller@f0801000 {
> +			compatible = "nuvoton,npcm845-clk";
> +			#clock-cells = <1>;
> +			reg = <0x0 0xf0801000 0x0 0x1000>;
> +			clock-names = "refclk", "sysbypck", "mcbypck";
> +			clocks = <&clk_refclk>, <&clk_sysbypck>, <&clk_mcbypck>;
> +		};
> +
> +		apb {
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			compatible = "simple-bus";
> +			interrupt-parent = <&gic>;
> +			ranges = <0x0 0x0 0xf0000000 0x00300000>,
> +				<0xfff00000 0x0 0xfff00000 0x00016000>;
> +
> +			timer0: timer@8000 {
> +				compatible = "nuvoton,npcm845-timer";
> +				interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
> +				reg = <0x8000 0x1C>;
> +				clocks	= <&clk_refclk>;
> +				clock-names = "refclk";
> +			};
> +
> +			serial0: serial@0 {
> +				compatible = "nuvoton,npcm845-uart";
> +				reg = <0x0 0x1000>;
> +				clocks = <&clk NPCM8XX_CLK_UART>;
> +				interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
> +				reg-shift = <2>;
> +				status = "disabled";
> +			};
> +
> +			serial1: serial@1000 {
> +				compatible = "nuvoton,npcm845-uart";
> +				reg = <0x1000 0x1000>;
> +				clocks = <&clk NPCM8XX_CLK_UART>;
> +				interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
> +				reg-shift = <2>;
> +				status = "disabled";
> +			};
> +
> +			serial2: serial@2000 {
> +				compatible = "nuvoton,npcm845-uart";
> +				reg = <0x2000 0x1000>;
> +				clocks = <&clk NPCM8XX_CLK_UART>;
> +				interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>;
> +				reg-shift = <2>;
> +				status = "disabled";
> +			};
> +
> +			serial3: serial@3000 {
> +				compatible = "nuvoton,npcm845-uart";
> +				reg = <0x3000 0x1000>;
> +				clocks = <&clk NPCM8XX_CLK_UART>;
> +				interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>;
> +				reg-shift = <2>;
> +				status = "disabled";
> +			};
> +
> +			serial4: serial@4000 {
> +				compatible = "nuvoton,npcm845-uart";
> +				reg = <0x4000 0x1000>;
> +				clocks = <&clk NPCM8XX_CLK_UART>;
> +				interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>;
> +				reg-shift = <2>;
> +				status = "disabled";
> +			};
> +
> +			serial5: serial@5000 {
> +				compatible = "nuvoton,npcm845-uart";
> +				reg = <0x5000 0x1000>;
> +				clocks = <&clk NPCM8XX_CLK_UART>;
> +				interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
> +				reg-shift = <2>;
> +				status = "disabled";
> +			};
> +
> +			serial6: serial@6000 {
> +				compatible = "nuvoton,npcm845-uart";
> +				reg = <0x6000 0x1000>;
> +				clocks = <&clk NPCM8XX_CLK_UART>;
> +				interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>;
> +				reg-shift = <2>;
> +				status = "disabled";
> +			};
> +
> +			watchdog0: watchdog@801c {
> +				compatible = "nuvoton,npcm845-wdt";
> +				interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
> +				reg = <0x801c 0x4>;
> +				status = "disabled";
> +				clocks = <&clk_refclk>;
> +				syscon = <&gcr>;
> +			};
> +
> +			watchdog1: watchdog@901c {
> +				compatible = "nuvoton,npcm845-wdt";
> +				interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
> +				reg = <0x901c 0x4>;
> +				status = "disabled";
> +				clocks = <&clk_refclk>;
> +				syscon = <&gcr>;
> +			};
> +
> +			watchdog2: watchdog@a01c {
> +				compatible = "nuvoton,npcm845-wdt";
> +				interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
> +				reg = <0xa01c 0x4>;
> +				status = "disabled";
> +				clocks = <&clk_refclk>;
> +				syscon = <&gcr>;
> +			};
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/nuvoton/nuvoton-npcm845.dtsi b/arch/arm64/boot/dts/nuvoton/nuvoton-npcm845.dtsi
> new file mode 100644
> index 000000000000..900cee112251
> --- /dev/null
> +++ b/arch/arm64/boot/dts/nuvoton/nuvoton-npcm845.dtsi
> @@ -0,0 +1,77 @@
> +// SPDX-License-Identifier: GPL-2.0
> +// Copyright (c) 2021 Nuvoton Technology tomer.maimon@nuvoton.com
> +
> +#include "nuvoton-common-npcm8xx.dtsi"
> +
> +/ {
> +	#address-cells = <2>;
> +	#size-cells = <2>;
> +	interrupt-parent = <&gic>;

You do not have gic here, so it's not correct. Do not reference nodes
outsides of the file.

> +
> +	cpus {
> +		#address-cells = <2>;
> +		#size-cells = <0>;
> +
> +		cpu0: cpu@0 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a35";
> +			clocks = <&clk NPCM8XX_CLK_CPU>;
> +			reg = <0x0 0x0>;

Why do you have two address cells? A bit more complicated and not
necessary, I think.

> +			next-level-cache = <&l2>;
> +			enable-method = "psci";
> +		};
> +
> +		cpu1: cpu@1 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a35";
> +			clocks = <&clk NPCM8XX_CLK_CPU>;
> +			reg = <0x0 0x1>;
> +			next-level-cache = <&l2>;
> +			enable-method = "psci";
> +		};
> +
> +		cpu2: cpu@2 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a35";
> +			clocks = <&clk NPCM8XX_CLK_CPU>;
> +			reg = <0x0 0x2>;
> +			next-level-cache = <&l2>;
> +			enable-method = "psci";
> +		};
> +
> +		cpu3: cpu@3 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a35";
> +			clocks = <&clk NPCM8XX_CLK_CPU>;
> +			reg = <0x0 0x3>;
> +			next-level-cache = <&l2>;
> +			enable-method = "psci";
> +		};
> +
> +		l2: l2-cache {
> +			compatible = "cache";

Is this a real compatible? What bindings are you using here?

> +		};
> +	};
> +
> +	arm-pmu {
> +		compatible = "arm,cortex-a35-pmu";
> +		interrupts = <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>,
> +			     <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>,
> +			     <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>,
> +			     <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>;
> +		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
> +	};
> +
> +	psci {
> +		compatible      = "arm,psci-1.0";
> +		method          = "smc";

Weird indentation.

> +	};
> +
> +	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)>;
> +	};
> +};


Best regards,
Krzysztof

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2022-05-23  9:08 UTC|newest]

Thread overview: 101+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-22 15:50 [PATCH v1 00/19] Introduce Nuvoton Arbel NPCM8XX BMC SoC Tomer Maimon
2022-05-22 15:50 ` [PATCH v1 01/19] dt-bindings: timer: npcm: Add npcm845 compatible string Tomer Maimon
2022-05-23  7:31   ` Krzysztof Kozlowski
2022-05-23  7:31     ` Krzysztof Kozlowski
2022-05-22 15:50 ` [PATCH v1 02/19] clocksource: timer-npcm7xx: Add NPCM845 timer support Tomer Maimon
2022-05-22 15:50 ` [PATCH v1 03/19] dt-bindings: serial: 8250: Add npcm845 compatible string Tomer Maimon
2022-05-23  7:32   ` Krzysztof Kozlowski
2022-05-23  7:32     ` Krzysztof Kozlowski
2022-05-22 15:50 ` [PATCH v1 04/19] tty: serial: 8250: Add NPCM845 UART support Tomer Maimon
2022-05-23  9:56   ` Arnd Bergmann
2022-05-23  9:56     ` Arnd Bergmann
2022-05-23 12:58     ` Tomer Maimon
2022-05-23 13:06       ` Krzysztof Kozlowski
2022-05-23 13:06         ` Krzysztof Kozlowski
2022-05-23 13:14         ` Tomer Maimon
2022-05-22 15:50 ` [PATCH v1 05/19] dt-bindings: watchdog: npcm: Add npcm845 compatible string Tomer Maimon
2022-05-23  7:32   ` Krzysztof Kozlowski
2022-05-23  7:32     ` Krzysztof Kozlowski
2022-05-22 15:50 ` [PATCH v1 06/19] watchdog: npcm_wdt: Add NPCM845 watchdog support Tomer Maimon
2022-05-22 16:45   ` Guenter Roeck
2022-05-22 16:45     ` Guenter Roeck
2022-05-22 15:50 ` [PATCH v1 07/19] dt-binding: clk: npcm845: Add binding for Nuvoton NPCM8XX Clock Tomer Maimon
2022-05-23  7:35   ` Krzysztof Kozlowski
2022-05-23  7:35     ` Krzysztof Kozlowski
2022-05-23 13:35     ` Tomer Maimon
2022-05-26 19:24   ` Stephen Boyd
2022-05-26 19:24     ` Stephen Boyd
2022-05-30 14:39     ` Tomer Maimon
2022-05-30 14:39       ` Tomer Maimon
2022-05-22 15:50 ` [PATCH v1 08/19] clk: npcm8xx: add clock controller Tomer Maimon
2022-05-23  7:07   ` Ilpo Järvinen
2022-05-23  7:07     ` Ilpo Järvinen
2022-05-23 12:48     ` Tomer Maimon
2022-05-26 19:36   ` Stephen Boyd
2022-05-26 19:36     ` Stephen Boyd
2022-05-30 14:36     ` Tomer Maimon
2022-05-30 14:36       ` Tomer Maimon
2022-05-22 15:50 ` [PATCH v1 09/19] dt-bindings: reset: add syscon property Tomer Maimon
2022-05-23  7:39   ` Krzysztof Kozlowski
2022-05-23  7:39     ` Krzysztof Kozlowski
2022-05-23 13:44     ` Tomer Maimon
2022-05-23 13:45       ` Krzysztof Kozlowski
2022-05-23 13:45         ` Krzysztof Kozlowski
2022-05-22 15:50 ` [PATCH v1 10/19] reset: npcm: using syscon instead of device data Tomer Maimon
2022-05-23  8:54   ` Krzysztof Kozlowski
2022-05-23  8:54     ` Krzysztof Kozlowski
2022-05-23 13:53     ` Tomer Maimon
2022-05-22 15:50 ` [PATCH v1 11/19] dt-bindings: reset: npcm: Add support for NPCM8XX Tomer Maimon
2022-05-23  9:01   ` Krzysztof Kozlowski
2022-05-23  9:01     ` Krzysztof Kozlowski
2022-05-23 14:03     ` Tomer Maimon
2022-05-23 14:22       ` Geert Uytterhoeven
2022-05-23 14:22         ` Geert Uytterhoeven
2022-05-23 14:26         ` Krzysztof Kozlowski
2022-05-23 14:26           ` Krzysztof Kozlowski
2022-05-23 15:11           ` Geert Uytterhoeven
2022-05-23 15:11             ` Geert Uytterhoeven
2022-05-23 15:22             ` Krzysztof Kozlowski
2022-05-23 15:22               ` Krzysztof Kozlowski
2022-05-23 15:24               ` Krzysztof Kozlowski
2022-05-23 15:24                 ` Krzysztof Kozlowski
2022-05-24  7:26               ` Tomer Maimon
2022-05-24  7:26                 ` Tomer Maimon
2022-05-23 14:23       ` Krzysztof Kozlowski
2022-05-23 14:23         ` Krzysztof Kozlowski
2022-05-22 15:50 ` [PATCH v1 12/19] reset: npcm: Add NPCM8XX support Tomer Maimon
2022-05-23 10:44   ` Arnd Bergmann
2022-05-23 10:44     ` Arnd Bergmann
2022-05-22 15:50 ` [PATCH v1 13/19] dt-bindings: arm: npcm: Add maintainer Tomer Maimon
2022-06-02 12:58   ` Rob Herring
2022-06-02 12:58     ` Rob Herring
2022-05-22 15:50 ` [PATCH v1 14/19] dt-bindings: arm: npcm: Add nuvoton,npcm845 compatible string Tomer Maimon
2022-05-23  9:02   ` Krzysztof Kozlowski
2022-05-23  9:02     ` Krzysztof Kozlowski
2022-05-22 15:50 ` [PATCH v1 15/19] dt-bindings: arm: npcm: Add nuvoton,npcm845 GCR " Tomer Maimon
2022-05-23  9:02   ` Krzysztof Kozlowski
2022-05-23  9:02     ` [PATCH v1 15/19] dt-bindings: arm: npcm: Add nuvoton, npcm845 " Krzysztof Kozlowski
2022-05-23  9:02   ` [PATCH v1 15/19] dt-bindings: arm: npcm: Add nuvoton,npcm845 " Krzysztof Kozlowski
2022-05-23  9:02     ` [PATCH v1 15/19] dt-bindings: arm: npcm: Add nuvoton, npcm845 " Krzysztof Kozlowski
2022-05-22 15:50 ` [PATCH v1 16/19] arm64: npcm: Add support for Nuvoton NPCM8XX BMC SoC Tomer Maimon
2022-05-22 15:50 ` [PATCH v1 17/19] arm64: dts: nuvoton: Add initial NPCM8XX device tree Tomer Maimon
2022-05-23  9:08   ` Krzysztof Kozlowski [this message]
2022-05-23  9:08     ` Krzysztof Kozlowski
2022-05-23 13:58     ` Geert Uytterhoeven
2022-05-23 13:58       ` Geert Uytterhoeven
2022-05-23 14:16       ` Krzysztof Kozlowski
2022-05-23 14:16         ` Krzysztof Kozlowski
2022-05-22 15:50 ` [PATCH v1 18/19] arm64: dts: nuvoton: Add initial NPCM845 EVB " Tomer Maimon
2022-05-23  9:26   ` Krzysztof Kozlowski
2022-05-23  9:26     ` Krzysztof Kozlowski
2022-05-23  9:39   ` Arnd Bergmann
2022-05-23  9:39     ` Arnd Bergmann
2022-05-23 14:17     ` Tomer Maimon
2022-05-23 15:37       ` Krzysztof Kozlowski
2022-05-23 15:37         ` Krzysztof Kozlowski
2022-05-22 15:50 ` [PATCH v1 19/19] arm64: defconfig: Add Nuvoton NPCM family support Tomer Maimon
2022-05-23  9:52 ` [PATCH v1 00/19] Introduce Nuvoton Arbel NPCM8XX BMC SoC Arnd Bergmann
2022-05-23  9:52   ` Arnd Bergmann
2022-05-23 12:20   ` Tomer Maimon
2022-05-30 12:24   ` Andy Shevchenko
2022-05-30 12:24     ` Andy Shevchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c1b86493-d82d-a639-07af-4c979d733786@linaro.org \
    --to=krzysztof.kozlowski@linaro.org \
    --cc=arnd@arndb.de \
    --cc=avifishman70@gmail.com \
    --cc=benjaminfair@google.com \
    --cc=biju.das.jz@bp.renesas.com \
    --cc=bjorn.andersson@linaro.org \
    --cc=catalin.marinas@arm.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=geert+renesas@glider.be \
    --cc=gregkh@linuxfoundation.org \
    --cc=j.neuschaefer@gmx.net \
    --cc=jirislaby@kernel.org \
    --cc=joel@jms.id.au \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=linux-watchdog@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=lkundrak@v3.sk \
    --cc=marcel.ziswiler@toradex.com \
    --cc=mturquette@baylibre.com \
    --cc=nobuhiro1.iwamatsu@toshiba.co.jp \
    --cc=olof@lixom.net \
    --cc=p.zabel@pengutronix.de \
    --cc=robert.hancock@calian.com \
    --cc=robh+dt@kernel.org \
    --cc=sboyd@kernel.org \
    --cc=shawnguo@kernel.org \
    --cc=soc@kernel.org \
    --cc=tali.perry1@gmail.com \
    --cc=tglx@linutronix.de \
    --cc=tmaimon77@gmail.com \
    --cc=venture@google.com \
    --cc=vkoul@kernel.org \
    --cc=will@kernel.org \
    --cc=wim@linux-watchdog.org \
    --cc=yuenn@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.