[U-Boot] [PATCH] sifive: riscv: update Hifive Unleashed configuration infrastructure

Anup Patel anup at brainfault.org
Tue Jul 30 03:42:21 UTC 2019


On Mon, Jul 29, 2019 at 6:13 PM Sagar Shrikant Kadam
<sagar.kadam at sifive.com> wrote:
>
> This patch aligns the current implementation of HiFive Unleashed
> board configuration framework with the one described in doc/README.kconfig.
>
> Signed-off-by: Sagar Shrikant Kadam <sagar.kadam at sifive.com>
> ---
>  arch/riscv/Kconfig                           |   6 +-
>  arch/riscv/cpu/generic/Kconfig               |  12 ---
>  arch/riscv/cpu/generic/Makefile              |   6 --
>  arch/riscv/cpu/generic/cpu.c                 |  35 -------
>  arch/riscv/cpu/generic/dram.c                |  37 -------
>  arch/riscv/cpu/u54-mc/Kconfig                |  12 +++
>  arch/riscv/cpu/u54-mc/Makefile               |   6 ++
>  arch/riscv/cpu/u54-mc/cpu.c                  |  35 +++++++
>  arch/riscv/cpu/u54-mc/dram.c                 |  37 +++++++
>  arch/riscv/include/asm/arch-fu540-c000/clk.h |  14 +++
>  arch/riscv/include/asm/arch-generic/clk.h    |  14 ---
>  board/sifive/fu540/Kconfig                   |  49 ----------
>  board/sifive/fu540/MAINTAINERS               |   9 --
>  board/sifive/fu540/Makefile                  |   5 -
>  board/sifive/fu540/fu540.c                   | 139 ---------------------------
>  board/sifive/hifive_unleashed/Kconfig        |  52 ++++++++++
>  board/sifive/hifive_unleashed/MAINTAINERS    |   9 ++
>  board/sifive/hifive_unleashed/Makefile       |   5 +
>  board/sifive/hifive_unleashed/fu540.c        | 139 +++++++++++++++++++++++++++
>  configs/hifive_unleashed_defconfig           |  11 +++
>  configs/sifive_fu540_defconfig               |  11 ---
>  include/configs/hifive_unleashed.h           |  47 +++++++++
>  include/configs/sifive-fu540.h               |  47 ---------
>  23 files changed, 370 insertions(+), 367 deletions(-)
>  delete mode 100644 arch/riscv/cpu/generic/Kconfig
>  delete mode 100644 arch/riscv/cpu/generic/Makefile
>  delete mode 100644 arch/riscv/cpu/generic/cpu.c
>  delete mode 100644 arch/riscv/cpu/generic/dram.c
>  create mode 100644 arch/riscv/cpu/u54-mc/Kconfig
>  create mode 100644 arch/riscv/cpu/u54-mc/Makefile
>  create mode 100644 arch/riscv/cpu/u54-mc/cpu.c
>  create mode 100644 arch/riscv/cpu/u54-mc/dram.c
>  create mode 100644 arch/riscv/include/asm/arch-fu540-c000/clk.h
>  delete mode 100644 arch/riscv/include/asm/arch-generic/clk.h
>  delete mode 100644 board/sifive/fu540/Kconfig
>  delete mode 100644 board/sifive/fu540/MAINTAINERS
>  delete mode 100644 board/sifive/fu540/Makefile
>  delete mode 100644 board/sifive/fu540/fu540.c
>  create mode 100644 board/sifive/hifive_unleashed/Kconfig
>  create mode 100644 board/sifive/hifive_unleashed/MAINTAINERS
>  create mode 100644 board/sifive/hifive_unleashed/Makefile
>  create mode 100644 board/sifive/hifive_unleashed/fu540.c
>  create mode 100644 configs/hifive_unleashed_defconfig
>  delete mode 100644 configs/sifive_fu540_defconfig
>  create mode 100644 include/configs/hifive_unleashed.h
>  delete mode 100644 include/configs/sifive-fu540.h
>

I agree with Bin's concerns.

Please don't rename generic CPU support under arch/riscv

We should think long-term here. If every SOC vendor starts adding
their CPU support directory under arch/riscv then U-Boot RISC port
will be eventually difficult to manage and we will also have duplicate
code across various CPU support.

IMHO, we should avoid adding new CPU support under arch/riscv
as much as possible. We can call weak functions from generic CPU
support and board support code can implement it. We should only
add new CPU support under arch/riscv when we are not able to
re-use generic CPU support.

Other board support renaming is fine but there is lot of documentation
in U-Boot, OpenSBI and other places which needs to be also updated.

Regards,
Anup


More information about the U-Boot mailing list