-
Notifications
You must be signed in to change notification settings - Fork 6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
boards: starfive: add visionfive2 board
these list of patches add support the Starfive Visionfive2 SBC based on the JH7110 SoC. Board identifier is `visionfive2`. Signed-off-by: Kanak Shilledar <kanakshilledar111@protonmail.com> Signed-off-by: Pratik Farkase <pratik.farkase@wsisweden.com>
- Loading branch information
Showing
9 changed files
with
162 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
.. _boards-starfive: | ||
|
||
StarFive | ||
######## | ||
|
||
.. toctree:: | ||
:maxdepth: 1 | ||
:glob: | ||
|
||
**/* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
# Copyright (c) 2024 Kanak Shilledar <kanakshilledar111@protonmail.com> | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
if BOARD_VISIONFIVE2_JH7110 | ||
|
||
config SYS_CLOCK_TICKS_PER_SEC | ||
default 1000 | ||
|
||
config SYS_CLOCK_HW_CYCLES_PER_SEC | ||
default 1000000 | ||
|
||
endif # BOARD_VISIONFIVE2_JH7110 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# Copyright (c) 2024 Kanak Shilledar <kanakshilledar111@protonmail.com> | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
config BOARD_VISIONFIVE2_JH7110 | ||
select SOC_JH7110 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# Copyright (c) 2024 Kanak Shilledar <kanakshilledar111@protonmail.com> | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
board: | ||
name: visionfive2 | ||
vendor: starfive | ||
socs: | ||
- name: jh7110 |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
.. _visionfive2: | ||
|
||
Starfive VisionFive 2 JH7110 | ||
############################ | ||
|
||
Overview | ||
******** | ||
|
||
The StarFive VisionFive 2 is a development board with a StarFive JH7110 | ||
multi-core 64bit RISC-V SoC. | ||
|
||
.. image:: img/visionfive2.webp | ||
:align: center | ||
:alt: StarFive VisionFive 2 Board | ||
|
||
Programming and debugging | ||
************************* | ||
|
||
Building | ||
======== | ||
|
||
Applications for the ``visionfive2`` board configuration can be built | ||
as usual (see :ref:`build_an_application`) using the corresponding board name: | ||
|
||
.. zephyr-app-commands:: | ||
:board: visionfive2 | ||
:goals: build | ||
|
||
`spl_tool <https://github.com/starfive-tech/Tools/tree/master/spl_tool/>`_ | ||
is a jh7110 signature tool used to generate spl header information | ||
and generate ``zephyr.bin.normal.out``. | ||
|
||
.. code-block:: console | ||
./spl_tool -c -f build/zephyr/zephyr.bin | ||
This will create a new file ``build/zephyr/zephyr.bin.normal.out`` that can be flashed. | ||
This step is necessary as zephyr binary must contain the SPL header info in order | ||
to run it in M-Mode (Machine Mode) since S-Mode (Supervisor Mode) is | ||
currently not supported. | ||
|
||
Flashing | ||
======== | ||
|
||
.. note:: | ||
The following steps use minicom for serial communication, feel free to use | ||
any other serial terminal that supports xmodem based file transfers. | ||
Thanks to @orangecms for his vf2-loader tool which makes the flashing process easier | ||
|
||
git clone the vf2-loader tool from https://github.com/orangecms/vf2-loader.git and | ||
xmodem tool from https://github.com/orangecms/xmodem.rs.git side by side. | ||
|
||
VisionFive2 uses uart for flashing. Refer to | ||
`VisionFive2 Recovery Quick Start Guide | ||
<https://doc-en.rvspace.org/VisionFive2/Quick_Start_Guide/VisionFive2_SDK_QSG/recovering_bootloader%20-%20vf2.html>`_ | ||
to connect your serial-to-usb converter. Now power on the board and using | ||
minicom access board's serial and press the reset switch on the board until you see CCCCCC... prompt | ||
|
||
Copy the ``zephyr.bin.normal.out`` from ``build/zephyr/zephyr.bin.normal.out`` | ||
to previously git cloned vf2-loader/ directory and cd into it. | ||
Flash the ``zephyr.bin.normal.out`` using this command: | ||
|
||
.. code-block:: console | ||
cargo run -- zephyr.bin.normal.out && minicom -D /dev/ttyUSB0 | ||
.. code-block:: text | ||
cargo run -- zephyr.bin.normal.out && minicom -D /dev/ttyUSB0 | ||
Finished dev [unoptimized + debuginfo] target(s) in 0.03s | ||
Running `target/debug/vf2-loader zephyr.bin.normal.out` | ||
Welcome to minicom 2.7.1 | ||
OPTIONS: I18n | ||
Compiled on Dec 23 2019, 02:06:26. | ||
Port /dev/ttyUSB0, 14:59:24 | ||
Press CTRL-A Z for help on special keys | ||
6*** Booting Zephyr OS build v3.6.0-rc3 *** | ||
Hello World! visionfive2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
/* | ||
* Copyright (c) 2024 Kanak Shilledar <kanakshilledar111@protonmail.com> | ||
* | ||
* SPDX-License-Identifier: Apache-2.0 | ||
*/ | ||
|
||
/dts-v1/; | ||
|
||
#include "starfive/jh7110-visionfive-v2.dtsi" | ||
|
||
/ { | ||
model = "StarFive VisionFive V2"; | ||
compatible = "starfive,visionfive-v2"; | ||
|
||
chosen { | ||
zephyr,console = &uart0; | ||
zephyr,shell-uart = &uart0; | ||
zephyr,sram = &ram0; | ||
}; | ||
}; | ||
|
||
&uart0 { | ||
status = "okay"; | ||
current-speed = <115200>; | ||
}; | ||
|
||
&uart1 { | ||
status = "okay"; | ||
current-speed = <115200>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
identifier: visionfive2 | ||
name: Visionfive JH7110 (NON-SMP) | ||
type: mcu | ||
arch: riscv64 | ||
toolchain: | ||
- zephyr | ||
- cross-compile | ||
supported: | ||
- uart |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
# Zephyr Kernel Configuration | ||
CONFIG_PRINTK=y | ||
CONFIG_XIP=n | ||
|
||
# Serial Drivers | ||
CONFIG_SERIAL=y | ||
CONFIG_CONSOLE=y | ||
CONFIG_UART_CONSOLE=y |