[PATCH v2 7/7] riscv: Update SiFive device tree for new CLINT driver
Anup Patel
anup at brainfault.org
Thu Sep 3 04:46:43 CEST 2020
On Thu, Sep 3, 2020 at 7:32 AM Bin Meng <bmeng.cn at gmail.com> wrote:
>
> Hi Anup,
>
> On Tue, Aug 18, 2020 at 6:03 PM Sean Anderson <seanga2 at gmail.com> wrote:
> >
> > On 8/18/20 5:22 AM, Bin Meng wrote:
> > > +Anup Patel
> > >
> > > On Wed, Jul 29, 2020 at 5:57 PM Sean Anderson <seanga2 at gmail.com> wrote:
> > >>
> > >> We may need to add a clock-frequency binding like for the K210.
> > >>
> > >> Signed-off-by: Sean Anderson <seanga2 at gmail.com>
> > >> ---
> > >> This patch builds but has NOT been tested.
> > >>
> > >> Changes in v2:
> > >> - Fix SiFive CLINT not getting tick-rate from rtcclk
> > >>
> > >> arch/riscv/dts/fu540-c000-u-boot.dtsi | 8 ++++++--
> > >> arch/riscv/dts/hifive-unleashed-a00-u-boot.dtsi | 4 ++++
> > >> 2 files changed, 10 insertions(+), 2 deletions(-)
> > >>
> > >> diff --git a/arch/riscv/dts/fu540-c000-u-boot.dtsi b/arch/riscv/dts/fu540-c000-u-boot.dtsi
> > >> index afdb4f4402..f126d3e0b3 100644
> > >> --- a/arch/riscv/dts/fu540-c000-u-boot.dtsi
> > >> +++ b/arch/riscv/dts/fu540-c000-u-boot.dtsi
> > >> @@ -53,9 +53,13 @@
> > >> reg = <0x0 0x10070000 0x0 0x1000>;
> > >> fuse-count = <0x1000>;
> > >> };
> > >> - clint at 2000000 {
> > >> + clint: clint at 2000000 {
> > >> compatible = "riscv,clint0";
> > >> - 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>;
> > >> + 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>;
> > >> reg = <0x0 0x2000000 0x0 0xc0000>;
> > >> u-boot,dm-spl;
> > >> };
> > >> diff --git a/arch/riscv/dts/hifive-unleashed-a00-u-boot.dtsi b/arch/riscv/dts/hifive-unleashed-a00-u-boot.dtsi
> > >> index e037150520..3275bb1f12 100644
> > >> --- a/arch/riscv/dts/hifive-unleashed-a00-u-boot.dtsi
> > >> +++ b/arch/riscv/dts/hifive-unleashed-a00-u-boot.dtsi
> > >> @@ -26,6 +26,10 @@
> > >>
> > >> };
> > >>
> > >> +&clint {
> > >> + clocks = <&rtcclk>;
> > >> +};
> > >
> > > Can we consider making this property a standard property by the kernel
> > > upstream? How does the kernel CLINT timer driver determine its running
> > > frequency?
> >
> > Currently it gets it from /cpus/timebase-frequency.
>
> What's your comment on this? I think this should go upstream to the
> standard bindings.
My apologies for delay. Too many mailing list to track.
I think "clocks" should be an optional DT property for CLINT driver (both
Linux and U-Boot). If "clocks" is not available then we should fallback to
"/cpus/timebase-frequency"
Please note in any case the "/cpus/timebase-frequency" will remain
mandatory for generic RISC-V timer (both Linux and U-Boot).
Regards,
Anup
More information about the U-Boot
mailing list