On 10/14/2013 11:51 PM, Terje Bergström wrote:
On 14.10.2013 21:14, Stephen Warren wrote:
On 10/14/2013 08:00 AM, Thierry Reding wrote:
Yes, as long as the device tree files includes the most specific value in the compatible this should still be possible. So we'd have this:
gr2d@54140000 { compatible = "nvida,tegra114-gr2d", "nvidia,tegra20-gr2d"; ... };
and the driver will match on "nvidia,tegra20-gr2d" if the more specific "nvidia,tegra114-gr2d" is not there. When the driver is updated to support Tegra114 specific functionality, then a more specific entry can be added to the compatible table to handle it.
True, but the DT fragment above is also only accurate /if/ a driver that only knows about "nvidia,tegra20-gr2d" can operate 100% of the features in Tegra20 HW on Tegra114 HW forever.
I don't know of any hardware incompatibility. The only difference is related to something not directly to 2D. We moved host1x away from the power domain, so in Tegra114 we're able to power gate 2D and EPP. The DVFS tables are also different.
I'd say say adding the compatible property "nvidia,tegra20-gr2d" for Tegra114's 2D is accurate and we're able to use the match table to drive any SW policy differences.
The compatible value shouldn't be used for SW policy differences. DT is about HW, not SW policy. You have to decide: either the HW is 100% backwards-compatible, or it's not. You can't decide that the HW is compatible, but then require different compatible values.