Commit Graph

17 Commits

Author SHA1 Message Date
Florent Kermarrec 8151bf7ffa targets: Update and simplify SPI-Flash support (Address is now automatically allocated). 2022-01-07 10:34:47 +01:00
Florent Kermarrec 53dc00eab7 targets/parser: Rely on argparse.ArgumentDefaultsHelpFormatter to provide default in help description.
Also do minor adjustments while doing this.
2022-01-05 17:06:40 +01:00
Florent Kermarrec 8664b59f23 targets: Fix --bios-flash-offset support and other minor cleanups. 2021-12-20 21:41:12 +01:00
Florent Kermarrec 82653cf66f icebreaker/fomu: Fix SPRAM split. 2021-09-30 09:32:26 +02:00
Florent Kermarrec 5addd7f7d8 icebreaker/fomu: Split PSRAM in half: 64kB SRAM/64kB RAM).
Allows building bare metal demo and running it directly on these boards.
2021-09-29 19:33:22 +02:00
Florent Kermarrec 35ba3d9bc3 targets: Remove old call to add_spi_flash on targets now using LiteSPI (we'll find it with gitk is required). 2021-07-29 11:55:10 +02:00
Florent Kermarrec 55ba0591df targets: Remove SpiFlash imports (Obsolete since integration is provided by LiteX). 2021-07-27 19:35:19 +02:00
Florent Kermarrec 15b5aec23f 1bitsquared_icebreaker_bitsy: Also switch to LiteSPI. 2021-07-27 19:27:28 +02:00
Florent Kermarrec 959780f372 1bitsquared_icebreaker: Switch to LiteSPI (with integration now done by LiteX).
Keep the old add_spi_flash call commented for now just in case we need to compare/test it.
2021-07-27 19:23:26 +02:00
Florent Kermarrec 533d25e845 1bitsquared_icebreaker: Enable LiteSPI Master but reduce FIFO depth to reduce resource usage.
Already better regarding resource usage:
Info: 	         ICESTORM_LC:  2938/ 5280    55%
Info: 	        ICESTORM_RAM:     2/   30     6%
Info: 	               SB_IO:    15/   96    15%
Info: 	               SB_GB:     8/    8   100%
Info: 	        ICESTORM_PLL:     1/    1   100%
Info: 	         SB_WARMBOOT:     0/    1     0%
Info: 	        ICESTORM_DSP:     0/    8     0%
Info: 	      ICESTORM_HFOSC:     0/    1     0%
Info: 	      ICESTORM_LFOSC:     0/    1     0%
Info: 	              SB_I2C:     0/    2     0%
Info: 	              SB_SPI:     0/    2     0%
Info: 	              IO_I3C:     0/    2     0%
Info: 	         SB_LEDDA_IP:     0/    1     0%
Info: 	         SB_RGBA_DRV:     0/    1     0%
Info: 	      ICESTORM_SPRAM:     4/    4   100%
2021-07-27 17:38:25 +02:00
Florent Kermarrec 12fb315e09 1bitsquared_icebreaker: Disable LiteSPI Master.
Requires 80e9d2cea9

Already better regarding resource usage:

Info: 	         ICESTORM_LC:  2358/ 5280    44%
Info: 	        ICESTORM_RAM:     2/   30     6%
Info: 	               SB_IO:    15/   96    15%
Info: 	               SB_GB:     8/    8   100%
Info: 	        ICESTORM_PLL:     1/    1   100%
Info: 	         SB_WARMBOOT:     0/    1     0%
Info: 	        ICESTORM_DSP:     0/    8     0%
Info: 	      ICESTORM_HFOSC:     0/    1     0%
Info: 	      ICESTORM_LFOSC:     0/    1     0%
Info: 	              SB_I2C:     0/    2     0%
Info: 	              SB_SPI:     0/    2     0%
Info: 	              IO_I3C:     0/    2     0%
Info: 	         SB_LEDDA_IP:     0/    1     0%
Info: 	         SB_RGBA_DRV:     0/    1     0%
Info: 	      ICESTORM_SPRAM:     4/    4   100%

We can still try to reduce it, but enabling Master should not use that much LCs.
2021-07-27 17:00:55 +02:00
Florent Kermarrec 0f648ac4ef 1bitsquared_icebreaker: Add test code to use LiteSPI.
Both XiP from SPI(1X) or QSPI(4X) are working, but resource usage is currently
too high to be able to switch to it by default. We'll first try to reduce it.

Resource usage using SPI(1X) and actual LiteX SPI Flash core:
Info: Device utilisation:
Info: 	         ICESTORM_LC:  2016/ 5280    38%
Info: 	        ICESTORM_RAM:     2/   30     6%
Info: 	               SB_IO:    15/   96    15%
Info: 	               SB_GB:     8/    8   100%
Info: 	        ICESTORM_PLL:     1/    1   100%
Info: 	         SB_WARMBOOT:     0/    1     0%
Info: 	        ICESTORM_DSP:     0/    8     0%
Info: 	      ICESTORM_HFOSC:     0/    1     0%
Info: 	      ICESTORM_LFOSC:     0/    1     0%
Info: 	              SB_I2C:     0/    2     0%
Info: 	              SB_SPI:     0/    2     0%
Info: 	              IO_I3C:     0/    2     0%
Info: 	         SB_LEDDA_IP:     0/    1     0%
Info: 	         SB_RGBA_DRV:     0/    1     0%
Info: 	      ICESTORM_SPRAM:     4/    4   100%


Resource usage using LiteSPI:
Info: Device utilisation:
Info: 	         ICESTORM_LC:  3964/ 5280    75%
Info: 	        ICESTORM_RAM:     2/   30     6%
Info: 	               SB_IO:    15/   96    15%
Info: 	               SB_GB:     8/    8   100%
Info: 	        ICESTORM_PLL:     1/    1   100%
Info: 	         SB_WARMBOOT:     0/    1     0%
Info: 	        ICESTORM_DSP:     0/    8     0%
Info: 	      ICESTORM_HFOSC:     0/    1     0%
Info: 	      ICESTORM_LFOSC:     0/    1     0%
Info: 	              SB_I2C:     0/    2     0%
Info: 	              SB_SPI:     0/    2     0%
Info: 	              IO_I3C:     0/    2     0%
Info: 	         SB_LEDDA_IP:     0/    1     0%
Info: 	         SB_RGBA_DRV:     0/    1     0%
Info: 	      ICESTORM_SPRAM:     4/    4   100%
2021-07-27 16:50:18 +02:00
Florent Kermarrec 10bfd50e22 targets/1bitsquared_icebreaker: Revert to 128KB SPRAM. 2021-07-27 12:03:39 +02:00
Joey Bushagour 1920db3535 Add with_led_chaser argument to constructor of boards using LedChaser submodule. 2021-07-06 16:39:37 -05:00
Florent Kermarrec bf123db20b icebreaker/fomu: Update flashing and disconnect reset from SoC (will need proper support in iCE40PLL). 2021-05-20 09:14:54 +02:00
Florent Kermarrec 9417044584 targets: Minor cleanup, make sure all targets can be built with default settings. 2021-03-29 16:22:39 +02:00
Florent Kermarrec 062b899e29 platforms/targets: Add mode Vendor prefixes. 2021-03-25 16:19:11 +01:00