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

Palmer Dabbelt palmer at dabbelt.com
Fri Apr 23 06:01:59 CEST 2021


On Thu, 22 Apr 2021 20:40:43 PDT (-0700), Palmer Dabbelt wrote:
> 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?

Ah, sorry, I'm lost here -- I thought this was a Linux patch set.  That 
probably explains why I can't follow the thread... ;)

>
>>
>> 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