diff mbox series

[linux-can-next/flexcan,2/4] can: flexcan: add flexcan driver for i.MX8MP

Message ID 20200925151028.11004-3-qiangqing.zhang@nxp.com
State Awaiting Upstream
Delegated to: David Miller
Headers show
Series patch set for flexcan | expand

Commit Message

Joakim Zhang Sept. 25, 2020, 3:10 p.m. UTC
Add flexcan driver for i.MX8MP, which supports CAN FD and ECC.

Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
---
 drivers/net/can/flexcan.c | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Marc Kleine-Budde Sept. 25, 2020, 7:36 a.m. UTC | #1
On 9/25/20 5:10 PM, Joakim Zhang wrote:
> Add flexcan driver for i.MX8MP, which supports CAN FD and ECC.
> 
> Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
> ---
>  drivers/net/can/flexcan.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
> index f02f1de2bbca..8c8753f77764 100644
> --- a/drivers/net/can/flexcan.c
> +++ b/drivers/net/can/flexcan.c
> @@ -214,6 +214,7 @@
>   *   MX53  FlexCAN2  03.00.00.00    yes        no        no       no        no           no
>   *   MX6s  FlexCAN3  10.00.12.00    yes       yes        no       no       yes           no
>   *  MX8QM  FlexCAN3  03.00.23.00    yes       yes        no       no       yes          yes
> + *  MX8MP  FlexCAN3  03.00.17.01    yes       yes        no      yes       yes          yes
>   *   VF610 FlexCAN3  ?               no       yes        no      yes       yes?          no
>   * LS1021A FlexCAN2  03.00.04.00     no       yes        no       no       yes           no
>   * LX2160A FlexCAN3  03.00.23.00     no       yes        no       no       yes          yes
> @@ -389,6 +390,13 @@ static const struct flexcan_devtype_data fsl_imx8qm_devtype_data = {
>  		FLEXCAN_QUIRK_SUPPORT_FD,
>  };
>  
> +static struct flexcan_devtype_data fsl_imx8mp_devtype_data = {
> +	.quirks = FLEXCAN_QUIRK_DISABLE_RXFG | FLEXCAN_QUIRK_ENABLE_EACEN_RRS |
> +		FLEXCAN_QUIRK_USE_OFF_TIMESTAMP | FLEXCAN_QUIRK_BROKEN_PERR_STATE |
> +		FLEXCAN_QUIRK_SUPPORT_FD | FLEXCAN_QUIRK_SETUP_STOP_MODE |
> +		FLEXCAN_QUIRK_DISABLE_MECR,

Can you sort the order of the quirks by their value?

> +};
> +
>  static const struct flexcan_devtype_data fsl_vf610_devtype_data = {
>  	.quirks = FLEXCAN_QUIRK_DISABLE_RXFG | FLEXCAN_QUIRK_ENABLE_EACEN_RRS |
>  		FLEXCAN_QUIRK_DISABLE_MECR | FLEXCAN_QUIRK_USE_OFF_TIMESTAMP |
> @@ -1932,6 +1940,7 @@ static int flexcan_setup_stop_mode(struct platform_device *pdev)
>  }
>  
>  static const struct of_device_id flexcan_of_match[] = {
> +	{ .compatible = "fsl,imx8mp-flexcan", .data = &fsl_imx8mp_devtype_data, },
>  	{ .compatible = "fsl,imx8qm-flexcan", .data = &fsl_imx8qm_devtype_data, },
>  	{ .compatible = "fsl,imx6q-flexcan", .data = &fsl_imx6q_devtype_data, },
>  	{ .compatible = "fsl,imx28-flexcan", .data = &fsl_imx28_devtype_data, },
> 

Marc
Joakim Zhang Sept. 25, 2020, 7:42 a.m. UTC | #2
> -----Original Message-----
> From: Marc Kleine-Budde <mkl@pengutronix.de>
> Sent: 2020年9月25日 15:37
> To: Joakim Zhang <qiangqing.zhang@nxp.com>; linux-can@vger.kernel.org
> Cc: dl-linux-imx <linux-imx@nxp.com>; netdev@vger.kernel.org
> Subject: Re: [PATCH linux-can-next/flexcan 2/4] can: flexcan: add flexcan driver
> for i.MX8MP
> 
> On 9/25/20 5:10 PM, Joakim Zhang wrote:
> > Add flexcan driver for i.MX8MP, which supports CAN FD and ECC.
> >
> > Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
> > ---
> >  drivers/net/can/flexcan.c | 9 +++++++++
> >  1 file changed, 9 insertions(+)
> >
> > diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
> > index f02f1de2bbca..8c8753f77764 100644
> > --- a/drivers/net/can/flexcan.c
> > +++ b/drivers/net/can/flexcan.c
> > @@ -214,6 +214,7 @@
> >   *   MX53  FlexCAN2  03.00.00.00    yes        no        no
> no        no           no
> >   *   MX6s  FlexCAN3  10.00.12.00    yes       yes        no
> no       yes           no
> >   *  MX8QM  FlexCAN3  03.00.23.00    yes       yes        no
> no       yes          yes
> > + *  MX8MP  FlexCAN3  03.00.17.01    yes       yes        no
> yes       yes          yes
> >   *   VF610 FlexCAN3  ?               no       yes        no
> yes       yes?          no
> >   * LS1021A FlexCAN2  03.00.04.00     no       yes        no
> no       yes           no
> >   * LX2160A FlexCAN3  03.00.23.00     no       yes        no
> no       yes          yes
> > @@ -389,6 +390,13 @@ static const struct flexcan_devtype_data
> fsl_imx8qm_devtype_data = {
> >  		FLEXCAN_QUIRK_SUPPORT_FD,
> >  };
> >
> > +static struct flexcan_devtype_data fsl_imx8mp_devtype_data = {
> > +	.quirks = FLEXCAN_QUIRK_DISABLE_RXFG |
> FLEXCAN_QUIRK_ENABLE_EACEN_RRS |
> > +		FLEXCAN_QUIRK_USE_OFF_TIMESTAMP |
> FLEXCAN_QUIRK_BROKEN_PERR_STATE |
> > +		FLEXCAN_QUIRK_SUPPORT_FD |
> FLEXCAN_QUIRK_SETUP_STOP_MODE |
> > +		FLEXCAN_QUIRK_DISABLE_MECR,
> 
> Can you sort the order of the quirks by their value?

Ok, I have not noticed such details before, sorry.

Best Regards,
Joakim Zhang
> > +};
> > +
> >  static const struct flexcan_devtype_data fsl_vf610_devtype_data = {
> >  	.quirks = FLEXCAN_QUIRK_DISABLE_RXFG |
> FLEXCAN_QUIRK_ENABLE_EACEN_RRS |
> >  		FLEXCAN_QUIRK_DISABLE_MECR |
> FLEXCAN_QUIRK_USE_OFF_TIMESTAMP | @@
> > -1932,6 +1940,7 @@ static int flexcan_setup_stop_mode(struct
> > platform_device *pdev)  }
> >
> >  static const struct of_device_id flexcan_of_match[] = {
> > +	{ .compatible = "fsl,imx8mp-flexcan", .data =
> > +&fsl_imx8mp_devtype_data, },
> >  	{ .compatible = "fsl,imx8qm-flexcan", .data =
> &fsl_imx8qm_devtype_data, },
> >  	{ .compatible = "fsl,imx6q-flexcan", .data = &fsl_imx6q_devtype_data, },
> >  	{ .compatible = "fsl,imx28-flexcan", .data =
> > &fsl_imx28_devtype_data, },
> >
> 
> Marc
> 
> --
> Pengutronix e.K.                 | Marc Kleine-Budde           |
> Embedded Linux                   | https://www.pengutronix.de  |
> Vertretung West/Dortmund         | Phone: +49-231-2826-924     |
> Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917-5555 |
Marc Kleine-Budde Sept. 25, 2020, 9:04 a.m. UTC | #3
On 9/25/20 5:10 PM, Joakim Zhang wrote:
> Add flexcan driver for i.MX8MP, which supports CAN FD and ECC.
> 
> Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
> ---
>  drivers/net/can/flexcan.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
> index f02f1de2bbca..8c8753f77764 100644
> --- a/drivers/net/can/flexcan.c
> +++ b/drivers/net/can/flexcan.c
> @@ -214,6 +214,7 @@
>   *   MX53  FlexCAN2  03.00.00.00    yes        no        no       no        no           no
>   *   MX6s  FlexCAN3  10.00.12.00    yes       yes        no       no       yes           no
>   *  MX8QM  FlexCAN3  03.00.23.00    yes       yes        no       no       yes          yes
> + *  MX8MP  FlexCAN3  03.00.17.01    yes       yes        no      yes       yes          yes

This doesn't apply to net-next/master. The MX8QM indented differently.

Marc
Joakim Zhang Sept. 25, 2020, 9:11 a.m. UTC | #4
> -----Original Message-----
> From: Marc Kleine-Budde <mkl@pengutronix.de>
> Sent: 2020年9月25日 17:05
> To: Joakim Zhang <qiangqing.zhang@nxp.com>; linux-can@vger.kernel.org
> Cc: dl-linux-imx <linux-imx@nxp.com>; netdev@vger.kernel.org
> Subject: Re: [PATCH linux-can-next/flexcan 2/4] can: flexcan: add flexcan driver
> for i.MX8MP
> 
> On 9/25/20 5:10 PM, Joakim Zhang wrote:
> > Add flexcan driver for i.MX8MP, which supports CAN FD and ECC.
> >
> > Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
> > ---
> >  drivers/net/can/flexcan.c | 9 +++++++++
> >  1 file changed, 9 insertions(+)
> >
> > diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
> > index f02f1de2bbca..8c8753f77764 100644
> > --- a/drivers/net/can/flexcan.c
> > +++ b/drivers/net/can/flexcan.c
> > @@ -214,6 +214,7 @@
> >   *   MX53  FlexCAN2  03.00.00.00    yes        no        no
> no        no           no
> >   *   MX6s  FlexCAN3  10.00.12.00    yes       yes        no
> no       yes           no
> >   *  MX8QM  FlexCAN3  03.00.23.00    yes       yes        no
> no       yes          yes
> > + *  MX8MP  FlexCAN3  03.00.17.01    yes       yes        no
> yes       yes          yes
> 
> This doesn't apply to net-next/master. The MX8QM indented differently.

Need I rebase on net-next/master in next version? This patch set is made from linux-can-next/flexcan branch.

Best Regards,
Joakim Zhang
> Marc
> 
> --
> Pengutronix e.K.                 | Marc Kleine-Budde           |
> Embedded Linux                   | https://www.pengutronix.de  |
> Vertretung West/Dortmund         | Phone: +49-231-2826-924     |
> Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917-5555 |
Marc Kleine-Budde Sept. 25, 2020, 9:35 a.m. UTC | #5
On 9/25/20 11:11 AM, Joakim Zhang wrote:
>> This doesn't apply to net-next/master. The MX8QM indented differently.
> 
> Need I rebase on net-next/master in next version? This patch set is made from
> linux-can-next/flexcan branch.
Yes, the flexcan patches are already in David's tree, so please base on
net-next/master.

Marc
Joakim Zhang Sept. 25, 2020, 9:48 a.m. UTC | #6
> -----Original Message-----
> From: Marc Kleine-Budde <mkl@pengutronix.de>
> Sent: 2020年9月25日 17:36
> To: Joakim Zhang <qiangqing.zhang@nxp.com>; linux-can@vger.kernel.org
> Cc: dl-linux-imx <linux-imx@nxp.com>; netdev@vger.kernel.org
> Subject: Re: [PATCH linux-can-next/flexcan 2/4] can: flexcan: add flexcan driver
> for i.MX8MP
> 
> On 9/25/20 11:11 AM, Joakim Zhang wrote:
> >> This doesn't apply to net-next/master. The MX8QM indented differently.
> >
> > Need I rebase on net-next/master in next version? This patch set is
> > made from linux-can-next/flexcan branch.
> Yes, the flexcan patches are already in David's tree, so please base on
> net-next/master.

Ok, another I want to indicate is that, i.MX8MP RM has not released to public, I only have internal review version and specific RM of i.MX8MP generated by IP owners.

So I am unable to give a website link for this, just add the name, version, section.

Best Regards,
Joakim Zhang
> Marc
> 
> --
> Pengutronix e.K.                 | Marc Kleine-Budde           |
> Embedded Linux                   | https://www.pengutronix.de  |
> Vertretung West/Dortmund         | Phone: +49-231-2826-924     |
> Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917-5555 |
Marc Kleine-Budde Sept. 25, 2020, 9:57 a.m. UTC | #7
On 9/25/20 11:48 AM, Joakim Zhang wrote:
>>> Need I rebase on net-next/master in next version? This patch set is
>>> made from linux-can-next/flexcan branch.
>> Yes, the flexcan patches are already in David's tree, so please base on
>> net-next/master.
> 
> Ok, another I want to indicate is that, i.MX8MP RM has not released to
> public, I only have internal review version and specific RM of i.MX8MP
> generated by IP owners.

> So I am unable to give a website link for this, just add the name, version,
> section.

No problem, we can change the section if needed once the datasheet is public.

Marc
diff mbox series

Patch

diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
index f02f1de2bbca..8c8753f77764 100644
--- a/drivers/net/can/flexcan.c
+++ b/drivers/net/can/flexcan.c
@@ -214,6 +214,7 @@ 
  *   MX53  FlexCAN2  03.00.00.00    yes        no        no       no        no           no
  *   MX6s  FlexCAN3  10.00.12.00    yes       yes        no       no       yes           no
  *  MX8QM  FlexCAN3  03.00.23.00    yes       yes        no       no       yes          yes
+ *  MX8MP  FlexCAN3  03.00.17.01    yes       yes        no      yes       yes          yes
  *   VF610 FlexCAN3  ?               no       yes        no      yes       yes?          no
  * LS1021A FlexCAN2  03.00.04.00     no       yes        no       no       yes           no
  * LX2160A FlexCAN3  03.00.23.00     no       yes        no       no       yes          yes
@@ -389,6 +390,13 @@  static const struct flexcan_devtype_data fsl_imx8qm_devtype_data = {
 		FLEXCAN_QUIRK_SUPPORT_FD,
 };
 
+static struct flexcan_devtype_data fsl_imx8mp_devtype_data = {
+	.quirks = FLEXCAN_QUIRK_DISABLE_RXFG | FLEXCAN_QUIRK_ENABLE_EACEN_RRS |
+		FLEXCAN_QUIRK_USE_OFF_TIMESTAMP | FLEXCAN_QUIRK_BROKEN_PERR_STATE |
+		FLEXCAN_QUIRK_SUPPORT_FD | FLEXCAN_QUIRK_SETUP_STOP_MODE |
+		FLEXCAN_QUIRK_DISABLE_MECR,
+};
+
 static const struct flexcan_devtype_data fsl_vf610_devtype_data = {
 	.quirks = FLEXCAN_QUIRK_DISABLE_RXFG | FLEXCAN_QUIRK_ENABLE_EACEN_RRS |
 		FLEXCAN_QUIRK_DISABLE_MECR | FLEXCAN_QUIRK_USE_OFF_TIMESTAMP |
@@ -1932,6 +1940,7 @@  static int flexcan_setup_stop_mode(struct platform_device *pdev)
 }
 
 static const struct of_device_id flexcan_of_match[] = {
+	{ .compatible = "fsl,imx8mp-flexcan", .data = &fsl_imx8mp_devtype_data, },
 	{ .compatible = "fsl,imx8qm-flexcan", .data = &fsl_imx8qm_devtype_data, },
 	{ .compatible = "fsl,imx6q-flexcan", .data = &fsl_imx6q_devtype_data, },
 	{ .compatible = "fsl,imx28-flexcan", .data = &fsl_imx28_devtype_data, },