*** tpb has joined #litex | 00:00 | |
*** FFY00_ has quit IRC | 00:16 | |
*** lf has quit IRC | 00:35 | |
*** lf has joined #litex | 00:35 | |
*** lkcl has quit IRC | 01:38 | |
*** lkcl has joined #litex | 01:50 | |
*** Emantor has quit IRC | 02:20 | |
*** Emantor has joined #litex | 02:24 | |
*** Degi_ has joined #litex | 02:27 | |
*** Degi has quit IRC | 02:29 | |
*** Degi_ is now known as Degi | 02:29 | |
*** hansfbaier has joined #litex | 02:52 | |
*** Bertl is now known as Bertl_zZ | 05:26 | |
*** proteus-guy has joined #litex | 06:41 | |
*** pftbest has joined #litex | 07:04 | |
*** keesj has quit IRC | 07:44 | |
*** keesj has joined #litex | 07:44 | |
*** kgugala has quit IRC | 07:50 | |
_florent_ | leons: Initial boards support are generally not perfect/complete, so integrating your board even with DRAM not yet working would be perfectly fine (we would just avoid enabling DRAM or list the limitation). This is also a good way to work together on this or get help from other developers having the same board. | 08:08 |
---|---|---|
*** mikeK_de1soc has quit IRC | 08:10 | |
*** kgugala has joined #litex | 09:24 | |
*** kgugala_ has joined #litex | 09:27 | |
*** kgugala has quit IRC | 09:29 | |
*** kgugala has joined #litex | 09:30 | |
*** kgugala_ has quit IRC | 09:33 | |
*** kgugala_ has joined #litex | 09:34 | |
*** kgugala__ has joined #litex | 09:35 | |
*** kgugala has quit IRC | 09:37 | |
*** kgugala_ has quit IRC | 09:38 | |
*** kgugala has joined #litex | 09:43 | |
*** kgugala__ has quit IRC | 09:43 | |
*** kgugala_ has joined #litex | 09:44 | |
*** kgugala has quit IRC | 09:47 | |
*** hansfbaier has quit IRC | 09:56 | |
*** kgugala_ has quit IRC | 10:21 | |
*** kgugala has joined #litex | 10:21 | |
*** zyp has quit IRC | 10:37 | |
*** kgugala_ has joined #litex | 10:41 | |
*** kgugala has quit IRC | 10:43 | |
*** kgugala_ has quit IRC | 10:43 | |
*** kgugala has joined #litex | 10:43 | |
*** zyp has joined #litex | 10:45 | |
*** pftbest_ has joined #litex | 11:53 | |
*** pftbest has quit IRC | 11:53 | |
*** pftbest has joined #litex | 12:22 | |
*** pftbest_ has quit IRC | 12:22 | |
*** pftbest has quit IRC | 12:54 | |
*** pftbest has joined #litex | 12:54 | |
*** pftbest has joined #litex | 12:55 | |
*** pftbest has quit IRC | 12:58 | |
*** Bertl_zZ is now known as Bertl | 12:58 | |
*** pftbest has joined #litex | 13:06 | |
*** pftbest has quit IRC | 13:10 | |
*** pftbest has joined #litex | 13:16 | |
*** Melkhior has joined #litex | 13:45 | |
Melkhior | Hello, | 13:47 |
Melkhior | Got myself a new board with an on-board Ethernet for Litex, but when configuring an IP under Linux I only get: | 13:47 |
Melkhior | liteeth f0004800.mac eth0: LITEETH_READER_READY timed out | 13:47 |
Melkhior | repeated a few times. | 13:47 |
Melkhior | Only trace I found of the error message is a year-old discussion... | 13:47 |
Melkhior | Any idea ? | 13:47 |
Melkhior | Board is a Qmtech Wukong (cheap Artix 7 100k, comfortably fit 4 VExRiscv cores with all the bells and whistles :-) ) | 13:47 |
Melkhior | Running the "default" kernel for linux-on-litex-vexriscv: | 14:02 |
Melkhior | BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://github.com/litex-hub/linux.git" | 14:02 |
Melkhior | BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="7d6b20bd1aa8276d92504fa540bd0a903ef43610" | 14:02 |
Melkhior | (with only C/F/D added & NFS support) | 14:02 |
*** Bertl is now known as Bertl_oO | 14:09 | |
*** mikeK_de1soc has joined #litex | 14:09 | |
mikeK_de1soc | Hi Florent! I got the Video terminal to work on the DE1-SoC! How do I use the keyboard now? Or can I log in with the lxterm? I am not sure how to do this.. Thanks. MikeK | 14:12 |
Melkhior | Also reconfigured the IP in the BIOS, but the interface doesn't ping and the server doesn't see any request when trying to netboot... | 14:21 |
*** FFY00_ has joined #litex | 14:48 | |
*** kgugala has quit IRC | 15:04 | |
*** pftbest has quit IRC | 15:27 | |
*** pftbest has joined #litex | 16:23 | |
*** pftbest_ has joined #litex | 16:24 | |
*** pftbest has quit IRC | 16:24 | |
*** kgugala has joined #litex | 16:34 | |
Melkhior | OK, so I fixed the platform/targets definition of the board (the hardwxare description says it's a GMII interface), now Linux doesn't complaint anymore ; the interface sends ARP request, but doesn't seen the answer and doesn't ping, guessing it never receives data... | 16:35 |
Melkhior | I have a 80 MHz system clock, maybe it's too slow for GbE ? | 16:36 |
_florent_ | mikeK_de1soc: Yes the Video Terminal is a recopy of the UART output, so you still can interact with the SoC with lxterm | 16:52 |
_florent_ | Melkhior: The best would be to get netboot behaving correctly first yes | 16:53 |
_florent_ | You can enable software debug traces in the BIOS with software_debug=True: | 16:54 |
_florent_ | https://github.com/enjoy-digital/litex/blob/master/litex/soc/integration/soc.py#L1355 | 16:54 |
_florent_ | This will display the TX/RX frames | 16:54 |
_florent_ | This will allow you to see the received RX frames and eventually understand the issue | 16:55 |
_florent_ | With GMII, all boards/PHYs are not configured the same regarding TX/RX Clk/Data delays | 16:56 |
_florent_ | So that's possible you'll have to adapt them: | 16:56 |
_florent_ | https://github.com/enjoy-digital/liteeth/blob/master/liteeth/phy/s7rgmii.py#L210 | 16:56 |
_florent_ | tx_delay and rx_delay | 16:56 |
_florent_ | You can also try to play with MDIO from the BIOS to dump/modify the PHY registers | 16:57 |
Melkhior | _florent_ not sure I understand... I don't even understand where the clocks for the ethernet comes from; there's a 125 MHz RX from the board, but I have no 125 MHz clock in my design to supply the GTX clock... | 16:59 |
Melkhior | so can I still run GbE ? But then for MII mode (fast ethernet I guess) I need a 25 MHz clock, I don't have that either | 17:00 |
Melkhior | so I'm a bit lost long before the delay stuff :-/ | 17:01 |
Melkhior | litex> mdio_dump 0 16 | 17:02 |
Melkhior | MDIO dump @0x0: | 17:02 |
Melkhior | 0x00 0x1140 | 17:02 |
Melkhior | 0x01 0x7969 | 17:02 |
Melkhior | 0x02 0x001c | 17:02 |
Melkhior | 0x03 0xc915 | 17:02 |
Melkhior | 0x04 0x05e1 | 17:02 |
Melkhior | 0x05 0xc5e1 | 17:02 |
Melkhior | 0x06 0x000f | 17:02 |
Melkhior | 0x07 0x2001 | 17:02 |
Melkhior | 0x08 0x6001 | 17:02 |
Melkhior | 0x09 0x0200 | 17:02 |
Melkhior | 0x0a 0x3c00 | 17:02 |
Melkhior | 0x0b 0x0000 | 17:02 |
Melkhior | 0x0c 0x0000 | 17:02 |
Melkhior | 0x0d 0x0000 | 17:02 |
Melkhior | 0x0e 0x0000 | 17:02 |
Melkhior | 0x0f 0x3000 | 17:02 |
Melkhior | are those the CSR from "class LiteEthPHYMDIO" ? | 17:04 |
_florent_ | The TX clock will be generated from the RX clock | 17:04 |
_florent_ | https://github.com/enjoy-digital/liteeth/blob/master/liteeth/phy/s7rgmii.py#L142-L204 | 17:05 |
Melkhior | Oh, now it makes sense thank you :-) | 17:07 |
Melkhior | also a dumb question: is the "200MHz IDELAYE2 REFCLK" the clock that some Artix 7 board define as cd_idelay ? | 17:08 |
_florent_ | RGMII has specific IO timings: | 17:09 |
_florent_ | https://e2e.ti.com/resized-image/__size/1230x0/__key/communityserver-discussions-components-files/138/2352.2.png | 17:09 |
Melkhior | for S7IDELAYCTRL | 17:09 |
_florent_ | But timings are not always handled the same way depending the boards/PHY, so we sometimes have to adjust them in the FPGA PHY | 17:10 |
_florent_ | yes cd_idelay is the reference for the S7IDELAYCTRL | 17:10 |
_florent_ | https://usercontent.irccloud-cdn.com/file/ATvSgrE5/image.png | 17:12 |
Melkhior | So if my cd_idelay is defined as 2*sys_clk_freq it's not 200 MHz and it migh mess things up ? The board does that (so does mine), probably because the MMCM sometimes fails to generate all the clocks if they are unrelated in requency... | 17:13 |
_florent_ | You can see here that the delay can be adjusted: In the FPGA, through the Clk traces and also in the PHY | 17:13 |
_florent_ | yes you have to make sure that the S7IDELAYCTRL reference clock is 200MHz | 17:14 |
_florent_ | if you have difficulties generating all the clock with a single PLL, you can also use a specific PLL for the cd_idelay | 17:14 |
Melkhior | Yes, I think I get that, I had to try to understand the principle to get the set_input_delay/set_output_delay right to interface with the SBus (all 82 parallel signals of it) | 17:14 |
Melkhior | OK, I can use more than one PLL ? good news | 17:15 |
Melkhior | rebuilding with the proper idelay clk & the software debug | 17:15 |
Melkhior | I will not find the trace information for this board, el-cheapo board from aliexpress | 17:16 |
Melkhior | (but if everything works out-of-the-box I don't get to learn) | 17:16 |
Melkhior | thanks for the pointers I'll try to make sense of things | 17:17 |
_florent_ | yes you can use multiple PLLs (on a xc7a100t you have 6 CMTs (1 MMCM + 1 PLL)) | 17:17 |
Melkhior | also, on this board, the micro-sd card (on a pmod thingy) works fine, and I was able to write a file from Linux ... my own board must have an issue :-( | 17:17 |
*** pftbest_ has quit IRC | 17:18 | |
Melkhior | OK, if I get the ethernet working I'll do a PR for it | 17:20 |
Melkhior | thanks again | 17:20 |
*** rozpruwacz has joined #litex | 17:28 | |
*** pftbest has joined #litex | 17:32 | |
*** pftbest has quit IRC | 17:46 | |
*** pftbest has joined #litex | 17:49 | |
*** rozpruwacz has quit IRC | 17:53 | |
Melkhior | _florent_ update: with the fixed idelay clock, the system netboot just fine, but linux still won't ping or be pinged or do any tcp traffic. As far as I can tell, it does emit the ARP request but doesn't see the reply (the arp table is always 'incomplete' for all other systems) | 18:21 |
Melkhior | anyway it's already progress :-) | 18:22 |
leons | Melkhior: I had that exact same issue yesterday! | 19:09 |
leons | Though after reading florent's statements, my solution is probably wrong and it's still flaky for me | 19:10 |
leons | I just tried adding `self.add_period_constraint(self.lookup_request("eth_clocks:tx", loose=True), 1e9/125e6)` (so adding the constraint for both RX and TX clocks) | 19:11 |
leons | It works with my Desktop NIC, but my Ethernet switch doesn't like it. I suppose this is not accounting for the phase offset required | 19:11 |
leons | Disclaimer: I don't understand much of this, just trial and error on my side :) | 19:12 |
*** pftbest has quit IRC | 19:46 | |
*** pftbest has joined #litex | 19:47 | |
*** pftbest has quit IRC | 20:36 | |
*** pftbest has joined #litex | 20:37 | |
*** pftbest has quit IRC | 20:42 | |
*** shorne_ is now known as shorne | 21:07 | |
*** mikeK_de1soc has quit IRC | 21:41 |
Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!