[PATCH v7 0/9] Add STG/ISP/VOUT clock and reset drivers for StarFive JH7110

Palmer Dabbelt palmer at dabbelt.com
Wed Jul 12 09:50:37 PDT 2023


On Wed, 12 Jul 2023 02:19:58 PDT (-0700), xingyu.wu at starfivetech.com wrote:
> This patch serises are base on the basic JH7110 SYSCRG/AONCRG
> drivers and add new partial clock drivers and reset supports
> about System-Top-Group(STG), Image-Signal-Process(ISP)
> and Video-Output(VOUT) for the StarFive JH7110 RISC-V SoC. These
> clocks and resets could be used by DMA, VIN and Display modules.
>
> Patches 1 and 2 are about the System-Top-Group clock and reset
> generator(STGCRG) part. The first patch adds docunmentation to
> describe STG bindings, and the second patch adds clock driver to
> support STG clocks and resets as auxiliary device for JH7110.
>
> Patches 3 and 4 are about the Image-Signal-Process clock and reset
> gennerator(ISPCRG) part. The first patch adds docunmentation to
> describe ISP bindings, and the second patch adds clock driver to
> support ISP clocks and resets as auxiliary device for JH7110.
> And ISP clocks should power on and enable the SYSCRG clocks first
> before registering.
>
> Patches 5 and 6 are about the Video-Output clock and reset
> generator(VOUTCRG) part. The first patch adds docunmentation to
> describe VOUT bindings, and the second patch adds clock driver to
> support VOUT clocks and resets as auxiliary device for JH7110.
> And VOUT clocks also should power on and enable the SYSCRG clocks
> first before registering.
>
> Patch 7 adds struct members to support STG/ISP/VOUT resets.
> Patch 8 adds external clocks which ISP and VOUT clock driver need.
> Patch 9 adds device node about STGCRG, ISPCRG and VOUTCRG to JH7110 dts.
>
> Changes since v6:
> - Rebased on the Linux 6.5-rc1.
> - Dropped the unnecessary selections in the Kconfig.
> - Dropped the patches about the PMU node and MAINTIANERS.
> - Add the reviews.
>
> v6: https://lore.kernel.org/all/20230518101234.143748-1-xingyu.wu@starfivetech.com/
>
> Changes since v5:
> - Rebased on the Linux 6.4-rc2.
> - Modified the reset name about VOUTCRG to fix the error with
>   CONFIG_FORTIFY_SOURCE=y
> - Added the patch about pmu node.
>
> v5: https://lore.kernel.org/all/20230424135409.6648-1-xingyu.wu@starfivetech.com/
>
> Changes since v4:
> - Rebased on the lastest patches about fixing the basic clock and reset drivers.
> - Dropped the 'dev_set_drvdata()' in STG clock driver.
> - Modified the data with 'dev_set_drvdata()' in ISP/VOUT clock driver
>   and move the struct about the data to JH7110 header file, which both
>   ISP and VOUT clock drivers will use.
>
> v4: https://lore.kernel.org/all/20230411135558.44282-1-xingyu.wu@starfivetech.com/
>
> Changes since v3:
> - Rebased on the lastest JH71X0 clock and reset driver of patchset[1]
>   and modified the parameters of the register reset functions.
> - The patch 1 combined three commits on STG/ISP/VOUT resets into one.
>   And Changed the auxiliary_device_id name from
>   "clk_starfive_jh71x0.reset-*" to "clk_starfive_jh7110_sys.rst-*".
> - Added a maintainer in STARFIVE JH71X0 CLOCK DRIVERS.
>
> v3: https://lore.kernel.org/all/20230314124404.117592-1-xingyu.wu@starfivetech.com/
>
> Changes since v2:
> Patch 1:
> - Dropped the modification of maintainers.
> - Modified clock and reset names in the dt-bindings header files.
> Patch 3:
> - Added 'Emil Renner Berthing' as the author.
> - Used 'default m' in Kconfig file.
> - Changed the flags of 'CLK_IGNORE_UNUSED' to 0 or 'CLK_IS_CRITICAL'.
> Patch 4:
> - Dropped the 'reset-names' property.
> - Shortened the clock and reset names in the dt-bindings header files.
> Pacth 6:
> - Used 'default m' in Kconfig file.
> - Changed the flags of 'CLK_IGNORE_UNUSED' to 0.
> - Set reset_control struct to a local variable because it just is used
>   one time in probe.
> Pacth 7:
> - Dropped the 'reset-names' property.
> Patch 9:
> - Used 'default m' in Kconfig file.
> - Set reset_control struct to a local variable because it just is used
>   one time in probe.
> Patch 10:
> - Changed the order of externel clock in alphanumerical order.
> Patch 11:
> - Dropped the 'reset-names' property in ispcrg and voutcrg node.
>
> v2: https://lore.kernel.org/all/20230221083323.302471-1-xingyu.wu@starfivetech.com/
>
> Changes since v1:
> - Modified the binding and dropped the indentation.
> - Removed the useless header files in the drivers.
> - Used an array lookup instead of a pile of conditions about parent
>   clocks' name.
> - Added clocks operation on driver remove.
>
> v1: https://lore.kernel.org/all/20230120024445.244345-1-xingyu.wu@starfivetech.com/
>
> Emil Renner Berthing (1):
>   clk: starfive: Add StarFive JH7110 System-Top-Group clock driver
>
> Xingyu Wu (8):
>   dt-bindings: clock: Add StarFive JH7110 System-Top-Group clock and
>     reset generator
>   dt-bindings: clock: Add StarFive JH7110 Image-Signal-Process clock and
>     reset generator
>   clk: starfive: Add StarFive JH7110 Image-Signal-Process clock driver
>   dt-bindings: clock: Add StarFive JH7110 Video-Output clock and reset
>     generator
>   clk: starfive: Add StarFive JH7110 Video-Output clock driver
>   reset: starfive: jh7110: Add StarFive STG/ISP/VOUT resets support
>   riscv: dts: starfive: jh7110: Add DVP and HDMI TX pixel external
>     clocks
>   riscv: dts: starfive: jh7110: Add STGCRG/ISPCRG/VOUTCRG nodes
>
>  .../clock/starfive,jh7110-ispcrg.yaml         |  87 +++++++
>  .../clock/starfive,jh7110-stgcrg.yaml         |  82 ++++++
>  .../clock/starfive,jh7110-voutcrg.yaml        |  90 +++++++
>  .../jh7110-starfive-visionfive-2.dtsi         |   8 +
>  arch/riscv/boot/dts/starfive/jh7110.dtsi      |  67 +++++
>  drivers/clk/starfive/Kconfig                  |  24 ++
>  drivers/clk/starfive/Makefile                 |   3 +
>  .../clk/starfive/clk-starfive-jh7110-isp.c    | 232 +++++++++++++++++
>  .../clk/starfive/clk-starfive-jh7110-stg.c    | 173 +++++++++++++
>  .../clk/starfive/clk-starfive-jh7110-vout.c   | 239 ++++++++++++++++++
>  drivers/clk/starfive/clk-starfive-jh7110.h    |   6 +
>  .../reset/starfive/reset-starfive-jh7110.c    |  30 +++
>  .../dt-bindings/clock/starfive,jh7110-crg.h   |  74 ++++++
>  .../dt-bindings/reset/starfive,jh7110-crg.h   |  60 +++++
>  14 files changed, 1175 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/clock/starfive,jh7110-ispcrg.yaml
>  create mode 100644 Documentation/devicetree/bindings/clock/starfive,jh7110-stgcrg.yaml
>  create mode 100644 Documentation/devicetree/bindings/clock/starfive,jh7110-voutcrg.yaml
>  create mode 100644 drivers/clk/starfive/clk-starfive-jh7110-isp.c
>  create mode 100644 drivers/clk/starfive/clk-starfive-jh7110-stg.c
>  create mode 100644 drivers/clk/starfive/clk-starfive-jh7110-vout.c

Happy to take it through the RISC-V tree if folks want, but IMO it's 
probably better aimed at the clock/reset folks.  Either way I'd want to 
give them a chance to ack/review it, so I'm going to drop it from my 
list.

Acked-by: Palmer Dabbelt <palmer at rivosinc.com>

in case anyone's looking for it, though.

Thanks!



More information about the linux-riscv mailing list