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

From: pankj.sharma
Date: Fri Nov 27 2020 - 01:09:34 EST



> From: Oliver Hartkopp <socketcan@xxxxxxxxxxxx>
> Subject: Re: [PATCH] can: m_can: add support for bosch mcan version 3.3.0
>
>
>
> 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://protect2.fireeye.com/v1/url?k=6afc7639-35674f23-6afdfd76-
> 000babff24ad-be473a015905c7ca&q=1&e=8d02d5be-2511-407d-bfd1-
> 1d9135e21b7c&u=https%3A%2F%2Fgithub.com%2Fhartkopp%2FM_CAN-User-
> Manual-History

Thanks Oliver for sharing the link.
@Marc: I have used the documents from the link provided by Oliver.

Regards
Pankaj Sharma

>
> 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://protect2.fireeye.com/v1/url?k=6c628f8e-33f9b694-6c6304c1-000b
> >> abff24ad-a2e76f208a6b1470&q=1&e=8d02d5be-2511-407d-bfd1-
> 1d9135e21b7c&
> >> u=https%3A%2F%2Fmarc.info%2F%3Fl%3Dlinux-
> can%26m%3D160624495218700%26
> >> w%3D2
> >>
> >> 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;
> >>
> >>
> >
> >