> -----Original Message----- > From: Trent Piepho [mailto:tpie...@impinj.com] > Sent: 2018年5月8日 6:07 > To: christian.gmei...@gmail.com; Peng Fan <peng....@nxp.com>; Anson > Huang <anson.hu...@nxp.com>; u-boot@lists.denx.de; > albert.u.b...@aribaud.net; sba...@denx.de > Cc: Fabio Estevam <fabio.este...@nxp.com> > Subject: Re: [U-Boot,V2] imx: mx7: psci: add system reset support > > On Thu, 2018-01-04 at 17:03 +0800, Anson Huang wrote: > > Add i.MX7 PSCI system reset support, linux kernel now can use "reboot" > > command to reset system. > > > > +__secure void imx_system_reset(void) > > +{ > > + writew(1 << 2, WDOG1_BASE_ADDR); > > +} > > This does not work properly on our board.
You could try write 0x14 to WDOG1_BASE_ADDR to see whether it works. Here using (1 << 2) triggers both SRS and WDOG_B which seems wrong. -Peng. > > Due to an erratum in iMX7d it is necessary to wire the external WDOG_B > signal to the pmic to cycle power in order to reset the board. The > Linux IMX watchdog driver works when it does a reboot via the watchdog, > but this code does not. > > When the Linux drivers is configured for an external wdog signal, using > a DT property, it sets WCR_SRS to prevent the internal system reset in > response to watchdog triggering. When that is not done, as in this > patch, the internal reset appears to reset the wdog module or iomux or > something, which causes the imx7d to stop asserting the external wdog > signal. > > In my tests, this takes only about 2.4 µs. Such a short wdog_b pulse > does not appear to be sufficient to trigger the pmic to cycle power. > > When SRS is set, then the WDOG_B signal will remain asserted until the > POR_B input signal to the imx7d is asserted. I.e., until pmic responds > to the watchdog signal. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot