Commit Graph

6830 Commits

Author SHA1 Message Date
Stafford Horne 5cc2c4aaf7 dts: Support generating interrupt config
This addresses #744
2020-12-28 09:51:22 +09:00
Joel Stanley 13345bfe7f dts: Fix soc controller compatible
The version that landed upstream is spelt litex,soc-controller with a
dash instead of an underscore.

Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-12-27 22:40:29 +10:30
enjoy-digital bddb170650
Merge pull request #742 from rprinz08/master
Enable etherbone usage on multiple ethernet interfaces
2020-12-23 10:44:40 +01:00
rprinz08 c99c96bc68 Enable etherbone usage on multiple ethernet interfaces 2020-12-22 21:13:10 +01:00
Florent Kermarrec 1a338b602a software/bios: add new mem_list command to list available memory regions.
This is useful to know the memory regions available and use the mem_xy commands
on them:

List the memory regions:

litex> mem_list
Available memory regions:
ROM       0x00000000 0x8000
SRAM      0x01000000 0x2000
MAIN_RAM  0x40000000 0x10000000
CSR       0x82000000 0x10000

Test 0x1000 bytes of MAIN_RAM:

litex> mem_test 0x40000000 0x1000
Memtest at 0x40000000 (4KiB)...
  Write: 0x40000000-0x40001000 4KiB
   Read: 0x40000000-0x40001000 4KiB
Memtest OK

Test speed on 0x1000 bytes of MAIN_RAM:

litex> mem_speed 0x40000000 0x1000
Memspeed at 0x40000000 (4KiB)...
  Write speed: 352KiB/s
   Read speed: 288KiB/s
2020-12-22 19:15:57 +01:00
Tim Ansell b3a0b4b60d
Merge pull request #737 from stffrdhrn/or1k-linux-insns
mor1kx: Enable rotate, fpu and sign extensions under linux
2020-12-22 09:40:53 -08:00
Stafford Horne 3067c57080 mor1kx: Enable gcc compiler flag for cmov
We enable this instruction so use it.
2020-12-22 22:10:42 +09:00
Stafford Horne 51327e00b5 mor1kx: Enable rotate, sign extend under linux, new fpu extension
My thought is that if we are running linux the FPGA should be able to
handle these extra instruction's footprint.  Also, since we are running
on linux there may be any kind of software running on the CPU, so allow
handling these instructions.

FPU is added bia a new +fpu extension.

