Commit Graph

43 Commits

Author SHA1 Message Date
Sean Cross
b40a9bad43 rgb: fix typo in macro
Signed-off-by: Sean Cross <sean@xobs.io>
2019-04-05 18:17:11 +08:00
Sean Cross
b5f17acdf6 sw: enable fancy led effects
Support different LED patterns depending on the mode.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-04-05 18:10:05 +08:00
Sean Cross
fd76536351 usb-dev: reboot to image 0
Since this is a failsafe bootloader, reboot to Image 0.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-04-05 17:33:28 +08:00
Sean Cross
eaa0d63ccb usb-epfifo: fix DATA0/DATA1 swaps for Tx
We were sometimes sending DATA0 instead of DATA1.  Fix that.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-04-05 17:33:02 +08:00
Sean Cross
7d091a72b9 main: poll dfu in main loop
Signed-off-by: Sean Cross <sean@xobs.io>
2019-04-05 15:10:19 +08:00
Sean Cross
7bcc8529d6 dfu: initial working commit
This commit actually works, but still has a few issues.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-04-05 15:09:52 +08:00
Sean Cross
ac349ce1a1 spi: support 32- and 64-kB erase blocks
Signed-off-by: Sean Cross <sean@xobs.io>
2019-04-05 15:09:04 +08:00
Sean Cross
cbf4958236 usb-epfifo: remove extra USB_NAK setting
This works around an issue, though it's still not properly working.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-04-05 13:21:09 +08:00
Sean Cross
2b0575889f usb-dev: remove commented-out printf statements
Signed-off-by: Sean Cross <sean@xobs.io>
2019-04-05 13:20:54 +08:00
Sean Cross
c92af747cd spi: actually transmit data
We were sending data on CS, not on CLK.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-04-05 13:19:46 +08:00
Sean Cross
d72925fdeb sw: experimental improved dfu performance
Signed-off-by: Sean Cross <sean@xobs.io>
2019-04-03 22:11:31 +08:00
Sean Cross
85b6d75882 sw: update to latest generated files
Signed-off-by: Sean Cross <sean@xobs.io>
2019-04-02 18:11:25 +08:00
Sean Cross
dbc0f81715 usb: re-enable extra usb descriptors
Signed-off-by: Sean Cross <sean@xobs.io>
2019-04-02 18:11:09 +08:00
Sean Cross
851e54e70c main: initialize rgb driver
Signed-off-by: Sean Cross <sean@xobs.io>
2019-04-02 18:10:56 +08:00
Sean Cross
85bdc7991c rgb: add initial rgb code
It initializes the rgb driver, and can write to its registers.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-04-02 18:10:17 +08:00
Sean Cross
a3c05bd19e sw: system: add reset key to reboot()
Add the key `0xac` to the reset command, to prevent accidental resets.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-04-02 16:40:09 +08:00
Sean Cross
33aec0876b sw: usb-epfifo: disable usb events before disconnect
If we don't disconnect the usb event system, then we will lock up
in an irq storm.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-04-02 16:39:13 +08:00
Sean Cross
0a4c73a63a sw: wip commit -- dfu state machine works, spi broken
Need to fix SPI and SB_WARMBOOT, but the DFU state machine now works.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-03-28 11:13:25 +08:00
Sean Cross
a3298226e5 sw: getting dfu working about to add debug bridge
We're having issues getteing DFU working.  It almost works, but has some
issues.  Unfortunately, we're out of space for printf.

