[PATCH v4] ARM: ep93xx: use more reliable CPLD watchdog for reset on ts72xx
Petr Štetiar
ynezz at true.cz
Sun Jun 5 12:07:34 EDT 2011
Mika Westerberg <mika.westerberg at iki.fi> [2011-06-05 12:54:50]:
> > + if (board_is_ts7200() || board_is_ts7250() || board_is_ts7260() ||
> > + board_is_ts7300() || board_is_ts7400()) {
> > + /* We use more reliable CPLD watchdog to perform the reset */
> > + __raw_writeb(0x5, TS72XX_WDT_FEED_PHYS_BASE);
> > + __raw_writeb(0x1, TS72XX_WDT_CONTROL_PHYS_BASE);
>
> I just noticed that you are accessing the registers via *physical* address. It
> currently works because arm_machine_restart() sets up 1:1 mappings in place of
> userspace before arch_reset() gets called.
Setups the 1:1 mappings, clean+invalidate cache, turns off caching and flush
the cache.
> This might cause some problems as the register accesses are cached, or does it
> make a difference in ARM920?
Caching is disabled by the caller, isn't it?
-- ynezz
More information about the linux-arm-kernel
mailing list