But really, I am running GLIBC tests and they run faster with this
enabled.
2020-12-22 22:10:42 +09:00
Florent Kermarrec d90d3e043b software/liblitedram: add optional SDRAM_TEST_DISABLE that can be defined to full disable SDRAM test.
This is useful in simulation where SDRAM contents is pre-initialized from files (ex Linux-on-LiteX-Vexriscv).
2020-12-22 10:50:15 +01:00
Florent Kermarrec 12dabde77c integration/soc/add_ethernet: add phy_cd parameter to allow and demonstrate multiple PHYs support. 2020-12-22 09:03:00 +01:00
Florent Kermarrec c79135c573 software/demo: add litex_bare_metal_demo pre-installed script.
Build demo: litex_bare_metal_demo --build-path=build/arty/
2020-12-21 19:27:21 +01:00
Florent Kermarrec 4df56ed456 software/demo: add short README. 2020-12-21 18:44:10 +01:00
Florent Kermarrec ef2ed8bbbc tools/litex_json2dts: fix vexriscv-smp cpu reg numbering. 2020-12-21 18:16:44 +01:00
Florent Kermarrec 5ec5554713 tools/litex_json2dts: cleanup and reorganize peripherals. 2020-12-21 16:11:45 +01:00
Florent Kermarrec df92e2aea7 tools/litex_json2dts: switch VexRiscv to SMP, update SDCard dts. 2020-12-21 16:11:32 +01:00
enjoy-digital 0a9c9562dc
Merge pull request #738 from antmicro/quartus-handle-includes
Quartus: handle vh and svh files
2020-12-21 10:19:27 +01:00
Florent Kermarrec 90b9f4eca3 soc/interconnect/axi: fix AXIInterface.get_ios(). 2020-12-21 08:51:04 +01:00
Karol Gugala 7f6af0a437 Quartus: handle vh and svh files
Signed-off-by: Karol Gugala <kgugala@antmicro.com>
2020-12-20 11:53:08 +01:00
enjoy-digital 7fccf9fcd0
Merge pull request #736 from Disasm/ecpdap
Add ECPDAP programmer
2020-12-18 15:39:24 +01:00
Florent Kermarrec b7aec66929 soc/interconnect/axi: simplify AXI Full connect_to_pads and get_ios. 2020-12-18 15:35:04 +01:00
enjoy-digital 57d9816065
Merge pull request #734 from antmicro/axi4-slave-bridge
Add get_ios for full AXI and add missing signals in connect_to_pads
2020-12-18 15:25:54 +01:00
enjoy-digital 9ae5a4f4ea
Merge pull request #735 from Dolu1990/vexriscv_smp
cores/cpu/vexriscv_smp add AES support
2020-12-18 14:43:04 +01:00
enjoy-digital f055b1be69
Merge pull request #732 from Disasm/ecp5-compress
Add option for ECP5 bistream compression
2020-12-18 14:42:34 +01:00
Vadim Kaushan 0fe2477f69
Add ECPDAP programmer 2020-12-18 15:42:18 +03:00
Dolu1990 ee47c7b260 cores/cpu/vexriscv_smp add AES support 2020-12-18 12:10:33 +01:00
Piotr Binkowski f26769eb4d interconnect/axi: add connect_to_pads to full AXI 2020-12-18 09:06:45 +01:00
Piotr Binkowski 18e90234b0 interconnect/axi: add get_ios to full AXI 2020-12-18 08:59:11 +01:00
Vadim Kaushan 2bc76f3245
Add option for ECP5 bistream compression 2020-12-18 00:21:05 +03:00
Florent Kermarrec 4092180662 tools/lxterm/json: json file provide relative path, add json file directory to image names.
Allow sharing same json file between serial boot and Ethernet/SDCard/SATAboot:

boot.json:
{
	"Image":        "0x40000000",
	"rv32.dtb":     "0x40ef0000",
	"rootfs.cpio":  "0x41000000",
	"opensbi.bin":  "0x40f00000"
}

If boot.json and images are located in images directory, using lxterm --images=images/boot.json
will now work.
2020-12-17 16:08:32 +01:00
enjoy-digital f777cddefe
Merge pull request #731 from lindemer/pmp
Allow selection of VexRiscv_Secure* from lxsim CLI
2020-12-14 19:41:51 +01:00
Samuel Lindemer c23a894014 Allow selection of VexRiscv_Secure* from lxsim CLI 2020-12-14 10:54:02 +01:00
Florent Kermarrec bc2b7995f5 integration/export/get_csr_header: don't generate replace/write fields access functions when CSR is read only. 2020-12-14 10:51:37 +01:00
bunnie 649edd189a
Merge pull request #729 from betrusted-io/master
another minor change - reveal STARTUPE2 block's ring oscillator
2020-12-13 02:19:56 +08:00
bunnie 422cc2baae another minor change - reveal STARTUPE2 block's ring oscillator 2020-12-13 01:49:43 +08:00
Florent Kermarrec fb3b09db15 integration/soc/add_uart: add crossover+bridge support.
Useful to have both CPU UART and bridge debug capability.
2020-12-10 18:32:21 +01:00
Florent Kermarrec 88bd754dd6 software: add minimal baremetal demo app.
Used to demonstrates how to easily create baremetal apps, boot to it with LiteX and
also ease litex_term testing.

To build it: export BUILD_DIR=xxyy/litex/litex/boards/targets/build/arty && make
To load it: lxterm /dev/ttyUSB1 --kernel=demo.bin

--============== Boot ==================--
Booting from serial...
Press Q or ESC to abort boot completely.
sL5DdSMmkekro
[LXTERM] Received firmware download request from the device.
[LXTERM] Uploading demo.bin to 0x40000000 (9264 bytes)...
[LXTERM] Upload complete (9.8KB/s).
[LXTERM] Booting the device.
[LXTERM] Done.
Executing booted program at 0x40000000

--============= Liftoff! ===============--

LiteX minimal demo app built Dec 10 2020 17:13:02

