*** tpb has joined #timvideos | 00:00 | |
mithro | tannewt: I've made it so you can read the last token, should let you tell if the data is a setup packet or a data packet | 00:46 |
---|---|---|
mithro | xobs: What command are you running? | 00:48 |
xobs | mithro: ./make.py | 00:48 |
xobs | Or CPU=lm32 ./make.py | 00:48 |
mithro | xobs: You don't run ./make.py directly | 00:48 |
mithro | xobs: make gateware | 00:48 |
mithro | xobs: make firmware | 00:48 |
mithro | or similar | 00:48 |
mithro | xobs: What instructions told you to run make.py ? | 00:49 |
xobs | mithro: nothing, but nothing says to run "make" either, and other projects such as netv2 and the genesys2-soc have you running a python command directly, so it seemed the most logical thing to do. | 00:51 |
mithro | Guess we should link to https://github.com/timvideos/litex-buildenv/wiki/Using | 00:52 |
tpb | Title: Using · timvideos/litex-buildenv Wiki · GitHub (at github.com) | 00:52 |
mithro | xobs: There is also https://github.com/timvideos/litex-buildenv/wiki/HowTo-FuPy-on-iCE40-Boards | 00:53 |
tpb | Title: HowTo FuPy on iCE40 Boards · timvideos/litex-buildenv Wiki · GitHub (at github.com) | 00:53 |
mithro | xobs: litex-buildenv is closer to the old style like arty-soc -> https://github.com/enjoy-digital/arty-soc | 01:09 |
tpb | Title: GitHub - enjoy-digital/arty-soc: Digilents Arty SoC based on LiteX (at github.com) | 01:10 |
mithro | xobs: Replacing the Makefile with make.py might make sense sometime in the future | 01:14 |
tannewt | Mithro. Will it ack the setup packet whenever it’s received? The peripheral shouldn’t wait for the buffer be set. It’s should capture immediately, ack and interrupt that one was received | 01:18 |
mithro | tannewt: Okay, I think I might have stall working.... | 02:16 |
*** samsagaz has joined #timvideos | 02:57 | |
xobs | mithro: okay, I'm at the office now and I have my Fomu boards. Let me see if I can replicate your environment on my laptop. | 04:08 |
*** futarisIRCcloud has joined #timvideos | 04:10 | |
mithro | xobs: First step would be to get micropython going | 04:12 |
mithro | xobs: https://github.com/timvideos/litex-buildenv/wiki/HowTo-FuPy-on-iCE40-Boards | 04:13 |
tpb | Title: HowTo FuPy on iCE40 Boards · timvideos/litex-buildenv Wiki · GitHub (at github.com) | 04:13 |
*** Kripton has quit IRC | 04:13 | |
mithro | xobs: Icebreaker is probably the closest.... | 04:13 |
*** Kripton has joined #timvideos | 04:17 | |
futarisIRCcloud | xobs: Is https://www.crowdsupply.com/sutajio-kosagi/tomu-fpga says Fomu has 2MiB of flash. That's double what's on TinyFPGA BX right? | 04:24 |
tpb | Title: Tomu FPGA | Crowd Supply (at www.crowdsupply.com) | 04:24 |
xobs | futarisIRCcloud: did I put down 2 MiB? I was planning on using a 2 MiB flash chip, yeah. But I know that family has larger sizes, so it remains to be seen what we end up going with. And that does look like it's double what's on TinyFPGA BX, according to their CS page. | 04:26 |
mithro | tannewt: ping? | 04:30 |
mithro | tannewt: Should get a lot less NAK on SETUP now, still working on letting SETUP packets just reset the fifo | 04:31 |
tannewt | mithro, cool! I may have time tonight to try it | 04:48 |
mithro | tannewt: Maybe we could turn on the other functionality too? | 04:52 |
mithro | tannewt: What number of endpoints do we need? | 04:52 |
futarisIRCcloud | mithro: You should only need three endpoints for CDC. One interrupt, two bulk. | 05:02 |
*** rohitksingh_work has joined #timvideos | 05:20 | |
tannewt | mithro, what do you want to do with it? | 05:21 |
mithro | tannewt: All the examples? | 05:21 |
tannewt | we only have the one I think | 05:21 |
tannewt | not exactly sure the count | 05:21 |
tannewt | samd has 8 bidirectional | 05:21 |
mithro | tannewt: so, tinyusb is stalling endpoint 0 -- that seems wrong? | 05:26 |
tannewt | its because we don't support the high speed descriptor request | 05:27 |
mithro | tannewt: I guess you just don't stall SETUP packets - you can still STALL a IN/OUT transaction on EP0? | 05:29 |
mithro | tannewt: Do you need "Isochronous Transfers" ? | 05:30 |
tannewt | not yet | 05:30 |
tannewt | I think hid uses interrupt | 05:30 |
mithro | From a device point of view - is there actually any difference between interrupt and bulk? | 05:31 |
tannewt | not that I know of | 05:31 |
mithro | tannewt: Shall we try enabling the other modes? | 05:32 |
tannewt | do you have cdc working? | 05:33 |
xobs | Trivia fact: You can't have Bulk endpoints on a LS device. MIDI requires Bulk endpoints. If you simply redefine them as Interrupt endpoints, Windows, Linux, and Mac all will let you have a LS MIDI device. | 05:33 |
mithro | tannewt: I've currently configured it for ep0=bidir, ep1=in and ep2=out | 05:33 |
mithro | tannewt: Is that enough for cdc? | 05:35 |
tannewt | I think so | 05:35 |
mithro | tannewt: It's pretty easy to change... | 05:35 |
mithro | tannewt: How do I figure out how tinyusb needs the endpoints to look like? | 05:36 |
tannewt | I'd print out from edpt_open | 05:37 |
tannewt | or look in the auto-desc file | 05:38 |
mithro | Hrm, now I'm getting a failure to program again.... | 05:41 |
tannewt | enabling other stuff like MSC will take more space | 05:41 |
mithro | Unable to open serial port: Input/output error | 05:45 |
mithro | [105654.423013] cdc_acm 2-13.1.3:1.0: acm_port_activate - usb_submit_urb(ctrl irq) failed | 05:45 |
mithro | tannewt: How do I make an ep_addr? | 05:50 |
tannewt | its the epnum with the direction mask | 05:51 |
mithro | tannewt: you don't have a macro which takes a direction + number? | 05:51 |
mithro | tannewt: Any idea what | 06:01 |
mithro | process_set_config: 463: failed | 06:01 |
mithro | Is that the highspeed? | 06:03 |
mithro | I'm not seeing any calls to open either... | 06:05 |
mithro | Well, I think that is me for the night | 06:19 |
mithro | tannewt / xobs: I pushed the latest usb code | 06:20 |
xobs | mithro: still bringing up fupy. with the 48 mhz clock it's not meeting timing (yay!), so I'm trying to figure out how to convince migen that cd_sys is actually 16 MHz (since I'm running it through a PLL) | 07:16 |
tannewt | mithro, what all did you push? | 07:19 |
tannewt | got it, valentyusb and tinyusb it uses | 07:28 |
tannewt | (for those following along) | 07:28 |
_florent_ | xobs: hi, for your constraint it should be something like: platform.add_period_constraint(self.crg.cd_sys.clk, 62.5) | 07:32 |
xobs | _florent_: thanks! I managed to get it to work by saying `platform.default_clk_period = 1/16e-3` in the "_CRG(Module) -> __init__()" definition in my platform's `base.py` | 07:33 |
_florent_ | xobs: ok good, if the 16Mhz is directly from the board, that's probably better yes | 07:38 |
tannewt | mithro, the stall state needs to be reset on endpoint 0 when a setup token is received | 07:59 |
tannewt | I tried to figure out how to do it in valentyusb but quickly got lost | 08:00 |
tannewt | https://usercontent.irccloud-cdn.com/file/OmNsX5yX/Screen%20Shot%202018-12-09%20at%2011.52.41%20PM.png | 08:00 |
tannewt | I tried to clear the stall when receive the setup packet but its too late, the host has already given up | 08:01 |
tannewt | keep working at it though! I think setup tokens are one of the trickier parts | 08:02 |
tannewt | endpoint 0 also stalls in the both directions I think too | 08:02 |
tannewt | (the trace is from total phase's data center program) | 08:04 |
xobs | Woo, progress. I got litex to build on fomu. | 08:54 |
xobs | And I get a serial prompt. | 08:54 |
xobs | And micropython works. Cool! | 09:01 |
cr1901_modern | xobs: Excellent work | 09:03 |
*** sb0_ has quit IRC | 09:26 | |
*** sc00bz1 has joined #timvideos | 09:31 | |
*** sc00bz has quit IRC | 09:32 | |
*** rohitksingh_work has quit IRC | 10:34 | |
*** rohitksingh_work has joined #timvideos | 10:35 | |
*** futarisIRCcloud has quit IRC | 10:59 | |
*** rohitksingh_work has quit IRC | 11:17 | |
*** waldo323 has joined #timvideos | 11:44 | |
*** rohitksingh_work has joined #timvideos | 11:46 | |
*** waldo323 has joined #timvideos | 11:54 | |
*** tsglove has quit IRC | 13:06 | |
*** tsglove has joined #timvideos | 13:17 | |
*** rohitksingh_work has quit IRC | 13:29 | |
*** cr1901_modern1 has joined #timvideos | 13:46 | |
*** cr1901_modern has quit IRC | 13:49 | |
*** samsagaz has quit IRC | 14:05 | |
*** rohitksingh has joined #timvideos | 14:07 | |
*** rohitksingh has quit IRC | 14:24 | |
*** rohitksingh has joined #timvideos | 14:27 | |
*** Kripton has quit IRC | 14:48 | |
*** Kripton has joined #timvideos | 14:50 | |
*** sc00bz1 is now known as Sc00bz | 14:57 | |
*** cr1901_modern1 has quit IRC | 15:00 | |
*** cr1901_modern has joined #timvideos | 15:00 | |
mithro | https://tomverbeure.github.io/rtl/2018/12/06/The-VexRiscVNew-Way-To-Design.html | 16:28 |
mithro | tannewt: it's almost like every decision that USB did makes it hard to create a low resource usage hardware | 16:30 |
mithro | https://tomverbeure.github.io/rtl/2018/12/06/The-VexRiscV-CPU-A-New-Way-To-Design.html | 16:32 |
tpb | Title: The VexRiscV CPU - A New Way to Design | Electronics etc… (at tomverbeure.github.io) | 16:32 |
mithro | xobs: FYI, nextpnr mostly ignores constraints at the moment | 16:33 |
mithro | xobs: this is on your business card one, right? | 16:33 |
mithro | xobs: using the RPi? | 16:34 |
cr1901_modern | business card? | 16:34 |
mithro | cr1901_modern: ice40 FPGA business card :-) | 16:34 |
cr1901_modern | mithro: Ahhh cool, how does one get one of those if I can't make a trip to Singapore :P? | 16:35 |
cr1901_modern | cc: xobs :P | 16:35 |
cr1901_modern | tinyfpga uses a MachXO2 business card | 16:35 |
daveshah | mithro: strictly speaking it doesn't ignore them, all the algorithms just make use of them | 16:43 |
daveshah | It's just atm it pretty much optimises for overall max Fmax | 16:44 |
daveshah | But the timing opt pass I added recently definitely cares about them in a relative sense now | 16:44 |
mithro | daveshah: Well, there is no way to pass multiple timing domains at the moment, only the Python API right? | 17:01 |
daveshah | mithro: that is the primary constraint format for nextpnr | 17:02 |
daveshah | Even once we have things like timing driven rip up in the router that's how we'll recommend constraints to be specified | 17:02 |
mithro | daveshah: Everything else on the planet uses a variant sdc | 17:02 |
daveshah | We might also support vendor formats in the future for cross compatibility | 17:02 |
daveshah | But the Python API will allow nice powerful constraints | 17:03 |
daveshah | Particularly once you get to things like false paths | 17:03 |
daveshah | The SDF parser will probably use the Python API in fact | 17:04 |
daveshah | This stuff tends to be easier in Python than C++ and isn't perf critical | 17:05 |
*** rohitksingh has quit IRC | 18:09 | |
cr1901_modern | mithro: Have you ever used this for your projects? https://landscape.io | 18:24 |
tpb | Title: Landscape :: Hosted continuous Python code metrics (at landscape.io) | 18:24 |
mithro | cr1901_modern: I have played with it | 18:25 |
cr1901_modern | Found it by accident, looks interesting, if a bit aging | 18:25 |
cr1901_modern | mithro: Ahhh I see... I just signed up for it and it shows me a few of your old builds | 18:33 |
cr1901_modern | include something called flumotion | 18:33 |
cr1901_modern | I figured you maybe had used it before because you have other automated flows on your repos such as automatically adding Github labels and the TODO bot | 18:36 |
mithro | for the github labels I use probot autolaber | 18:49 |
Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!