[PATCH v7 0/8] Add FU740 chip and HiFive Unmatched board support

Palmer Dabbelt palmer at dabbelt.com
Fri Apr 23 05:40:43 CEST 2021


On Thu, 22 Apr 2021 02:11:51 PDT (-0700), green.wan at sifive.com wrote:
> This patch set is to add SiFive fu740 chip and HiFive Unmatched board
> support. Patches are split into several parts:
>
>   - [PATCH v7 1/8] support for fu740 cpu
>   - [PATCH v7 2/8] support for fu740 clk driver
>   - [PATCH v7 3/8] rename and support for fu740 ram driver
>   - [PATCH v7 4/8] add pcie driver
>   - [PATCH v7 5/8] dts for SiFive fu740
>   - [PATCH v7 6/8] dts for SiFive Unmatched board
>   - [PATCH v7 7/8] add Unmatched board support
>   - [PATCH v7 8/8] add fu740 support to macb driver

I've got a bunch of versions of this in my inbox, but I always have an 
arbitrary subset of the patches.  This generally LGTM, but it's kind of 
hard to figure out what goes where when patch sets are split between 
trees like this.

IMO the drivers don't need to be in my tree for the DTS files to get 
merged, we just need the bindings to be agreed upon.  Can you send a 
version of this with just the patches that haven't otherwise been merged 
and are relevant for the RISC-V tree?

