[PATCH v2 3/3] riscv: dts: thead: add basic spi node

Kanak Shilledar kanakshilledar at gmail.com
Wed Jul 3 22:42:43 PDT 2024


Hi

On Wed, Jul 3, 2024 at 8:15 PM Conor Dooley <conor at kernel.org> wrote:
>
> Kanak, Drew,
>
> On Mon, Jul 01, 2024 at 05:43:54PM +0530, Kanak Shilledar wrote:
> > created spi0 node with fixed clock. the spi0 node
> > uses synopsis designware driver and has the following
> > compatible "snps,dw-apb-ssi". the spi0 node is connected
> > to a SPI NOR flash pad which is left unpopulated on the back
> > side of the board.
> >
> > Signed-off-by: Kanak Shilledar <kanakshilledar at gmail.com>
> > ---
> > Changes in v2:
> > - Separated from a single patch file
> > ---
> >  .../boot/dts/thead/th1520-beaglev-ahead.dts      |  9 +++++++++
> >  .../boot/dts/thead/th1520-lichee-module-4a.dtsi  |  4 ++++
> >  .../riscv/boot/dts/thead/th1520-lichee-pi-4a.dts |  5 +++++
>
> Didn't you say there was a flash on one of these two boards?
Yes, there is a SPI nor flash pad left unpopulated on the bottom side
of the LicheePi 4a
carrier board. https://wiki.sipeed.com/hardware/en/lichee/th1520/lpi4a/2_unbox.html#Board-hardware-overview
notice the reserved pad in the bottom part of the image.

> >  arch/riscv/boot/dts/thead/th1520.dtsi            | 16 ++++++++++++++++
> >  4 files changed, 34 insertions(+)
> >
> > diff --git a/arch/riscv/boot/dts/thead/th1520-beaglev-ahead.dts b/arch/riscv/boot/dts/thead/th1520-beaglev-ahead.dts
> > index d9b4de9e4757..3103b74e0288 100644
> > --- a/arch/riscv/boot/dts/thead/th1520-beaglev-ahead.dts
> > +++ b/arch/riscv/boot/dts/thead/th1520-beaglev-ahead.dts
> > @@ -17,6 +17,7 @@ aliases {
> >               gpio1 = &gpio1;
> >               gpio2 = &gpio2;
> >               gpio3 = &gpio3;
> > +             spi0 = &spi0;
>
> "spi" would sort after "serial".
i will fix that.

> >               serial0 = &uart0;
> >               serial1 = &uart1;
> >               serial2 = &uart2;
> > @@ -52,6 +53,10 @@ &sdhci_clk {
> >       clock-frequency = <198000000>;
> >  };
> >
> > +&spi_clk {
> > +     clock-frequency = <396000000>;
> > +};
>
> I'm pretty sceptical about adding more of these fixed clocks, rather
> than waiting for the clock driver. Drew, what do you think? Should we
> just add one more to your fixup list or would you rather delay? Guess it
> depends on how long more you think that clock driver is likely to take.
>
> Thanks,
> Conor.
>

Thanks and Regards,
Kanak Shilledar

> > +
> >  &uart_sclk {
> >       clock-frequency = <100000000>;
> >  };
> > @@ -79,3 +84,7 @@ &sdio0 {
> >  &uart0 {
> >       status = "okay";
> >  };
> > +
> > +&spi0 {
> > +     status = "okay";
> > +};
> > diff --git a/arch/riscv/boot/dts/thead/th1520-lichee-module-4a.dtsi b/arch/riscv/boot/dts/thead/th1520-lichee-module-4a.dtsi
> > index 1365d3a512a3..6939bd36560c 100644
> > --- a/arch/riscv/boot/dts/thead/th1520-lichee-module-4a.dtsi
> > +++ b/arch/riscv/boot/dts/thead/th1520-lichee-module-4a.dtsi
> > @@ -33,6 +33,10 @@ &sdhci_clk {
> >       clock-frequency = <198000000>;
> >  };
> >
> > +&spi_clk {
> > +     clock-frequency = <396000000>;
> > +};
> > +
> >  &uart_sclk {
> >       clock-frequency = <100000000>;
> >  };
> > diff --git a/arch/riscv/boot/dts/thead/th1520-lichee-pi-4a.dts b/arch/riscv/boot/dts/thead/th1520-lichee-pi-4a.dts
> > index 9a3884a73e13..14b06dd81a9a 100644
> > --- a/arch/riscv/boot/dts/thead/th1520-lichee-pi-4a.dts
> > +++ b/arch/riscv/boot/dts/thead/th1520-lichee-pi-4a.dts
> > @@ -14,6 +14,7 @@ aliases {
> >               gpio1 = &gpio1;
> >               gpio2 = &gpio2;
> >               gpio3 = &gpio3;
> > +             spi0 = &spi0;
> >               serial0 = &uart0;
> >               serial1 = &uart1;
> >               serial2 = &uart2;
> > @@ -30,3 +31,7 @@ chosen {
> >  &uart0 {
> >       status = "okay";
> >  };
> > +
> > +&spi0 {
> > +     status = "okay";
> > +};
> > diff --git a/arch/riscv/boot/dts/thead/th1520.dtsi b/arch/riscv/boot/dts/thead/th1520.dtsi
> > index d2fa25839012..f962de663e7e 100644
> > --- a/arch/riscv/boot/dts/thead/th1520.dtsi
> > +++ b/arch/riscv/boot/dts/thead/th1520.dtsi
> > @@ -140,6 +140,12 @@ apb_clk: apb-clk-clock {
> >               #clock-cells = <0>;
> >       };
> >
> > +     spi_clk: spi-clock {
> > +             compatible = "fixed-clock";
> > +             clock-output-names = "spi_clk";
> > +             #clock-cells = <0>;
> > +     };
> > +
> >       uart_sclk: uart-sclk-clock {
> >               compatible = "fixed-clock";
> >               clock-output-names = "uart_sclk";
> > @@ -183,6 +189,16 @@ clint: timer at ffdc000000 {
> >                                             <&cpu3_intc 3>, <&cpu3_intc 7>;
> >               };
> >
> > +             spi0: spi at ffe700c000 {
> > +                     compatible = "thead,th1520-spi", "snps,dw-apb-ssi";
> > +                     reg = <0xff 0xe700c000 0x0 0x1000>;
> > +                     interrupts = <54 IRQ_TYPE_LEVEL_HIGH>;
> > +                     clocks = <&spi_clk>;
> > +                     #address-cells = <1>;
> > +                     #size-cells = <0>;
> > +                     status = "disabled";
> > +             };
> > +
> >               uart0: serial at ffe7014000 {
> >                       compatible = "snps,dw-apb-uart";
> >                       reg = <0xff 0xe7014000 0x0 0x100>;
> > --
> > 2.45.2
> >



More information about the linux-riscv mailing list