Available commands:
help               - Show this command
reboot             - Reboot CPU
led                - Led demo
donut              - Spinning Donut demo
litex-demo-app> led
Led demo...
Counter mode...
Shift mode...
Dance mode...
litex-demo-app> donut
Donut demo...

                                      $$$$$@@@@@
                                  $##########$$$$$$$$
                               ###*!!!!!!!!!***##$$$$$$
                             ***!!====;;;;===!!**###$$$$#
                            **!===;;;:::::;:===!!**####$##
                          !*!!==;;:~-,,.,-~::;;=!!**#######!
                          !!!!=;:~-,.......-~::==!!***#####*
                         !!!!==;~~-.........,-:;==!!***###**!
                         !**!!=;:~-...     ..-:;=!!!********!
                        ;!*#####*!!;.       ~:;==!!!******!!=
                        :!*###$$$$#*!      :;==!!!!!****!!!=;
                        ~=!*#$$$@@@$$##!!!!!!!!!!!!****!!!!=;
                         ;=!*#$$$@@@@$$#*******!*!!*!!!!!==;~
                         -;!*###$$$$$$$###******!!!!!!!===;~
                          -;!!*####$#####******!!!!!!==;;:-
                           ,:=!!!!**#**#***!!!!!!!====;:~,
                             -:==!!!*!!*!!!!!!!===;;;:~-
                               .~:;;========;=;;:::~-,
                                  .--~~::::~:~~--,.
litex-demo-app>
2020-12-10 17:16:28 +01:00
bunnie ef6fd57613
Merge pull request #727 from betrusted-io/master
fix a timing error in the S7 OPI block
2020-12-10 23:17:29 +08:00
Florent Kermarrec ee41fbb338 tools: deprecate litex_jtag_uart (now directly integrated in litex_term). 2020-12-10 15:48:10 +01:00
bunnie 8ee0fdbf8e fix a timing error in the S7 OPI block
should have no impact on normal operation, the path is
only for registering addresses that are correlated with
ECC errors as reported by the OPI device.
2020-12-10 22:48:09 +08:00
Florent Kermarrec 39b84581f4 tools/litex_term: add JTAG UART support (litex_term jtag_uart). 2020-12-10 15:46:12 +01:00
Florent Kermarrec 384041affb tools/litex_term/crossover: use burst to speed up reads. 2020-12-10 14:34:00 +01:00
Florent Kermarrec 48dc574703 integration/soc/add_uart: pass fifo_depth to UARTCrossover. 2020-12-10 14:33:29 +01:00
Florent Kermarrec 1976fd4b90 tools: deprecate litex_crossover_uart (now directly integrated in litex_term). 2020-12-10 13:54:21 +01:00
Florent Kermarrec feeb2f72e0 tools/litex_term: add direct crossover UART bridge suppport (lxterm --crossover) and switch to multiprocessing. 2020-12-10 13:45:38 +01:00
Stéphane Gourichon 8a82ddf6e1
CSR fields: generate convenience functions (#725)
Generate convenience methods to extract/replace bits in CSR fields, only generate replace if CSR register is writable.
2020-12-10 11:32:21 +01:00
Florent Kermarrec cd80c87f1a software/liblitedram/write_leveling: revert ideal_delay to 0, ensure write delay is set just before 0 to 1 transition. 2020-12-09 19:51:19 +01:00
Florent Kermarrec 5ebea9434b software/liblitedram/sdram: improve comments. 2020-12-09 17:53:33 +01:00
enjoy-digital 44d21cb0f3
Merge pull request #722 from geertu/master
tools/litex_json2dts: Miscellaneous fixes and improvements
2020-12-08 14:01:14 +01:00
enjoy-digital a80398d2ab
Merge pull request #724 from sergachev/master
soc/interconnect/axi: let connect_to_pads() be used by AXIInterface too
2020-12-08 13:45:12 +01:00
Florent Kermarrec c6fb9ef939 software/liblitedram: limit clk/cmd scan to 1/2 tCK.
Restrict the clk/cmd scan to 1/2 tCK since the full scan is not required
and in some cases can compromise the calibration with the wrong best clk/cmd
value selection.

This should also allow using cmd_latency=0 in all cases.
2020-12-08 10:01:18 +01:00