> -----Original Message----- > From: Francesco Dolcini <francesco@xxxxxxxxxx> > Sent: Monday, October 21, 2024 5:28 PM > To: Carlos Song <carlos.song@xxxxxxx> > Cc: robh@xxxxxxxxxx; krzk+dt@xxxxxxxxxx; conor+dt@xxxxxxxxxx; > shawnguo@xxxxxxxxxx; s.hauer@xxxxxxxxxxxxxx; kernel@xxxxxxxxxxxxxx; > festevam@xxxxxxxxx; Frank Li <frank.li@xxxxxxx>; Bough Chen > <haibo.chen@xxxxxxx>; devicetree@xxxxxxxxxxxxxxx; imx@xxxxxxxxxxxxxxx; > linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx > Subject: [EXT] Re: [PATCH] ARM: dts: imx7s: change i2c compatible string for > applying errata ERR007805 > > Caution: This is an external email. Please take care when clicking links or > opening attachments. When in doubt, report the message using the 'Report this > email' button > > > Hello Carlos, > > On Mon, Oct 21, 2024 at 11:11:48AM +0800, carlos.song@xxxxxxx wrote: > > From: Carlos Song <carlos.song@xxxxxxx> > > > > Compatible string "fsl,imx7d-i2c" is not exited at i2c-imx driver > > compatible string table, at the result, "fsl,imx21-i2c" will be > > matched, but it will cause errata ERR007805 not be applied in fact. > > > > Replace "fsl,imx7d-i2c" by "fsl,imx7s-i2c" compatible string in dts > > file for appling the errata ERR007805. > > Did you considered changing the driver instead? If I understand this correctly it > would be a better solution. > > Francesco Hi, Francesco Thank you for your comment. This errata fix patch has been applied on i2c-imx.c driver: 39c025721d70 i2c: imx: Implement errata ERR007805 or e7805 bus frequency limit The patch commit log says: this errata is found on all MX7{S,D}, MX6{UL{,L,Z},S{,LL,X},S,D,DL,Q,DP,QP} and MX8M{M,N,P,Q}. So imx7d and imx7s both needs this errata fix. "fsl,imx7s-i2c" was added into compatible string table in the i2c-imx patch, this is the patch diff snap. So when "fsl,imx7s-i2c" is matched, the arrata fix will be applied. @@ -266,6 +282,16 @@ MODULE_DEVICE_TABLE(platform, imx_i2c_devtype); static const struct of_device_id i2c_imx_dt_ids[] = { { .compatible = "fsl,imx1-i2c", .data = &imx1_i2c_hwdata, }, { .compatible = "fsl,imx21-i2c", .data = &imx21_i2c_hwdata, }, + { .compatible = "fsl,imx6q-i2c", .data = &imx6_i2c_hwdata, }, + { .compatible = "fsl,imx6sl-i2c", .data = &imx6_i2c_hwdata, }, + { .compatible = "fsl,imx6sll-i2c", .data = &imx6_i2c_hwdata, }, + { .compatible = "fsl,imx6sx-i2c", .data = &imx6_i2c_hwdata, }, + { .compatible = "fsl,imx6ul-i2c", .data = &imx6_i2c_hwdata, }, + { .compatible = "fsl,imx7s-i2c", .data = &imx6_i2c_hwdata, }, + { .compatible = "fsl,imx8mm-i2c", .data = &imx6_i2c_hwdata, }, + { .compatible = "fsl,imx8mn-i2c", .data = &imx6_i2c_hwdata, }, + { .compatible = "fsl,imx8mp-i2c", .data = &imx6_i2c_hwdata, }, + { .compatible = "fsl,imx8mq-i2c", .data = &imx6_i2c_hwdata, }, { .compatible = "fsl,vf610-i2c", .data = &vf610_i2c_hwdata, }, { /* sentinel */ } However, there is no "fsl,imx7d-i2c" in i2c-imx driver compatible string table, but imx7d and imx7s both needs this errata fix. Also I find imx7d.dtsi is including the imx7s.dtsi, so I think compatible "fsl,imx7s-i2c" is more reasonable in imx7s.dtsi. So I add the patch to change i2c node compatible in imx7s.dtsi. BR Carlos