<marcan>
whitequark: fwiw the weak pull-ups from the unconfigured FPGA are *more than enough* to brightly light the user LEDs
<marcan>
I dread what they're going to look like actually driven
<Hellsenberg>
maybe try self-powering the glasgow using a solar cell lit by the LEDs :P
<whitequark>
marcan: yeah, I noticed that
<marcan>
whitequark: what are the pink leds you're going to use, btw? might as well order some and fix the two that aren't :p
<marcan>
also I'm ordering some SMD resistor books since having a proper set has been on my TODO list for a while, can test with values from that
<marcan>
whitequark: so let's talk about revC software?
<whitequark>
marcan: let's
<marcan>
first of all, note that I have *no idea* how any of this works at all, just keep that in mind
<marcan>
(since I've never used revB either)
<marcan>
first obvious thing, how are we differentiating B from C?
<marcan>
serial/something?
<whitequark>
do you want me to do a complete explanation, or would you rather get started?
<whitequark>
serial, yes, first letter of
<marcan>
ack
<whitequark>
it's also in the low byte of uh
<whitequark>
DID
<marcan>
DID?
<marcan>
well if you can give me a birds eye view that would probably help
<whitequark>
VID, PID, DID
<Hellsenberg>
USB Device ID?
<whitequark>
yes
<whitequark>
so, uh
<marcan>
oh bcdDevice?
<whitequark>
yes
<marcan>
kk
<whitequark>
so, birds eye view
<whitequark>
there are three parts that need to be changed to get basic functionality
<whitequark>
glasgow.platform module defines the migen build stuff
<whitequark>
GlasgowPlatform needs to be forked into GlasgowRevABPlatform and GlasgowRevCPlatform
<whitequark>
after that, GlasgowHardwareDevice needs to be changed to save revision (and probably serial) for easy access
<whitequark>
after that, GlasgowHardwareTarget needs to be changed to accept platform_cls, like it's accepting multiplexer_cls now
<whitequark>
this would be plumbed through glasgow.cli._applet
<whitequark>
there's a small complication there. run and flash actions only work with a real device, so you can infer revision
<whitequark>
build needs revision to be specified explicitly
<whitequark>
okay, i guess this is not very birds-eye, it's actually quite detailed
<marcan>
yeah I still have no idea how everything fits together, though this helps point me at what I need to *do*
<marcan>
I could use an overview of the general flow
<marcan>
is there even any user documentation? :p
<whitequark>
not really
<marcan>
so yeah, you could start there
<marcan>
right now I just know 'glasgow run selftest' does a bunch of stuff on revB
<whitequark>
i was prioritizing hardware that actually works over, uh, everything else
<marcan>
and there's a USB re-enumeration involved
<whitequark>
ok so
<whitequark>
ask questions, maybe? i'm too inside the whole thing to see how it ought to be laid out, i think
<whitequark>
i also have a splitting headache but that's usual
<marcan>
okay, so what's the provisioning/production process, what gets put in the flash, and then what happens upon normal usage/bootstrapping
<marcan>
e.g. I see it has the device ID on cold plug, but not the string descriptors/right config
<marcan>
so there's at least three states here (unprogrammed, programmed, bootstrapped)
<whitequark>
aha, that's not exactly what i'd call user documentation
<whitequark>
but sure
<marcan>
well I'm asking about things I need to know at this point
<marcan>
might as well follow the trail
<whitequark>
let me setup readthedocs and i'll put it right in the repo
<whitequark>
or we'll never get ther
<marcan>
to back out a bit: what I'm trying to get here is 1) an idea of the process, and 2) documentation of the commands involved
<marcan>
having that I can easily read the code and figure out how it works
<whitequark>
right, so i'd prefer if you did not read the code but forced me to write docs instead :p
<marcan>
I'm pretty good at reverse engineering as you know, but it seems like a waste of my time to try to wrap my head around the thing by blindly poking at the code when I can just ask and we have IRC logs so even that alone is useful
<marcan>
sure
<whitequark>
what did you tag as revC0 btw?
<marcan>
what Greg supposedly used
<whitequark>
alright, great
<_whitenotifier-c>
[whitequark/Glasgow] whitequark pushed 1 commit to master [+0/-0/±1] https://git.io/fhSAD