From: Rob Herring <robh@kernel.org>
To: Emekcan Aras <emekcan.aras@arm.com>
Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>,
linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org
Subject: Re: [PATCH v2 1/2] arm64: dts: Add Arm corstone500 platform support
Date: Wed, 14 Dec 2022 10:37:29 -0600 [thread overview]
Message-ID: <20221214163729.GA1181413-robh@kernel.org> (raw)
In-Reply-To: <20221214132404.439882-2-emekcan.aras@arm.com>
On Wed, Dec 14, 2022 at 01:24:03PM +0000, Emekcan Aras wrote:
> From: Emekcan Aras <Emekcan.Aras@arm.com>
>
> Corstone500[0] is a platform from arm, which includes Cortex-A cores and
> ideal starting point for feature rich System on Chip (SoC) designs
> based on the Cortex-A5 core.
>
> These device trees contains the necessary bits to support the
> Corstone 500 FVP (Fixed Virtual Platform) and the
> FPGA MPS3 board.
>
> 0: https://developer.arm.com/documentation/102262/0000
>
> Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
> ---
> arch/arm/boot/dts/corstone500.dts | 181 ++++++++++++++++++++++++++++++
> 1 file changed, 181 insertions(+)
> create mode 100644 arch/arm/boot/dts/corstone500.dts
>
> diff --git a/arch/arm/boot/dts/corstone500.dts b/arch/arm/boot/dts/corstone500.dts
> new file mode 100644
> index 000000000000..976aa333ffbc
> --- /dev/null
> +++ b/arch/arm/boot/dts/corstone500.dts
> @@ -0,0 +1,181 @@
> +// SPDX-License-Identifier: GPL-2.0 or MIT
> +/*
> + * Copyright (c) 2022, Arm Limited. All rights reserved.
> + *
> + */
> +
> +
> +#include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> +/ {
> + model = "ARM Corstone500";
> + compatible = "arm,corstone500";
> + interrupt-parent = <&gic>;
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + aliases {
> + serial0 = &uart0;
> + serial1 = &uart1;
> + };
> +
> + chosen {
> + stdout-path = "serial0:115200n8";
> + };
> +
> + psci {
> + compatible = "arm,psci-1.0", "arm,psci-0.2", "arm,psci";
You really need to be compatible with all these PSCI versions?
'arm,psci' means you have the function IDs in DT before they were
standardized (in 2013 IIRC). You need to support OS's from that time?
> + method = "smc";
> + cpu_on = <0x84000003>;
And here is one, but the rest? Really, it should be dropped along with
'arm,psci'.
> + };
> +
> + cpus {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + enable-method = "psci";
> +
> + cpu@0 {
> + device_type = "cpu";
> + compatible = "arm,cortex-a5";
> + reg = <0>;
> + next-level-cache = <&L2>;
> + };
> +
> + cpu@1 {
> + device_type = "cpu";
> + compatible = "arm,cortex-a5";
> + reg = <1>;
> + next-level-cache = <&L2>;
> + };
> +
> + cpu@2 {
> + device_type = "cpu";
> + compatible = "arm,cortex-a5";
> + reg = <2>;
> + next-level-cache = <&L2>;
> + };
> +
> + cpu@3 {
> + device_type = "cpu";
> + compatible = "arm,cortex-a5";
> + reg = <3>;
> + next-level-cache = <&L2>;
> + };
> + };
> +
> + memory@80000000 {
> + device_type = "memory";
> + reg = <0x80000000 0x7f000000>;
> + };
> +
> + L2: cache-controller@1c010000 {
> + compatible = "arm,pl310-cache";
> + reg = <0x1c010000 0x1000>;
> + interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
> + cache-level = <2>;
> + cache-unified;
> + arm,data-latency = <1 1 1>;
> + arm,tag-latency = <1 1 1>;
> + };
> +
> + refclk7500khz: refclk7500khz {
> + compatible = "fixed-clock";
> + #clock-cells = <0>;
> + clock-frequency = <7500000>;
> + clock-output-names = "apb_pclk";
> + };
> +
> + refclk24mhz: refclk24mhz {
> + compatible = "fixed-clock";
> + #clock-cells = <0>;
> + clock-frequency = <24000000>;
> + clock-output-names = "apb_pclk";
> + };
> +
> + smbclk: refclk24mhzx2 {
> + compatible = "fixed-clock";
> + #clock-cells = <0>;
> + clock-frequency = <48000000>;
> + clock-output-names = "smclk";
> + };
> +
> + rtc@1a220000 {
Why is this one not under 'soc'. Really, all MMIO nodes should be.
> + compatible = "arm,pl031", "arm,primecell";
> + reg = <0x1a220000 0x1000>;
> + clocks = <&refclk24mhz>;
> + interrupts = <GIC_SPI 6 (GIC_CPU_MASK_SIMPLE(4) |
> + IRQ_TYPE_LEVEL_HIGH)>;
> + clock-names = "apb_pclk";
> + };
> +
> + gic: interrupt-controller@1c001000 {
> + compatible = "arm,cortex-a5-gic";
> + #interrupt-cells = <3>;
> + #address-cells = <0>;
> + interrupt-controller;
> + reg = <0x1c001000 0x1000>,
> + <0x1c000100 0x100>;
> + interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) |
> + IRQ_TYPE_LEVEL_HIGH)>;
> + };
> +
> + soc{
> + compatible = "simple-bus";
> + #address-cells = <1>;
> + #size-cells = <1>;
> + clock_frequency = <50000000>;
> + interrupt-parent = <&gic>;
> + ranges;
> +
> + uart0: serial@1a200000 {
> + compatible = "arm,pl011", "arm,primecell";
> + reg = <0x1a200000 0x1000>;
> + interrupts = <GIC_SPI 8 (GIC_CPU_MASK_SIMPLE(4) |
> + IRQ_TYPE_LEVEL_HIGH)>;
> + clocks = <&refclk7500khz>;
> + clock-names = "apb_pclk";
> + };
> +
> + uart1: serial@1a210000 {
> + compatible = "arm,pl011", "arm,primecell";
> + reg = <0x1a210000 0x1000>;
> + interrupts = <GIC_SPI 9 (GIC_CPU_MASK_SIMPLE(4) |
> + IRQ_TYPE_LEVEL_HIGH)>;
> + clocks = <&refclk7500khz>;
> + clock-names = "apb_pclk";
> + };
> +
> + timer0: timer@1a040000 {
> + compatible = "arm,armv7-timer-mem";
> + reg = <0x1a040000 0x1000>;
> + clock-frequency = <7500000>;
> +
> + frame@1a050000 {
> + frame-number = <0>;
> + interrupts = <GIC_SPI 2 (GIC_CPU_MASK_SIMPLE(4) |
> + IRQ_TYPE_LEVEL_HIGH)>;
> + reg = <0x1a050000 0x1000>;
> + };
> + };
> +
> + smsc: ethernet@4020000 {
> + compatible = "smsc,lan9220", "smsc,lan9115";
> + reg = <0x40200000 0x10000>;
> + interrupts = <GIC_SPI 43 (GIC_CPU_MASK_SIMPLE(4) |
> + IRQ_TYPE_LEVEL_HIGH)>;
> + reg-io-width = <4>;
> + phy-mode = "mii";
> + smsc,irq-active-high;
> + vdd33a-supply = <&v2m_fixed_3v3>;
> + vddvario-supply = <&v2m_fixed_3v3>;
> + };
> + };
> +
> + v2m_fixed_3v3: fixed-regulator-0 {
> + compatible = "regulator-fixed";
> + regulator-name = "3V3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-always-on;
> + };
> +};
> --
> 2.25.1
>
>
next prev parent reply other threads:[~2022-12-14 16:37 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-14 13:24 [PATCH v2 0/2] Adds Corstone500 DeviceTree Emekcan Aras
2022-12-14 13:24 ` [PATCH v2 1/2] arm64: dts: Add Arm corstone500 platform support Emekcan Aras
2022-12-14 13:41 ` Krzysztof Kozlowski
2022-12-14 14:54 ` Krzysztof Kozlowski
2022-12-14 16:37 ` Rob Herring [this message]
2022-12-14 13:24 ` [PATCH v2 2/2] dt-bindings: Add Arm corstone500 platform Emekcan Aras
2022-12-14 13:44 ` Krzysztof Kozlowski
2022-12-14 14:55 ` Krzysztof Kozlowski
2022-12-14 14:57 ` Krzysztof Kozlowski
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=20221214163729.GA1181413-robh@kernel.org \
--to=robh@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=emekcan.aras@arm.com \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
/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 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).