11 Nov
2023
11 Nov
'23
7:18 p.m.
Hi Andy,
On Fri, 2023-07-21 at 19:37 +0300, Andy Shevchenko wrote:
+ /* Issue the reboot */ + ep93xx_devcfg_set_clear(priv->map, EP93XX_SYSCON_DEVCFG_SWRST, 0x00); + ep93xx_devcfg_set_clear(priv->map, 0x00, EP93XX_SYSCON_DEVCFG_SWRST);
+ mdelay(1000);
Atomic?! Such a huge delay must be explained, esp. why it's atomic.
atomic or not, SoC is supposed to reset itself here. However there is an errata [1] and the SoC can lockup instead. So even pr_emerg() makes sense to me.
+ pr_emerg("Unable to restart system\n"); + return NOTIFY_DONE;
[1] http://web.archive.org/web/20161130230727/http://www.cirrus.com/en/pubs/appN...
--
Alexander Sverdlin.