CTU CAN FD IP Core issueshttps://gitlab.fel.cvut.cz/canbus/ctucanfd_ip_core/-/issues2021-05-17T12:30:31Zhttps://gitlab.fel.cvut.cz/canbus/ctucanfd_ip_core/-/issues/414Linux driver verification2021-05-17T12:30:31ZIlle, Ondrej, Ing.Linux driver verificationCurrently, there are no tests for Linux driver itself. Automated FPGA build
run in CTU synthesizes latest RTL and runs set of communication tests with SJA1000.
This is good basic sanity test that "communication works". This test will not...Currently, there are no tests for Linux driver itself. Automated FPGA build
run in CTU synthesizes latest RTL and runs set of communication tests with SJA1000.
This is good basic sanity test that "communication works". This test will not properly
test following conditions:
1. Error handling, REC/TEC readout towards proper value (there was a bug in driver where
REC/TEC readout was swapped).
2. Arbitration lost handling.
3. Fault-state changes (to active, passive and bus-off, reintegration and joining the bus
back-on).
This task deals with creating set of tests which will run as part of CI pipeline.
These tests shall verify the functionality of Linux driver and all its corner-cases.
Several approaches are possible:
1. Use Qemu + VPCIe framework and do co-simulation of GHDL + Qemu (virtual Linux + RTL simulation).
2. Use some framework for linux driver testing (e.g. SymDrive, Linux driver test...)Linux driverhttps://gitlab.fel.cvut.cz/canbus/ctucanfd_ip_core/-/issues/158driver: support for retrieving RX frame timestamp2022-01-04T10:32:19ZMartin Jeřábekdriver: support for retrieving RX frame timestamp* [x] read to skbuf
* [ ] ~~configure support via ioctl~~
* [ ] configure where to sample: SOF/EOF (ioctl?)
* [ ] research drivers counters (time source?), how to pass the timestamp source via device tree
* will need defined bitwidth ...* [x] read to skbuf
* [ ] ~~configure support via ioctl~~
* [ ] configure where to sample: SOF/EOF (ioctl?)
* [ ] research drivers counters (time source?), how to pass the timestamp source via device tree
* will need defined bitwidth to correctly wrap around (few counters will implement full 64 bits)Linux driverMartin JeřábekMartin Jeřábek