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