[PULL] u-boot-riscv/master

Hi Tom,
The following changes since commit eb53b943be2949ca111140a8e05532cd74cda058:
Merge https://source.denx.de/u-boot/custodians/u-boot-sh (2021-05-23 10:15:15 -0400)
are available in the Git repository at:
git@source.denx.de:u-boot/custodians/u-boot-riscv.git
for you to fetch changes up to 9358576a281ab5e3b7348685bbd5f713833a5048:
drivers: pci: pcie_dw_common: fix Werror compilation error (2021-05-24 23:54:54 +0800)
Gitlab CI result shows no issue: https://source.denx.de/u-boot/custodians/u-boot-riscv/-/pipelines/7620
---------------------------------------------------------------- Green Wan (9): 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 riscv: cpu: fu740: clear feature disable CSR drivers: pci: pcie_dw_common: fix Werror compilation error
arch/riscv/Kconfig | 5 + arch/riscv/cpu/fu540/Kconfig | 2 +- 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 | 38 + arch/riscv/dts/Makefile | 1 + arch/riscv/dts/fu740-c000-u-boot.dtsi | 105 ++ arch/riscv/dts/fu740-c000.dtsi | 329 +++++ arch/riscv/dts/fu740-hifive-unmatched-a00-ddr.dtsi | 1489 ++++++++++++++++++++ arch/riscv/dts/hifive-unmatched-a00-u-boot.dtsi | 41 + 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 + board/sifive/unleashed/Kconfig | 1 + board/sifive/unmatched/Kconfig | 51 + 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_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/pci/Kconfig | 10 + drivers/pci/Makefile | 1 + drivers/pci/pcie_dw_common.c | 54 +- drivers/pci/pcie_dw_sifive.c | 507 +++++++ drivers/ram/sifive/Kconfig | 8 +- drivers/ram/sifive/Makefile | 2 +- drivers/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 + 48 files changed, 5310 insertions(+), 831 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
Best regards, Leo

On Wed, May 26, 2021 at 04:12:50PM +0800, Leo Liang wrote:
Hi Tom,
The following changes since commit eb53b943be2949ca111140a8e05532cd74cda058:
Merge https://source.denx.de/u-boot/custodians/u-boot-sh (2021-05-23 10:15:15 -0400)
are available in the Git repository at:
git@source.denx.de:u-boot/custodians/u-boot-riscv.git
for you to fetch changes up to 9358576a281ab5e3b7348685bbd5f713833a5048:
drivers: pci: pcie_dw_common: fix Werror compilation error (2021-05-24 23:54:54 +0800)
Gitlab CI result shows no issue: https://source.denx.de/u-boot/custodians/u-boot-riscv/-/pipelines/7620
NAK. ERROR: fdt or initrd relocation disabled at boot time #993: FILE: include/configs/sifive-unmatched.h:65: + "fdt_high=0xffffffffffffffff\0" \
ERROR: fdt or initrd relocation disabled at boot time #994: FILE: include/configs/sifive-unmatched.h:66: + "initrd_high=0xffffffffffffffff\0" \
You can, but shouldn't disable initrd relocation. You cannot disable device tree relocation as that leads to too many issues due to misalignment later. Make use of bootm_size or similar to make sure everything is within an appropriate area of memory. Thanks.

Hi Tom,
Thanks for the comments.
Not sure whether it catches different concerns, I plan to remove fdt_high and initrd_high since the bootm_* settings should be sufficient to calculate the values related to fdt_high and initrd_high. And I checked the bootm_* settings as below, the system can boot without fdt_high and initrd_high.
- bootm_low is set to CONFIG_SYS_SDRAM_BASE - bootm_size is set to gd->ram_size (which comes from DT) - bootm_mapsize is now equal to bootm_size - boot log without fdt_high and initrd_high "## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Loading Device Tree to 00000000ffffa000, end 00000000fffff64d ... OK"
Hi Leo/Rick,
Should I create v12 for fu740 series patchset based on u-boot-riscv.git ? or revert [PATCH v11 7/8] plus a patch? Thanks a lot!
Regards, Green
On Wed, May 26, 2021 at 11:24 PM Tom Rini trini@konsulko.com wrote:
On Wed, May 26, 2021 at 04:12:50PM +0800, Leo Liang wrote:
Hi Tom,
The following changes since commit
eb53b943be2949ca111140a8e05532cd74cda058:
Merge https://source.denx.de/u-boot/custodians/u-boot-sh (2021-05-23
10:15:15 -0400)
are available in the Git repository at:
git@source.denx.de:u-boot/custodians/u-boot-riscv.git
for you to fetch changes up to 9358576a281ab5e3b7348685bbd5f713833a5048:
drivers: pci: pcie_dw_common: fix Werror compilation error (2021-05-24
23:54:54 +0800)
Gitlab CI result shows no issue:
https://source.denx.de/u-boot/custodians/u-boot-riscv/-/pipelines/7620
NAK. ERROR: fdt or initrd relocation disabled at boot time #993: FILE: include/configs/sifive-unmatched.h:65:
"fdt_high=0xffffffffffffffff\0" \
ERROR: fdt or initrd relocation disabled at boot time #994: FILE: include/configs/sifive-unmatched.h:66:
"initrd_high=0xffffffffffffffff\0" \
You can, but shouldn't disable initrd relocation. You cannot disable device tree relocation as that leads to too many issues due to misalignment later. Make use of bootm_size or similar to make sure everything is within an appropriate area of memory. Thanks.
-- Tom

