Commit Graph

2531 Commits

Author SHA1 Message Date
Mateusz Holenko c1781e5e7c dcd_eptri: Fix rx_buffer/tx_buffer volatile annotation
This makes `rx_buffer` and `tx_buffer` *pointers*
volatile in order to avoid caching them in a register.

The original notation meant "a pointer to a volatile value"
(equivalent of `volatile uint8_t *`). This resulted in
`while(rx_buffer[ep_num] != NULL) ;` loop to get stuck
forever, even though the IRQ handler set the `rx_buffer[ep_num] = NULL`.
2020-01-14 13:57:17 +01: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
hathach 23df777b30 update nxp_driver submodule for imx rt families 2019-11-11 12:14:54 +07:00
hathach 34c903023d
Merge pull request #215 from hathach/develop
rename lpc_driver to nxp_driver
2019-11-11 12:12:42 +07:00
hathach cd96b3de86 update makefile for lpc boards 2019-11-11 11:51:51 +07:00
hathach eca14a5ab3 re-add submodule nxp_driver 2019-11-11 11:38:30 +07:00
hathach 50cfc556d2 remove submodule lpc_driver 2019-11-11 11:33:50 +07:00
hathach 1684cb06b7 update makefile for lpc mcu 2019-11-11 11:24:10 +07:00
hathach 4c7c7ce88c
Merge pull request #214 from hathach/develop
Added nRF52833 support
2019-11-11 00:27:39 +07:00
hathach d65bc34bfe added and tested nRF52833DK (pca10100) 2019-11-11 00:11:49 +07:00
hathach 4008f0d1e6 update dcd nrf5x to be indepent from nrf_usbd.h
fix build error with nrfx 2.0
2019-11-11 00:01:12 +07:00
hathach 2f19b9c100 update submodule nrfx to 2.0.0 for nrf52833 support 2019-11-10 21:04:55 +07:00
hathach a19db3bdd2 added board nrf52840 mdk dongle 2019-11-10 20:07:43 +07:00
hathach 943b7467d8 correct LED, button and uart for feather_stm32f405 2019-11-09 00:08:32 +07:00
hathach 3c49ff153e
Merge pull request #149 from pigrew/ZLP_Request2
Zlp request2
2019-11-05 00:05:21 +07:00
hathach e43e3e9f10
Merge pull request #212 from hathach/develop
fix #211
2019-11-04 23:34:19 +07:00
Nathan Conrad 8d0fa158d7 Change one more TU_ASSERT to TU_VERIFY in usbd. 2019-11-04 11:33:14 -05:00
hathach 2727983a2d fix #211 2019-11-04 22:52:29 +07:00
Nathan Conrad a94fe05ecb usbd: Change TU_ASSERT to TU_VERIFY as the assertion can be hit when bad data is sent from host. 2019-11-04 08:59:29 -05:00
Nathan Conrad c98acd3873 Use control transfer function to send control data (in usbtmc) 2019-11-04 08:54:18 -05:00
Nathan Conrad 0d856b7116
Merge pull request #3 from hathach/pigrew-ZLP_Request2
fix tud_control_status() didn't update request
2019-11-04 08:09:24 -05:00
hathach 44ad683bd6 fix tud_control_status() didn't update request 2019-11-04 11:21:57 +07:00
Nathan Conrad 68a53e05fc
Merge pull request #2 from hathach/pigrew-ZLP_Request2
zlp request2. PR for PR (has issues with STM32F0 FSDEV)
2019-11-03 17:50:41 -05:00
Nathan Conrad cebc066813 Add UART HAL source file to stm32f070 makefile. 2019-11-03 15:25:55 -05:00