Skip to content

Basic StarFive JH7110 RISC-V SoC support

Hal Feng linux-clk linux-devicetree linux-gpio linux-riscv lkml llvm 1 version Applied

Status from this message: I applied this patch for v6.1 so you don't have to reiterate it, it's clearly

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest30 patches 73 repliesApplied

Patches in v1 Applied

#Subject and filesSizeRepliesApplied
1/30dt-bindings: riscv: Add StarFive JH7110 bindingsDocumentation/devicetree/bindings/riscv/starfive.yaml+3 -02 replies
2/30dt-bindings: timer: Add StarFive JH7110 clintDocumentation/devicetree/bindings/timer/sifive,clint.yaml+1 -01 reply
3/30dt-bindings: interrupt-controller: Add StarFive JH7110 plicDocumentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml+1 -01 reply
4/30dt-bindings: sifive-l2-cache: Support StarFive JH71x0 SoCsDocumentation/devicetree/bindings/riscv/sifive-l2-cache.yaml+4 -04 replies
5/30soc: sifive: l2 cache: Convert to platform driverdrivers/soc/sifive/sifive_l2_cache.c+40 -397 replies
6/30soc: sifive: l2 cache: Add StarFive JH71x0 supportarch/riscv/Kconfig.socs drivers/soc/Makefile drivers/soc/sifive/Kconfig +1 more+10 -20 replies
7/30reset: starfive: jh7100: Use 32bit I/O on 32bit registersdrivers/reset/reset-starfive-jh7100.c+20 -210 replies
8/30reset: starfive: jh7100: Use regmap APIs to operate registersdrivers/reset/reset-starfive-jh7100.c+34 -270 replies
9/30reset: starfive: jh7100: Move necessary properties to device treeDocumentation/devicetree/bindings/reset/starfive,jh7100-reset.yaml arch/riscv/boot/dts/starfive/jh7100.dtsi drivers/reset/reset-starfive-jh7100.c+57 -162 replies
10/30reset: starfive: Rename 'reset-starfive-jh7100.c' to 'reset-starfive.c'MAINTAINERS drivers/reset/Kconfig drivers/reset/Makefile +1 more+43 -420 replies
11/30dt-bindings: reset: Add StarFive JH7110 reset definitionsinclude/dt-bindings/reset/starfive-jh7110.h+154 -00 replies
12/30dt-bindings: reset: Add starfive,jh7110-reset bindingsDocumentation/devicetree/bindings/reset/starfive,jh7110-reset.yaml+54 -011 replies
13/30reset: starfive: Add StarFive JH7110 SoC supportdrivers/reset/reset-starfive.c+28 -70 replies
14/30clk: starfive: Factor out common clock driver codeMAINTAINERS drivers/clk/starfive/Kconfig drivers/clk/starfive/Makefile +5 more+779 -7511 reply
15/30clk: starfive: Use regmap APIs to operate registersdrivers/clk/starfive/clk-starfive-jh7100-audio.c drivers/clk/starfive/clk-starfive-jh7100.c drivers/clk/starfive/clk-starfive.c +1 more+56 -368 replies
16/30dt-bindings: clock: Add StarFive JH7110 system clock definitionsinclude/dt-bindings/clock/starfive-jh7110-sys.h+215 -00 replies
17/30dt-bindings: clock: Add starfive,jh7110-clkgen-sys bindingsDocumentation/devicetree/bindings/clock/starfive,jh7110-clkgen-sys.yaml+69 -03 replies
18/30clk: starfive: Add StarFive JH7110 system clock driverdrivers/clk/starfive/Kconfig drivers/clk/starfive/Makefile drivers/clk/starfive/clk-starfive-jh7110-sys.c +1 more+660 -10 replies
19/30dt-bindings: clock: Add StarFive JH7110 always-on definitionsinclude/dt-bindings/clock/starfive-jh7110-aon.h+26 -00 replies
20/30dt-bindings: clock: Add starfive,jh7110-clkgen-aon bindingsDocumentation/devicetree/bindings/clock/starfive,jh7110-clkgen-aon.yaml+62 -03 replies
21/30clk: starfive: Add StarFive JH7110 always-on clock driverdrivers/clk/starfive/Kconfig drivers/clk/starfive/Makefile drivers/clk/starfive/clk-starfive-jh7110-aon.c+171 -00 replies
22/30pinctrl: Create subdirectory for StarFive driversdrivers/pinctrl/Kconfig drivers/pinctrl/Makefile drivers/pinctrl/starfive/Kconfig +2 more+28 -221 reply
23/30pinctrl: starfive: Rename "pinctrl-starfive" to "pinctrl-starfive-jh7100"Documentation/devicetree/bindings/pinctrl/starfive,jh7100-pinctrl.yaml arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dts drivers/pinctrl/starfive/Kconfig +3 more+8 -87 replies
24/30dt-bindings: pinctrl: Add StarFive JH7110 pinctrl definitionsinclude/dt-bindings/pinctrl/pinctrl-starfive-jh7110.h+931 -01 reply
25/30dt-bindings: pinctrl: Add StarFive JH7110 pinctrl bindingsDocumentation/devicetree/bindings/pinctrl/starfive,jh7110-pinctrl.yaml+202 -03 replies
26/30pinctrl: starfive: Add StarFive JH7110 driverMAINTAINERS drivers/pinctrl/starfive/Kconfig drivers/pinctrl/starfive/Makefile +4 more+2343 -43 replies
27/30RISC-V: Add initial StarFive JH7110 device treearch/riscv/boot/dts/starfive/jh7110.dtsi+449 -03 replies
28/30RISC-V: Add StarFive JH7110 VisionFive2 board device treearch/riscv/boot/dts/starfive/Makefile arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-v2.dts+92 -02 replies
29/30RISC-V: defconfig: Enable CONFIG_SERIAL_8250_DWarch/riscv/configs/defconfig+1 -03 replies
30/30RISC-V: Add StarFive JH7100 and JH7110 SoC Kconfig optionsarch/riscv/Kconfig.socs arch/riscv/boot/dts/starfive/Makefile drivers/clk/starfive/Kconfig +2 more+36 -162 replies

