Commit Graph

6170 Commits

Author SHA1 Message Date
Florent Kermarrec ad7671f811 soc/cores/icap/ICAP: add with_csr parameter and add_reload method to allow reloading the FPGA from the logic. 2020-10-06 17:38:39 +02:00
enjoy-digital 42025dcbfa
Merge pull request #666 from gsomlo/gls-sdcard-cd
bios: add command returning card-detect pin status
2020-10-06 10:31:25 +02:00
Gabriel Somlo 026d40ffab bios: add command returning card-detect pin status 2020-10-05 14:32:06 -04:00
enjoy-digital 6916674ff6
Merge pull request #664 from antmicro/symbiflow_a100T
build/xilinx/symbiflow: Add xc7a100tscg324-1 to supported devices
2020-10-05 19:25:18 +02:00
enjoy-digital 81257da9b4
Merge pull request #663 from fidergo-stephane-gourichon/fix_crash_on_minimal_cpu
Fix SoC CPU crash on minimal variants on call to flush_cpu_dcache().
2020-10-05 19:24:43 +02:00
enjoy-digital 1a603b3fee
Merge pull request #654 from pepijndevos/gowin
Build support for Gowin
2020-10-05 19:23:47 +02:00
Stephane Gourichon 48638f936b Fix SoC CPU crash on minimal variants on call to flush_cpu_dcache().
Generated soc.h says for example

