Florent Kermarrec
a44bedd557
bios/sdram: add missing #ifdef
2018-09-13 06:30:37 +02:00
Florent Kermarrec
1468b9f3ba
bios/sdram: show all read scans when failing.
2018-09-13 05:26:51 +02:00
Florent Kermarrec
2b786065b1
targets: pass endianness to LiteEThMAC, tftp working with RISC-V, still need to fix txlen
2018-09-07 10:37:15 +02:00
Jean-François Nguyen
26963d62fa
libnet/microudp: (WIP) fix endianness issues
2018-09-06 18:43:55 +02:00
Jean-François Nguyen
22c0131324
fix typo and unused include
2018-09-06 17:07:14 +02:00
Jean-François Nguyen
8f377307d8
add Minerva support
2018-09-05 22:33:04 +02:00
William D. Jones
ed507d618d
Add lm32 "lite" variant, remove mult/div from "minimal" and update compiler flags accordingly.
2018-09-03 19:48:19 -04:00
Tim Ansell
ff908e404f
Merge pull request #92 from cr1901/l2-gate
...
software/bios: Gate flush_l2_cache() if L2 Cache isn't present.
2018-08-23 13:15:49 +10:00
William D. Jones
3146109af3
software/bios: Gate flush_l2_cache() if L2 Cache isn't present.
2018-08-22 23:03:08 -04:00
Florent Kermarrec
759e7d4dc3
bios/sdram: improve/simplify read window selection
...
Compute a score for each window and select the best
2018-08-22 23:15:32 +02:00
Florent Kermarrec
077f939169
Vexriscv: update csr-defs.h
2018-08-18 14:15:43 +02:00
Florent Kermarrec
9547938527
bios/sdram: changes to ease manual read window selection
2018-08-18 13:45:22 +02:00
Florent Kermarrec
cb5b4ac468
bios/boot: flush all caches before running from ram
2018-08-16 19:47:43 +02:00
Florent Kermarrec
1610a7f3fb
bios/sdram: fix read_level_scan result
2018-08-14 18:33:36 +02:00
Florent Kermarrec
22f645adc1
bios/main: use edata instead of erodata
2018-08-07 09:02:09 +02:00
Florent Kermarrec
0429ee9f8f
soc/software/bios: add reboot command
2018-08-06 12:23:50 +02:00
Florent Kermarrec
df7e5dbcf6
bios/sdram: add ERR_DDRPH_BITSLIP constant and some cleanup
2018-07-19 12:52:00 +02:00
Florent Kermarrec
85308672d3
software/bios/linker: revert data section since required by RISC-V compiler
2018-07-18 09:30:14 +02:00
Florent Kermarrec
4f1274e6a6
bios/sdram: improve bitslip selection when window can't be optimal (not enough taps for a full window)
2018-07-16 09:42:09 +02:00
Florent Kermarrec
f9104b201a
bios/sdram: improve read leveling (artix7 read-leveling is now done automatically at startup)
2018-07-06 19:22:33 +02:00
Florent Kermarrec
c84e189d6a
bios/sdram: fix compilation with no write leveling
2018-07-06 16:22:49 +02:00
Florent Kermarrec
df99cc66e8
bios/sdram: also check for last read of scan to choose optimal window
2018-07-02 14:12:27 +02:00
Florent Kermarrec
8ce7fcb237
bios/main: add cpu frequency to banner
2018-07-02 13:47:18 +02:00
Florent Kermarrec
477d224921
bios/sdram: check for optimal read window before doing read leveling, increment bitslip if not optimal.
2018-07-02 13:46:48 +02:00
Florent Kermarrec
d58eb4ecb7
bios/sdram: use new phy, improve scan, allow disabling high skew
2018-06-28 18:43:48 +02:00
Florent Kermarrec
692cb14245
software/bios: fix picorv32 boot_helper
2018-06-28 11:42:43 +02:00
Florent Kermarrec
b5ee110e63
bios/sdram: add write/read leveling scans
2018-06-27 15:31:54 +02:00
Sean Cross
7444992999
soc: bios: fix windows build
...
The BIOS builds just fine on Windows, but afterwards tries to run
`chmod`. This command does not exist on Windows, and is unnecessary.
Add a conditional guard to prevent this command from running on Windows.
Signed-off-by: Sean Cross <sean@xobs.io>
2018-06-18 17:13:54 +08:00
bunnie
7353197e21
fix the vexriscv boot helper
2018-05-31 01:24:22 +08:00
Dolu1990
66229c8c05
add VexRiscv support (imported/adapted from misoc)
2018-05-09 15:03:37 +02:00
Florent Kermarrec
d149f386c9
allow multiple riscv32 softcores (use picorv32 cpu_type instead of riscv32)
2018-05-09 13:26:55 +02:00
Florent Kermarrec
4324c6f666
bios/sdram: update kuddrphy initialization procedure
2018-03-08 13:54:30 +01:00
Florent Kermarrec
90dcd45f0b
soc/software/main: go to new line at startup
2018-03-07 21:39:10 +01:00
Florent Kermarrec
6706b24167
software/bios/main: add missing space
2018-03-07 15:24:39 +01:00
enjoy-digital
7b5bd4041a
Merge pull request #57 from rohitk-singh/master
...
WIP - BIOS: Flashboot without main ram
2018-02-10 21:37:38 +01:00
Florent Kermarrec
4f2725809e
software/common: revert PYTHON to python3 (since breaking things)
2018-01-23 10:39:13 +01:00
Florent Kermarrec
4e168221d8
bios: fix riscv processor print
2018-01-23 10:33:05 +01:00
Florent Kermarrec
67f8718b26
minor cleanup
2018-01-23 00:35:20 +01:00
Sergiusz Bazanski
6daf3eabc5
Implement IRQ software support for RISC-V.
...
Well, at least PicoRV32-specific. Turns out there is no RISC-V
specification for simple microcontroller-like interrupts, so PicoRV32
implements its' own based on custom opcodes.
It's somewhat esoteric, and for example doesn't offer a global interrupt
enable/disable. For this we implement a thin wrapper in assembly and
then expose it via a few helpers in irq.h.
2018-01-22 18:50:26 +00:00
Sergiusz Bazanski
2108c97b9b
Import PicoRV32-specific instruction macros.
...
These come from the PicoRV32 repo and are released under the public
domain [1].
[1] - 70f3c33ac8/firmware/custom_ops.S
2018-01-22 18:50:26 +00:00
Sergiusz Bazanski
75e230aae7
Replace __riscv__ macros with __riscv.
...
The __riscv__ form is deprecated [1].
[1] - https://github.com/riscv/riscv-toolchain-conventions#cc-preprocessor-definitions
2018-01-22 18:50:26 +00:00
Ewen McNeill
75e7f9505a
BIOS: Flashboot without main ram
...
Modified flashboot() to skip copy to main ram if there is no main
ram, and instead execute in place out of SPI flash. (For this to
work the linker .ld will also need to redirect references to be
inside the SPI flash mapping.)
2018-01-20 15:05:47 +11:00
Florent Kermarrec
3a5f93db5d
software/bios: add litex logo
2018-01-19 18:41:13 +01:00
Tim Ansell
fcc22350fb
Merge pull request #52 from ewen-naos-nz/tftp-alt-port
...
BIOS: Support alternate TFTP server port
2018-01-18 13:40:28 +11:00
Ewen McNeill
5ce8ca8e9b
BIOS: TFTP: try UDP/69 if specified port fails
2018-01-18 13:10:28 +11:00
Ewen McNeill
cb31266500
BIOS: set TFTP_SERVER_PORT from enviroment
2018-01-18 13:09:34 +11:00
Ewen McNeill
97f381baa6
BIOS: allow BIOS to specify TFTP server port
...
Swaps hard coded PORT_OUT in tftp.c for parameter on the tftp_get()
and tftp_put() functions. Allow TFTP_SERVER_PORT used by BIOS to be
set at compile time from compiler defines.
2018-01-18 12:03:35 +11:00
Felix Held
21ad435def
Include the ethernet related header files conditionally
...
Only including those header files in the litex firmware is the first step to
move the firmware parts of liteeth to the liteeth tree.
2018-01-16 14:33:49 +11:00
Chris Ballance
782711e5a9
bios/sdram: make read leveling robust for KUS SDRAM
...
Increases the initial delay step into the valid read window as
with the original delay I was not getting out of the noisy
transition window, as evidenced by seeing read delay windows
of only 8 LSB ~10% of the time, leading to failing memory
tests
2018-01-12 19:23:08 +01:00
Florent Kermarrec
5681a3c1a9
bios/sdram: revert capability to do manual read leveling since still needed with some targets
2018-01-08 12:04:33 +01:00
Florent Kermarrec
03eb137449
bios/sdram: fix data error reporting
2018-01-08 11:43:49 +01:00
Florent Kermarrec
22ff745027
bump year
2018-01-08 11:43:13 +01:00
Greg Darke
bbd15ca567
Wait longer before giving up on the 2nd tftp block.
...
Previously we would wait the same number of iterations as it took us to
receive the first data block after sending the request. When using the
build in tftp server in qemu, the first wait loop succeeds (and thus
breaks when 'i' is still 0.
Since the counter was never reset between the first and second data
block, under qemu the tftp_get call would fail before ever checking if
we have received the second block of data.
Now that we initialise 'i' to 12M, we ensure that we wait the same
amount of time for the second data block as it previously did for the
third (and subsequent) blocks.
2017-12-29 23:56:32 +01:00
Florent Kermarrec
0a2d38ecd2
bios/sdram: use same initialization procedure for artix7 than kintex7 excepting write leveling that is not done
2017-12-29 17:13:58 +01:00
Florent Kermarrec
c3d902ef42
soc/software/bios/sdram: add Kintex Ultrascale support
2017-11-08 12:59:38 +01:00
Tim 'mithro' Ansell
279ec488e3
bios: Print location jumping too.
...
Makes it easier to understand what is happening (and that the BIOS is
jumping to the right place).
2017-10-06 20:38:44 +11:00
Tim 'mithro' Ansell
8152673d18
common: Compile with debugging symbols on.
...
Debugging symbols are useful when using GDB :-)
2017-10-06 20:38:44 +11:00
Tim 'mithro' Ansell
b1b6a74170
or1k: Use EXCEPTION_STACK_SIZE of 256bytes.
...
or1k defines a 128 byte "red zone" after the stack that can not be
touched by the exception handler.
We also need 128 bytes to store the 32 registers.
2017-10-06 20:38:44 +11:00
Tim 'mithro' Ansell
07a9df3586
bios: Declare dependency on linked in .a files.
2017-10-06 20:38:44 +11:00
Florent Kermarrec
8f3dcf90ab
soc/software/bios/sdram: add optional memtest debug traces
2017-08-18 09:42:27 +02:00
Florent Kermarrec
4d664730fe
soc/software/libbase: fix get_ident
2017-06-28 18:10:56 +02:00
Florent Kermarrec
455cb3ebe3
soc/software/main: fix double serialboot (merge issue)
2017-01-17 04:37:18 +01:00
Florent Kermarrec
ff31959aea
merge most of misoc 54e1ef82 and migen e93d0601 changes
2017-01-13 03:55:00 +01:00
Joel Addison
31dbd35c2e
Add strcasecmp function to lib
2017-01-12 14:00:05 +11:00
Tim 'mithro' Ansell
284c94f1d3
Fix Makefile dependency inclusion for other software.
2016-12-19 14:29:33 +01:00
Tim 'mithro' Ansell
8bccd2d988
bios: Include dependency rebuild info.
2016-12-17 14:14:14 +01:00
Tim 'mithro' Ansell
46bbec5494
main.o is not a phony target.
2016-12-15 19:56:58 +01:00
Florent Kermarrec
daa9473809
soc/software/bios/main: revision command becomes ident
2016-11-30 15:45:06 +01:00
Florent Kermarrec
0f57451f30
soc/software/bios: remove dataflow
2016-11-30 15:44:30 +01:00
enjoy-digital
7bb2be41e8
Merge pull request #9 from mithro/vprintf-fix
...
libbase: Adding missing vprintf function.
2016-10-30 09:43:43 +01:00
Tim 'mithro' Ansell
548fd33d20
libbase: Adding missing vprintf function.
...
Fixes #8 .
```
int vprintf(const char *format, va_list ap);
The functions vprintf(), vfprintf(), vsprintf(), vsnprintf() are equivalent to
the functions printf(), fprintf(), sprintf(), snprintf(), respectively, except
that they are called with a va_list instead of a variable number of
arguments.
```
2016-10-30 16:25:06 +11:00
Tim 'mithro' Ansell
35ba9cf735
soc/software/Makefile: Fix Makefile depend generation.
...
Previously the flags were not actually set and the *.d files were never
actually generated.
2016-10-28 01:25:47 +11:00
Florent Kermarrec
44d766c09f
software/sdram: cleanup artix7 init
2016-04-29 15:55:10 +02:00
Florent Kermarrec
66362b1280
move sdram code to litedram ( https://github.com/enjoy-digital/litedram )
2016-04-29 07:45:15 +02:00
Florent Kermarrec
4e451a78d6
soc/software/bios/sdram: add sdrlevel_artix7 (bitslip and delays have to be found manually)
2016-04-27 12:33:44 +02:00
Florent Kermarrec
849434c1bd
soc/software/bios: show cpu on first banner line
2016-04-19 09:19:37 +02:00
Tim 'mithro' Ansell
8998ae5c92
bios: Print CPU architecture on boot.
2016-04-19 16:02:26 +10:00
enjoy-digital
e0e56e3655
Merge pull request #1 from mithro/master
...
Bunch of small fixes
2016-04-19 07:49:24 +02:00
Tim 'mithro' Ansell
514496d744
libcompiler_rt: Fixing Makefile for CPU endianness.
2016-04-19 14:55:01 +10:00
Tim 'mithro' Ansell
2f834d0aa2
bios: Use single characters for boot modes.
...
* The function keys never really worked properly.
* Also add commands for the ROM/Flash/etc.
2016-04-19 13:42:56 +10:00
Florent Kermarrec
fcd8d792a1
Merge branch 'master' of https://github.com/enjoy-digital/litex
2016-04-13 01:19:21 +02:00
Florent Kermarrec
40eb779e67
software/include/base: fix system.h for or1k
2016-04-10 17:21:54 +02:00
Florent Kermarrec
238d69f186
software/common: use -std=gnu99 for GCC
2016-04-10 17:21:17 +02:00
Florent Kermarrec
8ced064160
soc/software/libcompiler_rt: fix mulsi3 compilation
2016-04-07 08:28:38 +02:00
Florent Kermarrec
80d78698e3
soc/software/libnet/microudp: fix debug flag
2016-04-07 08:28:38 +02:00
Florent Kermarrec
454d5d13e2
soc/software: fix libcompiler_rt mulsi3.c compile
2016-04-04 08:36:23 +02:00
Florent Kermarrec
17f6cb1f17
initial RISC-V support (with picorv32), still some software to do (manage IRQ, L2 cache flush)
2016-04-01 00:09:17 +02:00
Florent Kermarrec
7e62cdf601
soc/software/bios: update default ip addresses (local: 192.168.1.50 / remote: 192.168.1.100)
2016-03-31 10:55:11 +02:00
Florent Kermarrec
2c32791a28
soc/software/bios/main: add capability to configure TEST_USER_ABORT_DELAY
2016-01-14 16:53:04 +01:00
Florent Kermarrec
492f276247
soc/software/bios/main: give priority to romboot over serialboot/netboot
2016-01-14 16:46:42 +01:00
Florent Kermarrec
3191533889
soc/software/libnet: add debug defines on microudp
2015-12-07 12:03:36 +01:00
Florent Kermarrec
6f4dd14ffa
soc/software/boot: add #ifndef on LOCALIP and REMOTEIP to allow definition in the SoC with add_constant
2015-11-23 11:08:04 +01:00
Florent Kermarrec
714a3d88e2
add LICENSE, update copyrights, add Migen install instructions
2015-11-11 13:22:39 +01:00
Florent Kermarrec
bda196fbc8
soc/software/bios/sdram: split memtest and allow external #define of memtest sizes
2015-11-11 13:10:03 +01:00
Florent Kermarrec
3f43a49382
soc: merge with misoc 3fcc4f116c3292020cb811d179e45ae45990101b
...
changes:
-software/bios: remove dataflow
-cores/identifier: replace with user-defined string
-interconnect/CSRBankArray: support read-only mappings
-targets: Added Numato Mimas V2 target
-Our libunwind changes were merged upstream.
-wishbone: update TODO
-replace Counter in Converters
-Fix CSRBankArray
-flterm: properly exit on ^C.
2015-11-10 16:51:51 +01:00
Florent Kermarrec
3297210e48
boards/targets/sim: get SDRAM working in simulation with sdram/model
2015-11-10 12:57:23 +01:00
Florent Kermarrec
4afe4a07e4
soc/software: remove memtest (should be re-written)
2015-11-10 12:22:08 +01:00
Florent Kermarrec
6764c06b62
soc/sofware: remove libdyld
2015-11-10 12:21:23 +01:00
Florent Kermarrec
f72e172ac3
soc/software: remove libunwind
2015-11-10 12:16:34 +01:00
Florent Kermarrec
6a0f85dc42
litex: reorganize things, first work working version
2015-11-07 17:48:55 +01:00