can: mcp25xxfd: Add Microchip mcp25xxfd CAN FD driver
Add un-optimized Can2.0 and CanFD support. CAN-Transmission and Optimizations and are separate patches On a Rasperry pi 3 it is already able to process Can2.0 Frames with DLC=0 on a CAN bus with 1MHz. without losing any packets on the SPI side. Packets still get lost inside the network stack. Signed-off-by:Martin Sperl <kernel@martin.sperl.org> --- Changelog: V1 -> V2: new more generic name based on feedback from microchip cleanup of code (checkpatch) address all feedback on code prepare code for GPIO handling (separate patches) handle systemerrors in a much better/reliable way V2 -> V3: added vendor-prefix for gpio-opendrain V3 -> V4: resend V4 -> V5: split can driver into a separate patch code cleanup/rewrite V5 -> V6: update copyright year add rational documentation for basic rx-prefetch length fix CAN_OBJ_FLAGS_BRS and CAN_OBJ_FLAGS_ESI bug fixed TDC configuration - at this moment configurable via module parameters but with (hopefully) sensible defaults use length instead of dlc as parameter in call of mcp25xxfd_can_submit_rx_fd_frame moved use of mcp25xxfd_can_int_handle_tefif_oportunistic to separate patch reorganized code based on feedback by Wolfgang Grandegger fixed transmission problem reported by Hubert Denkmair added extra custom error flags added voluntary scheduling in interrupt thread V6 -> V7: added include linux/irqreturn.h (feedback by Eric Scholz) move can transmission into a separate patch to reduce the size of the individual patches to make the linux-can mailing-list happy... V7 -> V8: sparse changes as hinted by Marc Kleine-Budde integrate feedback by Marc Kleine-Budde integrate feedback by Joe Burmeister mcp25xxfd_can_get_mode return error handling error messages on error in interrupt-handler disable interrupts when we experience errors. Signed-off-by:
Martin Sperl <kernel@martin.sperl.org>
Loading