Commit a562b98a authored by Martin Sperl's avatar Martin Sperl
Browse files

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: default avatarMartin 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: default avatarMartin Sperl <kernel@martin.sperl.org>
parent 33c520c4
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment