summaryrefslogtreecommitdiff
path: root/board/sifive
AgeCommit message (Collapse)Author
8 daysglobal: Audit Kconfig usage of PARTITION_TYPE_GUIDTom Rini
It is not functionally possible to use the code enabled by PARTITION_TYPE_GUID without having EFI_PARTITION be enabled as well. Not all users of the former had ensured that the latter was enabled however, so audit all current users and then as appropriate select or imply EFI_PARTITION as needed. Signed-off-by: Tom Rini <[email protected]>
2026-03-13riscv: don't imply non-existent CONFIG_IP_DYNHeinrich Schuchardt
The symbol CONFIG_IP_DYN does not exist, but multiple contributors copied an imply statement. Remove the imply IP_DYN statements. Fixes: 3fda0262c33f ("riscv: Add SiFive FU540 board support") Fixes: 64413e1b7caf ("riscv: Add Microchip MPFS Icicle Kit support") Fixes: 70415e1e528d ("board: sifive: add HiFive Unmatched board support") Fixes: 6f902b85b6ee ("board: starfive: Add Kconfig for StarFive VisionFive v2 Board") Signed-off-by: Heinrich Schuchardt <[email protected]> Acked-by: Conor Dooley <[email protected]>
2026-02-10board: sifive: unmatched: set fdtfile with unquoted variable.Vagrant Cascadian
The fdtdfile variable contains quotes: printenv fdtfile fdtfile="sifive/hifive-unmatched-a00.dtb" But this leads to issues which booting with an extlinux.conf format file failing to find the .dtb file: Retrieving file: /usr/lib/linux-image-6.12.63+deb13-riscv64/"sifive/hifive-unmatched-a00.dtb" Skipping fdtdir /usr/lib/linux-image-6.12.63+deb13-riscv64/ for failure retrieving dts Use the DEFAULT_FDT_FILE variable which has the quotes removed. Signed-off-by: Vagrant Cascadian <[email protected]>
2026-01-28board: nxp: Rename board directory from board/freescale to board/nxpAlice Guo
This patch renames the board directory from board/freescale to board/nxp because NXP now provides Board Support Packages (BSPs) and tools for the former Freescale i.MX and other i.MX products. All relevant references have been updated accordingly. This change does not affect functionality. Signed-off-by: Alice Guo <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2025-04-25board: sifive: Remove dead board_fdt_blob_setupYao Zi
CONFIG_OF_BOARD isn't enabled on SiFive Unleashed and Unmatched, thus board_fdt_blob_setup is actually dead code on these platforms. Let's remove it. Signed-off-by: Yao Zi <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2025-04-12sysreset: diverge GPIO reset and poweroff configs per-phaseSvyatoslav Ryhel
GPIO reset and power-off functionality depends on device tree data, which is often absent in SPL or TPL. To address this, incorporate PHASE_ into the config option and add Kconfig option or each phase. Adjust SYSRESET_GPIO and POWEROFF_GPIO uses to address possible regressions. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2024-12-18fdt: Swap the signature for board_fdt_blob_setup()Simon Glass
This returns a devicetree and updates a parameter with an error code. Swap it, since this fits better with the way U-Boot normally works. It also (more easily) allows leaving the existing pointer unchanged. No yaks were harmed in this change, but there is a very small code-size reduction. For sifive, the OF_BOARD option must be set for the function to be called, so there is no point in checking it again. Also OF_SEPARATE is defined always. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Matthias Brugger <[email protected]> Reviewed-by: Patrice Chotard <[email protected]> [trini: Update total_compute] Signed-off-by: Tom Rini <[email protected]>
2024-10-11board: Use CONFIG_XPL_BUILD instead of CONFIG_SPL_BUILDSimon Glass
Use the new symbol to refer to any 'SPL' build, including TPL and VPL Signed-off-by: Simon Glass <[email protected]>
2024-07-22board: sifive: unmatched: remove extra space in fdtfile valueAndreas Schwab
Fixes: 44a792c994 ("riscv: sifive: unmatched: migrate to text environment") Signed-off-by: Andreas Schwab <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-05-02board: sifive: Rename spl_soc_init() to spl_dram_init()Lukas Funke
Rename spl_soc_init() to spl_dram_init() because the generic function name does not reflect what the function actually does. Also spl_dram_init() is commonly used for dram initialization and should be called from board_init_f(). Signed-off-by: Lukas Funke <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-01-31board: sifive: spl: Initialized the PWM setting in the SPL stageVincent Chen
LEDs and multiple fans can be controlled by SPL. This patch ensures that all fans have been enabled in the SPL stage. In addition, the LED's color will be set to yellow. Signed-off-by: Vincent Chen <[email protected]> Co-developed-by: Nylon Chen <[email protected]> Signed-off-by: Nylon Chen <[email protected]> Co-developed-by: Zong Li <[email protected]> Signed-off-by: Zong Li <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-12-18riscv: sifive: unmatched: migrate to text environmentYong-Xuan Wang
Migrate to the new environment format and drop most of the config.h. Signed-off-by: Yong-Xuan Wang <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-10-24riscv: Remove common.h usageTom Rini
We can remove common.h from most cases of the code here, and only a few places need an additional header instead. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Rick Chen <[email protected]>
2023-10-16cmd: Convert existing long help messages to the new macroTom Rini
- Generally we just drop the #ifdef CONFIG_SYS_LONGHELP and endif lines and use U_BOOT_LONGHELP to declare the same variable name as before - In a few places, either rename the variable to follow convention or introduce the variable as it was being done inline before. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-10-16eeprom: SiFive Unmatched: re-implement mac commandHeinrich Schuchardt
The different implementations of the mac command have board or vendor specific sub-commands. Add the command definition specific to the SiFive HiFive Unmatched board. Don't call cmd_usage() directly but return CMD_RET_USAGE instead. Signed-off-by: Heinrich Schuchardt <[email protected]>
2023-08-09treewide: unify the linker symbol reference formatShiji Yang
Now all linker symbols are declared as type char[]. Though we can reference the address via both the array name 'var' and its address '&var'. It's better to unify them to avoid confusing developers. This patch converts all '&var' linker symbol refrences to the most commonly used format 'var'. Signed-off-by: Shiji Yang <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-06-27MAINTAINERS: update SiFive HiFive Unmatched maintainersHeinrich Schuchardt
Email account [email protected] does not exist anymore. Signed-off-by: Heinrich Schuchardt <[email protected]>
2023-02-10Correct SPL uses of SIFIVE_OTPSimon Glass
This converts 2 usages of this option to the non-SPL form, since there is no SPL_SIFIVE_OTP defined in Kconfig Signed-off-by: Simon Glass <[email protected]>
2022-10-31Rename CONFIG_SYS_TEXT_BASE to CONFIG_TEXT_BASESimon Glass
The current name is inconsistent with SPL which uses CONFIG_SPL_TEXT_BASE and this makes it imposible to use CONFIG_VAL(). Rename it to resolve this problem. Signed-off-by: Simon Glass <[email protected]>
2022-01-07riscv: sifive: Fix OF_BOARD boot failureBin Meng
When using QEMU to have a quick test of booting U-Boot S-mode payload directly without the needs of preparing the SPI flash or SD card images for SiFive Unleashed board, as per the instructions [1], it currently does not boot any more. This was caused by the OF_PRIOR_STAGE removal, as gd->fdt_blob no longer points to a valid DTB. OF_BOARD is supposed to replace OF_PRIOR_STAGE, hence we need to add the OF_BOARD logic in board_fdt_blob_setup(). [1] https://qemu.readthedocs.io/en/latest/system/riscv/sifive_u.html#running-u-boot Fixes: 2e8d2f88439d ("riscv: Remove OF_PRIOR_STAGE from RISC-V boards") Fixes: d6f8ab30a2af ("treewide: Remove OF_PRIOR_STAGE") Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-12-02riscv: Enable SPI flash env for SiFive Unmatched.Thomas Skibo
Enable saving environment to SPI flash memory on SiFive Unmatched. Signed-off-by: Thomas Skibo <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2021-12-02riscv: Support booting SiFive Unmatched from SPI.Thomas Skibo
Configure SPI flash devices into SPL. Add SPI boot option to spl.c. Document how to format flash for booting. Signed-off-by: Thomas Skibo <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2021-10-27sandbox: Remove OF_HOSTFILEIlias Apalodimas
OF_HOSTFILE is used on sandbox configs only. Although it's pretty unique and not causing any confusions, we are better of having simpler config options for the DTB. So let's replace that with the existing OF_BOARD. U-Boot would then have only three config options for the DTB origin. - OF_SEPARATE, build separately from U-Boot - OF_BOARD, board specific way of providing the DTB - OF_EMBED embedded in the u-boot binary(should not be used in production Signed-off-by: Ilias Apalodimas <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-10-20board: sifive: Fix -Wint-to-pointer-cast warningBin Meng
The following warning is seen in unleashed.c in a 32-bit build: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] Cast with uintptr_t. Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2021-10-20board: sifive: Fix a potential build warning in board_fdt_blob_setup()Bin Meng
Commit 47d73ba4f4a4 ("board: sifive: overwrite board_fdt_blob_setup in u-boot proper") added a board-specific implementation of board_fdt_blob_setup() which takes a pointer as the return value, but it does not return anything if CONFIG_OF_SEPARATE is not enabled. This will cause a build warning seen when testing booting S-mode U-Boot directly from QEMU, per the instructions in [1]: board/sifive/unleashed/unleashed.c: In function ‘board_fdt_blob_setup’: board/sifive/unleashed/unleashed.c:125:1: warning: control reaches end of non-void function [-Wreturn-type] Return &_end as the default case. [1] https://qemu.readthedocs.io/en/latest/system/riscv/sifive_u.html#running-u-boot Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]> Reviewed-by: Rick Chen <[email protected]>
2021-09-16Merge tag 'v2021.10-rc4' into nextTom Rini
Prepare v2021.10-rc4 Signed-off-by: Tom Rini <[email protected]> # gpg: Signature made Tue 14 Sep 2021 06:58:32 PM EDT # gpg: using RSA key 1A3C7F70E08FAB1707809BBF147C39FF9634B72C # gpg: Good signature from "Thomas Rini <[email protected]>" [ultimate] # Conflicts: # board/Arcturus/ucp1020/spl.c # cmd/mvebu/Kconfig # common/Kconfig.boot # common/image-fit.c # configs/UCP1020_defconfig # configs/sifive_unmatched_defconfig # drivers/pci/Kconfig # include/configs/UCP1020.h # include/configs/sifive-unmatched.h # lib/Makefile # scripts/config_whitelist.txt
2021-09-11riscv: sifive: unleashed: Add genimage config filesBin Meng
This adds genimage [1] config files for generating SD card and spi-nor images, which can be programmed to an SD card or SPI flash and boot from there. The same images will be used for U-Boot CI testing for this board. [1] https://github.com/pengutronix/genimage Signed-off-by: Bin Meng <[email protected]>
2021-09-07board: sifive: use ccache driver instead of helper functionZong Li
Invokes the common cache_init function to initialize ccache. Signed-off-by: Zong Li <[email protected]> Reviewed-by: Sean Anderson <[email protected]> Reviewed-by: Rick Chen <[email protected]>
2021-08-17board: sifive: overwrite board_fdt_blob_setup in u-boot properZong Li
Add board_fdt_blob_setup to return the device tree location which is passed by prior stage in u-boot proper. The generic board_fdt_blob_setup always returns _end, it mignt be ok because u-boot SPL would currently put the dtb there, but it would be broken if we put the dtb to another place and assigned the location into a1 register for u-boot proper. Use the location passed by prior stage would make more sence, because we actually pass the location to u-boot proper and want to use that one, rather than the dtb which in _end. We can't use CONFIG_OF_PRIOR_STAGE because it doens't distinguish the implementation of u-boot SPL and u-boot proper, so u-boot SPL need to reply on the prior stage to pass device tree location as well, but we don't pass the DT from boot rom now. In addition, when CONFIG_OF_PRIOR_STAGE is enabled, the u-boot-spl.bin and u-boot.itb won't include the device tree. Signed-off-by: Zong Li <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2021-08-17board: sifive: compile stuff only related to SPL in SPL buildZong Li
As (3581811dc26f "riscv: sifive/fu540: Move SPL related functions to spl.c"), we put the SPL stuff in spl.c, we don't need to compile unleashed.c and unmatched.c in SPL build. Signed-off-by: Zong Li <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2021-08-02global: Convert simple_strtoul() with decimal to dectoul()Simon Glass
It is a pain to have to specify the value 10 in each call. Add a new dectoul() function and update the code to use it. Signed-off-by: Simon Glass <[email protected]>
2021-08-02global: Convert simple_strtoul() with hex to hextoul()Simon Glass
It is a pain to have to specify the value 16 in each call. Add a new hextoul() function and update the code to use it. Add a proper comment to simple_strtoul() while we are here. Signed-off-by: Simon Glass <[email protected]>
2021-07-21board: sifive: unmatched: reset USB hub, PCIe-USB bridge, and ULPI device in SPLVincent Chen
Ensure USB hub, PCIe-USB bridge, and ULPI device to be reset even if the rebooting is without power-cycling. Signed-off-by: Vincent Chen <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2021-07-21board: sifive: unmatched: refine GEMGXL initialized function in SPLVincent Chen
Create a new function spl_reset_device_by_gpio to reset the device whose reset pin is connected to the GPIO. Then, using this function to initialize GEMGXL. Signed-off-by: Vincent Chen <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2021-07-21board: sifive: drop stuff related to unmatched revision 1Zong Li
This patch reverts the following commits: - 4b4159d0f3 ("riscv: dts: add dts for unmatched rev1") - ffe9a394df ("board: sifive: support spl multi-dtb on unmatched board") We won't plan to support unmatched that the revision below 3 in u-boot, so they can be dropped because they might be useless. Changed in v2: - rebase codebase to the latest master branch Signed-off-by: Zong Li <[email protected]> Suggested-by: David Abdurachmanov <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2021-07-21board: sifive: remove the command for setting serial numberZong Li
We wouldn't like to allow user to change the serial number, so remove the command for changing serial number in EEPROM. Signed-off-by: Zong Li <[email protected]> Suggested-by: David Abdurachmanov <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2021-07-06board: sifive: support spl multi-dtb on unmatched boardZong Li
There are two revisions of unmatched board with different DDR timing, we'd like to support multi-dtb mechanism in SPL, then it selects the right DTB at runtime according to PCB revision in I2C EEPROM. Signed-off-by: Zong Li <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2021-07-06board: sifive: Add an interface to get PCB revisionZong Li
There are different DDR parameter settings for different board revisions. Add a new interface to get the PCB revision to determine which DT should be selected at runtime. Signed-off-by: Zong Li <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2021-07-06riscv: sifive: fu740: kconfig: Enable support for Opencores I2C controllerZong Li
Enable the Opencores I2C controller on FU740 Signed-off-by: Zong Li <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2021-07-06board: sifive: unmatched: add initial support for a platform ID EEPROMZong Li
Add initial support for the PCB description EEPROM for SiFive HiFive Unmatched boards. This implementation is refactored based on Paul Walmsley's porting and adopt the suggestions from David Abdurachmanov. Signed-off-by: Paul Walmsley <[email protected]> Signed-off-by: David Abdurachmanov <[email protected]> Signed-off-by: Zong Li <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2021-05-31board: sifive: add HiFive Unmatched board supportGreen Wan
Add defconfig and board support for HiFive Unmatched. Signed-off-by: Green Wan <[email protected]> Reviewed-by: Bin Meng <[email protected]> Reviewed-by: Rick Chen <[email protected]>
2021-05-19riscv: sifive: unleashed: Switch to use binman to generate u-boot.itbBin Meng
At present SiFive Unleashed board uses the Makefile to create the FIT, using USE_SPL_FIT_GENERATOR, which is deprecated as per the Makefile warning. Update to use binman instead. Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-04-08riscv: sifive: Rename fu540 board to unleashedBin Meng
In preparation to add SiFive Unmatched board support, let's rename the existing fu540 board to unleashed. Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2021-01-05dm: Rename DM_GET_DRIVER() to DM_DRIVER_GET()Simon Glass
In the spirit of using the same base name for all of these related macros, rename this to have the operation at the end. This is not widely used so the impact is fairly small. Signed-off-by: Simon Glass <[email protected]>
2020-11-28riscv: sifive/fu540: kconfig: Enable support for Opencores I2C controllerPragnesh Patel
Enable support for SiFive FU540 Opencores I2C master controller. Signed-off-by: Pragnesh Patel <[email protected]> Reviewed-by: Rick Chen <[email protected]>
2020-08-14riscv: sifive/fu540: Move SPL related functions to spl.cBin Meng
It's better to keep all SPL related functions in the same spl.c. Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Leo Liang <[email protected]> Reviewed-by: Rick Chen <[email protected]> Reviewed-by: Pragnesh Patel <[email protected]> Tested-by: Pragnesh Patel <[email protected]>
2020-08-14riscv: sifive/fu540: Drop NET_RANDOM_ETHADDRBin Meng
This option was enabled during the earlier U-Boot porting time. Now we already have the OTP driver in place and the unique MAC address is read from the OTP, there is no need to turn on this option. Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Leo Liang <[email protected]> Reviewed-by: Rick Chen <[email protected]> Reviewed-by: Pragnesh Patel <[email protected]> Tested-by: Pragnesh Patel <[email protected]>
2020-08-14riscv: sifive/fu540: kconfig: Move FU540 driver related options to the SoC levelBin Meng
All FU540 driver related options should be in the SoC level Kconfig. Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Rick Chen <[email protected]> Reviewed-by: Pragnesh Patel <[email protected]> Tested-by: Pragnesh Patel <[email protected]>
2020-08-14riscv: sifive/fu540: spl: Rename soc_spl_init()Bin Meng
spl_soc_init() seems to be a better name, as all SPL functions names start from the spl_ prefix. Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Rick Chen <[email protected]> Reviewed-by: Pragnesh Patel <[email protected]> Tested-by: Pragnesh Patel <[email protected]>
2020-08-14riscv: sifive/fu540: spl: Drop our own version of board_init_f()Bin Meng
Use the generic board_init_f() provided by the RISC-V library codes. Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Rick Chen <[email protected]> Reviewed-by: Pragnesh Patel <[email protected]> Tested-by: Pragnesh Patel <[email protected]>