Commit Graph

9731 Commits

Author SHA1 Message Date
Florent Kermarrec 3a37d3ba98 software/libbase/hyperram: Add missing #ifdef. 2024-08-20 17:11:02 +02:00
Florent Kermarrec eb29b40e07 soc/cores/hyperbus: Simplify CS and make it synchronous to allow IO Reg. 2024-08-20 16:19:15 +02:00
Florent Kermarrec 1998c74549 soc/cores/hyperbus: Make DQ/RWDS input sync explicit to allow IO Reg. 2024-08-20 15:44:53 +02:00
Florent Kermarrec 8b86b16077 soc/cores/hyperbus: Make Rst synchronous to allow IO Reg (even if low speed). 2024-08-20 15:26:26 +02:00
Florent Kermarrec 76cf004913 test/test_hyperbus: Update. 2024-08-20 15:17:36 +02:00
Florent Kermarrec b0026937c1 soc/software/libbase: Move HyperRAM init code to libbase/hyperram.c. 2024-08-20 14:58:51 +02:00
Florent Kermarrec a30651e44e soc/cores/hyperbus: Avoid waiting for clk_phase in IDLE state to reduce latency. 2024-08-20 14:44:33 +02:00
Florent Kermarrec bfe000150c soc/cores/hyperbus: Rework Clk generation to allow having using an IO Reg. 2024-08-20 14:25:23 +02:00
Florent Kermarrec 7b413352c2 soc/cores/hyperbus: Directly specify default sys_clk_freq in __init__. 2024-08-20 12:04:23 +02:00
Florent Kermarrec 8f5c2dfbca soc/cores/hyperbus: Fix build with SDRTristate (to prepare tests with it). 2024-08-20 12:03:40 +02:00
Florent Kermarrec 3a53a92bb2 soc/cores/hyperbus: Simplify/Rework Data Shift-Out Register. 2024-08-20 11:38:33 +02:00
Florent Kermarrec 9c1958d692 soc/cores/hyperbus: Simplify/Rework Data Shift-In Register. 2024-08-20 11:26:58 +02:00
Florent Kermarrec db86ec08b8 soc/cores/hyperbus: Better split parameters/signals and use intermediate dq_o/oe/i and rwds_o/oe/i signals. 2024-08-20 11:12:17 +02:00
Florent Kermarrec 1f71f3d68b soc/cores/hyperbus: Cleanup CSn/Clk generation and add comments. 2024-08-20 10:40:24 +02:00
Florent Kermarrec a960dc33bc soc/cores/hyperbus: Minor cleanup changes. 2024-08-20 10:26:34 +02:00
Florent Kermarrec b95b66b554 soc/cores/hyperbus: Switch to Tristate instead of TSTriple and prepare for SDRTristate (not enabled for now). 2024-08-20 10:10:53 +02:00
Florent Kermarrec afc66fd5cf cores/picorv32: Fix idbus.sel for reads. 2024-08-19 13:34:50 +02:00
Florent Kermarrec bccd1e9c54 CHANGES.md: Update. 2024-08-19 10:37:13 +02:00
Gwenhael Goavec-Merou 6623a5b691
Merge pull request #2028 from VOGL-electronic/spi_ram_add
soc: add add_spi_ram function
2024-08-16 19:08:48 +02:00
Gwenhael Goavec-Merou 26e7eef3ce
Merge pull request #2042 from pepijndevos/apicula
Gowin: add dual use gpio options
2024-08-16 18:58:04 +02:00
Pepijn de Vos 039be2a248 add dual use gpio options 2024-08-16 15:56:24 +02:00
Gwenhael Goavec-Merou cbb1adfa7b
Merge pull request #2036 from Mai-Lapyst/gowin-add-apicula
Adds apicula toolchain to gowin platform
2024-08-15 08:54:40 +02:00
Mai-Lapyst dc3f2d6421
Add missing license header to apicula.py 2024-08-15 01:54:31 +02:00
Mai-Lapyst 623536cd6a
Remove empty build_timing_constraints override in GowinApiculaToolchain 2024-08-15 01:52:22 +02:00
Mai-Lapyst e0968b3574
Adds apicula toolchain to gowin platform 2024-08-12 06:55:11 +02:00
Gwenhael Goavec-Merou b279fc9fb3
Merge pull request #2035 from Mai-Lapyst/fix_empty_initpy
Fix litex.build.gowin's __init__.py; closes #2034
2024-08-11 10:06:09 +02:00
Mai-Lapyst 3d0fe4ebca
Fix litex.build.gowin's __init__.py; closes #2034 2024-08-11 05:44:14 +02:00
enjoy-digital 6309f30e0b
Merge pull request #2030 from trabucayre/gowin_build_gw5a_primitives
build/gowin/common.py: re-add tristate impl and SDRxxx for GW5A/Arora family (required for SDRAM use)
2024-08-07 09:23:21 +02:00
Gwenhael Goavec-Merou 3cd820974a build/gowin/common.py: re-add tristate impl and SDRxxx for GW5A/Arora family (required for SDRAM use) 2024-08-04 09:39:46 +02:00
Fin Maaß cd457c9809 soc: add l2 cache to spi_ram
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-08-01 15:51:45 +02:00
Matthias Breithaupt e29dc39377 openocd/jtagspi: Allow users to specify additional init commands
This change makes it possible to e.g. use flahs chips that would not be correctly detected by OpenOCD.
All that has to be done is to add `init_commands=["jtagspi set 0 \"name\" {size} {pagesize} {read_cmd} 0 {pprg_cmd} {mass_erase_cmd} {sector_size} {sector_erase_cmd}"]`.

