[PATCH v1 00/16] Basic clock and reset support for StarFive JH8100 RISC-V SoC

JeeHeng Sia jeeheng.sia at starfivetech.com
Mon Dec 11 17:09:38 PST 2023



> -----Original Message-----
> From: Emil Renner Berthing <emil.renner.berthing at canonical.com>
> Sent: Saturday, December 9, 2023 12:53 AM
> To: JeeHeng Sia <jeeheng.sia at starfivetech.com>; kernel at esmil.dk; conor at kernel.org; robh+dt at kernel.org;
> krzysztof.kozlowski+dt at linaro.org; paul.walmsley at sifive.com; palmer at dabbelt.com; aou at eecs.berkeley.edu;
> mturquette at baylibre.com; sboyd at kernel.org; p.zabel at pengutronix.de; emil.renner.berthing at canonical.com; Hal Feng
> <hal.feng at starfivetech.com>; Xingyu Wu <xingyu.wu at starfivetech.com>
> Cc: linux-riscv at lists.infradead.org; devicetree at vger.kernel.org; linux-kernel at vger.kernel.org; linux-clk at vger.kernel.org; Leyfoon Tan
> <leyfoon.tan at starfivetech.com>
> Subject: Re: [PATCH v1 00/16] Basic clock and reset support for StarFive JH8100 RISC-V SoC
> 
> Sia Jee Heng wrote:
> > This patch series enabled basic clock & reset support for StarFive
> > JH8100 SoC.
> >
> > This patch series depends on the Initial device tree support for
> > StarFive JH8100 SoC patch series which can be found at below link:
> > https://lore.kernel.org/lkml/20231201121410.95298-1-jeeheng.sia@starfivetech.com/
> >
> > StarFive JH8100 shares a similar clock and reset design with JH7110.
> > To facilitate the reuse of the file and its functionalities, files
> > containing the 'jh71x0' naming convention are renamed to use the
> > 'common' wording. Internal functions that contain the 'jh71x0'
> > naming convention are renamed to use 'starfive.' This is accomplished
> > through patches 1, 2, 3, and 4.
> 
> I'm a little sceptical all this renaming is worth it, but if think it's likely
> that future starfive SoCs can use the same clock drivers I'm ok with it. Just
> know that you'll look a bit silly if your "JH9100" can't use these drivers and
> you'll already need different starfive and starfive-gen2 drivers.
Thank you for your understanding.
> 
> /Emil
> >
> >
> > Patch 5 adds documentation to describe System (SYSCRG) Clock & Reset
> > binding.
> > Patch 6 adds SYSCRG clock driver.
> >
> > patch 7 adds documentation to describe System-North-West (SYSCRG-NW)
> > Clock & Reset binding.
> > Patch 8 adds SYSCRG-NW clock driver.
> >
> > patch 9 adds documentation to describe System-North-East (SYSCRG-NE)
> > Clock & Reset binding.
> > Patch 10 adds SYSCRG-NE clock driver.
> >
> > patch 11 adds documentation to describe System-South-West (SYSCRG-SW)
> > Clock & Reset binding.
> > Patch 12 adds SYSCRG-SW clock driver.
> >
> > patch 13 adds documentation to describe Always-On (AON)
> > Clock & Reset binding.
> > Patch 14 adds AON clock driver.
> >
> > Patch 15 adds support for the auxiliary reset driver.
> >
> > Patch 16 adds clocks and reset nodes to the JH8100 device tree.
> >
> > Sia Jee Heng (16):
> >   reset: starfive: Rename file name "jh71x0" to "common"
> >   reset: starfive: Convert the word "jh71x0" to "starfive"
> >   clk: starfive: Rename file name "jh71x0" to "common"
> >   clk: starfive: Convert the word "jh71x0" to "starfive"
> >   dt-bindings: clock: Add StarFive JH8100 System clock and reset
> >     generator
> >   clk: starfive: Add JH8100 System clock generator driver
> >   dt-bindings: clock: Add StarFive JH8100 System-North-West clock and
> >     reset generator
> >   clk: starfive: Add JH8100 System-North-West clock generator driver
> >   dt-bindings: clock: Add StarFive JH8100 System-North-East clock and
> >     reset generator
> >   clk: starfive: Add JH8100 System-North-East clock generator driver
> >   dt-bindings: clock: Add StarFive JH8100 System-South-West clock and
> >     reset generator
> >   clk: starfive: Add JH8100 System-South-West clock generator driver
> >   dt-bindings: clock: Add StarFive JH8100 Always-On clock and reset
> >     generator
> >   clk: starfive: Add JH8100 Always-On clock generator driver
> >   reset: starfive: Add StarFive JH8100 reset driver
> >   riscv: dts: starfive: jh8100: Add clocks and resets nodes
> >
> >  .../clock/starfive,jh8100-aoncrg.yaml         |  77 +++
> >  .../clock/starfive,jh8100-syscrg-ne.yaml      | 158 +++++
> >  .../clock/starfive,jh8100-syscrg-nw.yaml      | 119 ++++
> >  .../clock/starfive,jh8100-syscrg-sw.yaml      |  66 ++
> >  .../clock/starfive,jh8100-syscrg.yaml         |  66 ++
> >  MAINTAINERS                                   |  15 +
> >  arch/riscv/boot/dts/starfive/jh8100-clk.dtsi  | 180 ++++++
> >  arch/riscv/boot/dts/starfive/jh8100.dtsi      | 115 ++++
> >  drivers/clk/starfive/Kconfig                  |  49 +-
> >  drivers/clk/starfive/Makefile                 |   3 +-
> >  drivers/clk/starfive/clk-starfive-common.c    | 327 ++++++++++
> >  drivers/clk/starfive/clk-starfive-common.h    | 130 ++++
> >  .../clk/starfive/clk-starfive-jh7100-audio.c  | 127 ++--
> >  drivers/clk/starfive/clk-starfive-jh7100.c    | 503 ++++++++--------
> >  .../clk/starfive/clk-starfive-jh7110-aon.c    |  62 +-
> >  .../clk/starfive/clk-starfive-jh7110-isp.c    |  72 +--
> >  .../clk/starfive/clk-starfive-jh7110-stg.c    |  94 +--
> >  .../clk/starfive/clk-starfive-jh7110-sys.c    | 523 ++++++++--------
> >  .../clk/starfive/clk-starfive-jh7110-vout.c   |  74 +--
> >  drivers/clk/starfive/clk-starfive-jh7110.h    |   4 +-
> >  drivers/clk/starfive/clk-starfive-jh71x0.c    | 327 ----------
> >  drivers/clk/starfive/clk-starfive-jh71x0.h    | 123 ----
> >  drivers/clk/starfive/jh8100/Makefile          |   7 +
> >  drivers/clk/starfive/jh8100/clk-aon.c         | 275 +++++++++
> >  .../clk/starfive/jh8100/clk-starfive-jh8100.h |  11 +
> >  drivers/clk/starfive/jh8100/clk-sys-ne.c      | 566 ++++++++++++++++++
> >  drivers/clk/starfive/jh8100/clk-sys-nw.c      | 268 +++++++++
> >  drivers/clk/starfive/jh8100/clk-sys-sw.c      | 136 +++++
> >  drivers/clk/starfive/jh8100/clk-sys.c         | 455 ++++++++++++++
> >  drivers/reset/starfive/Kconfig                |  14 +-
> >  drivers/reset/starfive/Makefile               |   4 +-
> >  ...rfive-jh71x0.c => reset-starfive-common.c} |  68 +--
> >  .../reset/starfive/reset-starfive-common.h    |  14 +
> >  .../reset/starfive/reset-starfive-jh7100.c    |   4 +-
> >  .../reset/starfive/reset-starfive-jh7110.c    |   8 +-
> >  .../reset/starfive/reset-starfive-jh71x0.h    |  14 -
> >  .../reset/starfive/reset-starfive-jh8100.c    | 102 ++++
> >  .../dt-bindings/clock/starfive,jh8100-crg.h   | 430 +++++++++++++
> >  .../dt-bindings/reset/starfive,jh8100-crg.h   | 127 ++++
> >  ...rfive-jh71x0.h => reset-starfive-common.h} |  10 +-
> >  40 files changed, 4485 insertions(+), 1242 deletions(-)
> >  create mode 100644 Documentation/devicetree/bindings/clock/starfive,jh8100-aoncrg.yaml
> >  create mode 100644 Documentation/devicetree/bindings/clock/starfive,jh8100-syscrg-ne.yaml
> >  create mode 100644 Documentation/devicetree/bindings/clock/starfive,jh8100-syscrg-nw.yaml
> >  create mode 100644 Documentation/devicetree/bindings/clock/starfive,jh8100-syscrg-sw.yaml
> >  create mode 100644 Documentation/devicetree/bindings/clock/starfive,jh8100-syscrg.yaml
> >  create mode 100644 arch/riscv/boot/dts/starfive/jh8100-clk.dtsi
> >  create mode 100644 drivers/clk/starfive/clk-starfive-common.c
> >  create mode 100644 drivers/clk/starfive/clk-starfive-common.h
> >  delete mode 100644 drivers/clk/starfive/clk-starfive-jh71x0.c
> >  delete mode 100644 drivers/clk/starfive/clk-starfive-jh71x0.h
> >  create mode 100644 drivers/clk/starfive/jh8100/Makefile
> >  create mode 100644 drivers/clk/starfive/jh8100/clk-aon.c
> >  create mode 100644 drivers/clk/starfive/jh8100/clk-starfive-jh8100.h
> >  create mode 100644 drivers/clk/starfive/jh8100/clk-sys-ne.c
> >  create mode 100644 drivers/clk/starfive/jh8100/clk-sys-nw.c
> >  create mode 100644 drivers/clk/starfive/jh8100/clk-sys-sw.c
> >  create mode 100644 drivers/clk/starfive/jh8100/clk-sys.c
> >  rename drivers/reset/starfive/{reset-starfive-jh71x0.c => reset-starfive-common.c} (55%)
> >  create mode 100644 drivers/reset/starfive/reset-starfive-common.h
> >  delete mode 100644 drivers/reset/starfive/reset-starfive-jh71x0.h
> >  create mode 100644 drivers/reset/starfive/reset-starfive-jh8100.c
> >  create mode 100644 include/dt-bindings/clock/starfive,jh8100-crg.h
> >  create mode 100644 include/dt-bindings/reset/starfive,jh8100-crg.h
> >  rename include/soc/starfive/{reset-starfive-jh71x0.h => reset-starfive-common.h} (50%)
> >
> > --
> > 2.34.1
> >


More information about the linux-riscv mailing list