boards/socs: Rename folders to have proper vendor prefix in
Replaces inaccurate or wrong vendor prefixes in board and soc folder names with those from thr vendor prefix file Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
This commit is contained in:
parent
6704557bf9
commit
f103c82c31
460 changed files with 0 additions and 10 deletions
10
boards/enjoydigital/index.rst
Normal file
10
boards/enjoydigital/index.rst
Normal file
|
@ -0,0 +1,10 @@
|
|||
.. _boards-enjoydigital:
|
||||
|
||||
EnjoyDigital
|
||||
############
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:glob:
|
||||
|
||||
**/*
|
13
boards/enjoydigital/litex_vexriscv/Kconfig.defconfig
Normal file
13
boards/enjoydigital/litex_vexriscv/Kconfig.defconfig
Normal file
|
@ -0,0 +1,13 @@
|
|||
# Copyright (c) 2018 - 2019 Antmicro <www.antmicro.com>
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
if BOARD_LITEX_VEXRISCV
|
||||
|
||||
if NETWORKING
|
||||
|
||||
config NET_L2_ETHERNET
|
||||
default y
|
||||
|
||||
endif # NETWORKING
|
||||
|
||||
endif # BOARD_LITEX_VEXRISCV
|
|
@ -0,0 +1,5 @@
|
|||
# Copyright (c) 2018 - 2019 Antmicro <www.antmicro.com>
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
config BOARD_LITEX_VEXRISCV
|
||||
select SOC_LITEX_VEXRISCV
|
5
boards/enjoydigital/litex_vexriscv/board.yml
Normal file
5
boards/enjoydigital/litex_vexriscv/board.yml
Normal file
|
@ -0,0 +1,5 @@
|
|||
board:
|
||||
name: litex_vexriscv
|
||||
vendor: litex
|
||||
socs:
|
||||
- name: litex_vexriscv
|
BIN
boards/enjoydigital/litex_vexriscv/doc/img/litex_vexriscv.jpg
Normal file
BIN
boards/enjoydigital/litex_vexriscv/doc/img/litex_vexriscv.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 77 KiB |
1
boards/enjoydigital/litex_vexriscv/doc/img/symbiflow.svg
generated
Normal file
1
boards/enjoydigital/litex_vexriscv/doc/img/symbiflow.svg
generated
Normal file
|
@ -0,0 +1 @@
|
|||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0" y="0" viewBox="0 0 532.8 134.4" xml:space="preserve"><style>.st0{fill:#5a2ab5}</style><path class="st0" d="M23.5 44.8c0-2.6.6-5 1.7-7.4 1.1-2.3 2.7-4.4 4.8-6.1 2.1-1.8 4.6-3.2 7.6-4.3 3-1.1 6.4-1.6 10.2-1.6 3.7 0 7 .5 9.9 1.6 2.9 1.1 5.4 2.6 7.4 4.5s3.6 4.2 4.7 6.8c1.1 2.6 1.7 5.5 1.7 8.6L56.4 48c0-2.7-.8-4.9-2.3-6.4-1.5-1.5-3.6-2.3-6.4-2.3-2.4 0-4.4.7-5.9 2s-2.2 2.8-2.2 4.5c0 1.7.8 2.9 2.5 3.8 1.7.9 3.7 1.7 6.2 2.4 2.5.8 5.2 1.6 8 2.4 2.9.9 5.6 2.1 8 3.7 2.5 1.6 4.5 3.7 6.2 6.3 1.7 2.6 2.5 5.9 2.5 10 0 2.7-.6 5.3-1.7 7.7-1.1 2.4-2.7 4.5-4.9 6.3-2.2 1.8-4.8 3.2-8 4.3-3.2 1.1-6.8 1.6-10.8 1.6-3.9 0-7.4-.5-10.5-1.6-3.1-1.1-5.7-2.6-7.8-4.6s-3.7-4.3-4.9-7c-1.1-2.7-1.7-5.7-1.7-8.9l15.1-1.1c0 6.1 3.2 9.2 9.7 9.2 3 0 5.3-.7 6.8-2.1 1.5-1.4 2.3-3 2.3-4.9 0-1.7-.8-3.1-2.5-4-1.7-.9-3.7-1.8-6.2-2.6s-5.2-1.6-8-2.5c-2.9-.9-5.6-2.1-8-3.6-2.5-1.5-4.5-3.6-6.2-6.1-1.3-2.4-2.2-5.6-2.2-9.7zM75.3 44.3h15.6L101.7 75l10.8-30.7h15.6l-19.9 49.6c-2.5 6.2-5.2 10.7-8.1 13.5-2.9 2.8-6.7 4.3-11.3 4.3-.6 0-1.1 0-1.7-.1-.5 0-1.1-.1-1.6-.2-.6-.1-1.1-.2-1.6-.3V98.8c3 0 5.3-.6 6.8-1.9 1.5-1.3 2.7-3 3.4-5.1L75.3 44.3zM158.8 43.8c2.5 0 4.7.3 6.5 1 1.8.7 3.3 1.4 4.4 2.2 1.3.9 2.3 2 3.1 3.2 1.1-1.2 2.5-2.3 4-3.2 1.3-.8 2.8-1.5 4.6-2.2 1.8-.7 3.8-1 5.9-1 5.4 0 9.7 1.7 12.9 5.2 3.2 3.5 4.9 8.6 4.9 15.3v29.6h-14.6v-28c0-2.7-.7-4.9-2.1-6.4-1.4-1.5-3-2.3-4.9-2.3-1.9 0-3.5.8-4.9 2.3-1.4 1.5-2.1 3.6-2.1 6.4v28h-14.6v-28c0-2.7-.7-4.9-2.1-6.4-1.4-1.5-3-2.3-4.9-2.3-1.9 0-3.5.8-4.9 2.3-1.4 1.5-2.1 3.6-2.1 6.4v28h-14.6V44.3h10.8l2.2 4.9c.9-1 2-1.9 3.3-2.7 1.1-.6 2.4-1.3 3.9-1.8 1.8-.6 3.5-.9 5.3-.9zM242.4 94.4c-2.2 0-4.1-.3-5.8-.8-1.7-.5-3.2-1.2-4.4-1.9-1.4-.8-2.7-1.7-3.8-2.7l-2.2 4.9h-10.8V26H230v22.1c.9-.8 2-1.5 3.3-2.2 1.1-.6 2.4-1.1 3.9-1.5 1.5-.4 3.3-.6 5.1-.6 3.1 0 6 .6 8.8 1.9 2.8 1.3 5.3 3 7.4 5.3 2.1 2.3 3.8 4.9 5.1 8 1.3 3.1 1.9 6.5 1.9 10.1 0 3.7-.6 7-1.9 10.1-1.3 3.1-2.9 5.8-5.1 8-2.1 2.3-4.6 4-7.4 5.3-2.7 1.3-5.6 1.9-8.7 1.9zm8.6-25.3c0-3.5-1-6.4-3.1-8.6-2.1-2.2-4.6-3.3-7.7-3.3-3 0-5.6 1.1-7.7 3.3s-3.1 5.1-3.1 8.6 1 6.4 3.1 8.6 4.6 3.3 7.7 3.3c3 0 5.6-1.1 7.7-3.3 2.1-2.2 3.1-5.1 3.1-8.6zM274.2 30.8c0-2.2.8-4 2.4-5.7 1.6-1.6 3.5-2.4 5.7-2.4s4 .8 5.7 2.4c1.6 1.6 2.4 3.5 2.4 5.7s-.8 4-2.4 5.7c-1.6 1.6-3.5 2.4-5.7 2.4s-4-.8-5.7-2.4c-1.6-1.6-2.4-3.5-2.4-5.7zm15.1 63.1h-14.6V44.3h14.6v49.6zM302.2 26h46.9v15.1h-31.3v14h25.3v15.1h-25.3v23.7h-15.6V26zM371.8 93.9h-14.6V26h14.6v67.9zM380.4 69.1c0-3.7.7-7.1 2-10.2 1.3-3.1 3.1-5.9 5.4-8.2 2.3-2.3 5-4.2 8-5.5 3.1-1.3 6.3-2 9.9-2 3.5 0 6.8.7 9.9 2 3.1 1.3 5.7 3.2 8 5.5s4.1 5.1 5.4 8.2c1.3 3.1 2 6.5 2 10.2 0 3.7-.7 7.1-2 10.2-1.3 3.1-3.1 5.9-5.4 8.2-2.3 2.3-5 4.2-8 5.5-3.1 1.3-6.3 2-9.9 2-3.5 0-6.8-.7-9.9-2-3.1-1.3-5.7-3.2-8-5.5s-4.1-5.1-5.4-8.2c-1.3-3.1-2-6.5-2-10.2zm36.1 0c0-3.8-1-6.8-3.1-9.1-2.1-2.2-4.6-3.3-7.7-3.3-3 0-5.6 1.1-7.7 3.3-2.1 2.2-3.1 5.2-3.1 9.1 0 3.8 1 6.8 3.1 9.1 2.1 2.2 4.6 3.3 7.7 3.3 3 0 5.6-1.1 7.7-3.3 2.1-2.3 3.1-5.3 3.1-9.1zM472 66.4l-8.6 27.5H451l-16.7-49.6h15.1l8.6 29.1 9.2-29.1h9.7l9.2 29.1 8.6-29.1h15.1l-16.7 49.6h-12.4L472 66.4z"/></svg>
|
After Width: | Height: | Size: 3 KiB |
191
boards/enjoydigital/litex_vexriscv/doc/index.rst
Normal file
191
boards/enjoydigital/litex_vexriscv/doc/index.rst
Normal file
|
@ -0,0 +1,191 @@
|
|||
.. _litex-vexriscv:
|
||||
|
||||
LiteX VexRiscv
|
||||
##############
|
||||
|
||||
LiteX VexRiscv is an example of a system on a chip (SoC) that consists of
|
||||
a `VexRiscv processor <https://github.com/SpinalHDL/VexRiscv>`_
|
||||
and additional peripherals. This setup can be generated using
|
||||
`Zephyr on LiteX VexRiscv (reference platform)
|
||||
<https://github.com/litex-hub/zephyr-on-litex-vexriscv>`_
|
||||
or `LiteX SoC Builder <https://github.com/enjoy-digital/litex>`_
|
||||
and can be used on various FPGA chips.
|
||||
The bitstream (FPGA configuration file) can be obtained using both
|
||||
vendor-specific and open-source tools, including the
|
||||
`F4PGA toolchain <https://f4pga.org/>`_.
|
||||
|
||||
The ``litex_vexriscv`` board configuration in Zephyr is meant for the
|
||||
LiteX VexRiscv SoC implementation generated for the
|
||||
`Digilent Arty A7-35T or A7-100T Development Boards
|
||||
<https://store.digilentinc.com/arty-a7-artix-7-fpga-development-board-for-makers-and-hobbyists>`_
|
||||
or `SDI-MIPI Video Converter <https://github.com/antmicro/sdi-mipi-video-converter>`_.
|
||||
|
||||
.. image:: img/litex_vexriscv.jpg
|
||||
:align: center
|
||||
:alt: LiteX VexRiscv on Digilent Arty 35T Board
|
||||
|
||||
LiteX is based on
|
||||
`Migen <https://m-labs.hk/gateware/migen/>`_/`MiSoC SoC builder <https://github.com/m-labs/misoc>`_
|
||||
and provides ready-made system components such as buses, streams, interconnects,
|
||||
common cores, and CPU wrappers to create SoCs easily. The tool contains
|
||||
mechanisms for integrating, simulating, and building various designs
|
||||
that target multiple chips of different vendors.
|
||||
More information about the LiteX project can be found on
|
||||
`LiteX's website <https://github.com/enjoy-digital/litex>`_.
|
||||
|
||||
VexRiscv is a 32-bit implementation of the RISC-V CPU architecture
|
||||
written in the `SpinalHDL <https://spinalhdl.github.io/SpinalDoc-RTD/>`_.
|
||||
The processor supports M, C, and A RISC-V instruction
|
||||
set extensions, with numerous optimizations that include multistage
|
||||
pipelines and data caching. The project provides many optional extensions
|
||||
that can be used to customize the design (JTAG, MMU, MUL/DIV extensions).
|
||||
The implementation is optimized for FPGA chips.
|
||||
More information about the project can be found on
|
||||
`VexRiscv's website <https://github.com/SpinalHDL/VexRiscv>`_.
|
||||
|
||||
To run the ZephyrOS on the VexRiscv CPU, it is necessary to prepare the
|
||||
bitstream for the FPGA on a Digilent Arty A7-35 Board or SDI-MIPI Video Converter. This can be achieved
|
||||
using the
|
||||
`Zephyr on LiteX VexRiscv <https://github.com/litex-hub/zephyr-on-litex-vexriscv>`_
|
||||
reference platform. You can also use the official LiteX SoC Builder.
|
||||
|
||||
Bitstream generation
|
||||
********************
|
||||
|
||||
Zephyr on LiteX VexRiscv
|
||||
========================
|
||||
Using this platform ensures that all registers addresses are in the proper place.
|
||||
All drivers were tested using this platform.
|
||||
In order to generate the bitstream,
|
||||
proceed with the following instruction:
|
||||
|
||||
1. Clone the repository and update all submodules:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
git clone https://github.com/litex-hub/zephyr-on-litex-vexriscv.git
|
||||
cd zephyr-on-litex-vexriscv
|
||||
git submodule update --init --recursive
|
||||
|
||||
Generating the bitstream for the Digilent Arty A7-35 Board requires F4PGA toolchain installation. It can be done by following instructions in
|
||||
`this tutorial <https://f4pga-examples.readthedocs.io/en/latest/getting.html>`_.
|
||||
|
||||
In order to generate the bitstream for the SDI-MIPI Video Converter, install
|
||||
oxide (yosys+nextpnr) toolchain by following
|
||||
`these instructions <https://github.com/gatecat/prjoxide#getting-started---complete-flow>`_.
|
||||
|
||||
#. Next, get all required packages and run the install script:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
apt-get install build-essential bzip2 python3 python3-dev python3-pip
|
||||
./install.sh
|
||||
|
||||
#. Add LiteX to path:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
source ./init
|
||||
|
||||
#. Set up the F4PGA environment (for the Digilent Arty A7-35 Board):
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
export F4PGA_INSTALL_DIR=~/opt/f4pga
|
||||
export FPGA_FAM="xc7"
|
||||
export PATH="$F4PGA_INSTALL_DIR/$FPGA_FAM/install/bin:$PATH";
|
||||
source "$F4PGA_INSTALL_DIR/$FPGA_FAM/conda/etc/profile.d/conda.sh"
|
||||
conda activate $FPGA_FAM
|
||||
|
||||
#. Generate the bitstream for the Arty 35T:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./make.py --board=arty --variant=a7-35 --build --toolchain=symbiflow
|
||||
|
||||
#. Generate the bitstream for the Arty 100T:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./make.py --board=arty --variant=a7-100 --build --toolchain=symbiflow
|
||||
|
||||
#. Generate the bitstream for the SDI-MIPI Video Converter:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./make.py --board=sdi_mipi_bridge --build --toolchain=oxide
|
||||
|
||||
Official LiteX SoC builder
|
||||
==========================
|
||||
You can also generate the bitstream using the `official LiteX repository <https://github.com/enjoy-digital/litex>`_.
|
||||
In that case you must also generate a dts overlay.
|
||||
|
||||
1. Install Migen/LiteX and the LiteX's cores:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
wget https://raw.githubusercontent.com/enjoy-digital/litex/master/litex_setup.py
|
||||
chmod +x litex_setup.py
|
||||
./litex_setup.py --init --install --user (--user to install to user directory) --config=(minimal, standard, full)
|
||||
|
||||
#. Install the RISC-V toolchain:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
pip3 install meson ninja
|
||||
./litex_setup.py --gcc=riscv
|
||||
|
||||
#. Build the target:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./litex-boards/litex_boards/targets/digilent_arty.py --build --timer-uptime --csr-json csr.json
|
||||
|
||||
#. Generate the dts and config overlay:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./litex/litex/tools/litex_json2dts_zephyr.py --dts overlay.dts --config overlay.config csr.json
|
||||
|
||||
Programming and booting
|
||||
*************************
|
||||
|
||||
Building
|
||||
========
|
||||
|
||||
Applications for the ``litex_vexriscv`` board configuration can be built as usual
|
||||
(see :ref:`build_an_application`).
|
||||
In order to build the application for ``litex_vexriscv``, set the ``BOARD`` variable
|
||||
to ``litex_vexriscv``.
|
||||
|
||||
If you were generating bitstream with the official LiteX SoC builder you need to pass an additional argument:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
west build -b litex_vexriscv path/to/app -DDTC_OVERLAY_FILE=path/to/overlay.dts
|
||||
|
||||
Booting
|
||||
=======
|
||||
|
||||
To upload the bitstream to Digilent Arty A7-35 you can use `xc3sprog <https://github.com/matrix-io/xc3sprog>`_ or
|
||||
`openFPGALoader <https://github.com/trabucayre/openFPGALoader>`_:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
xc3sprog -c nexys4 digilent_arty.bit
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
openFPGALoader -b arty_a7_100t digilent_arty.bit
|
||||
|
||||
Use `ecpprog <https://github.com/gregdavill/ecpprog>`_ to upload the bitstream to SDI-MIPI Video Converter:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
ecpprog -S antmicro_sdi_mipi_video_converter.bit
|
||||
|
||||
You can boot from a serial port using litex_term (replace `ttyUSBX` with your device) , e.g.:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
litex_term /dev/ttyUSBX --speed 115200 --kernel zephyr.bin
|
85
boards/enjoydigital/litex_vexriscv/litex_vexriscv.dts
Normal file
85
boards/enjoydigital/litex_vexriscv/litex_vexriscv.dts
Normal file
|
@ -0,0 +1,85 @@
|
|||
/*
|
||||
* Copyright (c) 2018 - 2019 Antmicro <www.antmicro.com>
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include <riscv32-litex-vexriscv.dtsi>
|
||||
|
||||
/ {
|
||||
model = "LiteX VexRiscV";
|
||||
compatible = "litex,vexriscv";
|
||||
chosen {
|
||||
zephyr,console = &uart0;
|
||||
zephyr,shell-uart = &uart0;
|
||||
zephyr,sram = &ram0;
|
||||
};
|
||||
|
||||
ram0: memory@40000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x40000000 0x10000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
status = "okay";
|
||||
current-speed = <115200>;
|
||||
};
|
||||
|
||||
&timer0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
ð0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dna0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&spi0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&prbs0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pwm0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio_out {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio_in {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2s_rx {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2s_tx {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&clk0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&clk1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&clock0 {
|
||||
status = "okay";
|
||||
};
|
21
boards/enjoydigital/litex_vexriscv/litex_vexriscv.yaml
Normal file
21
boards/enjoydigital/litex_vexriscv/litex_vexriscv.yaml
Normal file
|
@ -0,0 +1,21 @@
|
|||
#
|
||||
# Copyright (c) 2018 - 2019 Antmicro <www.antmicro.com>
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
identifier: litex_vexriscv
|
||||
name: LiteX SoC with VexRiscV softcore CPU
|
||||
type: mcu
|
||||
arch: riscv
|
||||
toolchain:
|
||||
- zephyr
|
||||
ram: 262144
|
||||
supported:
|
||||
- spi
|
||||
- i2s
|
||||
testing:
|
||||
ignore_tags:
|
||||
- bluetooth
|
||||
- xip
|
||||
vendor: litex
|
13
boards/enjoydigital/litex_vexriscv/litex_vexriscv_defconfig
Normal file
13
boards/enjoydigital/litex_vexriscv/litex_vexriscv_defconfig
Normal file
|
@ -0,0 +1,13 @@
|
|||
#
|
||||
# Copyright (c) 2019 Antmicro <www.antmicro.com>
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
CONFIG_CONSOLE=y
|
||||
CONFIG_SERIAL=y
|
||||
CONFIG_UART_CONSOLE=y
|
||||
CONFIG_GPIO=y
|
||||
CONFIG_XIP=n
|
||||
CONFIG_CLOCK_CONTROL=y
|
||||
CONFIG_HEAP_MEM_POOL_SIZE=4096
|
Loading…
Add table
Add a link
Reference in a new issue