<somlo>
then I did `mr 0x80000000 0x200` to compare what got loaded from the sdcard via spi- vs lite-
<somlo>
and the first 0x200 bytes are the same :)
<somlo>
so now I'm back to not knowing why booting with litesdcard hangs at "Liftoff!" whereas booting with spi-sdcard doesn't hang...
<somlo>
I actually did have it working with both spi- and lite- before the fatfs switch-over; but now that spi- works with fatfs, litesdcard should too, but doesn't. That's the question currently nagging me...
<somlo>
well, doing a `crc 0x80000000 13126480` gets me different values on the boot.bin blob loaded via SPI (d0505b43) vs. litesdcard (f3aefc83)
<somlo>
that'd be the same boot.bin blob loaded from the same sdcard... So nothing as obvious as consistently swapped bytes... Maybe it's a failed-by-too-much timing problem, I should try at slower Fmax...
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
<mithro>
@benh_ - I've been meaning to reply to your email but just haven't gotten around to it because of the other stuff happening () -- The include "trick" for having two separate modules can be done a large number of different ways -- I *think* it could just be done with a bunch of consts function pointers and the compiler should be able to optimize away the indirection
Skip has quit [Remote host closed the connection]
<benh_>
mithro: any reason why the if() would be a problem though ?
<benh_>
I would assume on linux-capable SoCs the cost would be negligible compared to the IO
<mithro>
@benh_ I less worried about the performance and more worried about certain developers complaining about regmap "infecting" the "nice clean MMIO version" -- It becomes much harder to complain if there is no runtime cost
Degi has quit [Ping timeout: 240 seconds]
Degi has joined #litex
<benh_>
mithro: :-)
<benh_>
mithro: #including C file is usually frowned upon... there are good reasons to occasionally do it but in this case I suspect it won't fly
<mithro>
@benh_ -- I thought I said that I wouldn't suggest we should use that exact implementation -- just something which has the same runtime cost as that -- as I mentioned I'm pretty sure there are multiple ways to make that happen?
<mithro>
I'm not good enough in C to get a const function pointer version close to right when typing directly into an email
<benh_>
mithro: fundamentally, either we have a runtime cost and a single driver, or no runtime cost and two builds of the driver
<benh_>
mithro: now we could build the drivers as some kind of .a and then have two variants provide different accessors and link against it
<benh_>
mithro: but I wouldn't even try to do that with the kernel build system
<benh_>
mithro: my idea for now is to just have the call into the litex code to "map" the csrs and have the opaque object etc...
<benh_>
mithro: but with no conditionals and no regmap path, just direct mmio *for now*
<benh_>
and when somebody wants to add regmap, it can be done without modifying the drivers
<benh_>
by just updating the map call and the accessors
<_florent_>
somlo: i also want to get current litesdcard version working but i've not been able to look at it yet. From the tests i did, i also had some data corruption.
proteusguy has joined #litex
st-gourichon-fid has quit [Ping timeout: 244 seconds]
<somlo>
_florent_: just for completenes, after dropping FMax to 60MHz (and passing timing in vivado) I still had data corruption with litesdcard, so it wasn't a side effect of failing timing (by *too* much)
<keesj>
is there some documentation / example somewhere of creating a hello world c file (possibly reusing the software/* libraries (like the bios)
<keesj>
if possible .. I would like to keet it minimal (e.g. include the platform header and .. wire a simple hello world)
<NickTern>
Hello. Can u tell me how i can build litehhyperbus core? at the output I will get a Verilog file and roughly speaking I can use it in my design as an ip? recently started studying litex sorry if the question is simple
futarisIRCcloud has joined #litex
futarisIRCcloud has quit [Changing host]
futarisIRCcloud has joined #litex
leons has quit [Ping timeout: 240 seconds]
xobs has quit [Ping timeout: 260 seconds]
CarlFK[m] has quit [Ping timeout: 240 seconds]
john_k[m]1 has quit [Ping timeout: 240 seconds]
sajattack[m] has quit [Ping timeout: 246 seconds]
nrossi has quit [Ping timeout: 244 seconds]
david-sawatzke[m has quit [Ping timeout: 260 seconds]
disasm[m] has quit [Ping timeout: 260 seconds]
bunnie has quit [Ping timeout: 260 seconds]
fitzsim has joined #litex
NickTern has quit [Remote host closed the connection]
NickTern has joined #litex
NickTern has quit [Remote host closed the connection]
CarlFK has quit [Quit: Leaving.]
david-sawatzke[m has joined #litex
disasm[m] has joined #litex
nrossi has joined #litex
sajattack[m] has joined #litex
CarlFK[m] has joined #litex
john_k[m] has joined #litex
xobs has joined #litex
leons has joined #litex
bunnie has joined #litex
CarlFK has joined #litex
st-gourichon-fid has quit [Ping timeout: 240 seconds]
Skip has joined #litex
Skip has quit [Remote host closed the connection]
tpearson-mobile has joined #litex
<tpearson-mobile>
has the Wishbone 32 bit master to 8 bit slave automatic downconverter received any real testing?
<tpearson-mobile>
so far I'm seeing some really odd behavior out of it, including only ever getting data from the last byte in a 32-bit master bus word
<tpearson-mobile>
I also don't really see a short-circuit if the CPU is doing an 8-bit read, it literally looks like it tries to read 32 bits, one byte at a time, from the slave, then masks off the unwanted bytes?
tpearson-mobile has quit [Remote host closed the connection]
awordnot has quit [Read error: Connection reset by peer]