[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <94ec74dd-2f04-8dca-35ff-a537811d1ccf@starfivetech.com>
Date: Thu, 1 Jun 2023 11:39:24 +0800
From: Hal Feng <hal.feng@...rfivetech.com>
To: Shengyu Qu <wiagn233@...look.com>, <linux-clk@...r.kernel.org>,
<devicetree@...r.kernel.org>, <linux-riscv@...ts.infradead.org>
CC: Stephen Boyd <sboyd@...nel.org>,
Michael Turquette <mturquette@...libre.com>,
Philipp Zabel <p.zabel@...gutronix.de>,
"Rob Herring" <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Conor Dooley <conor@...nel.org>,
"Palmer Dabbelt" <palmer@...belt.com>,
Paul Walmsley <paul.walmsley@...ive.com>,
Albert Ou <aou@...s.berkeley.edu>,
Ben Dooks <ben.dooks@...ive.com>,
"Daniel Lezcano" <daniel.lezcano@...aro.org>,
Thomas Gleixner <tglx@...utronix.de>,
Marc Zyngier <maz@...nel.org>,
Emil Renner Berthing <emil.renner.berthing@...onical.com>,
<linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v7 19/22] riscv: dts: starfive: Add initial StarFive
JH7110 device tree
On Sun, 7 May 2023 18:03:19 +0800, Shengyu Qu wrote:
> Hi Hal,
>> From: Emil Renner Berthing <kernel@...il.dk>
>> diff --git a/arch/riscv/boot/dts/starfive/jh7110.dtsi b/arch/riscv/boot/dts/starfive/jh7110.dtsi
>> new file mode 100644
>> index 000000000000..d484ecdf93f7
>> --- /dev/null
>> +++ b/arch/riscv/boot/dts/starfive/jh7110.dtsi
>> @@ -0,0 +1,509 @@
>> +// SPDX-License-Identifier: GPL-2.0 OR MIT
>> +/*
>> + * Copyright (C) 2022 StarFive Technology Co., Ltd.
>> + * Copyright (C) 2022 Emil Renner Berthing <kernel@...il.dk>
>> + */
>> +
>> +/dts-v1/;
>> +#include <dt-bindings/clock/starfive,jh7110-crg.h>
>> +#include <dt-bindings/reset/starfive,jh7110-crg.h>
>> +
>> +/ {
[...]
>> +
>> + soc {
>> + compatible = "simple-bus";
>> + interrupt-parent = <&plic>;
>
> Do we really need this interrupt-parent? Seems it is causing a dependency cycle:
>
> platform soc: Fixed dependency cycle(s) with /soc/interrupt-controller@...0000
>
> And seems fu740 dts doesn't have this.
Sorry to reply too late. If we drop this line, we need to add 'interrupt-parent'
to every node which uses interrupt. And I found some other platform did the same
such as
arch/riscv/boot/dts/allwinner/sun20i-d1s.dtsi
arch/riscv/boot/dts/canaan/k210.dtsi
arch/riscv/boot/dts/renesas/r9a07g043f.dtsi
Best regards,
Hal
>
>> + #address-cells = <2>;
>> + #size-cells = <2>;
>> + ranges;
>> +
>> + clint: timer@...0000 {
>> + compatible = "starfive,jh7110-clint", "sifive,clint0";
>> + reg = <0x0 0x2000000 0x0 0x10000>;
>> + interrupts-extended = <&cpu0_intc 3>, <&cpu0_intc 7>,
>> + <&cpu1_intc 3>, <&cpu1_intc 7>,
>> + <&cpu2_intc 3>, <&cpu2_intc 7>,
>> + <&cpu3_intc 3>, <&cpu3_intc 7>,
>> + <&cpu4_intc 3>, <&cpu4_intc 7>;
>> + };
>> +
>> + ccache: cache-controller@...0000 {
>> + compatible = "starfive,jh7110-ccache", "sifive,ccache0", "cache";
>> + reg = <0x0 0x2010000 0x0 0x4000>;
>> + interrupts = <1>, <3>, <4>, <2>;
>> + cache-block-size = <64>;
>> + cache-level = <2>;
>> + cache-sets = <2048>;
>> + cache-size = <2097152>;
>> + cache-unified;
>> + };
>> +
>> + plic: interrupt-controller@...0000 {
>> + compatible = "starfive,jh7110-plic", "sifive,plic-1.0.0";
>> + reg = <0x0 0xc000000 0x0 0x4000000>;
>> + interrupts-extended = <&cpu0_intc 11>,
>> + <&cpu1_intc 11>, <&cpu1_intc 9>,
>> + <&cpu2_intc 11>, <&cpu2_intc 9>,
>> + <&cpu3_intc 11>, <&cpu3_intc 9>,
>> + <&cpu4_intc 11>, <&cpu4_intc 9>;
>> + interrupt-controller;
>> + #interrupt-cells = <1>;
>> + #address-cells = <0>;
>> + riscv,ndev = <136>;
>> + };
>> +
>> + uart0: serial@...00000 {
>> + compatible = "snps,dw-apb-uart";
>> + reg = <0x0 0x10000000 0x0 0x10000>;
>> + clocks = <&syscrg JH7110_SYSCLK_UART0_CORE>,
>> + <&syscrg JH7110_SYSCLK_UART0_APB>;
>> + clock-names = "baudclk", "apb_pclk";
>> + resets = <&syscrg JH7110_SYSRST_UART0_APB>;
>> + interrupts = <32>;
>> + reg-io-width = <4>;
>> + reg-shift = <2>;
>> + status = "disabled";
>> + };
>> +
[...]
Powered by blists - more mailing lists