but code tester for CONFIG_CPU_VARIANT_MIN not MINIMAL.
Attempted to run instruction unknown to this CPU, most likely cause of hang.
2020-10-05 17:16:35 +02:00
enjoy-digital aebe08d841
Merge pull request #661 from yetifrisstlama/fix_stream2wishbone
Fix stream2wishbone
2020-10-05 17:16:04 +02:00
enjoy-digital 2d6f19a816
Merge pull request #659 from shawnanastasio/toolchain-fixes
Add riscv*-unknown-linux-gnu triples and fix existing riscv-linux-gnu triple
2020-10-05 17:09:59 +02:00
Robert Winkler ff4afda305 build/xilinx/symbiflow: Add xc7a100tscg324-1 to supported devices
Signed-off-by: Robert Winkler <rwinkler@antmicro.com>
2020-10-05 17:02:51 +02:00
Michael Betz acdfae202b Stream2Wishbone: drive sink.ready line 2020-10-04 18:19:39 -07:00
Michael Betz 6e3e979a0b serial2tcp.c json error handling, respect rx.ready 2020-10-04 18:17:28 -07:00
Shawn Anastasio fa82d97aa5 cores/cpu: Add riscv*-unknown-linux-gnu triple, fix riscv-linux-gnu
Add riscv*-unknown-linux-gnu to known triples, and fix the existing
riscv-linux-gnu by removing the incorrect -gcc suffix from the
triple.
2020-10-02 18:31:48 -05:00
Shawn Anastasio 6fd48ca2ce software: Use -fno-stack-protector
This allows riscv*-gnu-linux toolchains to be used to build LiteX
software. Without this, references to undefined stack guard symbols
get generated and linking fails.
2020-10-02 13:42:16 -05:00
Florent Kermarrec b84a858b2c CHANGES: initialize changes since last release. 2020-10-01 11:46:43 +02:00
Florent Kermarrec ba2ff8cf71 tools/litex_sim: update get_sdram_phy_settings (rd/wrcmdphase no longer exposed as PhySettings). 2020-10-01 11:27:33 +02:00
Florent Kermarrec 2b62802961 tools/litex_sim: minor review cleanup. 2020-10-01 10:36:37 +02:00
Florent Kermarrec 23e319732c tools/litex_server: minor review cleanup. 2020-10-01 10:35:11 +02:00
Vamsi Vytla e8c0360fa5
tools/{litex_sim, litex_server}.py: Minor clean-up (#657)
Enable litex_server debug and create function to add for litex_sim args.
2020-10-01 10:32:44 +02:00
Pepijn de Vos 890ccaf4bd support writing bitstream to flash 2020-10-01 08:39:32 +02:00
Florent Kermarrec 29bff18e69 software/liblitedram: add SDRAM CL/CWL printf to BIOS. 2020-09-30 19:00:12 +02:00
Florent Kermarrec f476b32ada software/liblitedram: rename SDRAM_TEST_SIZE to MEMTEST_DATA_SIZE (since used in benchs to force test size). 2020-09-30 18:34:48 +02:00
Florent Kermarrec f7e49cc23a software/liblitedram: add SDRAM_TEST_SIZE (2MiB as previously defined in memtest). 2020-09-30 18:02:07 +02:00
Florent Kermarrec fdf7981f40 software/libbase/memtest: remove size restriction and don't execute memspeed. 2020-09-30 17:49:51 +02:00
Florent Kermarrec ed21c983cb Merge branch 'master' of http://github.com/enjoy-digital/litex 2020-09-30 17:29:04 +02:00
Florent Kermarrec c154f1cbb2 software/liblitedram: add support for dynamic read/write phase and add command to BIOS to force them. 2020-09-30 17:09:19 +02:00
enjoy-digital 6f136f9faa
Merge pull request #655 from betrusted-io/svd_memregion
add memory regions to soc.svd
2020-09-30 11:43:14 +02:00
enjoy-digital 96976941b4
Merge pull request #656 from kbeckmann/fix_sdram_leveling
Fix build issue where sdram_leveling is not found
2020-09-30 09:57:54 +02:00
Konrad Beckmann 39d144626b Fix build issue where sdram_leveling is not found
4f76656 rewrote how sdram_leveling() was called, leading
to linking problems for targets with sdram but with
write leveling disabled, e.g. ulx3s.
2020-09-29 22:49:41 +02:00
Florent Kermarrec a9234a8793 software/liblitedram: allow cmd_delay adjustment even when enforced by the phy. 2020-09-29 16:02:21 +02:00
Pepijn de Vos eca5a25e27 add dummy attr_translate 2020-09-29 15:55:07 +02:00
Florent Kermarrec 4f76656018 software/liblitedram: simplify vtc/hardware/software controls.
- move vtc control to sdram_software_control_on/off.
- remove sdram_calibration (duplicate of sdram_leveling).
- be sure to call sdram_software_control_on/off before all litedram bios commands.
2020-09-29 15:40:26 +02:00
Pepijn de Vos dd2b1f21f0 typo and dead code 2020-09-29 15:24:36 +02:00
Florent Kermarrec e4555df095 tools/litex_server/pcie: enable pcie device if not already enabledd.
Avoid having to do it manually or through a driver.
2020-09-29 13:38:19 +02:00
Florent Kermarrec bc5873f78c tools/litex_server/pcie: allow passing pcie bar as reported by lspci.
ex:
$lspci
[...]
06:00.0 RF controller: Xilinx Corporation Device 7022 (rev 01)

sudo litex_server --pcie --pcie-bar=06:00.0
2020-09-29 13:10:05 +02:00
Florent Kermarrec 6d07f01f5b tools/litex_client/RemoteClient: allow use without local csr.csv file.
In some case, we just want to access MMAP manually without having the csr.csv file:
wb = RemoteClient()
wb.open()
wb.read(0x40000000)
wb.close()
2020-09-29 13:01:44 +02:00
bunnie 7b42992383 add <memoryRegions> outer tag to series of <memoryRegion> for future proofing 2020-09-29 14:11:55 +08:00
bunnie 4a94bb78f6 add memory regions to soc.svd
svd2rust does not recognize memory regions, but we'd like to
make an access crate for Rust that does.

This patch adds memory regions to soc.svd using the "vendorExtensions"
tag, as specified in https://www.keil.com/pack/doc/cmsis/SVD/html/svd_Format_pg.html

The vendorExtensions is added as a block after the Peripherals level, and has a format
like this:

```xml
        <memoryRegion>
            <name>SRAM</name>
            <baseAddress>0x10000000</baseAddress>
            <size>0x00020000</size>
        </memoryRegion>
        <memoryRegion>
            <name>VEXRISCV_DEBUG</name>
            <baseAddress>0xEFFF0000</baseAddress>
            <size>0x00000100</size>
        </memoryRegion>
        <memoryRegion>
            <name>CSR</name>
            <baseAddress>0xF0000000</baseAddress>
            <size>0x00040000</size>
        </memoryRegion>
```
2020-09-29 01:30:09 +08:00
Pepijn de Vos 95564b7475 change name->devicename, working bios 2020-09-28 17:49:41 +02:00
Pepijn de Vos c0fa4fd1f4 initial build support for Gowin 2020-09-28 13:12:07 +02:00
Florent Kermarrec a1c023b900 software/bios/cmds/cmd_litedram: enable sdram_software_control before sdram_mode_register_write. 2020-09-24 14:58:42 +02:00
Florent Kermarrec 90a2b80b6a software/liblitedram/sdram_write_leveling_rst_cmd_delay: fix printf location (do it before taps is decremented). 2020-09-24 13:54:08 +02:00
Florent Kermarrec 7617a82fe6 targets/kcu105: create specific cd_eth for ethernet. 2020-09-24 10:27:48 +02:00
Florent Kermarrec a3c616028e software/liblitedram/sdram: fix cmd_delays -> dat_delays. 2020-09-23 19:43:28 +02:00
enjoy-digital 01528e643e
Merge pull request #652 from gsomlo/gls-sdcard-clocking
RFC: proper way to set sdcard clock?
2020-09-22 21:52:13 +02:00
Gabriel Somlo 8e7596d330 liblitesdcard/sdcard.c: ensure effective sdcard clock is <= requested
With the way the clock divider is currently calculated, it is
possible for the effective sdcard clock to end up *higher* than
the requested `clk_freq` value.

Calculate the divider starting with the `CONFIG_CLOCK_FREQUENCY/clk_freq`
ratio which is then rounded up to the nearest power-of-two, ensuring
that the resulting, effective clock frequency is <= to the requested
frequency.

Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
2020-09-22 15:15:50 -04:00
Florent Kermarrec ac32b92e9f targets/kcu105: add etherbone. 2020-09-22 18:31:06 +02:00
Florent Kermarrec a601415bf0 software/liblitedram: add functions/commands to reset and force cmd/dat write leveling delays.
Useful to investigate/speed-up new board support.
2020-09-21 19:53:34 +02:00
Florent Kermarrec a39660fa99 software/liblitedram/sdram.c: fix typo. 2020-09-17 18:19:12 +02:00
Florent Kermarrec a0d66dd60e software/liblitesdcard/sdcard: move busy_wait in sdcard_wait_cmd_done (fixes sdcardboot being stuck since code refactoring) and reduce busy_wait value. 2020-09-17 10:52:21 +02:00