Commit Graph

9338 Commits

Author SHA1 Message Date
Sylvain Munaut 3127e504d3 soc/integration: Allow 0x400 CSR paging
It's a convenient way to get more CSR locations without changing
the whole address space layout (i.e. more space for CSR).

It still leaves 256 full 32b registers in each location which
I've never encountered a device even coming close to this, so
it should be fairly safe to do.

This doesn't change the default, just allow the user to select it.

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2024-02-05 11:45:34 +01:00
Andrew Dennison f81c940e7b litex/build/efinix: add binary output
This is the file required for passive SPI loading.
2024-02-05 11:00:39 +11:00
Andrew Dennison d9f006e123 litex/build/efinix: add spi_width
Doesn't seem needed for Trion but probably essential for Titanium?
2024-02-05 11:00:39 +11:00
Florent Kermarrec a59b67e4ee soc: Avoid .upper() on add_config/constant since already done in methods. 2024-02-01 08:44:52 +01:00
Florent Kermarrec e498a56698 soc/add_spi_flash: Minor integration cleanup and remove PHY_FREQUENCY constants that is no longer used. 2024-02-01 08:42:11 +01:00
Florent Kermarrec e44631294a CHANGES.md: Update. 2024-02-01 08:34:17 +01:00
enjoy-digital be23467cb1
Merge pull request #1881 from motec-research/spiflash_fixes
Spiflash fixes for issues exposed by sys_clk = 200MHz and L2 cache
2024-02-01 08:33:36 +01:00
Andrew Dennison fc85fdd178 build/openfpgaloader: support args with '-'
many openfpgaloader args have a name with '-' as per normal convention.

This kwarg now works: file_type="raw"
2024-02-01 15:53:51 +11:00
Andrew Dennison afe7b93995 software/liblitespi/spiflash: fix warnings 2024-02-01 14:37:22 +11:00
Andrew Dennison de594e44c9 software/bios/cmds: fix crc command with L2 cache
Same CRC was always reported if the memory region was in the cache...
Noticed when manually testing spiflash divisor.
2024-02-01 14:37:22 +11:00
Andrew Dennison 3a890a077b software/liblitespi/spiflash: fix clk_freq tuning with L2 cache
Correct CRC was always calculated, regardless of divisor, as the
test flash block was in the L2 cache. This resulted in the minimum
divisor being used and incorrect flash reads with 200MHz sys_clock.
2024-02-01 14:37:22 +11:00
Andrew Dennison e0416639f7 software/liblitespi/spiflash: fix reported flash clk 2024-02-01 14:37:22 +11:00
Andrew Dennison 51c3cb3552 soc/add_spi_flash: default clk_freq to 20MHz
This is safer than defaulting to sys_clock / 2 if sys_clock > 100MHz
clk_freq tuning will result in a faster clock if supported by hardware.
2024-02-01 14:37:22 +11:00
Andrew Dennison 1dddfa6841 soc/add_spi_flash: fix default divisor and PHY_CLOCK calculation
Ensure default_divisor is set to desired default - 1 as required by LiteSPIClkGen
Calculate actual PHY_CLK based on default_divisor
2024-02-01 14:37:22 +11:00
Andrew Dennison 08189663ba soc/add_spi_flash: fix bios 1x mode support
require both phy and flash support to enable QUAD/QPI capability.

