lkml.org 
[lkml]   [2020]   [Sep]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH AUTOSEL 5.8 20/20] riscv: Fix Kendryte K210 device tree
    Date
    On 2020/09/21 23:41, Sasha Levin wrote:
    > From: Damien Le Moal <damien.lemoal@wdc.com>
    >
    > [ Upstream commit f025d9d9934b84cd03b7796072d10686029c408e ]
    >
    > The Kendryte K210 SoC CLINT is compatible with Sifive clint v0
    > (sifive,clint0). Fix the Kendryte K210 device tree clint entry to be
    > inline with the sifive timer definition documented in
    > Documentation/devicetree/bindings/timer/sifive,clint.yaml.
    > The device tree clint entry is renamed similarly to u-boot device tree
    > definition to improve compatibility with u-boot defined device tree.
    > To ensure correct initialization, the interrup-cells attribute is added
    > and the interrupt-extended attribute definition fixed.
    >
    > This fixes boot failures with Kendryte K210 SoC boards.
    >
    > Note that the clock referenced is kept as K210_CLK_ACLK, which does not
    > necessarilly match the clint MTIME increment rate. This however does not
    > seem to cause any problem for now.
    >
    > Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
    > Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
    > Signed-off-by: Sasha Levin <sashal@kernel.org>
    > ---
    > arch/riscv/boot/dts/kendryte/k210.dtsi | 6 ++++--
    > 1 file changed, 4 insertions(+), 2 deletions(-)
    >
    > diff --git a/arch/riscv/boot/dts/kendryte/k210.dtsi b/arch/riscv/boot/dts/kendryte/k210.dtsi
    > index c1df56ccb8d55..d2d0ff6456325 100644
    > --- a/arch/riscv/boot/dts/kendryte/k210.dtsi
    > +++ b/arch/riscv/boot/dts/kendryte/k210.dtsi
    > @@ -95,10 +95,12 @@ sysctl: sysctl@50440000 {
    > #clock-cells = <1>;
    > };
    >
    > - clint0: interrupt-controller@2000000 {
    > + clint0: clint@2000000 {
    > + #interrupt-cells = <1>;
    > compatible = "riscv,clint0";
    > reg = <0x2000000 0xC000>;
    > - interrupts-extended = <&cpu0_intc 3>, <&cpu1_intc 3>;
    > + interrupts-extended = <&cpu0_intc 3 &cpu0_intc 7
    > + &cpu1_intc 3 &cpu1_intc 7>;
    > clocks = <&sysctl K210_CLK_ACLK>;
    > };
    >
    >

    Sasha,

    This is a fix for a problem in 5.9 tree. 5.8 kernel is fine without this patch.
    And I think applying it to 5.8 might actually break things since the proper
    clint driver was added to kernel 5.9 and does not exist in 5.8.

    Best regards.

    --
    Damien Le Moal
    Western Digital Research

    \
     
     \ /
      Last update: 2020-09-23 02:35    [W:4.323 / U:0.204 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site