Am 2020-09-23 09:54, schrieb Marc Kleine-Budde:
On 9/23/20 9:45 AM, Michael Walle wrote:
Hi Joakim, Hi Marc,
Am 2020-09-22 16:44, schrieb Marc Kleine-Budde:
From: Joakim Zhang <qiangqing.zhang@xxxxxxx>
The Flexcan on lx2160ar1 supports CAN FD protocol.
Signed-off-by: Joakim Zhang <qiangqing.zhang@xxxxxxx>
Link:
https://lore.kernel.org/r/20190712075926.7357-9-qiangqing.zhang@xxxxxxx
Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx>
---
drivers/net/can/flexcan.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
index 5f778c961a0c..e86925134009 100644
--- a/drivers/net/can/flexcan.c
+++ b/drivers/net/can/flexcan.c
@@ -216,6 +216,7 @@
* MX8QM FlexCAN3 03.00.23.00 yes yes no no
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
I'd really like to see LS1028A support. At the moment, I'm having the
following additional patch for the ls1028a device tree.
can0: can@2180000 {
compatible = "fsl,ls1028ar1-flexcan", "fsl,lx2160ar1-flexcan";
^^^^^^^^^^^^^^^^^^^^^
reg = <0x0 0x2180000 0x0 0x10000>;
interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&sysclk>, <&clockgen 4 1>;
clock-names = "ipg", "per";
status = "disabled";
};
Do we need to add a dedicated compatible entry for the LS1028A
the driver?
At the end of the series, there are the following compatibles:
static const struct of_device_id flexcan_of_match[] = {
{ .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,
},
{ .compatible = "fsl,imx53-flexcan", .data = &fsl_imx25_devtype_data,
},
{ .compatible = "fsl,imx35-flexcan", .data = &fsl_imx25_devtype_data,
},
{ .compatible = "fsl,imx25-flexcan", .data = &fsl_imx25_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, },
{ .compatible = "fsl,lx2160ar1-flexcan", .data =
&fsl_lx2160a_r1_devtype_data, },
^^^^^^^^^^^^^^^^^^^^^
{ /* sentinel */ },
};
The compatible of your can device matches the one listed in
the driver. So there's no need for the "fsl,ls1028ar1-flexcan"
in the driver.
If it turns out, that the "fsl,ls1028ar1-flexcan" needs
different handling than the "fsl,lx2160ar1-flexcan", we would
add it with different quirks to the driver.
That was what I was asking. Ie. if Joakim already knows any and
if it makes sense to have some added right now.
And maybe you/he want to see the LS1028A added to the table in
the header of the file. I've had a look at the vendor manual but
couldn't even find the IP version. Seems to me that only Joakim
is able to fill out that row ;)
-michael