Now we will work to get the UART Wishbone bridge working, to move
forward on debugging support.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-03-26 09:39:55 +08:00
Sean Cross
b0afd2b0ae sw: puts: don't eat first character
Signed-off-by: Sean Cross <sean@xobs.io>
2019-03-25 18:59:57 +08:00
Sean Cross
3d6acaf51e sw: wip commit -- getting dfu working
Now that we have SPI and USB both working, we can start to close the
loop and get DFU working.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-03-25 17:39:06 +08:00
Sean Cross
7210ee219d sw: add div/mul instructions
For foboot, we're using a CPU without a divide or multiply instruction,
to save gates.  Replace these with software implementations.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-03-21 11:01:46 +08:00
Sean Cross
2139317530 sw: include: sync csr.h and mem.h
Signed-off-by: Sean Cross <sean@xobs.io>
2019-03-20 13:14:57 +08:00
Sean Cross
dd9cdfa7a3 sw: usb-epfifo: make buffer pointers static
Signed-off-by: Sean Cross <sean@xobs.io>
2019-03-20 13:14:20 +08:00
Sean Cross
03327067ff sw: add spi base
This is taken from fomu-flash, and needs to be adapted.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-03-20 11:23:19 +08:00
Sean Cross
ff4774ebc3 sw: usb-epfifo: fixups to remove errors in enumeration
With these fixups, we can now enumerate successfully.

The code is a mess, but this is the first functionally-correct build.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-03-11 11:51:19 +08:00
Sean Cross
9909b3bbdb sw: usb-desc: set product name to "Fomu Bootloader"
Signed-off-by: Sean Cross <sean@xobs.io>
2019-03-11 11:50:55 +08:00
Sean Cross
f5fd282d61 sw: usb-dev: remove errant i++
Signed-off-by: Sean Cross <sean@xobs.io>
2019-03-10 22:46:02 +08:00
Sean Cross
d64f88d995 sw: usb-epfifo: mostly-working commit
Still has issues with large reads.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-03-10 22:42:14 +08:00
Sean Cross
c180c1b1b8 sw: usb-epfifo: increase packet size to 64 bytes
This masks some problems we're seeing.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-03-10 22:41:22 +08:00
Sean Cross
a552d1eb91 usb-dev: limit the size of outgoing packets
Signed-off-by: Sean Cross <sean@xobs.io>
2019-03-10 22:40:52 +08:00
Sean Cross
69f7b5d836 csr: replace with latest generated version
Signed-off-by: Sean Cross <sean@xobs.io>
2019-03-10 20:53:30 +08:00
Sean Cross
c98017cbc9 client: working on the client
Signed-off-by: Sean Cross <sean@xobs.io>
2019-03-10 15:25:33 +08:00
Sean Cross
3df59a866d metastable fix: wip
Trying to figure out what's causing this problem.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-03-05 20:28:54 +08:00
Sean Cross
c0842737bf sw: usb-unififo: add code to test usb RX
This just reads SOF packets and validates they're correct.  This ensures
that bitstuffing is good.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-03-05 15:50:36 +08:00
Sean Cross
ce071dac67 sw: main: remove usb_sync() call
Signed-off-by: Sean Cross <sean@xobs.io>
2019-03-05 15:50:08 +08:00
Sean Cross
7f30d7f79b sw: Makefile: hardcode project name to "foboot"
Signed-off-by: Sean Cross <sean@xobs.io>
2019-03-05 15:49:21 +08:00
Sean Cross
380a4f1fa2 sw: unififo: print out SOF frames, to ensure link integrity
Print out the SOF frames so that we can make sure the Rx path is good.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-03-05 14:52:42 +08:00
Sean Cross
c78e9ab214 sw: add missing include files
Signed-off-by: Sean Cross <sean@xobs.io>
2019-03-05 12:02:02 +08:00
Sean Cross
ffd0285613 main: more work on fixing stuff
Signed-off-by: Sean Cross <sean@xobs.io>
2019-03-05 11:54:48 +08:00
Sean Cross
1c38c58a6f Merge branch 'master' of git.xobs.io:xobs/foboot 2019-03-05 09:18:20 +08:00
Sean Cross
e4af98b4aa generated: update generated csr, mem, and ld files
Signed-off-by: Sean Cross <sean@xobs.io>
2019-03-05 09:05:29 +08:00
Sean Cross
84d4b40897 foboot: move software stuff to sw directory
Signed-off-by: Sean Cross <sean@xobs.io>
2019-03-05 08:54:51 +08:00