linux-can.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] can: mcp251xfd: Add support for internal loopback mode
@ 2020-11-27 17:12 Manivannan Sadhasivam
  2020-11-27 19:34 ` Marc Kleine-Budde
  2020-12-10  9:56 ` Marc Kleine-Budde
  0 siblings, 2 replies; 3+ messages in thread
From: Manivannan Sadhasivam @ 2020-11-27 17:12 UTC (permalink / raw)
  To: mkl; +Cc: linux-can, thomas.kopp, Manivannan Sadhasivam

MCP251xFD supports internal loopback mode which can be used to verify
CAN functionality in the absence of a real CAN device.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
---
 drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c b/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c
index 3297eb7ecc9c..7715b8b14f29 100644
--- a/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c
+++ b/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c
@@ -932,6 +932,8 @@ static u8 mcp251xfd_get_normal_mode(const struct mcp251xfd_priv *priv)
 		mode = MCP251XFD_REG_CON_MODE_LISTENONLY;
 	else if (priv->can.ctrlmode & CAN_CTRLMODE_FD)
 		mode = MCP251XFD_REG_CON_MODE_MIXED;
+	else if (priv->can.ctrlmode & CAN_CTRLMODE_LOOPBACK)
+		mode = MCP251XFD_REG_CON_MODE_INT_LOOPBACK;
 	else
 		mode = MCP251XFD_REG_CON_MODE_CAN2_0;
 
@@ -2801,7 +2803,7 @@ static int mcp251xfd_probe(struct spi_device *spi)
 	priv->can.data_bittiming_const = &mcp251xfd_data_bittiming_const;
 	priv->can.ctrlmode_supported = CAN_CTRLMODE_LISTENONLY |
 		CAN_CTRLMODE_BERR_REPORTING | CAN_CTRLMODE_FD |
-		CAN_CTRLMODE_FD_NON_ISO;
+		CAN_CTRLMODE_FD_NON_ISO | CAN_CTRLMODE_LOOPBACK;
 	priv->ndev = ndev;
 	priv->spi = spi;
 	priv->rx_int = rx_int;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] can: mcp251xfd: Add support for internal loopback mode
  2020-11-27 17:12 [PATCH] can: mcp251xfd: Add support for internal loopback mode Manivannan Sadhasivam
@ 2020-11-27 19:34 ` Marc Kleine-Budde
  2020-12-10  9:56 ` Marc Kleine-Budde
  1 sibling, 0 replies; 3+ messages in thread
From: Marc Kleine-Budde @ 2020-11-27 19:34 UTC (permalink / raw)
  To: Manivannan Sadhasivam; +Cc: linux-can, thomas.kopp


[-- Attachment #1.1: Type: text/plain, Size: 1856 bytes --]

On 11/27/20 6:12 PM, Manivannan Sadhasivam wrote:
> MCP251xFD supports internal loopback mode which can be used to verify
> CAN functionality in the absence of a real CAN device.
> 
> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
> ---
>  drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c b/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c
> index 3297eb7ecc9c..7715b8b14f29 100644
> --- a/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c
> +++ b/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c
> @@ -932,6 +932,8 @@ static u8 mcp251xfd_get_normal_mode(const struct mcp251xfd_priv *priv)
>  		mode = MCP251XFD_REG_CON_MODE_LISTENONLY;
>  	else if (priv->can.ctrlmode & CAN_CTRLMODE_FD)
>  		mode = MCP251XFD_REG_CON_MODE_MIXED;
> +	else if (priv->can.ctrlmode & CAN_CTRLMODE_LOOPBACK)
> +		mode = MCP251XFD_REG_CON_MODE_INT_LOOPBACK;
>  	else
>  		mode = MCP251XFD_REG_CON_MODE_CAN2_0;
>  
> @@ -2801,7 +2803,7 @@ static int mcp251xfd_probe(struct spi_device *spi)
>  	priv->can.data_bittiming_const = &mcp251xfd_data_bittiming_const;
>  	priv->can.ctrlmode_supported = CAN_CTRLMODE_LISTENONLY |
>  		CAN_CTRLMODE_BERR_REPORTING | CAN_CTRLMODE_FD |
> -		CAN_CTRLMODE_FD_NON_ISO;
> +		CAN_CTRLMODE_FD_NON_ISO | CAN_CTRLMODE_LOOPBACK;

nitpick:
Please keep the CTRLMODE sorted by their value, even if the patch gets bigger.

>  	priv->ndev = ndev;
>  	priv->spi = spi;
>  	priv->rx_int = rx_int;
> 

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 |


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] can: mcp251xfd: Add support for internal loopback mode
  2020-11-27 17:12 [PATCH] can: mcp251xfd: Add support for internal loopback mode Manivannan Sadhasivam
  2020-11-27 19:34 ` Marc Kleine-Budde
@ 2020-12-10  9:56 ` Marc Kleine-Budde
  1 sibling, 0 replies; 3+ messages in thread
From: Marc Kleine-Budde @ 2020-12-10  9:56 UTC (permalink / raw)
  To: Manivannan Sadhasivam; +Cc: linux-can, thomas.kopp


[-- Attachment #1.1: Type: text/plain, Size: 578 bytes --]

On 11/27/20 6:12 PM, Manivannan Sadhasivam wrote:
> MCP251xFD supports internal loopback mode which can be used to verify
> CAN functionality in the absence of a real CAN device.
> 
> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>

Applied to linux-can-next.

Tnx,
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 |


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-12-10  9:57 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-27 17:12 [PATCH] can: mcp251xfd: Add support for internal loopback mode Manivannan Sadhasivam
2020-11-27 19:34 ` Marc Kleine-Budde
2020-12-10  9:56 ` Marc Kleine-Budde

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).