Signed-off-by: Matthias Breithaupt <m.breithaupt@vogl-electronic.com>
2024-08-01 15:51:45 +02:00
Matthias Breithaupt 41b346d141 bios: mem_read: reduce number of reads on mapped registers (only supports 32-bit aligned addresses)
Instead of reading each individual byte, causing multiple 4-byte requests to each address, this
change results in a single read for each address.

Signed-off-by: Matthias Breithaupt <m.breithaupt@vogl-electronic.com>
2024-08-01 15:51:45 +02:00
Matthias Breithaupt 03a0a6fd9b soc: add add_spi_ram function
Signed-off-by: Matthias Breithaupt <m.breithaupt@vogl-electronic.com>
2024-08-01 15:51:45 +02:00
Florent Kermarrec f855417afc README.md: Be more positive and shorter in moral precisions :). 2024-07-31 14:55:10 +02:00
enjoy-digital 74127d51c5
Merge pull request #2024 from trabucayre/altera_agilex5_sdrtristate_special
build/altera/common.py: implement SDRTristate for Agilex5 family
2024-07-30 19:22:25 +02:00
Gwenhael Goavec-Merou 1f6673c6eb build/altera/common.py: implement SDRTristate for Agilex5 family 2024-07-30 16:36:05 +02:00
enjoy-digital 3041150773
Merge pull request #2021 from trabucayre/altera_agilex5_ddr_special
build/altera/common,platform: added ddrinput/ddrout primitives
2024-07-26 18:26:19 +02:00
Florent Kermarrec ba8830e6cd global: Remove @trabucayre's tracers :) 2024-07-26 12:57:01 +02:00
Florent Kermarrec 5c5bc82f22 interconnect/packet/PacketFIFO: Fix payload_fifo.sink.valid.
Needs to be filtered on param_fifo.sink.ready and not payload_fifo.sink.ready.
2024-07-26 11:52:17 +02:00
Gwenhael Goavec-Merou dc04949d78 build/altera/common,platform: added ddrinput/ddrout primitives 2024-07-25 14:11:06 +02:00
Florent Kermarrec c51d22074f soc/integration/soc/add_uart: Allow directly passing uart_pads.
Useful for test purpose when testing multiple UART peripherals without having to expose them on IOs.
2024-07-22 16:23:22 +02:00
Gwenhael Goavec-Merou b8cb6da2b9 soc/cores/clock/lattice_nx.py: added clk contraints for OSCA output 2024-07-22 15:11:40 +02:00
Florent Kermarrec ecd0f0e548 cores/ram/lattice_nx: Revert #1906 since not working with RAM combining multiple SP512K. 2024-07-22 14:24:34 +02:00
enjoy-digital 4662b95f16
Merge pull request #2012 from machdyne/master
soc/cores/video: Add additional color formats
2024-07-21 09:34:00 +02:00
enjoy-digital 4301293b21
Merge pull request #2018 from motec-research/add_i2c_master
Add i2c master
2024-07-21 09:32:48 +02:00
Andrew Dennison 67e6614eb2 test_i2c: whitespace cleanups 2024-07-20 15:45:44 +10:00
Radek Pesina 643f3f9a93 test_i2c: add more commands 2024-07-20 15:45:44 +10:00
Andrew Dennison f99658200e soc/cores/i2c: rewrite state machine
* Fix READ: was reading too many bits
* CLeaner transitions between states: ACK=>IDLE with scl=0. Other to IDLE with scl=1
* Now cleanly supports RESTART
* conceptual support for compound commands - not exposed yet
* fix tests: now appears to be I2C compliant
2024-07-20 15:45:44 +10:00
Andrew Dennison 13811aeacb test_i2c: update to use improved _MockTristate
* test now checks the actual i2c bus state, not the I2CMaster output
* refactor to eliminate some copy/paste
* tests now work again with this change: 'only change SDA when SCL is stable'
2024-07-20 15:45:44 +10:00
Andrew Dennison b779933a5f test_i2c: improve and document _MockTristate*
Added i_mock for simulated external device:
    * when _oe = 0 _i = _i_mock
    * when _oe = 1 _i = _o
2024-07-20 15:45:44 +10:00