Commit Graph

7192 Commits

Author SHA1 Message Date
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
Florent Kermarrec de4fc14cf9 software/bios/cmds/cmd_litsdcard: make sure all commands generate a report. 2020-09-17 10:41:49 +02:00
Florent Kermarrec 6c4abe2185 software/bios/cmds/cmd_liteeth: make sure all commands generate a report and improve it. 2020-09-17 09:10:58 +02:00
Florent Kermarrec 7d6818ab07 software/bios/command: avoid too much groups, reorganize a bit. 2020-09-17 09:07:36 +02:00
Florent Kermarrec 88ef2a330b software/bios/cmds/cmd_litedram: rename spdread command to sdram_spd. 2020-09-16 22:48:32 +02:00
Florent Kermarrec 3380de4adf software/bios/cmds/cmd_i2c: rename commands to i2c_xy. 2020-09-16 22:45:19 +02:00
Florent Kermarrec 79009f762d software/bios/cmds/cmd_spiflash: rename commands to flash_xy. 2020-09-16 22:44:47 +02:00
Florent Kermarrec cb55d7119c software/bios/cmds/cmd_liteeth: rename commands to mdio_xy. 2020-09-16 22:39:56 +02:00
Florent Kermarrec d5162a2a2b software/bios/cmds: use _handler suffix on all cmds functions. 2020-09-16 22:37:46 +02:00
Florent Kermarrec d4018b7ccf software/bios/cmds/cmd_litesdcard: rename commands to sdcard_xy. 2020-09-16 22:32:27 +02:00
Florent Kermarrec 400bf13400 bios/cmds/cmd_mem: rename commands to mem_xy. 2020-09-16 22:25:33 +02:00
Florent Kermarrec 21cc7df2fa software/bios/cmds/cmd_mem: remove debug cmds that shouldn't have been merged. 2020-09-16 21:18:37 +02:00
Florent Kermarrec 74fb086322 software/liblitedram: rename functions/commands and expose mode register write function to user. 2020-09-16 20:01:39 +02:00
Florent Kermarrec dc087f948a software/liblitedram/sdram: keep sdrwlon/sdrwloff private. 2020-09-16 11:56:39 +02:00
Florent Kermarrec 9c2975e8b4 software/liblitedram/sdram: remove low level manual controls of the DFI interface.
This was too low level and unused.
2020-09-16 11:22:15 +02:00
Florent Kermarrec 8a9d17c768 software/liblitedram/sdram.c: move sdrwl_delays definition to write_leveling section and add #ifdef on reinitialization. 2020-09-16 11:03:10 +02:00
enjoy-digital f208a5db2c
Merge pull request #649 from gsomlo/gls-misc-fixup
misc. fixes for a few recent commits
2020-09-15 21:17:14 +02:00
Gabriel Somlo 9729d053eb software/memtest: use "unsigned long" to represent pointers 2020-09-15 14:46:18 -04:00
Gabriel Somlo 6c838cedcd libbase/sim_debug: wrap markers variables within appropriate #ifdef 2020-09-15 14:46:18 -04:00
Gabriel Somlo e2719d4d71 fixup for e28e808c - don't define variable in .h file 2020-09-15 14:46:18 -04:00
Florent Kermarrec a69273db50 boards/targets/arty: switch SDRAM to NETWORKING mode (interface_type no longer supported). 2020-09-15 19:59:20 +02:00
Florent Kermarrec 404104be21 software/liblitedram/sdram.c: increase ddrphy reset time. 2020-09-15 19:58:17 +02:00
Florent Kermarrec cfe6f56572 software/liblitedram/sdram.c: improve reporting.
- ident sub-reports.
- avoid displaying software/hardware swich if set to previous value.
2020-09-15 19:41:20 +02:00
Florent Kermarrec e63a40370e software/libbase/memtest: improve reporting.
- indent sub-reports.
- report speed in MiB/s.
2020-09-15 19:37:09 +02:00
Florent Kermarrec e28e808c24 software/liblitedram: allow forced write leveling delays, improve delay printf when failing. 2020-09-15 19:34:09 +02:00
Florent Kermarrec 1d63d66a09 software/libbase/memtest: improve memtest_data progress.
Add base/current tested address and current/total tested size.

ex:
Memtest at 0x40000000...
Write: 0x40000000-0x40200000 (2/2MiB)
Read:  0x40000000-0x40200000 (2/2MiB)
2020-09-14 11:51:16 +02:00
Florent Kermarrec c169494793 litex_setup: detect and allow execution from a cloned LiteX repository.
Others dependencies will be installed alongside the Litex repository.
2020-09-10 13:19:34 +02:00
Florent Kermarrec b39fea4ecb software/liblitedram/write_level_scan: reset write delay even if not succeeding. 2020-09-07 18:53:31 +02:00
Florent Kermarrec 658f712001 software/liblitedram/write_level: add support for manual command delay.
Required on some configurations where automatic cmd/clk scan still has troubles.
2020-09-07 18:47:18 +02:00