Reviews trailers per patch

5 of 30 patches have a Reviewed-by or Acked-by.

PatchKrzysztof KozlowskiRob HerringConor Dooley
1/30
2/30A-b
3/30A-b
4/30A-b
5/30
6/30
7/30
8/30
9/30
10/30
11/30
12/30
13/30
14/30
15/30
16/30
17/30
18/30
19/30
20/30
21/30
22/30
23/30R-b
24/30
25/30
26/30
27/30
28/30
29/30R-b
30/30

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.

Read the v1 thread

Cover letter [PATCH v1 00/30] Basic StarFive JH7110 RISC-V SoC support

This series adds basic support for the StarFive JH7110 RISC-V SoC to boot up and get a serial console. This series includes basic clock, reset, pinctrl and uart drivers, which are necessary for booting. It's should be noted that the reset and clock driver codes of JH7110 are partly common with those of JH7100, so the common codes are factored out and can be reused by drivers of JH7110 and other more SoCs from StarFive.

The JH7110 is the upgraded version of JH7100 and also the first official released version of JH71XX series SoCs from StarFive Technology Ltd. The VisionFive 2 boards equipped with JH7110 SoCs are launched recently [1]. More information and support can visit RVspace wiki [2].

This series is also available at
https://github.com/hal-feng/linux/commits/visionfive2-minimal

[1] https://www.cnx-software.com/2022/08/23/starfive-visionfive-2-quad-core-risc-v-sbc-linux/
[2] https://wiki.rvspace.org/

Emil Renner Berthing (17):
dt-bindings: riscv: Add StarFive JH7110 bindings
dt-bindings: timer: Add StarFive JH7110 clint
dt-bindings: interrupt-controller: Add StarFive JH7110 plic
dt-bindings: sifive-l2-cache: Support StarFive JH71x0 SoCs
soc: sifive: l2 cache: Convert to platform driver
soc: sifive: l2 cache: Add StarFive JH71x0 support
reset: starfive: jh7100: Use 32bit I/O on 32bit registers
dt-bindings: reset: Add StarFive JH7110 reset definitions
clk: starfive: Factor out common clock driver code
dt-bindings: clock: Add StarFive JH7110 system clock definitions
dt-bindings: clock: Add starfive,jh7110-clkgen-sys bindings
clk: starfive: Add StarFive JH7110 system clock driver
dt-bindings: clock: Add StarFive JH7110 always-on definitions
dt-bindings: clock: Add starfive,jh7110-clkgen-aon bindings
clk: starfive: Add StarFive JH7110 always-on clock driver
RISC-V: Add initial StarFive JH7110 device tree
RISC-V: Add StarFive JH7110 VisionFive2 board device tree

Hal Feng (8):
reset: starfive: jh7100: Use regmap APIs to operate registers
reset: starfive: jh7100: Move necessary properties to device tree
reset: starfive: Rename 'reset-starfive-jh7100.c' to
'reset-starfive.c'
dt-bindings: reset: Add starfive,jh7110-reset bindings
reset: starfive: Add StarFive JH7110 SoC support
clk: starfive: Use regmap APIs to operate registers
RISC-V: defconfig: Enable CONFIG_SERIAL_8250_DW
RISC-V: Add StarFive JH7100 and JH7110 SoC Kconfig options

Jianlong Huang (5):
pinctrl: Create subdirectory for StarFive drivers
pinctrl: starfive: Rename "pinctrl-starfive" to

    "pinctrl-starfive-jh7100"

dt-bindings: pinctrl: Add StarFive JH7110 pinctrl definitions
dt-bindings: pinctrl: Add StarFive JH7110 pinctrl bindings
pinctrl: starfive: Add StarFive JH7110 driver

 .../clock/starfive,jh7110-clkgen-aon.yaml     |  62 ++
 .../clock/starfive,jh7110-clkgen-sys.yaml     |  69 ++
 .../sifive,plic-1.0.0.yaml                    |   1 +
 .../pinctrl/starfive,jh7100-pinctrl.yaml      |   2 +-
 .../pinctrl/starfive,jh7110-pinctrl.yaml      | 202 ++++
 .../bindings/reset/starfive,jh7100-reset.yaml |  20 +
 .../bindings/reset/starfive,jh7110-reset.yaml |  54 +
 .../bindings/riscv/sifive-l2-cache.yaml       |   4 +
 .../devicetree/bindings/riscv/starfive.yaml   |   3 +
 .../bindings/timer/sifive,clint.yaml          |   1 +
 MAINTAINERS                                   |  27 +-
 arch/riscv/Kconfig.socs                       |  28 +-
 arch/riscv/boot/dts/starfive/Makefile         |   3 +-
 .../dts/starfive/jh7100-beaglev-starlight.dts |   2 +-
 arch/riscv/boot/dts/starfive/jh7100.dtsi      |   3 +
 .../jh7110-starfive-visionfive-v2.dts         |  91 ++
 arch/riscv/boot/dts/starfive/jh7110.dtsi      | 449 +++++++++
 arch/riscv/configs/defconfig                  |   1 +
 drivers/clk/starfive/Kconfig                  |  29 +-
 drivers/clk/starfive/Makefile                 |   6 +-
 .../clk/starfive/clk-starfive-jh7100-audio.c  | 138 +--
 drivers/clk/starfive/clk-starfive-jh7100.c    | 836 +++++-----------
 drivers/clk/starfive/clk-starfive-jh7100.h    | 112 ---
 .../clk/starfive/clk-starfive-jh7110-aon.c    | 161 +++
 .../clk/starfive/clk-starfive-jh7110-sys.c    | 648 ++++++++++++
 drivers/clk/starfive/clk-starfive.c           | 349 +++++++
 drivers/clk/starfive/clk-starfive.h           | 112 +++
 drivers/pinctrl/Kconfig                       |  18 +-
 drivers/pinctrl/Makefile                      |   2 +-
 drivers/pinctrl/starfive/Kconfig              |  37 +
 drivers/pinctrl/starfive/Makefile             |   8 +
 drivers/pinctrl/starfive/pinctrl-jh7110-aon.c | 718 ++++++++++++++
 drivers/pinctrl/starfive/pinctrl-jh7110-sys.c | 925 +++++++++++++++++
 .../pinctrl-starfive-jh7100.c}                |  10 +-
 drivers/pinctrl/starfive/pinctrl-starfive.c   | 539 ++++++++++
 drivers/pinctrl/starfive/pinctrl-starfive.h   | 131 +++
 drivers/reset/Kconfig                         |   7 +-
 drivers/reset/Makefile                        |   2 +-
 drivers/reset/reset-starfive-jh7100.c         | 173 ----
 drivers/reset/reset-starfive.c                | 218 ++++
 drivers/soc/Makefile                          |   2 +-
 drivers/soc/sifive/Kconfig                    |   2 +-
 drivers/soc/sifive/sifive_l2_cache.c          |  86 +-
 .../dt-bindings/clock/starfive-jh7110-aon.h   |  26 +
 .../dt-bindings/clock/starfive-jh7110-sys.h   | 215 ++++
 ...l-starfive.h => pinctrl-starfive-jh7100.h} |   6 +-
 .../pinctrl/pinctrl-starfive-jh7110.h         | 931 ++++++++++++++++++
 include/dt-bindings/reset/starfive-jh7110.h   | 154 +++
 48 files changed, 6604 insertions(+), 1019 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/clock/starfive,jh7110-clkgen-aon.yaml
 create mode 100644 Documentation/devicetree/bindings/clock/starfive,jh7110-clkgen-sys.yaml
 create mode 100644 Documentation/devicetree/bindings/pinctrl/starfive,jh7110-pinctrl.yaml
 create mode 100644 Documentation/devicetree/bindings/reset/starfive,jh7110-reset.yaml
 create mode 100644 arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-v2.dts
 create mode 100644 arch/riscv/boot/dts/starfive/jh7110.dtsi
 delete mode 100644 drivers/clk/starfive/clk-starfive-jh7100.h
 create mode 100644 drivers/clk/starfive/clk-starfive-jh7110-aon.c
 create mode 100644 drivers/clk/starfive/clk-starfive-jh7110-sys.c
 create mode 100644 drivers/clk/starfive/clk-starfive.c
 create mode 100644 drivers/clk/starfive/clk-starfive.h
 create mode 100644 drivers/pinctrl/starfive/Kconfig
 create mode 100644 drivers/pinctrl/starfive/Makefile
 create mode 100644 drivers/pinctrl/starfive/pinctrl-jh7110-aon.c
 create mode 100644 drivers/pinctrl/starfive/pinctrl-jh7110-sys.c
 rename drivers/pinctrl/{pinctrl-starfive.c => starfive/pinctrl-starfive-jh7100.c} (99%)
 create mode 100644 drivers/pinctrl/starfive/pinctrl-starfive.c
 create mode 100644 drivers/pinctrl/starfive/pinctrl-starfive.h
 delete mode 100644 drivers/reset/reset-starfive-jh7100.c
 create mode 100644 drivers/reset/reset-starfive.c
 create mode 100644 include/dt-bindings/clock/starfive-jh7110-aon.h
 create mode 100644 include/dt-bindings/clock/starfive-jh7110-sys.h
 rename include/dt-bindings/pinctrl/{pinctrl-starfive.h => pinctrl-starfive-jh7100.h} (98%)
 create mode 100644 include/dt-bindings/pinctrl/pinctrl-starfive-jh7110.h
 create mode 100644 include/dt-bindings/reset/starfive-jh7110.h
Signature · 1 line
2.17.1