Commit Graph
30 Commits
Author SHA1 Message Date
Sean Cross 26dcc19b18 valentyusb: eptri: don't double-advance read buffer
Due to an error, we were double-advancing the FIFO buffer.  The end
result was that the second half of most reads were getting ignored.

This wasn't found during earlier testing because only 64-byte buffers
were tested.

This corrects this error by avoiding double-advancing the buffer.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-29 18:14:23 +08:00
Sean Cross a106c5114b bsp: fomu: fix rom address for example programs
During development, the ROM address was at offset 0x2001a000
(due to the fact that the test program was located immediately
following the bitstream).

In normal Fomus, the ROM address is at offset 0x20040000, in order
to take into account additional bitstreams and bootloaders.

Correct the address to the offset in order to get examples working
with existing Fomus.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-24 01:15:31 +00:00
Sean Cross a9282eab51 eptri: clear proper endpoint when opening IN port
When opening a USB port, we ensure the buffer is NULL and has
a length of 0.

Due to a mistake in specifying the endpoint type, we never actually
cleared the value when opening an IN endpoint.  This patch fixes
the comparison when opening an IN endpoint.

This fixes issue #218.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-20 17:45:21 +08:00
Sean Cross 679821e917 fomu: bsp: don't call usb isr when usb is disabled
When compiled without usb support, we don't want to call the USB ISR.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 11:10:37 -08:00
Sean Cross 67267a9399 fomu: bsp: remove unused messible functions
These functions are unused in the current implementation.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 11:08:56 -08:00
Sean Cross dce070ebe0 examples: make: specify CROSS_COMPILE for fomu
When BOARD=fomu, use the riscv cross-compiler.  Otherwise, use the
default arm compiler.  This can be overridden by passing
CROSS_COMIPLE on the command line.

Note that there are now three common risc-v prefixes:

    - riscv32-unknown-elf- : Common for users who compile their own
    - riscv64-unknown-elf- : Upstream multiarch toolchain from SiFive
    - riscv-none-embed-    : xPack embedded version of SiFive toolchain

Here we assume users are using the `riscv-none-embed-` toolchain from
xPack, because it appears to be growing more common.  Additionally,
there is much confusion surrounding `riscv64-unknown-elf-`, which
actually includes both 32- and 64-bit runtimes and can generate software
for both.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:26:00 -08:00
Sean Cross 737d437ab8 travis: fetch xPack risc-v toolchain
This toolchain seems popular in the embedded space, and is generally
preferred over the upstream SiFive toolchain.  It can produce both
32- and 64-bit binaries, so its prefix is riscv-none-embed-.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:22:18 -08:00
Sean Cross cc73990530 tusb: rename foosn to valentyusb
Use the name `valentyusb` as the vendor for the `valentyusb`
project, rather than the manufacturer name of the Fomu device.

This is because the `valentyusb` core can be used across multiple
vendors, much like how other cores can be used across chip vendors.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:08:47 -08:00
Sean Cross 8c5f02960b valentyusb: rename from foosn
While Fomu is produced by Foosn, the actual name of the hardware
block is `valentyusb`.  Rename the module to match that.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:08:47 -08:00
Sean Cross e05e9801e4 fomu: gate debug/logging features
This gates the majority of the debug and logging features behind
testable macros.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:08:47 -08:00
Sean Cross 3292920933 fomu: first stable working commit
This appears to be stable, and works well.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:08:47 -08:00
Sean Cross 25d5628063 fomu: csr: sync csr
Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:08:47 -08:00
Sean Cross f087cb1580 fomu: crt0: minor text refactor
Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:08:47 -08:00
Sean Cross 1882a87212 fomu: remove reference to SETUP_CTRL.ACK
THis bit isn't used anymore, so remove it.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:08:47 -08:00
Sean Cross 729c8d073c fomu: dcd_fomu: add next_ev support
Now that we have the `USB_NEXT_EV` register, take advantage of
it to work around issue #207.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:09:38 -08:00
Sean Cross 77cf0b5bfd fomu: csr: add version with next_ev register
The Fomu bitstream now includes a `USB_NEXT_EV` register to
indicate which is the next logical event to process.  Add this
register to the CSR definition.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:08:47 -08:00
Sean Cross 913032ae1d dcd_fomu: nearly there
Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:08:01 -08:00
Sean Cross 835a72c595 fomu: semi-working dcd file
Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:08:01 -08:00
Sean Cross 83bca4a74f fomu: semi-working commit
Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:08:01 -08:00
Sean Cross 843136d0e4 fomu: commit latest version
Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:08:01 -08:00
Sean Cross 22fd7bf85e fomu: first fully-working release
This is able to transfer lots of data back and forth across MSC.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:08:01 -08:00
Sean Cross 4a8475b8a7 src: add eptri to tusb
Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:08:01 -08:00
Sean Cross 0559fd13fb fomu: fix some issues with dcd_fomu
Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:08:01 -08:00
Sean Cross 359189ea2d tusb_verify: add riscv assert support
This simply executes an "ebreak" instruction.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:08:01 -08:00
Sean Cross ef07427e06 bsp: fomu: update
Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:03:13 -08:00
Sean Cross 470d827f13 docs: porting: remove invalid information and fix typo
It is no longer the case that boards need to be added to this file.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:03:13 -08:00
Sean Cross 32bb68409e portable: fomu: get msc to enumerate
Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:03:12 -08:00
Sean Cross ba889eeb9e bsp: fomu: fix linker script overlap
The end of the data section was overlapping the start of the bss.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:03:12 -08:00
Sean Cross 36ede44885 fomu: wip support
Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:03:12 -08:00
Sean Cross f152bed4b4 fomu: initial commit
Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:03:12 -08:00