Hi, On Tue, 30 Apr 2019 at 00:05, Rob Herring <robh@xxxxxxxxxx> wrote: > > On Sun, Apr 14, 2019 at 06:18:04PM +0200, Clément Péron wrote: > > Hi, > > > > I have to bind an already existing IP by a vendor in a new SoC called > > "SOC3" device-tree. > > > > In the 1st gen of "SOC1" the IP is introduced : > > soc1.dtsi : > > compatible = "vendor,ip-soc1"; > > > > Then a 2nd gen of the IP is introduced in "SOC2" with new registers. > > But the driver of the 1st gen is still working fine and no update of > > the existing driver has been introduced because not required. > > soc2.dtsi : > > compatible = "vendor,ip-soc2", "vendor,ip-soc1"; > > > > Finally in "SOC3" and regardind the user manual we think that the IP > > introduced is the same as "SOC2". > > Should the compatible in soc3.dtsi be A or B? > > A) compatible = "vendor,ip-soc2", "vendor,ip-soc1"; > > or > > B) compatible = "vendor,ip-soc3", "vendor,ip-soc2", "vendor,ip-soc1"; > > > > I propose the solution B) because we don't know what could happens > > maybe the IP could need a quirks only for "SOC3". And device tree > > shouldn't move for the user only the driver. > > B is correct. > > Or you could list soc3 and soc2 given you do know there are additional > features. That would require a driver update, but likely the new SoC > requires some OS changes. Maybe someday SoC design will be disciplined > enough that new SoCs are fully backwards compatible. Thanks for the answer, Clement > > > Last question does we have to document all the compatible use in > > DTS(i) files in the Documentation ? or only the compatible used by the > > drivers ? > > What is used in DTS files. > > Rob