*** tpb has joined #tomu | 00:00 | |
*** xkapastel has quit IRC | 00:01 | |
futarisIRCcloud | mithro / Anyone in the USA: https://rover.ebay.com/rover/0/0/0?mpre=https%3A%2F%2Fwww.ebay.com%2Fulk%2Fitm%2F192880721209 | 00:55 |
---|---|---|
futarisIRCcloud | Check out @wren6991’s Tweet: https://twitter.com/wren6991/status/1114637942201507844 | 00:56 |
futarisIRCcloud | https://rover.ebay.com/rover/0/0/0?mpre=https%3A%2F%2Fwww.ebay.com%2Fulk%2Fitm%2F202645293857 | 00:58 |
futarisIRCcloud | Anyone else in Australia want one? | 00:59 |
xobs | AmosSam: that's a good point -- I should get it building on the rpi itself, since we have an actual compiler there. | 02:48 |
*** futarisIRCcloud has quit IRC | 03:02 | |
xobs | <AmosSam "xobs: i'm trying to build foboot"> I've fixed it so now it properly builds on Raspberry Pi. I'm running a test synthesis now, and I've updated the git repo with a tagged "v1.0" release. | 06:13 |
*** rohitksingh has joined #tomu | 06:15 | |
*** rohitksingh has quit IRC | 07:05 | |
*** rohitksingh has joined #tomu | 07:09 | |
AmosSam | xobs: will try when I come home... do you have any idea why example (from sw folder) won't flash? | 07:14 |
xobs | AmosSam: Foboot [currently] is more of a failsafe bootloader. You'd use it to load something that would load a real, more flexible bootloader. | 07:17 |
xobs | It deals with FPGA bitstreams. The "sw" folder is RISC-V code, which the FPGA can't directly run. | 07:17 |
xobs | I suppose, then, the next step is to come up with the real version of Foboot that supports Python and RISC-V, in addition to ICE40 bitstreams. | 07:18 |
AmosSam | So, with dfu-util is to upload ice40 bitstreams, not riscv binaries? | 07:20 |
xobs | That is correct. | 07:21 |
*** futarisIRCcloud has joined #tomu | 07:21 | |
AmosSam | Ok, thx | 07:29 |
*** jas4711 has quit IRC | 09:17 | |
*** futarisIRCcloud has quit IRC | 09:50 | |
*** AmosSam has left #tomu | 09:52 | |
*** AmosSam has joined #tomu | 09:53 | |
*** futarisIRCcloud has joined #tomu | 10:20 | |
futarisIRCcloud | _florent_: If I run a litex bridge on a tomu, can I connect multiple tomus together? Is there any limitation on how many devices can be attached to a bridge? | 10:21 |
xobs | futarisIRCcloud: What is it you're looking to do? | 10:23 |
xobs | The litex bridge simply exposes Wishbone to Ethernet. The way it's currently written, it accept()s one connection, then relays that to the Fomu. | 10:24 |
futarisIRCcloud | Split some logic between fomu boards. Theoretically, it is possible to bridge stuff back and forth, no? | 10:31 |
xobs | It should be, yeah. Though I haven't written the USB bridge stuff yet. | 10:33 |
*** rohitksingh has quit IRC | 10:34 | |
futarisIRCcloud | xobs: Did you see https://github.com/smunaut/ice40-playground/commit/9cf400b9ad8baf33a3acdf98433dfd585fdb23f0 ? | 10:35 |
tpb | Title: projects/riscv_usb: Import RISCV + USB prototype · smunaut/ice40-playground@9cf400b · GitHub (at github.com) | 10:35 |
futarisIRCcloud | https://github.com/smunaut/ice40-playground/blob/master/cores/usb/doc/mem-map.md | 10:36 |
tpb | Title: ice40-playground/mem-map.md at master · smunaut/ice40-playground · GitHub (at github.com) | 10:36 |
xobs | futarisIRCcloud: I didn't. How does it work? | 10:39 |
futarisIRCcloud | xobs: I haven't got an icebreaker, but it looks like enumeration works at least. Best to ask tnt on #yosys ... | 10:41 |
tnt | ... I'm here too | 10:45 |
tnt | futarisIRCcloud: you should be able to run it on fomu too. I ran foboot on the icebreaker :p | 10:46 |
xobs | tnt: how does the bridge work? and what is it bridging? | 10:46 |
tnt | you mean bridge.v ? Mostly it's just glue logic to convert the picorv32 memory interface to a couple of BRAM (for boot), a couple of SPRAM (main app) and a wishbone bus for the peripherals (including USB core, SB_SPI, SB_LEDDIP, ...) | 10:48 |
xobs | Ah, okay. Somehow I thought it was an out-of-band bridge to put Wishbone on the USB bus. That'll be one of the next things I work on. | 10:54 |
tnt | How would that work ? | 10:56 |
xobs | It would look for a SETUP packet with a special bRequest, then read the address from wValue/wIndex. If it's a WRITE, then a 4-byte OUT value would come next. If it's a READ, then a 4-byte IN packet would be queued. | 10:58 |
futarisIRCcloud | tnt: Cool. One of these days I'd like to run RFNoC or something similar on fomu for SDR DSP purposes. Have you got any DSP happening on ICE40 yet? | 10:59 |
xobs | futarisIRCcloud: there is limited dsp inferrence in Yosys, and I have an open bug on getting it working with the Vexriscv multiplier. | 11:02 |
xobs | Woo, the new "heap" placer is super nice. It manages to route the 48 MHz domain at 60 MHz. | 11:04 |
tnt | yeah, I've been using it for the past 4 months or so :p | 11:04 |
tnt | futarisIRCcloud: I have some prototyping done but nothing running on real HW yet (CIC / FIR). | 11:05 |
xobs | I need to rebuild the rpi image with support for it. I just rebuilt my Windows instance of nextpnr-ice40 with it. | 11:05 |
futarisIRCcloud | https://github.com/YosysHQ/yosys/issues/882 ? | 11:05 |
tpb | Title: Better inference of the ICE40 SB_MUL16 blocks · Issue #882 · YosysHQ/yosys · GitHub (at github.com) | 11:05 |
tnt | and I don't rely on inference at all. | 11:05 |
xobs | futarisIRCcloud: that's the issue I opened, yes. | 11:06 |
futarisIRCcloud | https://en.m.wikipedia.org/wiki/Cascaded_integrator–comb_filter / https://en.m.wikipedia.org/wiki/Finite_impulse_response | 11:07 |
tpb | Title: Cascaded integrator–comb filter - Wikipedia (at en.m.wikipedia.org) | 11:07 |
futarisIRCcloud | tnt: Ok. Let me know where you've put the code. | 11:07 |
tnt | nowhere yet | 11:08 |
tnt | looking at that yosys issue ... well the 3 other mults are not something the DSP blocks can do AFAICT. | 11:11 |
xobs | That's true, but apparently Icecube2 does it somehow. I should look into how they do it. | 11:12 |
futarisIRCcloud | https://mobile.twitter.com/oe1cxw/status/1098647996445659136 | 11:14 |
tpb | Title: Twitter (at mobile.twitter.com) | 11:14 |
*** rohitksingh has joined #tomu | 11:15 | |
futarisIRCcloud | Hi rohitksingh | 11:16 |
rohitksingh | futarisIRCcloud: hi! :) | 11:17 |
rohitksingh | have only some time left, 10% battery without charger, travelling outside :p | 11:17 |
*** rohitksingh has quit IRC | 11:26 | |
AmosSam | xobs: yosys from git has -dsp option, and when I installed it on my laptop, foboot build succedded without any modifications! | 14:05 |
AmosSam | Also, on rpi i builds C code, but crashes on bitstream generation, I think because of ram size... i'll try adding swap... | 14:06 |
AmosSam | But still, I cant flash blink sample from fomu-test with dfu-util, still gives unknown error, usually at 0 bytes, sometime 256 or event 512 bytes... | 14:07 |
xobs | AmosSam: I wonder what's causing that reliability problem. Maybe a spi issue. | 14:08 |
AmosSam | Soft or hardware problem? Because, with fomu-flash same blink example works... | 14:10 |
xobs | Interesting. Huh... | 14:10 |
xobs | That rules out hardware. Maybe it's a USB stack issue. | 14:11 |
AmosSam | Can I do something to test it? | 14:14 |
xobs | Try building it by adding the --with-pll argument? | 14:26 |
xobs | Or try reverting https://github.com/xobs/valentyusb/commit/65292f0adbe688bda27f0b202cba9bea28de0d14 in hw/deps/valentyusb | 14:29 |
tpb | Title: rx: pipeline: try shortening fifo to 8 · xobs/valentyusb@65292f0 · GitHub (at github.com) | 14:29 |
*** emeb has joined #tomu | 15:00 | |
xobs | AmosSam: I'm still wondering if it's an issue with the bit-banged spi. | 15:12 |
xobs | Oh, wait, I know. | 15:12 |
AmosSam | i just builded it with-pll and will try | 15:13 |
xobs | AmosSam: Can you update your copy of fomu-flash? | 15:13 |
AmosSam | Fomu-flash? | 15:13 |
xobs | What are you using to write the SPI? | 15:14 |
AmosSam | Fomu-flash from rpi image | 15:14 |
AmosSam | Now im clonning repo and will build new | 15:15 |
xobs | You can try installing it from https://github.com/im-tomu/fomu-pi-gen/blob/master/stage2-fomu/04-fomu/files/fomu-flash_1.3.deb?raw=true | 15:16 |
xobs | (I feel like I need to set up an apt repo now...) | 15:16 |
AmosSam | Build is done, just wait minute till I solder wires to fomu.... | 15:17 |
xobs | Depending on the vintage of your rpi image, it may not properly set the SPI flash pins correctly after the rpi programs it. | 15:17 |
xobs | Oh, is it disconnected? | 15:17 |
xobs | Okay, nevermind on that idea then. | 15:17 |
xobs | Hmm. | 15:17 |
xobs | I thought you had the wires connected already. | 15:17 |
xobs | It could be as simple as MOSI and MISO being swapped. | 15:18 |
AmosSam | No worries, I know them to ceonnect them... | 15:18 |
xobs | I thought maybe you had run into https://github.com/im-tomu/fomu-flash/commit/1b0feb297f2946508b3ded7235d9a22f4bbec0da -- but that couldn't be the case since you don't have the Pi connected. | 15:21 |
tpb | Title: spi: leave pins as "input" on exit · im-tomu/fomu-flash@1b0feb2 · GitHub (at github.com) | 15:21 |
xobs | What kind of machine are you running these tests on? | 15:27 |
AmosSam | Ok, foboot build with with-pll, cloned fomu-flash repo and flashed top-multiboot.bin with newly build fomu-flash, and result is same | 15:28 |
AmosSam | Jea, I flash fomu with rpi, and test it on laptop with arch linux.. does version of dfu-util matters? | 15:30 |
xobs | Okay, so the good (?) news is that the USB is consistent, which makes me think it's not a problem with the USB stack. It keeps generating dfuERROR (10) / errUNKNOWN (14)? | 15:31 |
AmosSam | Yes | 15:33 |
AmosSam | Now, I'm trying with reverted last commit on valentyusb | 15:34 |
*** xkapastel has joined #tomu | 15:40 | |
xobs | Anything in dmesg? | 15:41 |
xobs | Now I'm back to thinking it's a USB issue. I say this because dfu_get_status() in dfu-utils sets the error by default to errUNKNOWN, and never re-sets it if it doesn't manage to transfer 6 bytes. | 15:42 |
mifune | im getting the same error, dfu-util either manages to download nothing or a couple of blocks | 15:45 |
xobs | Okay, the good news is that I've managed to replicate the issue. | 15:46 |
xobs | I think there's an incompatibility with XHCI. | 15:47 |
*** futarisIRCcloud has quit IRC | 15:50 | |
AmosSam | Ok, with reverted commit in valentyusb from second try, dfu-util uploaded 4352 bytes... | 15:51 |
AmosSam | And with that reverted commit, bitstream doesn't build with --with-pll | 15:52 |
AmosSam | Dmesg is clean, nothing after enumeration of device | 15:53 |
AmosSam | And dfu-util errors at different upload progresses, max currently is 11264 bytes | 15:54 |
AmosSam | Ok, on usb3 port max upload is 512 bytes, on usb2.0 11264 bytes | 15:55 |
AmosSam | Ok, when flashing with dfu-util on rpi, it works!! | 15:59 |
AmosSam | And then plugged fomu in laptop, and it booted in dfu mode, and after dfu-util -e it stated blink example | 16:00 |
AmosSam | xobs: it kinda works! | 16:01 |
xobs | AmosSam: yay! it just doesn't work with PCs. | 16:01 |
xobs | But that's okay, because now I can fix that. | 16:01 |
AmosSam | It seems, and I have lenovo x230 (with coreboot if that matters) on which dfu is not working... | 16:02 |
AmosSam | I'll now reset foboot and it's submodules and try to flash vannila bitstream | 16:02 |
xobs | It's not working on my Fedora server, either. | 16:03 |
AmosSam | And my rpi is 1st gen, if that matters | 16:03 |
mifune | going to try with a gen3 when it has updated | 16:05 |
xobs | Well, I managed to blow /something/ up. Still trying to figure out what, exactly. | 16:06 |
xobs | Might be the rpi, might be a Fomu board, hopefully it's not the Beagle. | 16:06 |
xobs | update: it's not the Beagle. | 16:07 |
xobs | Well that'll do it. The Fomu is responding with an empty data packet. | 16:08 |
AmosSam | And that's ok? | 16:09 |
xobs | No, which is why it's strange that it's different between the PC and the Pi. | 16:09 |
mifune | pi3 upload works | 16:10 |
AmosSam | So, rpi is ignoring that packet and continues to send data? Or vice versa? | 16:10 |
xobs | Unclear. Maybe the Pi is slow enough that it doesn't matter? Or maybe the usb_ep_0_in_ibuf_empty_read() call is returning incorrectly. | 16:11 |
mifune | dfu-util -e does nothing | 16:12 |
mifune | or, makes it blink slowly, instead of loading the blink bin i uploaded | 16:13 |
AmosSam | For me it worked, from breath led to just blink red... you have to watch it or can change color in blink example? | 16:14 |
mifune | i made my own that does rgb blink | 16:14 |
mifune | https://github.com/pimdegroot/Fomu-rgbblink | 16:15 |
tpb | Title: GitHub - pimdegroot/Fomu-rgbblink: RGB blink code for the Fomu hacker board (at github.com) | 16:15 |
mifune | which looks like https://twitter.com/mifune/status/1111750425512939521 | 16:16 |
xobs | So one of two things is happening: either it's sending a usb_ack(), or somehow the transmission is getting truncated. | 16:18 |
xobs | I'm not sure which it is, and it's getting kinda late here, | 16:19 |
xobs | But this is something I can track down. | 16:19 |
* xobs uploaded an image: image.png (98KB) < https://matrix.org/_matrix/media/v1/download/matrix.org/elLFYXbDenIccsqjkYGYBWUb > | 16:20 | |
AmosSam | Is this problem only on hacker version? | 16:22 |
xobs | No, I see it on the EVT board, too. | 16:22 |
AmosSam | Thats "good" then... | 16:23 |
xobs | Yes. I'll fix it in the morning! | 16:24 |
xobs | Thanks for the help in tracking it down. | 16:24 |
AmosSam | One more thing, now i'm flashing modified version of blink, and instead of rebooting fomu, i accidentally started download again, and it'muuuch slower | 16:24 |
AmosSam | Don't know if that matters | 16:25 |
AmosSam | mifune: I modified blink example to blink in success all three leds, and after issuing dfu-util -e it works... | 16:29 |
mifune | it seems to work, but it drops back into the bootloader | 16:33 |
AmosSam | mifune: i cloned your repo, and flashed it with dfu-util and it works | 16:51 |
*** emeb has quit IRC | 17:24 | |
mifune | ok, weird | 17:25 |
AmosSam | Also, I have latest fomu-flash, and foboot bitstream with reverted last commit in valentyusb submodule | 17:26 |
AmosSam | mifune: did you tried with latest fomu-flash? | 17:27 |
mifune | i updated everything, did not revert the commit in valentyusb | 17:28 |
AmosSam | Foboot is generated with --with-dsp flag, and --revision hacker | 17:32 |
mifune | nope, same behaviour | 17:58 |
AmosSam | Well, that's all i know... but here it still blinks... | 18:00 |
mifune | ok, weird. different usb port and now it does work | 18:07 |
AmosSam | Different for flashing or running?? | 18:13 |
mifune | i can flash with the one closest to ethernet, i can flash and run with the other set | 18:23 |
AmosSam | Strange...is any of them usb3? | 18:23 |
mifune | no | 18:24 |
mifune | it only fails on the top one, not the other three | 18:25 |
AmosSam | I have 2 usb3 and 1 usb2 ports, and flashing fails on all of them | 18:35 |
mifune | i only have it working on the pi, btw. thinkpad 13 with xubuntu 18.04 still fails | 18:36 |
AmosSam | But once flashed, it works on all three ports on laptop.. | 18:37 |
AmosSam | I have arch linux, up to date, on x230. Only interesting thing is that on usb3 ports, after dfu-util -e in dmesg there are few message that says unable to enumerate usb device, what doesn't happen in usb2... | 18:40 |
mifune | ah, after flashing it also works on my laptop | 18:42 |
mifune | all usb 3 | 18:42 |
mifune | i guess the dmesg messages are because the fomu suddenly drops off the usb, as blink doesn't have a usb core | 18:43 |
*** kuldeep has quit IRC | 18:45 | |
AmosSam | Yea, but that doesn't happen on usb2... | 18:49 |
*** kuldeep has joined #tomu | 18:51 | |
mifune | anyway, i destroyed another fomu, this time by chipping the flash with a pogo pin. Time to quit for today. | 19:12 |
tnt | "another" ? | 19:21 |
mifune | first one i accidentely teared of a pad with a soldered wire. | 19:24 |
*** rohitksingh has joined #tomu | 19:39 | |
*** awe00 has quit IRC | 20:54 | |
*** futarisIRCcloud has joined #tomu | 21:30 | |
*** xkapastel has quit IRC | 21:49 | |
*** xkapastel has joined #tomu | 23:00 |
Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!