On Thu, May 27, 2021 at 04:57:17PM +0800, Green Wan wrote:
Hi Tom,
Thanks for the comments.
Not sure whether it catches different concerns, I plan to remove fdt_high and initrd_high since the bootm_* settings should be sufficient to calculate the values related to fdt_high and initrd_high. And I checked the bootm_* settings as below, the system can boot without fdt_high and initrd_high.
- bootm_low is set to CONFIG_SYS_SDRAM_BASE
- bootm_size is set to gd->ram_size (which comes from DT)
- bootm_mapsize is now equal to bootm_size
- boot log without fdt_high and initrd_high
"## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Loading Device Tree to 00000000ffffa000, end 00000000fffff64d ... OK"
Hi Leo/Rick,
Should I create v12 for fu740 series patchset based on u-boot-riscv.git ? or revert [PATCH v11 7/8] plus a patch? Thanks a lot!
Regards, Green
Hi Green,
I think you could just create v12 patch. I will do the revert, thanks!
Best regards, Leo
On Wed, May 26, 2021 at 11:24 PM Tom Rini <trini@konsulko.com> wrote:
On Wed, May 26, 2021 at 04:12:50PM +0800, Leo Liang wrote:
Hi Tom,
The following changes since commit eb53b943be2949ca111140a8e05532cd74cda058:
Merge https://source.denx.de/u-boot/custodians/u-boot-sh (2021-05-23 10:15:15 -0400)
are available in the Git repository at:
git@source.denx.de:u-boot/custodians/u-boot-riscv.git
for you to fetch changes up to 9358576a281ab5e3b7348685bbd5f713833a5048:
drivers: pci: pcie_dw_common: fix Werror compilation error (2021-05-24 23:54:54 +0800)
Gitlab CI result shows no issue: https://source.denx.de/u-boot/custodians/u-boot-riscv/-/pipelines/7620
NAK. ERROR: fdt or initrd relocation disabled at boot time #993: FILE: include/configs/sifive-unmatched.h:65: + "fdt_high=0xffffffffffffffff\0" \
ERROR: fdt or initrd relocation disabled at boot time #994: FILE: include/configs/sifive-unmatched.h:66: + "initrd_high=0xffffffffffffffff\0" \
You can, but shouldn't disable initrd relocation. You cannot disable device tree relocation as that leads to too many issues due to misalignment later. Make use of bootm_size or similar to make sure everything is within an appropriate area of memory. Thanks.
-- Tom

On Thu, May 27, 2021 at 06:41:35PM +0800, Leo Liang wrote:
On Thu, May 27, 2021 at 04:57:17PM +0800, Green Wan wrote:
Hi Tom,
Thanks for the comments.
Not sure whether it catches different concerns, I plan to remove fdt_high and initrd_high since the bootm_* settings should be sufficient to calculate the values related to fdt_high and initrd_high. And I checked the bootm_* settings as below, the system can boot without fdt_high and initrd_high.
- bootm_low is set to CONFIG_SYS_SDRAM_BASE
- bootm_size is set to gd->ram_size (which comes from DT)
- bootm_mapsize is now equal to bootm_size
- boot log without fdt_high and initrd_high
"## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Loading Device Tree to 00000000ffffa000, end 00000000fffff64d ... OK"
Hi Leo/Rick,
Should I create v12 for fu740 series patchset based on u-boot-riscv.git ? or revert [PATCH v11 7/8] plus a patch? Thanks a lot!
Regards, Green
Hi Green,
I think you could just create v12 patch. I will do the revert, thanks!
Thanks for sorting this out quickly!

On Thu, May 27, 2021 at 7:20 PM Tom Rini trini@konsulko.com wrote:
On Thu, May 27, 2021 at 06:41:35PM +0800, Leo Liang wrote:
On Thu, May 27, 2021 at 04:57:17PM +0800, Green Wan wrote:
Hi Tom,
Thanks for the comments.
Not sure whether it catches different concerns, I plan to remove
fdt_high and initrd_high since the bootm_* settings should be sufficient to calculate the values related to fdt_high and initrd_high. And I checked the bootm_* settings as below, the system can
boot without fdt_high and initrd_high.
- bootm_low is set to CONFIG_SYS_SDRAM_BASE
- bootm_size is set to gd->ram_size (which comes from DT)
- bootm_mapsize is now equal to bootm_size
- boot log without fdt_high and initrd_high
"## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Loading Device Tree to 00000000ffffa000, end 00000000fffff64d ...
OK"
Hi Leo/Rick,
Should I create v12 for fu740 series patchset based on
u-boot-riscv.git ? or revert [PATCH v11 7/8] plus a patch? Thanks a lot!
Regards, Green
Hi Green,
I think you could just create v12 patch. I will do the revert, thanks!
Hi Leo,
Thanks for the help. I just posted the v12 patchset.
-- Green
Thanks for sorting this out quickly!
-- Tom
participants (3)
-
Green Wan
-
Leo Liang
-
Tom Rini