
-----Original Message----- From: Anup Patel Sent: Tuesday, February 5, 2019 6:34 PM To: Rick Chen rick@andestech.com; Bin Meng bmeng.cn@gmail.com; Joe Hershberger joe.hershberger@ni.com; Michal Simek monstr@monstr.eu; Michal Simek michal.simek@xilinx.com; Lukas Auer lukas.auer@aisec.fraunhofer.de; Masahiro Yamada yamada.masahiro@socionext.com; Simon Glass sjg@chromium.org Cc: Alexander Graf agraf@suse.de; Palmer Dabbelt palmer@sifive.com; Paul Walmsley paul.walmsley@sifive.com; Atish Patra Atish.Patra@wdc.com; Anup Patel Anup.Patel@wdc.com; Christoph Hellwig hch@infradead.org; U-Boot Mailing List u-boot@lists.denx.de Subject: [PATCH v5 00/15] SiFive FU540 Support
This patchset adds SiFive Freedom Unleashed (FU540) support to RISC-V U- Boot.
The patches are based upon latest RISC-V U-Boot tree (git://git.denx.de/u-boot-riscv.git) at commit id 91882c472d8c0aef4db699d3f2de55bf43d4ae4b
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 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): .gitignore: Don't ignore arch/riscv/include/asm/arch Makefile: Fix mrproper make target 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
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
Makefile | 2 +- arch/.gitignore | 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/clk.h | 14 + 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 | 302 +++++++++ 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 +- 32 files changed, 1794 insertions(+), 67 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/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 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
Hi All,
Passing INITRD to Linux using bootm was not working correctly on U-Boot RISC-V. We have a fix for this which I will include in v6 of patchset.
Regards, Anup