[U-Boot] [PATCH v9 00/15] SiFive FU540 Support
Anup Patel
Anup.Patel at wdc.com
Thu Feb 21 04:30:08 UTC 2019
This patchset adds SiFive Freedom Unleashed (FU540) support
to RISC-V U-Boot.
The patches are based upon latest U-Boot source tree
(git://git.denx.de/u-boot.git) at v2019.04-rc2 commit id
f14de0014c56093feecf42ca38b8ae5b3878f176
All drivers namely: SiFive PRCI, SiFive Serial, and Cadance
MACB Ethernet work fine on actual SiFive Unleashed board and
QEMU sifive_u machine.
Changes since v8:
- Added bindings document for fixed-factor-clock adapted
from Linux sources in PATCH9
Changes since v7:
- Rebased patches to latest U-Boot source tree
- Rename "ret" to "rate" in clk_fixed_factor_get_rate()
of PATCH9
Changes since v6:
- Rebased patches to latest U-Boot source tree
- Droped PATCH1 and PATCH2. Instead added a PATCH to
select CREATE_ARCH_SYMLINK for RISC-V
- Few typo fixes in SiFive FU540 readme
Changes since v5:
- Added PATCH16 to fix INITRD passing to Linux using bootm
for U-Boot RISC-V
Changes since v4:
- Removed #ifndef from macb_enable_clk() in PATCH7
- Updated test/dm/clk.c in PATCH10 to test fixed factor clock
using sandbox
Changes since v3:
- Added patch to un-ignore arch/riscv/include/asm/arch
- Added patch to fix mrproper make target to only remove
arch/*/include/asm/arch paths which are symlinks
- Added patch to have place-holder asm/arch/clk.h for RISC-V
- Removed "#ifndef CONFIG_RISCV" from macb clk API patch
Changes since v2:
- Fixed typo in PATCH3 comments
- Removed "#if" from clk_fixed_factor_ofdata_to_platdata() in PATCH7
- Added PATCH12 for SiFive FU540 README guide
Changes since v1:
- Re-ordered SoB in patches with multiple SoB
- Simplified board_get_usable_ram_top() added by PATCH3
Anup Patel (10):
riscv: Enable create symlink using kconfig
riscv: Rename cpu/qemu to cpu/generic
riscv: Add asm/dma-mapping.h for DMA mappings
riscv: Add place-holder asm/arch/clk.h for driver compilation
riscv: generic: Ensure that U-Boot runs within 4GB for 64bit systems
net: macb: Fix clk API usage for RISC-V systems
clk: Add SiFive FU540 PRCI clock driver
clk: Add fixed-factor clock driver
riscv: Add SiFive FU540 board support
riscv: Enable CONFIG_SYS_BOOT_RAMDISK_HIGH for using initrd
Atish Patra (5):
net: macb: Fix GEM hardware detection
drivers: serial_sifive: Fix baud rate calculation
drivers: serial_sifive: Skip baudrate config if no input clock
cpu: Bind timer driver for boot hart
doc: Add a readme guide for SiFive FU540
arch/Kconfig | 1 +
arch/riscv/Kconfig | 6 +-
arch/riscv/cpu/{qemu => generic}/Kconfig | 2 +-
arch/riscv/cpu/{qemu => generic}/Makefile | 0
arch/riscv/cpu/{qemu => generic}/cpu.c | 0
arch/riscv/cpu/generic/dram.c | 37 ++
arch/riscv/cpu/qemu/dram.c | 17 -
arch/riscv/include/asm/arch-generic/clk.h | 14 +
arch/riscv/include/asm/config.h | 1 +
arch/riscv/include/asm/dma-mapping.h | 38 ++
arch/sandbox/dts/test.dts | 8 +
board/emulation/qemu-riscv/Kconfig | 4 +-
.../qemu-riscv => sifive/fu540}/Kconfig | 36 +-
board/sifive/fu540/MAINTAINERS | 9 +
board/sifive/fu540/Makefile | 5 +
board/sifive/fu540/fu540.c | 17 +
configs/sifive_fu540_defconfig | 11 +
doc/README.sifive-fu540 | 303 +++++++++
.../clock/fixed-factor-clock.txt | 24 +
drivers/clk/Kconfig | 1 +
drivers/clk/Makefile | 5 +-
drivers/clk/clk_fixed_factor.c | 72 +++
drivers/clk/sifive/Kconfig | 19 +
drivers/clk/sifive/Makefile | 5 +
.../clk/sifive/analogbits-wrpll-cln28hpc.h | 101 +++
drivers/clk/sifive/fu540-prci.c | 604 ++++++++++++++++++
drivers/clk/sifive/wrpll-cln28hpc.c | 390 +++++++++++
drivers/cpu/riscv_cpu.c | 7 +-
drivers/net/macb.c | 11 +-
drivers/serial/serial_sifive.c | 60 +-
include/configs/sifive-fu540.h | 43 ++
include/dt-bindings/clk/sifive-fu540-prci.h | 29 +
test/dm/clk.c | 5 +-
33 files changed, 1819 insertions(+), 66 deletions(-)
rename arch/riscv/cpu/{qemu => generic}/Kconfig (91%)
rename arch/riscv/cpu/{qemu => generic}/Makefile (100%)
rename arch/riscv/cpu/{qemu => generic}/cpu.c (100%)
create mode 100644 arch/riscv/cpu/generic/dram.c
delete mode 100644 arch/riscv/cpu/qemu/dram.c
create mode 100644 arch/riscv/include/asm/arch-generic/clk.h
create mode 100644 arch/riscv/include/asm/dma-mapping.h
copy board/{emulation/qemu-riscv => sifive/fu540}/Kconfig (57%)
create mode 100644 board/sifive/fu540/MAINTAINERS
create mode 100644 board/sifive/fu540/Makefile
create mode 100644 board/sifive/fu540/fu540.c
create mode 100644 configs/sifive_fu540_defconfig
create mode 100644 doc/README.sifive-fu540
create mode 100644 doc/device-tree-bindings/clock/fixed-factor-clock.txt
create mode 100644 drivers/clk/clk_fixed_factor.c
create mode 100644 drivers/clk/sifive/Kconfig
create mode 100644 drivers/clk/sifive/Makefile
create mode 100644 drivers/clk/sifive/analogbits-wrpll-cln28hpc.h
create mode 100644 drivers/clk/sifive/fu540-prci.c
create mode 100644 drivers/clk/sifive/wrpll-cln28hpc.c
create mode 100644 include/configs/sifive-fu540.h
create mode 100644 include/dt-bindings/clk/sifive-fu540-prci.h
--
2.17.1
More information about the U-Boot
mailing list