Message ID | 1391473055-3158-2-git-send-email-achew@nvidia.com |
---|---|
State | Superseded, archived |
Headers | show |
On 02/03/2014 05:17 PM, Andrew Chew wrote: > There are some differences between tegra20's timer registers and tegra30's > (and later). For example, tegra30 has more timers. In addition, watchdogs > are not present in tegra20. > > Add this compatibility string in order to be able to distinguish > whether the additional timers and watchdogs are there or not. > diff --git a/drivers/clocksource/tegra20_timer.c b/drivers/clocksource/tegra20_timer.c > CLOCKSOURCE_OF_DECLARE(tegra20_timer, "nvidia,tegra20-timer", tegra20_init_timer); > +CLOCKSOURCE_OF_DECLARE(tegra30_timer, "nvidia,tegra30-timer", tegra20_init_timer); Thinking about this more, nothing in this driver actually cares about Tegra20 vs. Tegra30+, since the timer that's used is present in all chips. Hence, this patch isn't needed. -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
> On 02/03/2014 05:17 PM, Andrew Chew wrote: > > There are some differences between tegra20's timer registers and > > tegra30's (and later). For example, tegra30 has more timers. In > > addition, watchdogs are not present in tegra20. > > > > Add this compatibility string in order to be able to distinguish > > whether the additional timers and watchdogs are there or not. > > > diff --git a/drivers/clocksource/tegra20_timer.c > > b/drivers/clocksource/tegra20_timer.c > > > CLOCKSOURCE_OF_DECLARE(tegra20_timer, "nvidia,tegra20-timer", > > tegra20_init_timer); > > +CLOCKSOURCE_OF_DECLARE(tegra30_timer, "nvidia,tegra30-timer", > > +tegra20_init_timer); > > Thinking about this more, nothing in this driver actually cares about > Tegra20 vs. Tegra30+, since the timer that's used is present in all chips. > Hence, this patch isn't needed. Don't I need to add nvidia,tegra30-timer so that the tegra WDT driver can match against it? It would be weird to have the tegra WDT driver bind against nvidia,tegra20-timer when the tegra WDT driver as it is won't work at all on tegra20. -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 02/05/2014 01:06 PM, Andrew Chew wrote: >> On 02/03/2014 05:17 PM, Andrew Chew wrote: >>> There are some differences between tegra20's timer registers and >>> tegra30's (and later). For example, tegra30 has more timers. In >>> addition, watchdogs are not present in tegra20. >>> >>> Add this compatibility string in order to be able to distinguish >>> whether the additional timers and watchdogs are there or not. >> >>> diff --git a/drivers/clocksource/tegra20_timer.c >>> b/drivers/clocksource/tegra20_timer.c >> >>> CLOCKSOURCE_OF_DECLARE(tegra20_timer, "nvidia,tegra20-timer", >>> tegra20_init_timer); >>> +CLOCKSOURCE_OF_DECLARE(tegra30_timer, "nvidia,tegra30-timer", >>> +tegra20_init_timer); >> >> Thinking about this more, nothing in this driver actually cares about >> Tegra20 vs. Tegra30+, since the timer that's used is present in all chips. >> Hence, this patch isn't needed. > > Don't I need to add nvidia,tegra30-timer so that the tegra WDT driver > can match against it? It would be weird to have the tegra WDT driver > bind against nvidia,tegra20-timer when the tegra WDT driver as it is won't > work at all on tegra20. The DT files need to contain all of: * The specific SoC (this is already present) * nvidia,tegra30-timer for SoCs >= Tegra30 (this is missing) * nvidia,tegra20-timer for all SoCs (this is already present) However, since all DTs will contain nvidia,tegra20-timer, since all HW is backwards-compatible IIUC, any code that only cares about the parts that have existed since Tegra20 only need match against the Tegra20 compatible value. -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
> On 02/05/2014 01:06 PM, Andrew Chew wrote: > >> On 02/03/2014 05:17 PM, Andrew Chew wrote: > >>> There are some differences between tegra20's timer registers and > >>> tegra30's (and later). For example, tegra30 has more timers. In > >>> addition, watchdogs are not present in tegra20. > >>> > >>> Add this compatibility string in order to be able to distinguish > >>> whether the additional timers and watchdogs are there or not. > >> > >>> diff --git a/drivers/clocksource/tegra20_timer.c > >>> b/drivers/clocksource/tegra20_timer.c > >> > >>> CLOCKSOURCE_OF_DECLARE(tegra20_timer, "nvidia,tegra20-timer", > >>> tegra20_init_timer); > >>> +CLOCKSOURCE_OF_DECLARE(tegra30_timer, "nvidia,tegra30-timer", > >>> +tegra20_init_timer); > >> > >> Thinking about this more, nothing in this driver actually cares about > >> Tegra20 vs. Tegra30+, since the timer that's used is present in all chips. > >> Hence, this patch isn't needed. > > > > Don't I need to add nvidia,tegra30-timer so that the tegra WDT driver > > can match against it? It would be weird to have the tegra WDT driver > > bind against nvidia,tegra20-timer when the tegra WDT driver as it is > > won't work at all on tegra20. > > The DT files need to contain all of: > > * The specific SoC (this is already present) > * nvidia,tegra30-timer for SoCs >= Tegra30 (this is missing) > * nvidia,tegra20-timer for all SoCs (this is already present) > > However, since all DTs will contain nvidia,tegra20-timer, since all HW is > backwards-compatible IIUC, any code that only cares about the parts that > have existed since Tegra20 only need match against the Tegra20 compatible > value. Okay, I think I get what you're saying. So I'll drop this patch. The tegra WDT driver will still match against nvidia,tegra30-timer, and device trees for SoCs that expect to use this WDT driver will have to have nvidia,tegra30-timer. -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/clocksource/tegra20_timer.c b/drivers/clocksource/tegra20_timer.c index d1869f0..73cfa56 100644 --- a/drivers/clocksource/tegra20_timer.c +++ b/drivers/clocksource/tegra20_timer.c @@ -218,6 +218,7 @@ static void __init tegra20_init_timer(struct device_node *np) 0x1, 0x1fffffff); } CLOCKSOURCE_OF_DECLARE(tegra20_timer, "nvidia,tegra20-timer", tegra20_init_timer); +CLOCKSOURCE_OF_DECLARE(tegra30_timer, "nvidia,tegra30-timer", tegra20_init_timer); static void __init tegra20_init_rtc(struct device_node *np) {