Commit Graph

113 Commits

Author SHA1 Message Date
Florent Kermarrec 9041868291 software/bios: move romboot after serialboot and netboot
On designs using romboot (firmware embedded in ram blocks), we generally upload new firmwares with serialboot and netboot for prototyping.
Moving romboot after serialboot and netboot avoid manual interrupts of the boot sequence.
2015-10-13 17:49:29 +02:00
Florent Kermarrec 106e4c6962 bios/sdram: fix error_cnt computation in memtest 2015-07-30 23:59:04 +02:00
whitequark 8db098dd8f Make sure the BIOS file ends on an aligned boundary.
If it does not, the address to which mkmscimg.py writes the CRC
and the address from which it is read could differ.
2015-07-29 12:30:57 +03:00
whitequark a4e14f1058 Don't build base libraries and BIOS with -fPIC after all. 2015-07-29 12:09:05 +03:00
whitequark c8ffd0c9ee Switch to -fPIC.
Using -fPIC for everything allows to link the MiSoC static libraries
both into static images such as the BIOS as well as
into shared libraries.
2015-07-26 16:06:48 +03:00
Florent Kermarrec 35250f5b11 bios: add romboot
When firmware is small enough, it can be interesting to run code from an embedded blockram memory (faster and not impacted by memory controller activity).
It can also be a fallback option in case boot from flash failed.
To use this, define ROM_BOOT_ADDRESS and initialize the blockram with the firmware data.
2015-07-14 18:01:44 +02:00
Florent Kermarrec 23541b5949 software/bios: call eth_mode only if we have an ethernet mac (we don't need to call it when we have a hardware UDP/IP stack) 2015-07-04 21:04:23 +02:00
Yann Sionneau 10eb07526d bios: show memtest command in help 2015-07-02 17:20:06 +02:00
Florent Kermarrec 351e654e9d software/bios/sdram: flush dcache and l2 in memtest (otherwise we are partially testing the cache) 2015-06-23 09:01:34 +02:00
Florent Kermarrec f44956bfca soc/sdram: add L2_SIZE constant and avoid declaring an empty flush_l2_cache function when L2_SIZE is not defined 2015-06-19 08:39:37 +02:00
Florent Kermarrec 0b1a2e1022 liteeth: do MII/GMII detection in gateware for gmii_mii phy 2015-04-26 18:08:07 +02:00
Florent Kermarrec ae71bf2830 liteeth: fix and improve 10/100/1000Mbps speed auto detection 2015-04-26 14:54:53 +02:00
Florent Kermarrec 515398634f liteeth/phy/gmii_mii: add clock counter and use it in bios to select mode 2015-04-12 18:42:52 +02:00
Florent Kermarrec f4c35e358e software/bios/sdram: small clean up 2015-03-27 18:24:19 +01:00
Florent Kermarrec 6245dd7b6f software/bios/sdram: for now desactivate random on address test since it seems to trigger a L2 cache or LASMIcon bug on at least de0nano/minispartan6
Memtest sometimes reports 1 or 2 errors with de0nano/minispartan6 on this new test when used with LASMICON. Minicon seems fine. We will have to investigate on this issue.
2015-03-27 16:43:22 +01:00
Florent Kermarrec f85a4f004b software/bios/sdram: add random addressing to memtest
testing memories with linear access is not good enough. Adding random addressing allow us to detect more eventual issues on our L2 cache or SDRAM controller.
2015-03-27 15:49:16 +01:00
Florent Kermarrec 38d24b637e software/bios/sdram: make seed_to_data static 2015-03-26 23:05:20 +01:00
Florent Kermarrec e79a716425 software/bios/sdram: select the type of data we want to generate for memtest with TEST_RANDOM_DATA (debugging hardware is easier with a simple counter) 2015-03-26 22:16:31 +01:00
Florent Kermarrec 9bc71f374a rename sdram mapping to main_ram 2015-03-21 21:01:46 +01:00
Florent Kermarrec b75e4b237d software/bios/memtest: add data bus test (0xAAAAAAAA, 0x55555555) on a small portion of the test zone.
we now need to add another random addressing test to avoid linear access on L2 cache
2015-03-21 20:29:15 +01:00
Florent Kermarrec 473997df26 cpuif: add CSR_ prefix to CSR base addresses (avoid conflicts between CSR and mems bases) 2015-03-02 16:52:17 +01:00
Florent Kermarrec 8280acd3a7 sdram: only keep frontend logic and sdram core declaration in soc/sdram.py, move other logic to sdram/core 2015-03-02 12:17:49 +01:00
Florent Kermarrec 0980becb56 sdram: improve memtest by adding 2 different writes/reads
doing only a write and read is not enough: if we reloaded a fpga with write that is not working after functional fpga, it would not trigger an error.
2015-03-02 10:52:22 +01:00
Florent Kermarec 603c2641bb new Ethernet MAC 2014-11-20 16:47:22 -08:00
Sebastien Bourdeauducq 36434b62f0 sdram: merge DFII_PIX_RDDATA_SIZE and DFII_PIX_WRDATA_SIZE 2014-09-03 15:02:38 +08:00
Sebastien Bourdeauducq 2388bfabc3 bios: support DDR3 write leveling and read calibration. This makes the full DDR3 SODIMM work on the KC705. 2014-09-03 14:25:26 +08:00
Sebastien Bourdeauducq 6decb357f1 bios: add sdrrderr 2014-09-01 15:23:37 +08:00
Sebastien Bourdeauducq 57335bdf3f bios: add DQ filtering to sdrrd, add sdrrdbuf command 2014-09-01 14:58:58 +08:00
Sebastien Bourdeauducq 0ebdf2be6d bios/sdram: cleanup 2014-08-08 21:57:58 +08:00
Sebastien Bourdeauducq b61dced909 bios/sdram: set ODT and RESET_N through DFII 2014-08-08 21:57:42 +08:00
Florent Kermarrec 293ac09673 sdramphy/bios: make sdrrd/sdrwr generic 2014-08-08 19:25:10 +08:00
Sebastien Bourdeauducq dc2024f54d bios: remove references to 'DDR' SDRAM, as we also support SDR SDRAM 2014-05-23 21:31:26 +02:00
Sebastien Bourdeauducq 398608e997 bios: fill delay slot in boot_helper 2014-05-14 16:08:25 +02:00
Sebastien Bourdeauducq 13e74b8b4f software: factorize exception_handler 2014-05-14 15:01:38 +02:00
Sebastien Bourdeauducq edf567a0cd bios: fix boot for or1k 2014-05-14 15:01:02 +02:00
Sebastien Bourdeauducq 1c08aeb21c Initial mor1kx (OpenRISC) support
Based on milkymist-ng-mor1kx by Stefan Kristiansson
2014-05-14 10:24:56 +02:00
Sebastien Bourdeauducq 87a8504304 Refactor CRC tools 2014-04-19 00:01:29 +02:00
Florent Kermarrec 93f02a8cf4 tools: replace mkmscimg with mkmscimg.py (mkmscimg.c was platform dependent) 2014-04-18 20:22:42 +02:00
Sebastien Bourdeauducq 9e784fc82c Generate mem.h from SoC description 2014-02-21 17:55:05 +01:00
Sebastien Bourdeauducq fce46ac0ca Simplify use of external targets/platforms/cores + add default platform in targets 2014-02-16 14:51:52 +01:00
Sebastien Bourdeauducq a23dffd2c2 bios: update banner 2014-02-15 14:02:09 +01:00
Sebastien Bourdeauducq f55943ae18 new action syntax for make.py + support xc3sprog 2014-02-15 14:01:50 +01:00
Sebastien Bourdeauducq 4ba796417d software: do not attempt to build network/sdram drivers when cores are not present 2013-11-24 23:50:09 +01:00
Sebastien Bourdeauducq d4063409e1 software/bios: infer flash start from linker 2013-11-24 23:45:03 +01:00
Sebastien Bourdeauducq fca0b968e7 generate linker memory map, move all generated files into the same folder 2013-11-24 19:50:17 +01:00
Sebastien Bourdeauducq c9e99dfca9 bios: flushl2 command 2013-11-16 16:27:34 +01:00
Sebastien Bourdeauducq d7a4d8b66e use git commit id as version 2013-11-09 16:38:44 +01:00
Sebastien Bourdeauducq 0b881d934f rename milkymist-ng to MiSoC 2013-11-09 15:27:32 +01:00
Sebastien Bourdeauducq 25506c1ab5 software: share crt0 2013-07-11 18:36:26 +02:00
Sebastien Bourdeauducq 26ff6f2a9c s6ddrphy: style and other minor fixes 2013-07-10 20:39:53 +02:00