This patch fixes the following errors during make dtbs_check:
arch/arm64/boot/dts/freescale/imx8mp-evk.dt.yaml: can@308c0000: compatible: 'oneOf' conditional failed, one must be fixed:
['fsl,imx8mp-flexcan', 'fsl,imx6q-flexcan'] is too long
Additional items are not allowed ('fsl,imx6q-flexcan' was unexpected)
'fsl,imx8mp-flexcan' is not one of ['fsl,imx53-flexcan', 'fsl,imx35-flexcan']
'fsl,imx8mp-flexcan' is not one of ['fsl,imx7d-flexcan', 'fsl,imx6ul-flexcan', 'fsl,imx6sx-flexcan']
'fsl,imx8mp-flexcan' is not one of ['fsl,ls1028ar1-flexcan']
'fsl,imx25-flexcan' was expected
'fsl,lx2160ar1-flexcan' was expected
Cc: Marc Kleine-Budde <mkl@pengutronix.de>
Cc: Joakim Zhang <redacted>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: linux-can@vger.kernel.org
Cc: netdev@vger.kernel.org
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
---
Documentation/devicetree/bindings/net/can/fsl,flexcan.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
From: Marc Kleine-Budde <mkl@pengutronix.de> Date: 2021-07-15 09:12:21
On 15.07.2021 16:25:30, Dong Aisheng wrote:
This patch fixes the following errors during make dtbs_check:
arch/arm64/boot/dts/freescale/imx8mp-evk.dt.yaml: can@308c0000: compatible: 'oneOf' conditional failed, one must be fixed:
['fsl,imx8mp-flexcan', 'fsl,imx6q-flexcan'] is too long
IIRC the fsl,imx6q-flexcan binding doesn't work on the imx8mp. Maybe
better change the dtsi?
regards,
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 |
Hi Marc,
On Thu, Jul 15, 2021 at 5:12 PM Marc Kleine-Budde [off-list ref] wrote:
On 15.07.2021 16:25:30, Dong Aisheng wrote:
quoted
This patch fixes the following errors during make dtbs_check:
arch/arm64/boot/dts/freescale/imx8mp-evk.dt.yaml: can@308c0000: compatible: 'oneOf' conditional failed, one must be fixed:
['fsl,imx8mp-flexcan', 'fsl,imx6q-flexcan'] is too long
IIRC the fsl,imx6q-flexcan binding doesn't work on the imx8mp. Maybe
better change the dtsi?
I checked with Joakim that the flexcan on MX8MP is derived from MX6Q with extra
ECC added. Maybe we should still keep it from HW point of view?
Regards
Aisheng
regards,
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 |
-----Original Message-----
From: Dong Aisheng <redacted>
Sent: 2021年7月15日 18:46
To: Marc Kleine-Budde <mkl@pengutronix.de>
Cc: Aisheng Dong <aisheng.dong@nxp.com>; devicetree
[off-list ref]; moderated list:ARM/FREESCALE IMX / MXC
ARM ARCHITECTURE [off-list ref]; dl-linux-imx
[off-list ref]; Sascha Hauer [off-list ref]; Rob Herring
[off-list ref]; Shawn Guo [off-list ref]; Joakim Zhang
[off-list ref]; linux-can@vger.kernel.org;
netdev@vger.kernel.org
Subject: Re: [PATCH 1/7] dt-bindings: can: flexcan: fix imx8mp compatbile
Hi Marc,
On Thu, Jul 15, 2021 at 5:12 PM Marc Kleine-Budde [off-list ref]
wrote:
quoted
On 15.07.2021 16:25:30, Dong Aisheng wrote:
quoted
This patch fixes the following errors during make dtbs_check:
arch/arm64/boot/dts/freescale/imx8mp-evk.dt.yaml: can@308c0000:
compatible: 'oneOf' conditional failed, one must be fixed:
quoted
quoted
['fsl,imx8mp-flexcan', 'fsl,imx6q-flexcan'] is too long
IIRC the fsl,imx6q-flexcan binding doesn't work on the imx8mp. Maybe
better change the dtsi?
I checked with Joakim that the flexcan on MX8MP is derived from MX6Q with
extra ECC added. Maybe we should still keep it from HW point of view?
Sorry, Aisheng, I double check the history, and get the below results:
8MP reuses 8QXP(8QM), except ECC_EN (ipv_flexcan3_syn_006/D_IP_FlexCAN3_SYN_057 which corresponds to version d_ip_flexcan3_syn.03.00.17.01)
I prefer to change the dtsi as Mac suggested if possible, shall I send a fix patch?
Best Regards,
Joakim Zhang
Regards
Aisheng
quoted
regards,
Marc
--
Pengutronix e.K. | Marc Kleine-Budde |
Embedded Linux |
From: Marc Kleine-Budde <mkl@pengutronix.de> Date: 2021-07-15 11:07:23
On 15.07.2021 11:00:07, Joakim Zhang wrote:
quoted
I checked with Joakim that the flexcan on MX8MP is derived from MX6Q with
extra ECC added. Maybe we should still keep it from HW point of view?
Sorry, Aisheng, I double check the history, and get the below results:
8MP reuses 8QXP(8QM), except ECC_EN
(ipv_flexcan3_syn_006/D_IP_FlexCAN3_SYN_057 which corresponds to
version d_ip_flexcan3_syn.03.00.17.01)
On Thu, Jul 15, 2021 at 7:07 PM Marc Kleine-Budde [off-list ref] wrote:
On 15.07.2021 11:00:07, Joakim Zhang wrote:
quoted
quoted
I checked with Joakim that the flexcan on MX8MP is derived from MX6Q with
extra ECC added. Maybe we should still keep it from HW point of view?
Sorry, Aisheng, I double check the history, and get the below results:
8MP reuses 8QXP(8QM), except ECC_EN
(ipv_flexcan3_syn_006/D_IP_FlexCAN3_SYN_057 which corresponds to
version d_ip_flexcan3_syn.03.00.17.01)
I checked with Joakim that the flexcan on MX8MP is derived from
MX6Q with extra ECC added. Maybe we should still keep it from HW point
of view?
quoted
quoted
Sorry, Aisheng, I double check the history, and get the below results:
8MP reuses 8QXP(8QM), except ECC_EN
(ipv_flexcan3_syn_006/D_IP_FlexCAN3_SYN_057 which corresponds to
version d_ip_flexcan3_syn.03.00.17.01)
I checked with Joakim that the flexcan on MX8MP is derived from
MX6Q with extra ECC added. Maybe we should still keep it from HW point
of view?
quoted
quoted
Sorry, Aisheng, I double check the history, and get the below results:
8MP reuses 8QXP(8QM), except ECC_EN
(ipv_flexcan3_syn_006/D_IP_FlexCAN3_SYN_057 which corresponds to
version d_ip_flexcan3_syn.03.00.17.01)
Then should it be "fsl,imx8mp-flexcan", "fsl,imx8qxp-flexcan" rather
than only drop "fsl,imx6q-flexcan"?
The driver has compatibles for the 8qm, not for the 8qxp:
| { .compatible = "fsl,imx8qm-flexcan", .data =
&fsl_imx8qm_devtype_data, },
| { .compatible = "fsl,imx8mp-flexcan", .data =
|&fsl_imx8mp_devtype_data, },
AFAIK, we first design the i.MX8QM FlexCAN and later i.MX8QXP reuses IP from i.MX8QM, so there is no difference for them.
IMHO, IP design is always backwards compatible, then we need list each as fallback compatible string? I think it's unnecessary.
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 |
From: Marc Kleine-Budde <mkl@pengutronix.de> Date: 2021-07-16 09:06:54
On 16.07.2021 02:04:56, Joakim Zhang wrote:
quoted
On 15.07.2021 19:36:06, Dong Aisheng wrote:
quoted
Then should it be "fsl,imx8mp-flexcan", "fsl,imx8qxp-flexcan" rather
than only drop "fsl,imx6q-flexcan"?
The driver has compatibles for the 8qm, not for the 8qxp:
| { .compatible = "fsl,imx8qm-flexcan", .data =
&fsl_imx8qm_devtype_data, },
| { .compatible = "fsl,imx8mp-flexcan", .data =
|&fsl_imx8mp_devtype_data, },
AFAIK, we first design the i.MX8QM FlexCAN and later i.MX8QXP reuses
IP from i.MX8QM, so there is no difference for them.
IMHO, IP design is always backwards compatible,
Hopefully the IP blocks of the i.MX8Q* are compatible, but the other
flexcan IP core are not.
then we need list each as fallback compatible string? I think it's
unnecessary.
In the DTs we usually use the name of the SoC we're just describing as
the first compatible, and add a second compatible with the oldest SoC
having this IP core or an IP core that is compatible (so that the driver
works).
As the imx8mp needs the DISABLE_MECR quirk it's not compatible with the
imx6.
regards,
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 |