On Mon, Oct 21, 2024 at 10:07:23AM +0000, Carlos Song wrote: > > From: Francesco Dolcini <francesco@xxxxxxxxxx> > > > > 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. > > 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. It is clear what you did. What I wrote is that IMO it's not the correct solution. Kernel and the FDT can be updated indipendently, with the FDT being part of the firmware, and you should not expect people to update the FDT to fix an errata that is implemented in the driver. My suggestion is that the errata should be applied in the driver to both compatibles, and such a fix should be backported to stable kernel. Francesco