Many flash devices support 4x read but may be on a 1x phy
2024-02-01 14:37:22 +11:00
Andrew Dennison 4dae3a9f4d build/openfpgaloader: report command line on error
Helps explain failures
2024-02-01 14:37:16 +11:00
Florent Kermarrec f73fbee309 cores/spi/spi_master: Improve documentation, especially on Raw/Aligned mode and CS control. 2024-01-30 10:57:09 +01:00
Florent Kermarrec a3904ac26d CHANGES.md: Update. 2024-01-30 09:51:05 +01:00
Florent Kermarrec 488247e4f7 build/efinix/programmer: Define EFXDBG_HOME now required by latest Efinity versions. 2024-01-30 09:44:52 +01:00
Gwenhael Goavec-Merou 245bed7195 soc/cores/clock/efinix: fix input clock code for trion when the input clock comes from another PLL 2024-01-25 17:39:12 +01:00
Gwenhael Goavec-Merou d32095540a soc/integration/soc: add_ethernet/add_ip_constants: cast str to int (avoid double quote in soc.h 2024-01-24 16:06:44 +01:00
Florent Kermarrec f543b18d02 soc/add_ethernet: Refactor local/remote_ip configuration and add basic checks for IP address length + validity. 2024-01-24 15:28:18 +01:00
enjoy-digital 115e87ff4f
Merge pull request #1877 from trabucayre/ethernet_local_remote_ip
soc/integration/soc: add_etherbone: allowing to specify local/remote IP
2024-01-24 15:15:31 +01:00
Gwenhael Goavec-Merou bcde71b051 soc/integration/soc: add_etherbone: allowing to specify local/remote IP 2024-01-24 15:13:42 +01:00
enjoy-digital 1be3f0297d
Merge pull request #1876 from trabucayre/vexriscv_configurable_clint_csr_addr
soc/cores/cpu/vexriscv_smp/core: allowing configure CSR/CLINT base address by overriding default value or using args
2024-01-23 16:27:16 +01:00
Florent Kermarrec c31ec79981 CHANGES.md: Update. 2024-01-23 16:02:11 +01:00
Gwenhael Goavec-Merou bb62f7aa63 soc/cores/cpu/vexriscv_smp/core: allowing configure CSR/CLINT/PLIC base address by overriding default value or using args 2024-01-22 18:36:51 +01:00
enjoy-digital 4c07d72af3
Merge pull request #1874 from trabucayre/naxriscv_arch
soc/cores/cpu/naxriscv fix arch definition and small adjust
2024-01-19 10:22:43 +01:00
Gwenhael Goavec-Merou 854541d5c7 soc/cores/cpu/naxriscv/core: adding argument to enable rvc extension 2024-01-19 07:37:55 +01:00
Gwenhael Goavec-Merou f00d49211b soc/cores/cpu/naxriscv/core: force go back previous directory after git clone 2024-01-18 15:21:37 +01:00
Gwenhael Goavec-Merou 4222a585c9 soc/cores/cpu/naxriscv/core: fix arch definition 2024-01-18 15:04:09 +01:00
Florent Kermarrec b19d992f23 inteconnect/ahb: Add specific case for 32-bit data width, fix CSR accesses with gowin_ae350. 2024-01-15 11:40:25 +01:00
Florent Kermarrec 6b79644108 cores/cpu/gowin_emcu: Switch to LiteX's UART.
A UART does not cost that much ressources and this avoid specific code/allow simplifying support.
2024-01-11 13:53:15 +01:00
Florent Kermarrec 8aa5958fb7 cores/cpu: Add intitial gowin_ae350 support. 2024-01-11 13:11:56 +01:00
Florent Kermarrec e689aab18a interconnect/ahb/AHB2Wishbone: Add proper Wishbone sel decoder/support. 2024-01-11 10:17:22 +01:00
Florent Kermarrec 80dfb5ca34 interconnect/ahb/AHB2Wishbone: Simplify and add proper Address/Data-Phases. 2024-01-10 12:10:15 +01:00
Gwenhael Goavec-Merou a2c2d70841 build/gowin/gowin: adding list of additional cst commands (to place resources)
Signed-off-by: Gwenhael Goavec-Merou <gwenhael@enjoy-digital.fr>
2024-01-10 10:30:41 +01:00
Gwenhael Goavec-Merou 31d3325219 build/gowin/platform: adding mock add_false_path_constraint method
Signed-off-by: Gwenhael Goavec-Merou <gwenhael@enjoy-digital.fr>
2024-01-10 10:30:36 +01:00
Gwenhael Goavec-Merou 91fbc79ac2 build/gowin/common: adding missing TX/Q1 ODDR signals 2024-01-08 07:28:56 +01:00
Florent Kermarrec 718c26d8fc cpu/gowin_emcu: Add interfaces directly to instances and simplify/cleanup to remove some warnings. 2024-01-04 19:33:43 +01:00
Florent Kermarrec c61d2de13b CHANGES.md: Update. 2024-01-04 15:37:58 +01:00
Florent Kermarrec cf165d3c2c README/Bios: Bump year. 2024-01-04 15:33:01 +01:00
Florent Kermarrec 739a8db8c3 cpu/gowin_emcu: Specify AHB data_width/address_width. 2024-01-04 15:30:47 +01:00
Florent Kermarrec 7009299132 interconnect/ahb: Simplify AHBInterface and add data_width/address_width parameters. 2024-01-04 15:30:26 +01:00
Florent Kermarrec 02f0a96c84 interconnect/ahb: Add AHB prefix to TransferType/Interface (similar to AXI). 2024-01-04 15:21:32 +01:00
Florent Kermarrec 55e2a1cec6 cpu/gowin_emcu: Switch pbus to byte addresssing. 2024-01-04 13:13:21 +01:00
Florent Kermarrec 5bbcda4d5c interconnect/ahb/AHB2Wishbone: Fix size check that is too restrictive, can be <= log2_int(ahb.data_width//8). 2024-01-04 13:12:29 +01:00
Florent Kermarrec 6a6837062a cpu/gowin_emcu: Remove interrupt signal since not yet functional/used. 2024-01-04 10:40:47 +01:00
Florent Kermarrec 386854cbd3 cpu/gowin_emcu: Use crt0.c from cortex_m3. 2024-01-04 10:38:45 +01:00
Florent Kermarrec de6fbf1271 cpu/gowin_emcu: Directly connect AHB interfaces, using for loops make things unclear/difficult to follow. 2024-01-04 10:33:50 +01:00