*** tpb has joined #timvideos | 00:00 | |
*** futarisIRCcloud has joined #timvideos | 00:22 | |
mithro | xobs: When you are up, I would like to repo your RPi setup with the Hacker tomu's here | 00:28 |
---|---|---|
xobs | mithro: sure. I've got half an hour before chinese class. What's up? | 00:39 |
mithro | xobs: Do I just follow https://git.xobs.io/xobs/fomu-flash ? | 00:39 |
tpb | Title: xobs/fomu-flash: Utilities to work with Fomu, as attached to a Raspberry Pi - Gitea: Git with a cup of tea (at git.xobs.io) | 00:39 |
mithro | and which pins do I use? | 00:40 |
xobs | Ah, for Fomu? Yes. | 00:40 |
xobs | I probably should add more diagnostics, including the ability to read out the SPI flash ID code. | 00:41 |
xobs | I'll do that when I'm at the office today and have access to my EVT board. | 00:41 |
xobs | Let's see... the best way to hook pins up is probably to follow https://git.xobs.io/xobs/tomu-fpga/raw/commit/cd4d928adb3dd68b22ab5da60e4a4d01ee201caf/reference/tomu-fpga-evt2.pdf | 00:42 |
mithro | xobs: Okay thanks | 00:54 |
mithro | I'll probably still be around when you get into the office later | 00:54 |
xobs | mithro: alright. the two features I need to add are (1) the ability to read out the SPI flash ID code, to make sure the connection is good, and (2) a flag to set the SPI mode (single/dual/quad/qpi). | 00:55 |
mithro | xobs: SGTM | 00:56 |
mithro | xobs: Your not using this SPI flash that tinyfpga was using? | 00:56 |
mithro | tinyfpga: ping? | 00:56 |
xobs | mithro: no, the version tinyfpga is using is a WLCSP that's designed to be super small. I went with an 8USON that's slightly larger, but has second sources, as well as slightly larger capacity. | 00:57 |
xobs | I'd love to be able to go with a larger 8USON, though. The one I picked is 3x2mm, but there are some 4x4mm ones that have more storage capacity. | 00:58 |
mithro | xobs: IIRC the tinyfpga has a special register that has to be written to get QSPI mode... | 00:59 |
xobs | mithro: I'd imagine that's standard. fomu-flash does that, too: https://git.xobs.io/xobs/fomu-flash/src/branch/master/spi.c#L394 | 01:00 |
tpb | Title: xobs/fomu-flash: Utilities to work with Fomu, as attached to a Raspberry Pi - spi.c at master - Gitea: Git with a cup of tea (at git.xobs.io) | 01:00 |
mithro | xobs: I know picosoc needed something specially for it | 01:00 |
xobs | yeah, it took me a while to find that. much frustration. otoh, now I understand QPI and quad spi much better now. | 01:06 |
mithro | xobs: Should I add tomu-evt to LiteX-BuildEnv? | 01:18 |
xobs | mithro: that would be nice, thanks! what do you need to do that? | 01:22 |
xobs | I have a local version that I've been working with. it's a bit of a lie, because I run the 48 MHz oscillator through a PLL and call it "12 MHz", so I'm not entirely happy with my solution. | 01:23 |
mithro | xobs: I'm using the internal 48MHz oscillator at 12MHz | 01:34 |
xobs | mithro: I'm still learning FPGAs -- can you just pull out bit 2 and run it into a clock buffer? Is that stable enough to actually work at those frequencies? | 01:35 |
mithro | xobs: The oscillator has an internal divider | 01:36 |
xobs | mithro: ah! you run the internal 48 MHz oscillator through a divider, not the crystal. clever. | 01:37 |
mithro | xobs: I'm just doing a little rebasing | 01:38 |
cr1901_modern | $cr1901cc -pedantic | 01:44 |
cr1901_modern | Below 50Mhz, it's not gonna matter, but one should really not use a FF divider to do clock division. | 01:44 |
cr1901_modern | skew will result so it's difficult to relate the phase of your divided clock to the source clk | 01:44 |
xobs | cr1901_modern: thanks for the info. That was my gut feeling, too. | 01:53 |
mithro | xobs: Generally it's pretty hard to route clocks into/out of the logic | 01:57 |
mithro | xobs: Do you have a tinyfpga_bx ? | 02:02 |
xobs | mithro: I don't think I do, no. Why do you ask? | 02:03 |
mithro | xobs: It would be good for someone to replicate the USB that currently works | 02:03 |
xobs | mithro: today I'll give it a shot on Fomu. Better test it before the campaign starts... | 02:04 |
mithro | xobs: I need to figure out what I've done wrong as the usb core is not meeting timing on the up5k | 02:05 |
mithro | xobs: Would be good to test lm32+picorv32+vexriscv on the Fomu too... | 02:05 |
xobs | I got lm32 micropython working. | 02:07 |
mithro | xobs: Seem mithro/litex-buildenv/tinyusb-work | 02:07 |
xobs | I tried building a smaller vexriscv, and the result was just the top line of the bios prompt before it froze. | 02:08 |
xobs | That was using my own Scala file, though. | 02:08 |
mithro | xobs: I just rolled forward litex, so litex-buildenv should have Florent's minimal vexriscv versions in it now | 02:09 |
cr1901_modern | xobs: Lemme know if the minimal vexriscv versions work. I've had trouble w/ minimal vexriscv last time I tried it on ice40. | 03:05 |
xobs | mithro: I just added the "-i" and "-t" parameters to fomu-flash. | 03:10 |
xobs | The "-i" parameter reads every ID code it can find. Use that to make sure your connection is good. | 03:10 |
xobs | The "-t" parameter takes one of four options: 1, 2, 4, or q. It sets the SPI bit width. | 03:11 |
xobs | So try "-t 1" for now. | 03:11 |
*** futarisIRCcloud has quit IRC | 03:21 | |
mithro | xobs: okay, will test after I grab some dinner | 03:21 |
xobs | mithro: also, I'm grabbing your latest tinyusb work. I'll try to get it working on Fomu! It uses lm32, right? | 03:22 |
mithro | xobs: At the moment, but it should be easy to port to vexriscv / picrorv32 | 03:23 |
xobs | alright, then in the interest of not changing too much at once, I'll stick with lm32 | 03:23 |
mithro | xobs: I haven't tested on the up5k yet | 03:23 |
xobs | ...that's worrisome. "Info: ICESTORM_LC: 5169/ 5280 97%" | 03:36 |
mithro | xobs: What config are you using? | 03:46 |
xobs | I was using lite, but now I'm retrying with minimal. | 03:47 |
mithro | xobs: Mine is in the 4k range | 03:47 |
xobs | 4883 (92%) with minimal lm32. Still doesn't route, though. Much better! | 03:51 |
xobs | Is there an example of a litex target that doesn't have ROM, but boots from RAM instead? | 04:15 |
xobs | I'll just add ROM as a mirror of RAM. | 04:19 |
mithro | xobs: https://github.com/mithro/litex-buildenv/blob/tinyusb-work/targets/tomu_fpga_hacker/base.py | 04:20 |
tpb | Title: litex-buildenv/base.py at tinyusb-work · mithro/litex-buildenv · GitHub (at github.com) | 04:20 |
mithro | xobs: That is XIP from spiflash, no rom | 04:21 |
xobs | I pulled out SPI and it managed to route. | 04:24 |
*** rohitksingh_work has joined #timvideos | 05:02 | |
*** Kripton has quit IRC | 05:16 | |
*** Kripton has joined #timvideos | 05:18 | |
xobs | What's the best way to access a Verilog signal? I'd like to wire soc_lm32_dbus_adr[2] up to an IO pin. What I'd really like to do is assign pmod_n0 <= soc_lm32_dbus_adr[2] | 05:55 |
mithro | xobs: That I'm not sure about | 06:14 |
xobs | daveshah (or anyone): do you know if the UP5K bitstream supports SPRAM configuration? | 06:44 |
mithro | xobs: It does not | 06:55 |
* xobs gets distracted fitting the bios into 8kB of RAM... | 08:33 | |
xobs | Okay, so I now have a boot prompt, and I have just about everything working from a UX perspective. The only command that doesn't work is "wcsr", because that blows out the 8 kB image. | 08:59 |
xobs | mithro: Should I load some program from third_party/valentyusb/third_party/tinyusb/examples/? | 09:00 |
*** rohitksingh_wor1 has joined #timvideos | 09:01 | |
*** rohitksingh_work has quit IRC | 09:04 | |
*** rohitksingh_work has joined #timvideos | 09:44 | |
*** rohitksingh_wor1 has quit IRC | 09:45 | |
xobs | Okay, I managed to get the bios to work mostly, though I need to change the memory offsets. The spiboot command ends up overwriting the bios memory due to overlaps. | 10:53 |
xobs | The cool thing is that this now fits in the Bitstream, so no need for flash memory. | 10:54 |
xobs | I'll see what I can do to get USB working. | 10:54 |
*** rohitksingh_work has quit IRC | 10:58 | |
*** rohitksingh_work has joined #timvideos | 11:00 | |
*** Kripton has quit IRC | 11:05 | |
*** Kripton has joined #timvideos | 11:11 | |
*** samsagaz has quit IRC | 12:53 | |
*** samsagaz has joined #timvideos | 12:56 | |
*** Kripton has quit IRC | 13:12 | |
*** rohitksingh_work has quit IRC | 13:13 | |
*** Kripton has joined #timvideos | 13:21 | |
*** rohitksingh has joined #timvideos | 14:09 | |
*** CarlFK has joined #timvideos | 14:19 | |
*** ChanServ sets mode: +v CarlFK | 14:19 | |
*** tsglove has quit IRC | 14:38 | |
*** tsglove has joined #timvideos | 14:38 | |
*** rohitksingh has quit IRC | 18:03 | |
*** tsglove has quit IRC | 18:13 | |
*** rohitksingh has joined #timvideos | 18:21 | |
*** rohitksingh has quit IRC | 18:37 | |
*** tsglove has joined #timvideos | 20:03 | |
mithro | xobs: I'm around now | 22:30 |
mithro | xobs: `sudo ./fomu-flash -i -t 1` right? | 22:33 |
mithro | xobs: Will the fomu flash hold the FPGA in reset while trying to talk to the spi flash? | 22:43 |
mithro | xobs: Looks like it does try too | 22:48 |
mithro | At the moment I have | 22:49 |
mithro | https://www.irccloud.com/pastebin/nqZ98tUN/ | 22:49 |
tpb | Title: Snippet | IRCCloud (at www.irccloud.com) | 22:49 |
mithro | ooo! | 22:54 |
mithro | https://www.irccloud.com/pastebin/fMz7kIYP/ | 22:54 |
tpb | Title: Snippet | IRCCloud (at www.irccloud.com) | 22:54 |
mithro | xobs: What would you expect for serial number? | 23:05 |
mithro | xobs: It seems like the AT25SF161 doesn't come preprogrammed with a serial number, but does have security registers which can be used for a serial number? | 23:06 |
mithro | The device contains three extra pages called Security Registers that can be used for purposes such as unique device serialization, system-level Electronic Serial Number (ESN) storage, locked key storage, etc. The Security Registers are independent of the main Flash memory. Each page of the Security Register can be erased and programmed independently. Each page can also be independently locked to prevent further changes. | 23:07 |
mithro | xobs: Would you expect writing to work if reading the device id / etc works? | 23:10 |
Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!