can: m_can: add Bosch M_CAN controller support
The patch adds the basic CAN TX/RX function support for Bosch M_CAN controller. For TX, only one dedicated tx buffer is used for sending data. For RX, RXFIFO 0 is used for receiving data to avoid overflow. Rx FIFO 1 and Rx Buffers are not used currently, as well as Tx Event FIFO. Due to the message ram can be shared by multi m_can instances and the fifo element is configurable which is SoC dependant, the design is to parse the message ram related configuration data from device tree rather than hardcode define it in driver which can make the message ram sharing fully transparent to M_CAN controller driver, then we can gain better driver maintainability and future features upgrade. M_CAN also supports CANFD protocol features like data payload up to 64 bytes and bitrate switch at runtime, however, this patch still does not add the support for these features. Cc: Wolfgang Grandegger <wg@grandegger.com> Cc: Marc Kleine-Budde <mkl@pengutronix.de> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Oliver Hartkopp <socketcan@hartkopp.net> Cc: Varka Bhadram <varkabhadram@gmail.com> Signed-off-by:Dong Aisheng <b29396@freescale.com> Reviewed-by:
Varka Bhadram <varkabhadram@gmail.com> Signed-off-by:
Fengguang Wu <fengguang.wu@intel.com> [mkl: Squahed semicolon cleanup by Fengguang Wu] Signed-off-by:
Marc Kleine-Budde <mkl@pengutronix.de>
parent
e3543080
-
mentioned in commit 95fdd078
-
mentioned in commit b1c19039
-
mentioned in commit 8f91d420
-
mentioned in commit 735abed1
-
mentioned in commit afaca48e
-
mentioned in commit 059c1996
-
mentioned in commit f58ac1ad
-
mentioned in commit a1783eab
-
mentioned in commit ad66b892
-
mentioned in commit f76580d8
-
mentioned in commit 9f5b334e
Please register or sign in to comment