On 11/23/2017 10:09 AM, Pankaj Bansal wrote: > This patch adds platform specific details for NXP SOC LS1021A to the > flexcan driver code. > > Signed-off-by: Pankaj Bansal > Signed-off-by: Bhupesh Sharma > Reviewed-by: Zhengxiong Jin > Reviewed-by: Poonam Aggrwal > --- > Changes in v3: > - Add LS1021 in FLEXCAN hardware feature flags table > - Kept LS1021 compatible in one line, even if it's more than 80 > chars. > - Add PERR_STATE quirk and USE_OFF_TIMESTAMP quirk and > ENABLE_EACEN_RRS quirk for LS1021A. > - Tested on LS1021A using "cangen can0 -D 11223344DEADBEEF -L 8 -R" > and "cangen can0 -D 11223344DEADBEEF -L 8" > Changes in v2: > - No change. > > 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 4c873fb..21d0dd8 100644 > --- a/drivers/net/can/flexcan.c > +++ b/drivers/net/can/flexcan.c > @@ -190,6 +190,7 @@ > * MX53 FlexCAN2 03.00.00.00 yes no no no no > * MX6s FlexCAN3 10.00.12.00 yes yes no no yes > * VF610 FlexCAN3 ? no yes ? yes yes? > + * LS1021A FlexCAN2 03.00.04.00 no yes no no yes Out of curiosity, where have you got the IP core version from? > * > * Some SOCs do not have the RX_WARN & TX_WARN interrupt line connected. > */ > @@ -304,6 +305,13 @@ static const struct flexcan_devtype_data fsl_vf610_devtype_data = { > FLEXCAN_QUIRK_DISABLE_MECR | FLEXCAN_QUIRK_USE_OFF_TIMESTAMP, > }; > > +/* LS1021A-Rev2 has functional RX-FIFO mode */ That comment is obsolete, isn't it? If it's a noteworthy feature, add it to the overview table above. > +static const struct flexcan_devtype_data fsl_ls1021a_r2_devtype_data = { > + .quirks = FLEXCAN_QUIRK_DISABLE_RXFG | FLEXCAN_QUIRK_ENABLE_EACEN_RRS | > + FLEXCAN_QUIRK_DISABLE_MECR | FLEXCAN_QUIRK_BROKEN_PERR_STATE | > + FLEXCAN_QUIRK_USE_OFF_TIMESTAMP, > +}; > + > static const struct can_bittiming_const flexcan_bittiming_const = { > .name = DRV_NAME, > .tseg1_min = 4, > @@ -1248,6 +1256,7 @@ static const struct of_device_id flexcan_of_match[] = { > { .compatible = "fsl,imx25-flexcan", .data = &fsl_p1010_devtype_data, }, > { .compatible = "fsl,p1010-flexcan", .data = &fsl_p1010_devtype_data, }, > { .compatible = "fsl,vf610-flexcan", .data = &fsl_vf610_devtype_data, }, > + { .compatible = "fsl,ls1021ar2-flexcan", .data = &fsl_ls1021a_r2_devtype_data, }, > { /* sentinel */ }, > }; > MODULE_DEVICE_TABLE(of, flexcan_of_match); > Marc -- Pengutronix e.K. | Marc Kleine-Budde | Industrial Linux Solutions | Phone: +49-231-2826-924 | Vertretung West/Dortmund | Fax: +49-5121-206917-5555 | Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |