Florent Kermarrec [Tue, 7 Apr 2020 15:24:12 +0000 (17:24 +0200)]
soc/cores/clock: add CycloneVPLL.
Florent Kermarrec [Tue, 7 Apr 2020 15:00:40 +0000 (17:00 +0200)]
targets/de0nano: use CycloneIVPLL, remove 50MHz limitation.
Florent Kermarrec [Tue, 7 Apr 2020 14:59:53 +0000 (16:59 +0200)]
soc/cores/clock: add initial AlteraClocking/CycloneIV support.
Florent Kermarrec [Tue, 7 Apr 2020 10:43:29 +0000 (12:43 +0200)]
.travis.yml: disable windows test (failing for now).
Florent Kermarrec [Tue, 7 Apr 2020 10:39:52 +0000 (12:39 +0200)]
README.md: update RISCV toolchain installation.
Florent Kermarrec [Tue, 7 Apr 2020 10:33:56 +0000 (12:33 +0200)]
.travis.yml: remove Python3.5 test.
enjoy-digital [Tue, 7 Apr 2020 10:29:04 +0000 (12:29 +0200)]
Merge pull request #451 from mithro/multi-os
Add multiple Python versions, Windows and Mac to Travis CI testing
Florent Kermarrec [Tue, 7 Apr 2020 09:48:16 +0000 (11:48 +0200)]
setup.py: simplify, switch to Python3.6+ (using python_requires), remove version.
- Deprecate Python 3.5, switch to Python 3.6+.
- Remove which was not used or updated. We'll see to get this back when working on releases.
Florent Kermarrec [Tue, 7 Apr 2020 09:05:14 +0000 (11:05 +0200)]
litex_setup: reorganize a bit, add separators/comments.
Florent Kermarrec [Tue, 7 Apr 2020 08:55:58 +0000 (10:55 +0200)]
.travis.yml: revert full url for litex_setup.py.
We want to have an almost identical .travis.yml between LiteX and the Cores.
Using $TRAVIS_BUILD_DIR works for LiteX but will not work for the cores.
enjoy-digital [Tue, 7 Apr 2020 08:51:27 +0000 (10:51 +0200)]
Merge pull request #452 from mithro/riscv-download
Add GCC downloading via litex_setup.py
Tim 'mithro' Ansell [Tue, 7 Apr 2020 00:52:07 +0000 (17:52 -0700)]
Enable testing on multiple Python versions.
Makes sure LiteX tests pass on all supported Python versions.
Tim 'mithro' Ansell [Mon, 6 Apr 2020 18:47:12 +0000 (11:47 -0700)]
Enable CI for Windows and Mac.
Tim 'mithro' Ansell [Tue, 7 Apr 2020 00:57:32 +0000 (17:57 -0700)]
Remove symlinking step.
Tim 'mithro' Ansell [Tue, 7 Apr 2020 00:45:55 +0000 (17:45 -0700)]
Use shutil.unpack_archive.
Tim 'mithro' Ansell [Tue, 7 Apr 2020 00:36:09 +0000 (17:36 -0700)]
Ignore SSL errors on CI.
Tim 'mithro' Ansell [Tue, 7 Apr 2020 00:27:24 +0000 (17:27 -0700)]
Improve the path messages a little.
Tim 'mithro' Ansell [Mon, 6 Apr 2020 23:54:25 +0000 (16:54 -0700)]
Make travis use litex_setup.py for GCC download.
Tim 'mithro' Ansell [Mon, 6 Apr 2020 23:39:49 +0000 (16:39 -0700)]
Adding SiFive RISC-V toolchain downloading to litex_setup.py
Tim 'mithro' Ansell [Mon, 6 Apr 2020 23:49:52 +0000 (16:49 -0700)]
Fix alignments.
enjoy-digital [Mon, 6 Apr 2020 21:04:47 +0000 (23:04 +0200)]
Merge pull request #450 from mithro/litex-setup-fix
litex_setup: Use subprocess so failures are noticed.
Tim 'mithro' Ansell [Mon, 6 Apr 2020 18:38:23 +0000 (11:38 -0700)]
Run `litex_setup.py` outside the git clone directory.
Otherwise it tries to overwrite the litex directory by cloning LiteX
into it.
Tim 'mithro' Ansell [Mon, 6 Apr 2020 18:25:11 +0000 (11:25 -0700)]
litex_setup: Use subprocess so failures are noticed.
os.system doesn't report if any of the commands fail. This means that if
something goes wrong it happily reports success making it hard to debug
issues.
Florent Kermarrec [Mon, 6 Apr 2020 11:16:13 +0000 (13:16 +0200)]
soc/cores: use reset_less on datapath/configuration CSRStorages.
Florent Kermarrec [Mon, 6 Apr 2020 11:14:21 +0000 (13:14 +0200)]
interconnect/csr: add reset_less parameter.
In cases CSRStorage can be considered as a datapath/configuration register and does not need to be reseted.
Florent Kermarrec [Mon, 6 Apr 2020 11:11:50 +0000 (13:11 +0200)]
interconnect/csr, wishbone: use reset_less on datapath signals.
Florent Kermarrec [Mon, 6 Apr 2020 09:35:18 +0000 (11:35 +0200)]
cores/code_8b10b: set reset_less to True on datapath signals.
Reset is only required on control signals.
Florent Kermarrec [Mon, 6 Apr 2020 09:33:49 +0000 (11:33 +0200)]
stream: set reset_less to True on datapath signals.
Reset is only required on control signals.
enjoy-digital [Mon, 6 Apr 2020 09:12:12 +0000 (11:12 +0200)]
Merge pull request #448 from kessam/patch-1
Fix timing constraints
kessam [Sun, 5 Apr 2020 15:56:29 +0000 (17:56 +0200)]
Fix timing constraints
Florent Kermarrec [Fri, 3 Apr 2020 09:14:57 +0000 (11:14 +0200)]
soc/cores/clock/ECP5PLL: add CLKI_DIV support.
enjoy-digital [Wed, 1 Apr 2020 14:51:29 +0000 (16:51 +0200)]
Merge pull request #447 from antmicro/spi-xip
Add initial support for the new LiteSPI core
Piotr Binkowski [Mon, 30 Mar 2020 11:43:34 +0000 (13:43 +0200)]
targets: netv2: add LiteSPI
Piotr Binkowski [Mon, 30 Mar 2020 10:42:15 +0000 (12:42 +0200)]
platform: netv2: update SPI flash pinout
Piotr Binkowski [Mon, 30 Mar 2020 11:42:56 +0000 (13:42 +0200)]
litex_sim: add LiteSPI
Florent Kermarrec [Tue, 31 Mar 2020 14:54:38 +0000 (16:54 +0200)]
soc/cores/uart: use reset_less on accumulator, reg, bitcount to reduce.
This reduces logic a bit. It does not make large difference on usual design with
only 1 UART, but is interesting on designs with hundreds of UARTs used to "document"
FPGA boards :) (similar to https://github.com/enjoy-digital/camlink_4k/blob/master/ios_stream.py)
Florent Kermarrec [Tue, 31 Mar 2020 14:17:12 +0000 (16:17 +0200)]
soc/cores/spi_flash: add ECP5SPIFlash (non-memory-mapped).
Piotr Binkowski [Mon, 30 Mar 2020 11:37:34 +0000 (13:37 +0200)]
litex_setup: add litespi core
enjoy-digital [Sat, 28 Mar 2020 11:58:08 +0000 (12:58 +0100)]
Merge pull request #444 from ilya-epifanov/openocd-jtag-programmer
Added openocd jtagspi programmer, to be used with ECP5-EVN board
enjoy-digital [Sat, 28 Mar 2020 11:50:17 +0000 (12:50 +0100)]
Merge pull request #441 from gsomlo/gls-spisdcard-fixes
SPI SDCard fixes and features
Ilya Epifanov [Sat, 28 Mar 2020 10:20:30 +0000 (11:20 +0100)]
Added openocd jtagspi programmer, to be used with ECP5-EVN board
Gabriel Somlo [Fri, 27 Mar 2020 11:02:00 +0000 (07:02 -0400)]
software/bios: add spisdcardboot() to boot_sequence()
Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
Gabriel Somlo [Fri, 27 Mar 2020 11:01:02 +0000 (07:01 -0400)]
software/libbase/spisdcard: add delay to goidle loop
In `spi_sdcard_goidle()`, insert a `busy_wait()` into the CMD55+ACMD41
loop to avoid exhausting the retry counter before the card has a chance
to be ready (required on the trellisboard, also tested OK on nexys4ddr).
Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
Gabriel Somlo [Fri, 27 Mar 2020 10:58:06 +0000 (06:58 -0400)]
software/bios: factor out busy_wait() function
Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
Gabriel Somlo [Fri, 27 Mar 2020 11:07:30 +0000 (07:07 -0400)]
software/libbase/spisdcard: fix width of address parameter
Host address parameter types should match CPU word width, so
use `unsigned long` to be correct on both 32 and 64 bit CPUs.
Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
Florent Kermarrec [Fri, 27 Mar 2020 17:44:48 +0000 (18:44 +0100)]
soc/cores/spi: make dynamic clk divider optional (can be enabled with add_clk_divider method) and only use it in add_spi_sdcard.
enjoy-digital [Thu, 26 Mar 2020 14:36:39 +0000 (15:36 +0100)]
Merge pull request #439 from antmicro/fix-compiler-rt
Update removed llvm compiler-rt repo
Kamil Rakoczy [Thu, 26 Mar 2020 09:56:28 +0000 (10:56 +0100)]
Update removed llvm compiler-rt repo
Florent Kermarrec [Thu, 26 Mar 2020 08:45:19 +0000 (09:45 +0100)]
targets/add_constant: avoid specifying value when value is None (=default).
Florent Kermarrec [Thu, 26 Mar 2020 06:46:32 +0000 (07:46 +0100)]
software/libbase/spisdcard: add USE_SPISDCARD_RECLOCKING define to easily disable reclocking.
Florent Kermarrec [Wed, 25 Mar 2020 18:07:06 +0000 (19:07 +0100)]
integration/soc/add_uart: add USB CDC support (with ValentyUSB core).
Florent Kermarrec [Wed, 25 Mar 2020 17:57:26 +0000 (18:57 +0100)]
tools/litex_sim: simplify using uart_name=sim.
Florent Kermarrec [Wed, 25 Mar 2020 17:56:58 +0000 (18:56 +0100)]
integration/soc/add_uart: add Model/Sim.
Florent Kermarrec [Wed, 25 Mar 2020 17:53:00 +0000 (18:53 +0100)]
integration/soc/add_uart: cleanup.
Florent Kermarrec [Wed, 25 Mar 2020 15:36:53 +0000 (16:36 +0100)]
build/tools: add replace_in_file function.
Florent Kermarrec [Wed, 25 Mar 2020 08:31:51 +0000 (09:31 +0100)]
tools/litex_term: use 64 bytes as default payload_lengh (work for all confniguration) and add small delay between frames for FT245 FIFO.
The delay still need to be investigated.
Florent Kermarrec [Wed, 25 Mar 2020 08:21:28 +0000 (09:21 +0100)]
bios/boot: update comments.
enjoy-digital [Wed, 25 Mar 2020 08:18:31 +0000 (09:18 +0100)]
Merge pull request #437 from feliks-montez/bugfix/fix-serialboot-frames
flush rx buffer when bad crc and fix frame payload length
Florent Kermarrec [Wed, 25 Mar 2020 07:47:43 +0000 (08:47 +0100)]
test/test_targets: remove versa_ecp3.
Florent Kermarrec [Tue, 24 Mar 2020 19:04:18 +0000 (20:04 +0100)]
boards/targets: update SDRAM to use new GENSDRPHY and new ECP5PLL phase support.
Florent Kermarrec [Tue, 24 Mar 2020 19:02:57 +0000 (20:02 +0100)]
boards/platforms: remove versa_ecp3 (ECP3 no longer supported).
Florent Kermarrec [Tue, 24 Mar 2020 18:36:57 +0000 (19:36 +0100)]
build/lattice/diamond: remove ECP3 support. (ECP3 is not used and no longer interesting now that ECP5 has an open-source toolchain).
Florent Kermarrec [Tue, 24 Mar 2020 18:09:05 +0000 (19:09 +0100)]
cores/clock/ECP5PLL: add phase support.
Florent Kermarrec [Tue, 24 Mar 2020 18:08:38 +0000 (19:08 +0100)]
build/lattice/common: change LatticeECPXDDROutputImpl from ECP3 to ECP5.
bunnie [Tue, 24 Mar 2020 06:11:23 +0000 (14:11 +0800)]
Fix off-by-one error on almost full condition for prefetch
This causes a DRC error on the Xilinx tools when the prefetch
lines setting is 1. Don't know why this wasn't caught earlier,
but it just popped up in CI.
Feliks [Tue, 24 Mar 2020 03:04:36 +0000 (23:04 -0400)]
flush rx buffer when bad crc and fix frame payload length
Florent Kermarrec [Mon, 23 Mar 2020 17:47:41 +0000 (18:47 +0100)]
soc/doc/csr: allow CSRField.reset to be a Migen Constant.
Florent Kermarrec [Mon, 23 Mar 2020 14:35:33 +0000 (15:35 +0100)]
cpu/vexriscv/mem_map_linux: move main_ram to allow up to 1GB.
Florent Kermarrec [Mon, 23 Mar 2020 14:06:32 +0000 (15:06 +0100)]
software/bios/boot/linux: move emulator.bin to main_ram and allow defining custom ram offsets.
Florent Kermarrec [Sat, 21 Mar 2020 20:39:34 +0000 (21:39 +0100)]
targets: remove Etherbone imports.
Florent Kermarrec [Sat, 21 Mar 2020 18:55:00 +0000 (19:55 +0100)]
targets: switch to add_etherbone method.
Florent Kermarrec [Sat, 21 Mar 2020 18:54:36 +0000 (19:54 +0100)]
integration/soc: add add_etherbone method.
Florent Kermarrec [Sat, 21 Mar 2020 18:36:31 +0000 (19:36 +0100)]
integration/soc/add_ethernet: add name parameter (defaults to ethmac).
Florent Kermarrec [Sat, 21 Mar 2020 18:36:06 +0000 (19:36 +0100)]
targets: always use sys_clk_freq on SDRAM modules.
Florent Kermarrec [Sat, 21 Mar 2020 17:26:58 +0000 (18:26 +0100)]
targets: fix typos in previous changes.
enjoy-digital [Sat, 21 Mar 2020 08:26:25 +0000 (09:26 +0100)]
Merge pull request #436 from rob-ng15/master
Reclock spi sdcard access after initialisation
enjoy-digital [Sat, 21 Mar 2020 08:25:37 +0000 (09:25 +0100)]
Merge pull request #435 from enjoy-digital/spi_master_clk_divider
soc/core/spi: add Clk Divider CSR (defaults to sys_clk_freq/spi_clk_f…
rob-ng15 [Sat, 21 Mar 2020 07:37:21 +0000 (07:37 +0000)]
Reclock spi sdcard access after initialisation
Depends upon https://github.com/enjoy-digital/litex/pull/435
After initialising the card, reclock the card, aiming for ~16MHz (divider is rounded up, as slower speed is safer), but a maximum of half of the processor speed.
Tested with the card being clocked to 12.5MHz on de10nano
Florent Kermarrec [Fri, 20 Mar 2020 22:36:29 +0000 (23:36 +0100)]
targets: switch to add_ethernet method instead of EthernetSoC.
Florent Kermarrec [Fri, 20 Mar 2020 21:02:36 +0000 (22:02 +0100)]
targets: switch to SoCCore/add_sdram instead of SoCSDRAM.
Florent Kermarrec [Fri, 20 Mar 2020 18:49:42 +0000 (19:49 +0100)]
soc/core/spi: add Clk Divider CSR (defaults to sys_clk_freq/spi_clk_freq).
Florent Kermarrec [Fri, 20 Mar 2020 17:58:31 +0000 (18:58 +0100)]
targets/arty: use new ISERDESE2 MEMORY mode.
Florent Kermarrec [Fri, 20 Mar 2020 17:54:51 +0000 (18:54 +0100)]
Merge branch 'master' of github.com/enjoy-digital/litex
enjoy-digital [Fri, 20 Mar 2020 17:05:21 +0000 (18:05 +0100)]
Merge pull request #434 from rob-ng15/master
Use <stdint.h> to provide structure sizes
rob-ng15 [Fri, 20 Mar 2020 11:35:05 +0000 (11:35 +0000)]
Use <stdint.h> to provide structure sizes
rob-ng15 [Fri, 20 Mar 2020 11:34:24 +0000 (11:34 +0000)]
Use <stdint.h> for structure sizes
Florent Kermarrec [Fri, 20 Mar 2020 09:24:31 +0000 (10:24 +0100)]
integration/soc: add add_spi_flash method to add SPI Flash support to the SoC.
Florent Kermarrec [Fri, 20 Mar 2020 08:58:09 +0000 (09:58 +0100)]
targets/nexys4ddr: use LiteXSoC's add_spi_sdcard method.
Florent Kermarrec [Fri, 20 Mar 2020 08:57:37 +0000 (09:57 +0100)]
integration/soc: add add_spi_sdcard method to add SPI mode SDCard support to the SoC.
enjoy-digital [Fri, 20 Mar 2020 08:41:56 +0000 (09:41 +0100)]
Merge pull request #433 from gsomlo/gls-rocket-spisdcard
Support SPI-mode SDCard booting on Litex+Rocket (64bit) configuration
Gabriel Somlo [Thu, 19 Mar 2020 23:13:47 +0000 (19:13 -0400)]
targets/nexys4ddr: add '--with-spi-sdcard' build option
Gabriel Somlo [Thu, 19 Mar 2020 22:04:27 +0000 (18:04 -0400)]
platforms/nexys4ddr: add spisdcard pins.
Synchronize with litex-boards commit #
57bcadb.
Gabriel Somlo [Thu, 19 Mar 2020 22:20:30 +0000 (18:20 -0400)]
targets/nexys4ddr: make sdcard reset conditional
Gabriel Somlo [Fri, 20 Mar 2020 01:50:54 +0000 (21:50 -0400)]
software/libbase/spisdcard: fix 4-byte FAT fields on 64-bit CPUs
On 64-bit architectures (e.g., Rocket), 'unsigned long' means
eight (not four) bytes. Use 'unsigned int' wherever a FAT data
structure requires a four-byte field!
Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
Sean Cross [Fri, 20 Mar 2020 01:20:02 +0000 (09:20 +0800)]
Merge pull request #432 from esden/csr-doc-fix-int
Don't let python convert lane number to float.
Piotr Esden-Tempski [Fri, 20 Mar 2020 01:12:41 +0000 (18:12 -0700)]
Don't let python convert lane number to float.
While at it also:
* Don't multilane for reg >= 8 bit width.
* Only check if we should switch to multilane after finding min field width.
Gabriel Somlo [Thu, 19 Mar 2020 23:36:24 +0000 (19:36 -0400)]
bios: make SPI SDCard boot configs other than linux-on-litex-vexriscv
When NOT on linux-on-litex-vexriscv, we load 'boot.bin' to MAIN_RAM_BASE,
and jump to it.
Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
Gabriel Somlo [Thu, 19 Mar 2020 23:24:22 +0000 (19:24 -0400)]
bios/boot.c: cosmetic: re-indent spisdcardboot() for consistency
enjoy-digital [Thu, 19 Mar 2020 21:10:33 +0000 (22:10 +0100)]
Merge pull request #431 from antmicro/hybrid-mac
litex_sim: add support for hybrid mac
Florent Kermarrec [Thu, 19 Mar 2020 10:02:15 +0000 (11:02 +0100)]
software/libbase/bios: rename spi.c/h to spisdcard.h, also rename functions.