>
> Description
>
>   - For fu740 cpu support, reuse most of fu540 cpu.
>   - For prci driver, add one abstract layer to separate fu540 and
>     fu740. Move orignal fu540 code to separate files.
>   - For pcie driver, it depends on gpio, prci, clk and reset drivers
>     to do init&reset works. Also based on pcie_dw_common.c
>   - Align with Linux DT file.
>
> Tests and patch checks
>
>   - Able to boot both unmatched and unleashed boards.
>   - PCIe tests
>     . M.2 NVMe SSD
>     . e1000 compatibale ethernet adapter (ping&tftpboot)
>     . pci-to-usb adapter(usb mass storage)
>   - checkpatch is performed. To keep code derived from other boards
>     the same, ignore some warnings/errors in [PATCH 7/8].
>
> Changlogs
>   - V7
>     . Rebase to latest master branch
>     . Moved dts for fu740 patch [v6 1/7] to [v7 5/8] and seperate dts of
>       Unmatched board from [v6 6/7] into [v7 6/8]
>     . Applied PCIe refactoring patch to base on the common code in
>       pcie_dw_common.c
>   - V6
>     . Remove redundant DT string for 1.2GHz CPU clock and squash to
>       [1/7]
>   - V5
>     . Fix unleashed build error in patch [6/8]
>     . Append one more set for 1.2GHz CPU speed
>     . Add "#include <asm/global_data.h>" back to sifive_ddr.c
>     . Add Reviewed-by to [4/8] and [7/8]
>   - V4
>     . fixed incorrect file name in ./board/sifive/unmatched/Makefile
>     . fixed link in doc/board/sifive/index.rst, passed 'make htmldocs'
>   - V3
>     . Rebase to unleashed rename v2 patch
>     . Rename
>       doc/board/sifive/unmatched.rst
>       board/sifive/unmatched/unmatched.c
>     . Fix tail whitespace
>     . Add 'git mv' info to ram driver and merge patch back to one
>     . Add comment to macb driver for PLL hardware quirk
>     . Add reviewed-by to patch [6/7]
>     . Add 'gpio-poweroff' node for upcoming opensbi integration
>   - V2
>     . Rebase to unleashed rename patch
>     . remove unnessaary fu540 changes
>     . split ram driver patch into 2 to keep 'git mv' info
>     . use a shorter name for unmatched support
>     . Remove redundant&incorrect temperature-sensor in DT
>     . Remove unnecessary USB EHCI & OHCI from defconfig
>     . Revised fu740 doc
>     . Fixed year of copyright
>     . Add reviewed-by received in v1 patch
>
> David Abdurachmanov (1):
>   drivers: net: macb: add fu740 support
>
> Green Wan (7):
>   riscv: cpu: fu740: Add support for cpu fu740
>   drivers: clk: add fu740 support
>   drivers: ram: sifive: rename fu540_ddr and add fu740 support
>   drivers: pci: add pcie support for fu740
>   riscv: dts: add fu740 support
>   riscv: dts: add SiFive Unmatched board support
>   board: sifive: add HiFive Unmatched board support
>
>  arch/riscv/Kconfig                            |    5 +
>  arch/riscv/cpu/fu740/Kconfig                  |   37 +
>  arch/riscv/cpu/fu740/Makefile                 |   12 +
>  arch/riscv/cpu/fu740/cache.c                  |   55 +
>  arch/riscv/cpu/fu740/cpu.c                    |   22 +
>  arch/riscv/cpu/fu740/dram.c                   |   38 +
>  arch/riscv/cpu/fu740/spl.c                    |   23 +
>  arch/riscv/dts/Makefile                       |    1 +
>  arch/riscv/dts/fu740-c000-u-boot.dtsi         |  105 ++
>  arch/riscv/dts/fu740-c000.dtsi                |  329 ++++
>  .../dts/fu740-hifive-unmatched-a00-ddr.dtsi   | 1489 +++++++++++++++++
>  .../dts/hifive-unmatched-a00-u-boot.dtsi      |   40 +
>  arch/riscv/dts/hifive-unmatched-a00.dts       |  259 +++
>  arch/riscv/include/asm/arch-fu740/cache.h     |   14 +
>  arch/riscv/include/asm/arch-fu740/clk.h       |   14 +
>  arch/riscv/include/asm/arch-fu740/gpio.h      |   38 +
>  arch/riscv/include/asm/arch-fu740/reset.h     |   13 +
>  arch/riscv/include/asm/arch-fu740/spl.h       |   14 +
>  arch/riscv/lib/sifive_clint.c                 |    1 -
>  board/sifive/unleashed/Kconfig                |    1 +
>  board/sifive/unmatched/Kconfig                |   50 +
>  board/sifive/unmatched/MAINTAINERS            |    9 +
>  board/sifive/unmatched/Makefile               |    9 +
>  board/sifive/unmatched/spl.c                  |   85 +
>  board/sifive/unmatched/unmatched.c            |   24 +
>  common/spl/Kconfig                            |    4 +-
>  configs/sifive_unleashed_defconfig            |    1 +
>  configs/sifive_unmatched_defconfig            |   54 +
>  doc/board/sifive/index.rst                    |    1 +
>  doc/board/sifive/unmatched.rst                |  536 ++++++
>  drivers/clk/sifive/Kconfig                    |    8 +-
>  drivers/clk/sifive/Makefile                   |    4 +-
>  drivers/clk/sifive/fu540-prci.c               |  769 +--------
>  drivers/clk/sifive/fu540-prci.h               |   22 +
>  drivers/clk/sifive/fu740-prci.c               |  158 ++
>  drivers/clk/sifive/fu740-prci.h               |   22 +
>  drivers/clk/sifive/sifive-prci.c              |  733 ++++++++
>  drivers/clk/sifive/sifive-prci.h              |  323 ++++
>  drivers/net/macb.c                            |   13 +-
>  drivers/pci/Kconfig                           |   10 +
>  drivers/pci/Makefile                          |    1 +
>  drivers/pci/pcie_dw_sifive.c                  |  508 ++++++
>  drivers/ram/sifive/Kconfig                    |    8 +-
>  drivers/ram/sifive/Makefile                   |    2 +-
>  .../ram/sifive/{fu540_ddr.c => sifive_ddr.c}  |   89 +-
>  drivers/reset/Kconfig                         |    2 +-
>  include/configs/sifive-unmatched.h            |   85 +
>  include/dt-bindings/clock/sifive-fu740-prci.h |   25 +
>  include/dt-bindings/reset/sifive-fu740-prci.h |   19 +
>  49 files changed, 5277 insertions(+), 807 deletions(-)
>  create mode 100644 arch/riscv/cpu/fu740/Kconfig
>  create mode 100644 arch/riscv/cpu/fu740/Makefile
>  create mode 100644 arch/riscv/cpu/fu740/cache.c
>  create mode 100644 arch/riscv/cpu/fu740/cpu.c
>  create mode 100644 arch/riscv/cpu/fu740/dram.c
>  create mode 100644 arch/riscv/cpu/fu740/spl.c
>  create mode 100644 arch/riscv/dts/fu740-c000-u-boot.dtsi
>  create mode 100644 arch/riscv/dts/fu740-c000.dtsi
>  create mode 100644 arch/riscv/dts/fu740-hifive-unmatched-a00-ddr.dtsi
>  create mode 100644 arch/riscv/dts/hifive-unmatched-a00-u-boot.dtsi
>  create mode 100644 arch/riscv/dts/hifive-unmatched-a00.dts
>  create mode 100644 arch/riscv/include/asm/arch-fu740/cache.h
>  create mode 100644 arch/riscv/include/asm/arch-fu740/clk.h
>  create mode 100644 arch/riscv/include/asm/arch-fu740/gpio.h
>  create mode 100644 arch/riscv/include/asm/arch-fu740/reset.h
>  create mode 100644 arch/riscv/include/asm/arch-fu740/spl.h
>  create mode 100644 board/sifive/unmatched/Kconfig
>  create mode 100644 board/sifive/unmatched/MAINTAINERS
>  create mode 100644 board/sifive/unmatched/Makefile
>  create mode 100644 board/sifive/unmatched/spl.c
>  create mode 100644 board/sifive/unmatched/unmatched.c
>  create mode 100644 configs/sifive_unmatched_defconfig
>  create mode 100644 doc/board/sifive/unmatched.rst
>  create mode 100644 drivers/clk/sifive/fu540-prci.h
>  create mode 100644 drivers/clk/sifive/fu740-prci.c
>  create mode 100644 drivers/clk/sifive/fu740-prci.h
>  create mode 100644 drivers/clk/sifive/sifive-prci.c
>  create mode 100644 drivers/clk/sifive/sifive-prci.h
>  create mode 100644 drivers/pci/pcie_dw_sifive.c
>  rename drivers/ram/sifive/{fu540_ddr.c => sifive_ddr.c} (81%)
>  create mode 100644 include/configs/sifive-unmatched.h
>  create mode 100644 include/dt-bindings/clock/sifive-fu740-prci.h
>  create mode 100644 include/dt-bindings/reset/sifive-fu740-prci.h


More information about the U-Boot mailing list