Re: [PATCH] can: m_can: add support for bosch mcan version 3.3.0

From: Oliver Hartkopp
Date: Thu Nov 26 2020 - 06:22:04 EST




On 26.11.20 11:48, Marc Kleine-Budde wrote:
On 11/26/20 5:51 AM, Pankaj Sharma wrote:
Add support for mcan bit timing and control mode according to bosch mcan IP
version 3.3.0
The mcan version read from the Core Release field of CREL register would be
33. Accordingly the properties are to be set for mcan v3.3.0

BTW: do you have the v3.2 and v3.1 datasheets?

Unfortunately Bosch does not give access to older documents, so I tried to concentrate all my downloaded versions of public available information here:

https://github.com/hartkopp/M_CAN-User-Manual-History

PR's with updates are welcome ;-)

Best,
Oliver

ps. @Bosch Semiconductors - Read the README there! I would like to remove my own collection.


Marc

Signed-off-by: Pankaj Sharma <pankj.sharma@xxxxxxxxxxx>
---
Depends on:
https://marc.info/?l=linux-can&m=160624495218700&w=2

drivers/net/can/m_can/m_can.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/net/can/m_can/m_can.c b/drivers/net/can/m_can/m_can.c
index 86bbbfa..7652175 100644
--- a/drivers/net/can/m_can/m_can.c
+++ b/drivers/net/can/m_can/m_can.c
@@ -1385,6 +1385,8 @@ static int m_can_dev_setup(struct m_can_classdev *m_can_dev)
&m_can_data_bittiming_const_31X;
break;
case 32:
+ case 33:
+ /* Support both MCAN version v3.2.x and v3.3.0 */
m_can_dev->can.bittiming_const = m_can_dev->bit_timing ?
m_can_dev->bit_timing : &m_can_bittiming_const_31X;