<tmbinc>
Does litex_server / etherbone support scripted read/write mem32 (like m1n1) or do I need to use mem_write?
<tmbinc>
I want to do a little scripting from the PC side (talking to SPI peripheral on the device, without having to actually run custom code on the device)
<_florent_>
tmbinc: nice! Being able to write Python scripts for such cases is indeed the principal usage of litex_server / etherbone, there is a short example in the Wiki:
<_florent_>
Otherwise for the repo under 360nosc0pe, we should probably avoid forking the full LiteX-Boards, this could only be: our target + scripts + software
futarisIRCcloud has quit [Ping timeout: 240 seconds]
futarisIRCcloud has joined #litex
kgugala_ has joined #litex
kgugala__ has joined #litex
kgugala has quit [Ping timeout: 272 seconds]
kgugala_ has quit [Ping timeout: 256 seconds]
<tmbinc>
_florent_: oh, this is much nicer than I expected, thanks!
lkcl has quit [Ping timeout: 272 seconds]
lkcl has joined #litex
TMM has quit [Remote host closed the connection]
TMM has joined #litex
<_florent_>
tmbinc: I'm generally using this to play easily with peripherals I'm designing before writing proper software. This is also a way to reduce P&R time since allows creating designs with just a bridge + peripheral (so in our case we could remove the CPU/DRAM to speed up iterations is useful while working on the other peripherals).
hansfbaier has joined #litex
rj has quit [Remote host closed the connection]
rj has joined #litex
hansfbaier has quit [Read error: Connection reset by peer]
<mikeK_de1soc>
_florent_: For what it's worth, I got the Litex VGA sync signal to work on my DE1-SoC. this is the Verilog Code Keeping a Monitor sync signal..
<mikeK_de1soc>
Is this worth a PR? again still learning at my end.
<_florent_>
mikeK_de1soc: thanks, is it using the Terminal from LiteVideo of the VGA framebuffer?
<mikeK_de1soc>
no.. this is next...
<mikeK_de1soc>
this is where i need help..
<mikeK_de1soc>
so in the code I see it for the xilix Only under framebuffer...
<mikeK_de1soc>
sorry Xilinx..
<mikeK_de1soc>
the changes I mode are in Litex-Boards for now... wokring on Linux for Riscv directory.. now... Do you have an overview of the Framebuffer documented somewhere?
<mikeK_de1soc>
this is where it dies in Linux-on-litex-vexriscv: assert platform.device[:4] == "xc7a"
<mikeK_de1soc>
in the soc_linux.py file.
<_florent_>
Sorry there are not that much documentation and I should probably update Linux-on-LiteX-VexRiscv to also support a VGA framebuffer on various boards
<_florent_>
I could try to do this in the next days
<mikeK_de1soc>
ok Great! :) can you direct me which file to look at in the mean time? I am lookin gin the soc_linux.py file now. Does the existing Xilinx-only code fully work? I will use that as a template.
mikeK_de1soc has quit [Ping timeout: 240 seconds]
mikeK_de1soc has joined #litex
<_florent_>
mikeK_de1soc: the assert is mostly for HDMI that is not yet supported on Intel, but VGA will works. But you'll also have to remove most of the timing constraints. I should really have a look at that and eventually do a very simple VGA framebuffer core.
<mikeK_de1soc>
ok.. So the timing is currently working... but built from litex-boards only..
<mikeK_de1soc>
it's currently 640 x 480.. BTW where can you set which resolution to pick?
<_florent_>
mikeK_de1soc: Is it generating a valid signal?
<mikeK_de1soc>
yes,, well my VGA monitor is locking on it!! :)
<mikeK_de1soc>
just a raster.. no info...
<mikeK_de1soc>
it was created from Litex-Boards, and created the Verilog file. I just complied it with quartus and loaded it manually..
mikeK_de1soc has quit [Ping timeout: 240 seconds]
mikeK_de1soc has joined #litex
<mikeK_de1soc>
arrrg keeps disconnecting
<mikeK_de1soc>
_florent_: Is it reasonable to use nexys_video, as a template? I see here that I am able to compile the Verilog code, The gateware. But I do get this error on the command line..
<_florent_>
mikeK_de1soc: sorry busy with other things, the nexys_video should be a good template yes, but it's using HDMI not VGA. I'll try to look at VGA soon
<mikeK_de1soc>
no worries... i am learning!! :)
<acathla>
_florent_ did you just rewrote everything about RS232?
<_florent_>
acathla: the principle is very similar but I did some cleanup yes :)
<acathla>
_florent_, it's not 100LC less than the optimisation from yesterday, is it? It seems to be the same LC usage.
<_florent_>
I was testing it on a ECP5, possible results will be a bit different on iCE40, but the initial aim was to simplify/cleanup the code.
<acathla>
That's a good aim
<tmbinc>
_florent_: wrt. sds1104xe, I've talked with G33katWork and he said other than the backlight PWM, which is a MIO (and hence not accessible from PL, right?) PWM, the only somewhat special thing was the timing, which he put into the device tree.
<tmbinc>
(for LCD)
mikeK_de1soc has quit [Quit: Connection closed]
<tmbinc>
_florent_: also how convinced are you that R6 is eth phy rst? It's on bank 13, shared with the LVDS_25 ADC connections, so it's definitely not LVCMOS33.
<tmbinc>
_florent_: speaking of eth phy, I only get a link when I re-plug ethernet after config. Is this a common problem?
FFY00 has quit [Ping timeout: 260 seconds]
mikeK_de1soc has joined #litex
FFY00 has joined #litex
<_florent_>
tmbinc: thanks for the info about the LCD, that's useful to know, I'll have a look at the timings. Possible that the PWM pin will not be controllable directly from the PL, if not possible and really required this could still be done over AXI.
<_florent_>
tmbinc: for eth_phy_rst_n/R6, I think I just reused the pinout from 360nosc0pe, not sure I have to replug here, but I could do more testing.
<_florent_>
tmbinc: the reset is optional on the LiteEth PHY, so in case you have doubt, it's possible to comment it in the platform file
<nickoe>
Hello. I tried to add the liteeth to my board, but vivado is not happy. See the error message in the commit message. Why is this? I think I meant this to be clock out of the fpga as input to the PHY chip, but I may have misunderstood the clocking here.
<nickoe>
PHY is KSZ9031RNX
<somlo>
_florent_, shorne: ... and while the timeout error flag in the linux driver just *happens* to match, it's not for the lack of trying :)
<somlo>
_florent_: oh, or maybe the 0x8 (CRC error) is a "todo item"? Either way, the linux driver is leaky in terms of dealing with any possible combo of error flags...
<_florent_>
somlo: yes that's probably the result of the CRC check (that is not yet implemented)
<nickoe>
_florent_: Are here any examples on using AXIStreamInterface ?
<nickoe>
I woner how I can conenct it to my RAM
<somlo>
_florent_: I freaked out for a second -- what if I was complaining about the wrong cause for erros in Linux? :) But "luckily" the timeout flag still matches, so it's all good; I'll clean up the linux error-flag matching regardless, to have it make sense when examined side-by-side with the gateware sources...
<nickoe>
Hmm, ok. I will have a look, I a currently trying your suggestion about the liteeth for s7
<nickoe>
_florent_: By the way, do you know if this is critical?
<nickoe>
CRITICAL WARNING: [Vivado 12-4739] set_clock_groups:No valid object(s) found for '-group [get_clocks -include_generated_clocks -of [get_nets sys_clk]]'. [/home/nickoe/litex_test/dangerous_litex/litex-boards/litex_boards/targets/build/mars_ax3/gateware/mars_ax3.xdc:527]
<nickoe>
I mean, it says soo. but...
<nickoe>
Is it because my clock should be named differently? pll.create_clkout(self.cd_sys, sys_clk_freq)
<nickoe>
At least the s7rgmii do synth
<nickoe>
_florent_: Any tips on testing the ethernet? I do see the mdio_* commands, but not sure what to expect. I connected it to usb dongle eithernet, but no blinking. Keep in min the board has custom routing to the ethernet jack, so it has not been tested otherwise.
<nickoe>
but it apperas that NetworkManager want the ethernet dongle do see a network before I can select it
<nickoe>
so I can't configure a static ip
<nickoe>
Or, I mean I can configure it, but I can't select it in nm-applet.
<nickoe>
_florent_: But back to memory acces, I guess I can do https://dpaste.com/2E8EWB2Y2 and then I need to write a FSM to excercise the dma.sink?
<tpb>
Title: dpaste: 2E8EWB2Y2 (at dpaste.com)
<_florent_>
nickoe: yes you can do this
<nickoe>
then I can wire those to some readonly registers that are mapped to some output pads to my DAC? Having the registers only with the intent to be able to read them from software for debugging purposes.
<nickoe>
I guess I can control the FSM with some other registers such that I can coltrol the reading "modes" from firmware or test script.