diff mbox series

can: m_can: add support for bosch mcan version 3.3.0

Message ID 1606366302-5520-1-git-send-email-pankj.sharma@samsung.com (mailing list archive)
State Accepted
Commit 5c7d55bded77da6db7c5d249610e3a2eed730b3c
Delegated to: Netdev Maintainers
Headers show
Series can: m_can: add support for bosch mcan version 3.3.0 | expand

Checks

Context Check Description
netdev/tree_selection success Series ignored based on subject

Commit Message

Pankaj Sharma Nov. 26, 2020, 4:51 a.m. UTC
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

Signed-off-by: Pankaj Sharma <pankj.sharma@samsung.com>
---
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(+)

Comments

Marc Kleine-Budde Nov. 26, 2020, 10:48 a.m. UTC | #1
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?

Marc

> Signed-off-by: Pankaj Sharma <pankj.sharma@samsung.com>
> ---
> 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;
>  
>
Marc Kleine-Budde Nov. 26, 2020, 10:51 a.m. UTC | #2
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
> 
> Signed-off-by: Pankaj Sharma <pankj.sharma@samsung.com>

Applied to linux-can/testing

tnx,
Marc
Oliver Hartkopp Nov. 26, 2020, 11:21 a.m. UTC | #3
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@samsung.com>
>> ---
>> 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;
>>   
>>
> 
>
Pankaj Sharma Nov. 26, 2020, 12:21 p.m. UTC | #4
> From: Oliver Hartkopp <socketcan@hartkopp.net>
> 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@samsung.com>
> >> ---
> >> 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;
> >>
> >>
> >
> >
diff mbox series

Patch

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;