Commit graph

26 commits

Author SHA1 Message Date
bunnie
ed51bbc23e update USB PID, resolving issue #182 2022-06-15 01:56:27 +08:00
bunnie
e32ea4d3f5 fix #174 2022-06-10 21:36:53 +08:00
Sean Cross
3ae9d8abf0 apps/services: remove xous::xous_main macro usage
This macro will be removed, since it is no longer necessary. Remove this
macro across the project and replace it with a standard `main()`
function.

Signed-off-by: Sean Cross <sean@xobs.io>
2022-05-31 13:33:30 +08:00
bunnie
3f779d5def tweak delays for more consistent key down reporting 2022-05-16 21:43:24 +08:00
bunnie
71f5183766 working USB development demo (HID keyboard emulation) 2022-05-16 21:26:37 +08:00
bunnie
ffbfa1dc3f wooooo i spy with my little eye an emulated HID keyboard 2022-05-16 13:15:21 +08:00
bunnie
2b57fa559d use Cargo patches so we can target our branch of usb-device
we have to add a patch to usb-device because the SpinalHDL UDC
needs a little extra handholding on EP0 to switch IN and OUT modes
(vs e.g. STM32 where EP0 has IN and OUT descriptors).
2022-05-16 03:09:28 +08:00
bunnie
874c4d41ff well, it's enumerating. now what? 2022-05-16 02:49:23 +08:00
bunnie
77038737b2 just before attempting to use IN to linked list trick 2022-05-16 00:34:14 +08:00
bunnie
26739472af this requires an adjustment to the SoC, but now we're seeing half the setup
a small bug was found in the device core that is now fixed. the
device core was not computing the target for the SETUP transaction
correctly if the HEAD of the OUT descriptor was set in advance of
the SETUP transaction. we now see much more consistent SETUP
transactions, and even the first IN response.

the next challenge is figuring out why the second IN response doesn't
seem to be issued.
2022-05-15 14:11:14 +08:00
bunnie
8c39b64126 getting closer...
we're now two packets into the setup.

i think i see one fundamental mismatch between how the driver
behaves and how the hardware runs. it has to do with where the
ep0 data gets deposited for a SETUP or OUT transaction --
the HEAD of the list can't be allocated the transaction is
completely ready to go.

will bang on this more tomorrow, but this is progress at least.
2022-05-15 02:16:24 +08:00
bunnie
bd1cc10678 refactor code base after a slightly better understanding of the USB core
still one mystery remaining, howcome setup packets don't "stick"
the first time around...
2022-05-14 23:53:10 +08:00
bunnie
0dadc32716 fix interrupts, direction
interrupts seem to behave much more like i think they should.
i think the interrupt unit on the spinalHDL block is not made to
have the whole set enabled/disabled frequently, it just wants
to have the bits banged to clear the interrupts. enabling and
disabling interrupts as a whole causes some erratic operations.
NB: the reference linux driver only enables them once and never
turns them off.

also, realized just now that OUT is from the direction of the host.
so OUT on the device is incoming data. oops.

things are moving in the right direction, i'm seeing the next
IN packet being issued by the USB driver on the precursor
side, but it's not being sent by the hardware. yet.
2022-05-13 23:44:15 +08:00
bunnie
adf8eb6519 some progress .. seeing setup packets now 2022-05-10 13:24:08 +08:00
bunnie
6b04f0e73c fix missing pullup bit, required for core to operate correctly
even though it's not hooked up externally, it affects the internal
logic somehow?
2022-05-09 21:10:34 +08:00
bunnie
047b9e539d refactor of usb hardware drivers
- write only u32s to registers
- make everything volatile
2022-05-09 10:04:59 +08:00
bunnie
8310d64de9 layer in the HID keyboard drivers 2022-05-07 13:21:23 +08:00
bunnie
bee8334b3b flesh out usb driver 2022-05-06 13:40:12 +08:00
bunnie
fd2aa438c0 still struggling a bit to get basic USB connectivity test to pass 2022-05-05 20:51:48 +08:00
bunnie
3133d386c4 cleanup type problems incurred while fixing +Send trait on core types 2022-05-03 01:13:24 +08:00
bunnie
322de782d7 ensure all allocs meet the 16-byte alignment criteria 2022-05-02 23:15:52 +08:00
bunnie
c12d9cbe8f working through the usb endpoint descriptor allocator 2022-05-02 22:59:33 +08:00
bunnie
467254fa81 lay down some initial data structures to talk to the UDC 2022-04-27 02:41:07 +08:00
bunnie
a7684343f2 add first commands to toggle core connectivity 2022-04-27 01:22:53 +08:00
bunnie
5f2eef3afd initial toy repl for usb debugging 2022-04-27 00:53:58 +08:00
bunnie
a09d773269 re-add the usb test directory 2022-03-31 04:37:54 +08:00