summaryrefslogtreecommitdiff
path: root/board/starfive
AgeCommit message (Collapse)Author
2025-03-25board: starfive: spl: strip off 'starfive/' prefixHeinrich Schuchardt
The configuration descriptions generated by binman contain the vendor device-tree directory. Instead of adding it to all match strings just strip it off. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2025-03-17spl: starfive: visionfive2: Disable USB overcurrent pin by default.Minda Chen
For some JH7110 boards, USB host overcurent pin is not reserved, To make USB host work, overcurrent pin must be disabled. So set the pin default disabled in spl stage. Signed-off-by: Minda Chen <[email protected]> Tested-by: E Shattow <[email protected]>
2025-02-20board: starfive: Update the maintainer file for VisionFive 2 boardHal Feng
Update the maintainer file and mark jh7110 / visionfive2 related files with N: patterns. Signed-off-by: Hal Feng <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[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-12-18board: starfive: spl: Support multiple DTBs for JH7110 based boardsHal Feng
Get product ID and the other information from EEPROM, use them to select the correct DTB. Tested-by: Anand Moon <[email protected]> Tested-by: E Shattow <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Hal Feng <[email protected]>
2024-12-18board: starfive: spl: Fix the wrong use of CONFIG_IS_ENABLED()Hal Feng
The prefix "SPL_" is not needed when using CONFIG_IS_ENABLED(). Tested-by: Anand Moon <[email protected]> Tested-by: E Shattow <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]> Fixes: 5ecf9b0b8a75 ("board: starfive: add StarFive VisionFive v2 board support") Signed-off-by: Hal Feng <[email protected]>
2024-12-18board: starfive: spl: Drop the unneeded DT modification codeHal Feng
As OF_UPSTREAM is implemented, these code are redundant. Tested-by: Anand Moon <[email protected]> Tested-by: E Shattow <[email protected]> Signed-off-by: Hal Feng <[email protected]>
2024-10-28riscv64: dts: starfive: Mars ethernet0 phy delay values sync with upstream LinuxE Shattow
Milk-V Mars vendor board support package has value 0xa (multiplier=150) for both rx and tx delay. Upstream Linux has this as 1500 for both rx and tx delay. There is no documentation for why this should remain 1900 so correct it now. Mars CM and Mars CM Lite follow the same network phy delay values as Mars in the vendor board support package. Fixes: 92db23f7660de5897c8e3b91489b5b5780ffcd16 Signed-off-by: E Shattow <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-10-28riscv64: dts: starfive: Star64 ethernet0 phy delay values sync with upstream ↵E Shattow
Linux Fix bad delay values copied from vendor board support package of Star64, improves performance and reliability of bottom network port. Fixes: 7ebf7e77c0616ef0d2f58cc1684c230f656bd3d6 Signed-off-by: E Shattow <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[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-09-10board: fix compatible property Milk-V Mars CMHeinrich Schuchardt
For the Milk-V Mars CM (lite) we have only been copying sizeof(void *) bytes to the compatible property instead of the whole string list. Fixes: de3229599d4f ("board: add support for Milk-V Mars CM") Reported-by: E Shattow <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-05-30board: starfive: support Pine64 Star64 boardH Bell
Similar to the Milk-V Mars, The Star64 board contains few differences to the VisionFive 2 boards, so can be part of the same U-boot build. Signed-off-by: Henry Bell <[email protected]> Cc: [email protected] Cc: [email protected] Reviewed-by: E Shattow <[email protected]>
2024-05-14starfive: add mac vendor sub-commandHeinrich Schuchardt
As boards from multiple vendors (Milk-V, StarFive, Pine64) use the mac command provide a sub-command to set the vendor string. Reported-by: E. Shattow <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2024-05-14board: add support for Milk-V Mars CMHeinrich Schuchardt
We already support the VisionFive 2 and the Milk-V Mars board by patching the VisionFive 2 device tree. With this patch the same is done for the Milk-V Mars CM. Signed-off-by: Heinrich Schuchardt <[email protected]> Tested-by: E. Shattow <[email protected]> Reviewed-by: E. Shattow <[email protected]>
2024-05-14board: starfive: function to read eMMC sizeHeinrich Schuchardt
The EEPROM provides information about the size of the eMMC. Provide a new function get_mmc_size_from_eeprom() to read it. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: E. Shattow <[email protected]>
2024-05-02board: starfive: 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: Heinrich Schuchardt <[email protected]>
2024-04-22common: Convert *.c/h from UTF-8 to ASCII enconfingMichal Simek
Convert UTF-8 chars to ASCII in cases where make sense. No Copyright or names are converted. Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Tom Rini <[email protected]> Acked-by: Marek Behún <[email protected]>
2024-04-09riscv: starfive: avoid including common.hHeinrich Schuchardt
The usage of common.h is deprecated. Remove it from board files. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-04-09board: starfive: support Milk-V Mars boardHeinrich Schuchardt
The differences between the Milk-V Mars board and the VisionFive 2 board are small enough that we can support both using the same U-Boot build. * The model and compatible property are taken from proposed Linux patches. * The EEPROM is atmel,24c02 according to the vendor U-Boot. * The second Ethernet port is not available. usb@10100000 does not exist in U-Boot yet. So we don't have to reflect differences in usage here. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-04-09riscv: set fdtfile on Milk-V MarsHeinrich Schuchardt
Set environment variable fdtfile to the correct value for the Milk-V Mars board. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-04-09eeprom: starfive: function get_product_id_from_eeprom()Heinrich Schuchardt
Export a function get_product_id_from_eeprom() to read the product ID. This value can be used for fixing up the device-tree on JH7110 based products. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-04-09riscv: do not set default fdt for VisionFive 2Heinrich Schuchardt
Currently in set_fdtfile() we set the value of environment variable fdtfile unconditionally. The implies that a value in the environment will be ignored. With the patch environment variable fdtfile will only be set if it does not yet exist. This requires that CONFIG_DEFAULT_FDT_FILE is not set. Now the user can either set and save fdtfile interactively or in the U-Boot configuration to overrule the device-tree name chosen based on the hardware in set_fdtfile(). Reported-by: E Shattow <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-03-12board: starfive: maintainer: Add visionfive2 PCIe driverMinda Chen
Add PCIe driver file to visionfive2 board MAINTAINERS list. Signed-off-by: Minda Chen <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-03-12board: starfive: Update maintainer of VisionFive v2 boardMinda Chen
Update the maintainer of Starfive VisionFive v2 board. Signed-off-by: Minda Chen <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-01-31board: visionfive2: configure PHY pad drive strengthLukasz Tekieli
Configure the pad drive strength register for both PHYs. The values correspond to what can be found in the Linux DTS for VisionFive2 v1.3b. Pad drive strength configuration is required for the phy0 to work correctly with 100Mbit links. Signed-off-by: Lukasz Tekieli <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-01-31board: starfive: handle compatible property in dynamic DT configurationAurelien Jarno
The difference between the StarFive VisionFive 2 1.2A and 1.3B boards is handled dynamically by looking at the PCB version in the EEPROM in order to have a single u-boot version for both versions of the board. While the "model" property is correctly handled, the "compatible" one is always the the one of version 1.3b. This patch add support for dynamically configuring that property. Fixes: 9b7060bd15e7 ("riscv: dts: jh7110: Combine the board device tree files of 1.2A and 1.3B") Signed-off-by: Aurelien Jarno <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-11-02board: starfive: spl: Support jtag for VisionFive2 boardChanho Park
JTAG pins are mapped as below. To access the JTAG pins, we need to control the GPIO pins from SPL which seems to be the earliest stage for JTAG. - JTAG nTRST: GPIO36 / Input - JTAG TDI: GPIO61 / Input - JTAG TMS: GPIO63 / Input - JTAG TCK: GPIO60 / Input - JTAG TDO: GPIO44 / Output Signed-off-by: Chanho Park <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[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: starfive: add 'mac raw' commandHeinrich Schuchardt
Add a sub-command to print a hexdump of the EEPROM content. Signed-off-by: Heinrich Schuchardt <[email protected]>
2023-10-16eeprom: starfive: raw dump if unsupported data versionHeinrich Schuchardt
If the data version field of the EEPROM is not supported, provide a hexdump of the data. Signed-off-by: Heinrich Schuchardt <[email protected]>
2023-10-16eeprom: starfive: 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 VisionFive 2 board. Don't call cmd_usage() directly but return CMD_RET_USAGE instead. Signed-off-by: Heinrich Schuchardt <[email protected]>
2023-10-02Merge branch 'next'Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2023-09-26riscv: set fdtfile on VisionFive 2Heinrich Schuchardt
Multiple revisions of the StarFive VisionFive 2 board exist. They can be identified by reading their EEPROM. Linux uses two differently named device-tree files. To load the correct device-tree we need to set $fdtfile to the device-tree file name that matches the board revision. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]> Tested-by: Milan P. Stanić <[email protected]>
2023-09-20riscv: set fdtfile on VisionFive 2Heinrich Schuchardt
Multiple revisions of the StarFive VisionFive 2 board exist. They can be identified by reading their EEPROM. Linux uses two differently named device-tree files. To load the correct device-tree we need to set $fdtfile to the device-tree file name that matches the board revision. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-09-20board: visionfive2: Fixup memory size passed to kernelShengyu Qu
Use fdt_fixup_memory to make the memory size data from dtb match the actual size. Signed-off-by: Shengyu Qu <[email protected]> Tested-by: Milan P. Stanić <[email protected]>
2023-09-05eeprom: starfive: set eth0 mac address properlySeung-Woo Kim
fdt_fixup_ethernet() sets eth0 mac address from ethaddr. Set ethaddr to environment instead of eth0addr. Signed-off-by: Seung-Woo Kim <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-08-31event: Convert existing spy records to simpleSimon Glass
Very few of the existing event-spy records use the arguments they are passed. Update them to use a simple spy instead, to simplify the code. Where an adaptor function is currently used, remove it where possible. Signed-off-by: Simon Glass <[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-07-12board: starfive: Dynamic configuration of DT for 1.2A and 1.3BYanhong Wang
The main difference between StarFive VisionFive 2 1.2A and 1.3B is gmac. You can read the PCB version of the current board by get_pcb_revision_from_eeprom(), and then dynamically configure the difference of gmac in spl_perform_fixups() according to different PCB versions, so that one DT and one defconfig can support both 1.2A and 1.3B versions, which is more user-friendly. Signed-off-by: Yanhong Wang <[email protected]> Reviewed-by: Rick Chen <[email protected]>
2023-07-12configs: starfive: Enable ID EEPROM configurationYanhong Wang
Enabled ID_EEPROM and I2C configuration for StarFive VisionFive2 board. Signed-off-by: Yanhong Wang <[email protected]> Reviewed-By: Leo Yu-Chi Linag <[email protected]>
2023-07-12eeprom: starfive: Enable ID EEPROM configurationYanhong Wang
Enabled ID_EEPROM configuration for StarFive VisionFive2 board. Signed-off-by: Yanhong Wang <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-06-27board: starfive: Fixed errors reported when executing get_maintainer.plYanhong Wang
Fixed errors reported when executing 'scripts/get_maintainer.pl -f configs/starfive_visionfive2_defconfig'. Invalid MAINTAINERS address: 'startfive' Signed-off-by: Yanhong Wang <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-04-20board: starfive: Add Kconfig for StarFive VisionFive v2 BoardYanhong Wang
Add Kconfig to select the basic functions for StarFive VisionFive v2 Board. Signed-off-by: Yanhong Wang <[email protected]> Tested-by: Conor Dooley <[email protected]>
2023-04-20board: starfive: add StarFive VisionFive v2 board supportYanhong Wang
Add board support for StarFive VisionFive v2. Signed-off-by: Yanhong Wang <[email protected]> Tested-by: Conor Dooley <[email protected]>