Jędrzej Boczar [Mon, 20 Jul 2020 13:17:56 +0000 (15:17 +0200)]
fix/Vivado: don't instantiate wishbone.Converter in add_adapter when not needed
Fixes an issue with Vivado which crashes with SIGSEGV when building litex-buildenv at:
https://github.com/antmicro/litex-buildenv/commit/
cc003bef3ac1407f9788ec8b7cc52d5981f8364a
and litex bumped to
4a18b828bc81522a654f51a73f20faece4dc313c,
with options:
CPU=mor1kx; CPU_VARIANT=linux; PLATFORM=arty; FIRMWARE=linux; TARGET=net
The only difference in Verilog is that we avoid creating new Interface and doing
`new_interface.connect(interface)`, so this shouldn't make any difference, but
this somehow generates the error in Vivado (tested on v2018.3 and v2019.2).
Florent Kermarrec [Mon, 20 Jul 2020 10:28:29 +0000 (12:28 +0200)]
software/liblitesdcard/spisdcard: remove optimization on receive_block (not working on all configs) and increase max clk_freq to 20MHz.
Florent Kermarrec [Mon, 20 Jul 2020 08:36:35 +0000 (10:36 +0200)]
soc/cores/spi/SPIMaster: rewrite/simplify.
- Make sure MOSI is latched on start, MISO is stable during Xfer (last value).
- Allow clk_divider down to 2.
- improve test errors reporting with hex() on AssertEqual.
Florent Kermarrec [Fri, 17 Jul 2020 13:39:39 +0000 (15:39 +0200)]
liblitesdcard/spisdcard: update comments.
Florent Kermarrec [Fri, 17 Jul 2020 13:38:52 +0000 (15:38 +0200)]
soc/cores/spi: make sure done and miso are synchronous.
Florent Kermarrec [Fri, 17 Jul 2020 09:58:26 +0000 (11:58 +0200)]
spisdcard: revert to 8-bit SPI, optimize spisdcardreceive_block and reduce clk to 12.5MHz for now.
Florent Kermarrec [Fri, 17 Jul 2020 09:56:27 +0000 (11:56 +0200)]
soc/cores/spi: make sure miso is stable during xfer.
Florent Kermarrec [Thu, 16 Jul 2020 16:09:18 +0000 (18:09 +0200)]
bios/boot: add bootargs support on netboot/sdcardboot to optionally specify r1/r2/r3/addr.
For example:
{
"Image": "0x40000000",
"bootargs": {
"r1": "0x12345678",
}
}
will copy Image to 0x40000000 and set r1 to 0x12345678.
By default, r1,r2,r3 are set to 0 and addr is the address if the last loaded image, so:
{
"Image": "0x40000000",
"rootfs.cpio": "0x40800000",
"rv32.dtb": "0x41000000",
"emulator.bin": "0x41100000",
}
is equivalent to:
{
"Image": "0x40000000",
"rootfs.cpio": "0x40800000",
"rv32.dtb": "0x41000000",
"emulator.bin": "0x41100000",
"bootargs": {
"r1": "0x00000000",
"r2": "0x00000000",
"r3": "0x00000000",
"addr": "0x00000000",
}
}
enjoy-digital [Thu, 16 Jul 2020 15:56:33 +0000 (17:56 +0200)]
Merge pull request #594 from antmicro/jboc/axi-lite
Add AXILiteDownConverter
Jędrzej Boczar [Thu, 16 Jul 2020 15:15:58 +0000 (17:15 +0200)]
soc/interconnect/axi: propagate response errors in AXILiteDownConverter
Jędrzej Boczar [Thu, 16 Jul 2020 08:21:43 +0000 (10:21 +0200)]
soc/interconnect/axi: implement AXILite down-converter
enjoy-digital [Thu, 16 Jul 2020 09:56:57 +0000 (11:56 +0200)]
Merge pull request #593 from antmicro/jboc/axi-lite
Add AXILite components: AXILiteSRAM and AXILite2CSR
Jędrzej Boczar [Thu, 16 Jul 2020 08:26:12 +0000 (10:26 +0200)]
soc/integration: revert `bus` argument for add_ram/add_rom
Jędrzej Boczar [Wed, 15 Jul 2020 13:59:16 +0000 (15:59 +0200)]
soc/integration: use AXILiteConverter (dummy implementation) in add_adapter()
Jędrzej Boczar [Wed, 15 Jul 2020 13:47:06 +0000 (15:47 +0200)]
soc/interconnect/axi: add connect methods for convenience
Jędrzej Boczar [Wed, 15 Jul 2020 10:30:28 +0000 (12:30 +0200)]
test/axi: add AXILite2CSR and AXILiteSRAM tests
enjoy-digital [Wed, 15 Jul 2020 10:08:21 +0000 (12:08 +0200)]
Merge pull request #592 from antmicro/fix-symbiflow-makefile
symbiflow: changed toolchain command names in Makefile
Jędrzej Boczar [Wed, 15 Jul 2020 09:28:21 +0000 (11:28 +0200)]
soc/interconnect/axi: improve SRAM/CSR access speed
Alessandro Comodi [Wed, 15 Jul 2020 09:31:06 +0000 (11:31 +0200)]
symbiflow: changed toolchain command names in Makefile
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
Jędrzej Boczar [Wed, 15 Jul 2020 08:58:34 +0000 (10:58 +0200)]
soc/interconnect: add AXILite SRAM
Jędrzej Boczar [Tue, 14 Jul 2020 14:28:29 +0000 (16:28 +0200)]
soc/interconnect: add AXILite2CSR bridge
Jędrzej Boczar [Tue, 14 Jul 2020 12:44:28 +0000 (14:44 +0200)]
soc/integration: update add_adapter to convert between AXILite/Wishbone
Florent Kermarrec [Mon, 13 Jul 2020 09:55:03 +0000 (11:55 +0200)]
build/lattice/trellis: set default spimode to None (--spimode not passed to ecppack) as default instead of fast-read.
Using fast-read as default prevent loading the .bit via JTAG (see #589).
Florent Kermarrec [Sat, 11 Jul 2020 19:30:19 +0000 (21:30 +0200)]
build/lattice/trellis: fix spimode typo.
enjoy-digital [Sat, 11 Jul 2020 19:26:55 +0000 (21:26 +0200)]
Merge pull request #588 from oskirby/trellis-spimode
trellis: Add option to select SPI mode.
Owen Kirby [Sat, 11 Jul 2020 18:48:10 +0000 (11:48 -0700)]
trellis: Add option to select SPI mode.
This allows a significant speedup when booting large bitstreams on ECP5
boards that support dual or quad SPI operation.
enjoy-digital [Fri, 10 Jul 2020 09:21:13 +0000 (11:21 +0200)]
Merge pull request #587 from antmicro/mor1x_ror_instruction
mor1kx: Do not generate the ror instruction
Florent Kermarrec [Fri, 10 Jul 2020 09:18:22 +0000 (11:18 +0200)]
integration/soc/sdcard: add mode parameter to enable read only, write only or read+write modes.
Mateusz Holenko [Fri, 10 Jul 2020 09:03:35 +0000 (11:03 +0200)]
mor1kx: Do not generate the ror instruction
The mor1kx core does not support `l.ror` instruction
by default, but gcc/clang flags allowed the
compiler to generate it.
Florent Kermarrec [Fri, 10 Jul 2020 08:42:00 +0000 (10:42 +0200)]
core/cpu/CPUNone: set endianness to little.
Tim Ansell [Thu, 9 Jul 2020 16:34:22 +0000 (09:34 -0700)]
Merge pull request #585 from FFY00/more-gcc
cpu: add a few missing GCC toolchains
Filipe Laíns [Thu, 9 Jul 2020 14:58:33 +0000 (15:58 +0100)]
cpu: add a few missing GCC toolchains
This names are used by Arch Linux for eg.
Signed-off-by: Filipe Laíns <lains@archlinux.org>
Florent Kermarrec [Thu, 9 Jul 2020 11:09:36 +0000 (13:09 +0200)]
liblitesdcard/sdcard: clamp divider value.
enjoy-digital [Thu, 9 Jul 2020 10:54:42 +0000 (12:54 +0200)]
Merge pull request #584 from ozbenh/memtest
Memtest/memspeed improvements
Florent Kermarrec [Thu, 9 Jul 2020 10:18:09 +0000 (12:18 +0200)]
cores/dma: add stream.last support on WishboneDMAReader.
Benjamin Herrenschmidt [Wed, 8 Jul 2020 07:13:37 +0000 (17:13 +1000)]
memspeed: Write a fixed value
Otherwise we have at least an extra addition in the loop
which squews the result compared to the read loop.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Florent Kermarrec [Wed, 8 Jul 2020 06:33:52 +0000 (08:33 +0200)]
buid/io/InferedSDRIO/InferedSDRTristate: avoid unnecessary clk_domain/limitation.
Just create a local clk_domain from clk signal.
Florent Kermarrec [Wed, 8 Jul 2020 05:53:42 +0000 (07:53 +0200)]
interconnect/avalon: minor cleanup, remove max on SyncFIFO depth.
Benjamin Herrenschmidt [Wed, 8 Jul 2020 03:21:45 +0000 (13:21 +1000)]
memtest: Fix memspeed access size
The move to libbase reverted the type of the pointer
from long to int.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Benjamin Herrenschmidt [Wed, 8 Jul 2020 03:17:48 +0000 (13:17 +1000)]
memtest: Fix integer size/type printf errors
In a couple of places, memtest uses %x to print a pointer which
is illegal (and could be problematic on 64-bit). Use %p instead.
Additionally, use %ld when printing longs
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Florent Kermarrec [Tue, 7 Jul 2020 17:59:34 +0000 (19:59 +0200)]
software/litesdcard: use new clocking and use slow clock during initialization.
Florent Kermarrec [Tue, 7 Jul 2020 13:05:07 +0000 (15:05 +0200)]
integration/soc/sdcard: cleanup emulator integration, fix sim.
Florent Kermarrec [Tue, 7 Jul 2020 12:58:06 +0000 (14:58 +0200)]
integration/soc: move pads.rst control to PHY.
Florent Kermarrec [Tue, 7 Jul 2020 10:11:47 +0000 (12:11 +0200)]
build/io/InferedSDRTristate: pass clock domain to SDROutput/SDRInput.
Florent Kermarrec [Tue, 7 Jul 2020 09:03:26 +0000 (11:03 +0200)]
software/liblitesdcard: improve sdcard_init and handle errors.
Florent Kermarrec [Tue, 7 Jul 2020 07:24:08 +0000 (09:24 +0200)]
litesdcard: use new Block2Mem/Mem2Block DMAs.
Florent Kermarrec [Tue, 7 Jul 2020 06:14:42 +0000 (08:14 +0200)]
litex/gen: remove io that has been replaced with litex/build/io (and should have been removed).
enjoy-digital [Tue, 7 Jul 2020 06:06:55 +0000 (08:06 +0200)]
Merge pull request #583 from gsomlo/gls-sdcard-timeout
liblitesdcard/sdcard: adjust card-ready timeout
Gabriel Somlo [Mon, 6 Jul 2020 21:00:24 +0000 (17:00 -0400)]
liblitesdcard/sdcard: adjust card-ready timeout
Testing on nexys4ddr and rocket, approximately 12 iterations of the
timeout loop (using `busy_wait(1)`) are needed to receive a "ready"
response from the SDcard, assuming a "warm" reset where the card has
already been previously initialized.
If the SDcard is ejected and re-inserted, or if the board is "cold-reset"
(e.g., reprogrammed via openocd vs. a simple push of the reset button),
it takes approximately 450 iterations before the SDCard responds with a
"ready" message.
In either case, a timeout of 10 is insufficient. This patch increases
the busy-wait to 10, and the timeout loop counter to 128, which should
cover most cases.
Additionally, make a few minor cosmetic improvements.
Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
Florent Kermarrec [Mon, 6 Jul 2020 18:07:06 +0000 (20:07 +0200)]
liblitesdcard/sdcard: add timeout when waiting card to be ready.
Florent Kermarrec [Mon, 6 Jul 2020 16:59:28 +0000 (18:59 +0200)]
liblitesdcard/sdcard: use new SDClocker enable CSR.
Florent Kermarrec [Mon, 6 Jul 2020 10:26:24 +0000 (12:26 +0200)]
interconnect/csr_bus: move/rewrite paged access warning.
Was incorrectly triggered with csr_data_width=32.
Florent Kermarrec [Mon, 6 Jul 2020 07:51:32 +0000 (09:51 +0200)]
interconnect/csr_bus: remove 64-bit CSR bus alignment support (no longer supported in SoCs).
enjoy-digital [Sun, 5 Jul 2020 08:06:01 +0000 (10:06 +0200)]
Merge pull request #582 from gsomlo/gls-minor-fixup
Minor sdcard fixes
Gabriel Somlo [Sat, 4 Jul 2020 19:24:05 +0000 (15:24 -0400)]
liblitesdcard/sdcard: return error code outside '#ifdef SDCARD_DEBUG'
Gabriel Somlo [Sat, 4 Jul 2020 19:22:28 +0000 (15:22 -0400)]
liblitesdcard/sdcard: cosmetic: fix indentation, eliminate redundant counter
Florent Kermarrec [Fri, 3 Jul 2020 18:11:05 +0000 (20:11 +0200)]
targets: remove sdcard clock domain (now generated in the PHY).
Florent Kermarrec [Fri, 3 Jul 2020 18:06:42 +0000 (20:06 +0200)]
litesdcard: use new clocker.
Florent Kermarrec [Fri, 3 Jul 2020 17:30:06 +0000 (19:30 +0200)]
liblitesdcard/sdcard: use new register names and new software initalization register.
Florent Kermarrec [Fri, 3 Jul 2020 17:29:05 +0000 (19:29 +0200)]
interconnect/stream: allow empty description/payload on Endpoint.
Florent Kermarrec [Fri, 3 Jul 2020 16:48:43 +0000 (18:48 +0200)]
litelitesdcard/sdcard: remove wait workaround and replace remove SDCARD_MULTIPLE_BLOCK_SUPPORT define (replace it with SDCARD_CMD23_SUPPORT).
Florent Kermarrec [Fri, 3 Jul 2020 12:43:30 +0000 (14:43 +0200)]
litesdcard: update integration.
Florent Kermarrec [Fri, 3 Jul 2020 12:39:31 +0000 (14:39 +0200)]
interconnect/stream: add ClockDomainCrossing wrapper around AsyncFIFO.
Florent Kermarrec [Thu, 2 Jul 2020 09:37:31 +0000 (11:37 +0200)]
integration/soc/etherbone: always run ethcore in eth_tx clock domain and remove clock_domain parameter.
This avoid issues when sys_clk_freq < eth_tx clock like sys_clk_freq < 125MHz with 1Gbps link.
enjoy-digital [Wed, 1 Jul 2020 13:27:06 +0000 (15:27 +0200)]
Merge pull request #581 from antmicro/i2s_tx_fix
i2s: Fix the incorrect TX fifo almost empty offset
Pawel Sagan [Thu, 25 Jun 2020 12:32:50 +0000 (14:32 +0200)]
i2s: Fix the incorrect TX fifo almost empty offset
Florent Kermarrec [Wed, 1 Jul 2020 10:50:24 +0000 (12:50 +0200)]
sdcard: rename cd_sdcard to cd_sd to avoid unnecessary clock domain.
Florent Kermarrec [Wed, 1 Jul 2020 10:40:23 +0000 (12:40 +0200)]
liblitesdcard/sdcard: add SDCARD_MULTIPLE_BLOCK_SUPPORT define.
Florent Kermarrec [Wed, 1 Jul 2020 10:39:56 +0000 (12:39 +0200)]
integration/soc/add_sdcard: update SDEmulator.
Florent Kermarrec [Wed, 1 Jul 2020 07:47:10 +0000 (09:47 +0200)]
tools/litex_sim: cleanup cpu endianness.
enjoy-digital [Wed, 1 Jul 2020 06:37:03 +0000 (08:37 +0200)]
Merge pull request #580 from Dolu1990/patch-2
Improve verilator compilation speed
Florent Kermarrec [Wed, 1 Jul 2020 06:35:54 +0000 (08:35 +0200)]
boards/platforms/versa_ecp5: fix mising update.
Florent Kermarrec [Tue, 30 Jun 2020 17:17:44 +0000 (19:17 +0200)]
tools/litex_crossover_uart: add host argument to connect to a remote server.
example: litex_server over PCIe running on a remote machine and create virtual uart on our local machine.
Florent Kermarrec [Tue, 30 Jun 2020 16:32:11 +0000 (18:32 +0200)]
targets: add identifier on all targets and update Versa ECP5.
Florent Kermarrec [Tue, 30 Jun 2020 12:12:35 +0000 (14:12 +0200)]
tools/remote/comm_pcie: use ctypes.c_uint32 to do 32-bit accesses and avoid double writes/reads.
Florent Kermarrec [Tue, 30 Jun 2020 12:10:36 +0000 (14:10 +0200)]
tools/litex_crossover_uart: add base_address argument (required when wishbone translation).
Dolu1990 [Tue, 30 Jun 2020 08:38:26 +0000 (10:38 +0200)]
Improve verilator compilation speed
by asking verilator to split the C++ model into multiple files.
Florent Kermarrec [Mon, 29 Jun 2020 15:01:36 +0000 (17:01 +0200)]
software/bios/Makefile: fix #578 merge. (get back #579).
Florent Kermarrec [Mon, 29 Jun 2020 07:51:34 +0000 (09:51 +0200)]
software/libbase/memtest: fix bus errors reporting.
enjoy-digital [Mon, 29 Jun 2020 12:53:33 +0000 (14:53 +0200)]
Merge pull request #578 from scanakci/blackparrot_litex
Blackparrot litex syn with master BP, upgrade to IMA
enjoy-digital [Mon, 29 Jun 2020 12:53:13 +0000 (14:53 +0200)]
Merge branch 'master' into blackparrot_litex
enjoy-digital [Mon, 29 Jun 2020 12:52:37 +0000 (14:52 +0200)]
Merge pull request #579 from antmicro/fix_building_bios
Fix ordering of libraries
sadullah [Mon, 29 Jun 2020 01:23:56 +0000 (21:23 -0400)]
clean Makefile
sadullah [Sun, 28 Jun 2020 17:10:24 +0000 (13:10 -0400)]
minor change in BP top module
sadullah [Sat, 27 Jun 2020 21:38:53 +0000 (17:38 -0400)]
syn with master blackparrot, upgrade BP to IMA
enjoy-digital [Sat, 27 Jun 2020 07:35:04 +0000 (09:35 +0200)]
Merge pull request #576 from betrusted-io/deprecate_slave
Deprecate slave terminology
Florent Kermarrec [Fri, 26 Jun 2020 18:10:10 +0000 (20:10 +0200)]
liblitesdcard/sdcard: update with litesdcard.
Florent Kermarrec [Fri, 26 Jun 2020 06:36:16 +0000 (08:36 +0200)]
interconnect/axi/AXIStreamInterface: add tuser support.
Florent Kermarrec [Thu, 25 Jun 2020 18:07:39 +0000 (20:07 +0200)]
liblitesdcard/sdcard: increase busy_wait and use common timeout.
Florent Kermarrec [Thu, 25 Jun 2020 11:48:49 +0000 (13:48 +0200)]
liblitesdcard/sdcard: decode cid only when SDCARD_DEBUG is set.
Florent Kermarrec [Thu, 25 Jun 2020 11:46:39 +0000 (13:46 +0200)]
liblitesdcard/sdcard_read: enable multiple block read.
>10MB/s read speed with a 25MHz clock.
Mateusz Holenko [Thu, 25 Jun 2020 10:21:36 +0000 (12:21 +0200)]
Fix ordering of libraries
Since libcompiler_rt provides functions for other
libraries (e.g., __muldiv3), it must be listed
at the end.
Florent Kermarrec [Thu, 25 Jun 2020 09:13:24 +0000 (11:13 +0200)]
targets: add fixed sdcard clock on boards with SDCard support.
Florent Kermarrec [Thu, 25 Jun 2020 09:12:40 +0000 (11:12 +0200)]
software/bios/litesdcard: remove sdcard_set_clk.
Florent Kermarrec [Thu, 25 Jun 2020 09:12:17 +0000 (11:12 +0200)]
integration/soc/add_sdcard: remove sdclk.
bunnie [Thu, 25 Jun 2020 09:12:12 +0000 (17:12 +0800)]
Deprecate slave terminology
http://oshwa.org/a-resolution-to-redefine-spi-signal-names
Florent Kermarrec [Thu, 25 Jun 2020 08:11:42 +0000 (10:11 +0200)]
cores/clock/S6DCM: add expose_drp.
From LiteSDCard SDClockerS6.
Florent Kermarrec [Thu, 25 Jun 2020 07:58:08 +0000 (09:58 +0200)]
software/bios/boot: improve printfs.
Florent Kermarrec [Thu, 25 Jun 2020 07:57:29 +0000 (09:57 +0200)]
software/libase/memtest: improve printfs and add progress bar on data test.
Florent Kermarrec [Thu, 25 Jun 2020 07:56:13 +0000 (09:56 +0200)]
libbase/progress: reduce to 40 HASHES_PER_LINE.