Shawn Guo
d48866fefd
ARM: imx: ensure dsm_request signal is not asserted when setting LPM
...
There is a defect in imx6 LPM design. When SW tries to enter low power
mode with following sequence, the chip will enter low power mode before
A9 CPU execute WFI instruction:
1. Set CCM_CLPCR[1:0] to 2'b00;
2. ARM CPU enters WFI;
3. ARM CPU wakeup from an interrupt event, which is masked by GPC or not
visible to GPC, such as interrupt from local timer;
4. Set CCM_CLPCR[1:0] to 2'b01 or 2'b10;
5. ARM CPU execute WFI.
Before the last step, the chip will enter WAIT mode if CCM_CLPCR[1:0] is
set to 2'b01, or enter STOP mode if CCM_CLPCR[1:0] is set to 2'b10.
The patch implements a recommended workaround for this issue.
1. SW triggers irq #32(IOMUX) to be always pending manually by setting
IOMUX_GPR1_GINT bit;
2. SW should then unmask it in GPC before setting CCM LPM;
3. SW should mask it right after CCM LPM is set (bit0-1 of CCM_CLPCR).
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-10-21 09:39:26 +08:00
..
2013-06-27 15:15:08 +02:00
2012-10-15 10:05:43 +08:00
2012-10-15 09:18:14 +08:00
2013-10-21 09:13:13 +08:00
2013-05-02 09:03:55 -07:00
2012-10-15 09:18:14 +08:00
2012-10-15 09:18:14 +08:00
2012-10-15 09:18:14 +08:00
2012-10-15 09:18:14 +08:00
2013-05-02 08:56:55 -07:00
2013-08-16 13:11:24 +08:00
2013-09-17 10:04:23 +08:00
2013-04-01 16:17:50 +08:00
2012-10-15 10:05:43 +08:00
2013-10-21 09:39:24 +08:00
2013-08-16 13:11:25 +08:00
2012-10-15 10:05:43 +08:00
2013-02-05 10:54:35 +01:00
2013-09-19 03:53:44 +02:00
2013-02-04 22:56:41 -08:00
2013-04-09 19:46:30 +08:00
2013-10-21 09:27:55 +08:00
2013-04-01 16:17:49 +08:00
2013-04-01 16:17:50 +08:00
2013-08-16 13:11:25 +08:00
2013-07-15 08:28:09 +08:00
2013-08-16 13:11:25 +08:00
2013-09-09 15:49:04 -07:00
2013-10-21 09:39:26 +08:00
2013-04-01 16:17:49 +08:00
2012-10-15 10:05:43 +08:00
2012-10-15 10:05:43 +08:00
2012-10-15 10:05:43 +08:00
2012-10-15 10:05:43 +08:00
2013-10-21 09:15:12 +08:00
2013-04-23 13:45:23 +02:00
2013-04-23 13:45:23 +02:00
2013-04-23 13:45:23 +02:00
2012-10-15 09:18:15 +08:00
2012-10-15 09:18:15 +08:00
2013-06-27 15:15:08 +02:00
2012-11-16 16:21:48 +01:00
2012-10-15 09:18:15 +08:00
2013-06-27 15:15:08 +02:00
2012-10-15 09:18:15 +08:00
2012-10-15 10:05:43 +08:00
2012-11-30 09:27:57 -08:00
2012-10-15 10:05:43 +08:00
2012-10-15 10:05:43 +08:00
2012-11-30 09:27:57 -08:00
2013-10-21 09:11:05 +08:00
2013-04-03 16:50:54 +08:00
2013-06-27 15:15:08 +02:00
2013-06-27 15:15:08 +02:00
2012-10-15 10:05:43 +08:00
2012-10-15 09:18:14 +08:00
2013-10-21 09:39:26 +08:00
2013-06-17 15:45:10 +08:00
2013-05-12 21:39:18 +08:00
2013-10-21 09:37:31 +08:00
2012-10-15 10:03:10 +08:00
2013-06-17 15:45:10 +08:00
2013-06-17 15:45:10 +08:00
2013-06-17 15:45:10 +08:00
2013-09-29 21:09:30 +02:00
2013-04-01 16:17:48 +08:00
2012-10-15 09:18:14 +08:00
2012-10-15 09:18:14 +08:00
2012-10-15 09:18:14 +08:00
2012-10-15 09:18:14 +08:00
2012-10-15 09:18:14 +08:00
2012-10-15 09:18:14 +08:00
2012-10-15 09:18:14 +08:00
2012-10-15 09:18:14 +08:00
2012-10-15 10:05:43 +08:00
2012-10-15 09:18:14 +08:00
2012-10-15 10:05:43 +08:00
2012-10-15 09:18:14 +08:00
2013-06-17 15:45:14 +08:00
2012-10-15 10:05:43 +08:00
2013-10-21 09:15:08 +08:00
2012-12-24 09:36:38 -07:00
2013-10-21 09:11:05 +08:00
2012-12-24 09:36:38 -07:00
2013-04-03 16:50:54 +08:00
2012-12-24 09:36:38 -07:00
2013-04-01 16:17:34 +08:00
2012-12-24 09:36:38 -07:00
2013-10-21 09:36:53 +08:00
2013-10-21 09:14:54 +08:00
2013-08-29 12:33:52 -07:00
2012-12-24 09:36:38 -07:00
2012-12-24 09:36:38 -07:00
2013-09-29 21:09:30 +02:00
2012-12-24 09:36:38 -07:00
2012-12-24 09:36:38 -07:00
2012-12-24 09:36:38 -07:00
2013-06-27 15:15:08 +02:00
2012-12-24 09:36:38 -07:00
2012-12-24 09:36:38 -07:00
2013-10-21 09:11:05 +08:00
2012-12-24 09:36:38 -07:00
2012-12-24 09:36:38 -07:00
2012-12-24 09:36:38 -07:00
2013-06-20 16:21:34 -07:00
2012-12-24 09:36:38 -07:00
2013-04-01 16:17:34 +08:00
2013-08-29 12:33:52 -07:00
2013-06-17 15:45:16 +08:00
2012-10-15 10:03:10 +08:00
2013-10-21 09:11:05 +08:00
2012-12-24 09:36:38 -07:00
2013-06-27 15:15:08 +02:00
2012-12-24 09:36:38 -07:00
2012-12-24 09:36:38 -07:00
2013-09-29 21:09:30 +02:00
2012-12-24 09:36:38 -07:00
2013-08-16 13:11:24 +08:00
2013-06-17 15:45:10 +08:00
2013-07-03 09:46:29 -07:00
2013-10-21 09:35:57 +08:00
2013-06-17 15:45:10 +08:00
2013-08-26 20:47:16 +05:30
2013-06-17 15:45:10 +08:00
2013-01-03 15:57:04 -08:00
2012-09-14 11:17:21 +02:00
2012-10-15 10:05:43 +08:00
2012-10-15 10:05:43 +08:00
2012-10-15 10:05:43 +08:00
2012-10-15 10:05:43 +08:00
2012-10-15 10:05:43 +08:00
2013-07-15 08:28:07 +08:00
2012-10-15 10:05:43 +08:00
2013-10-21 09:11:05 +08:00
2012-10-15 10:05:43 +08:00
2012-10-15 10:05:43 +08:00
2012-10-15 10:05:43 +08:00
2012-10-15 10:05:43 +08:00
2012-10-15 10:05:43 +08:00
2012-10-15 10:05:43 +08:00
2012-10-15 10:05:43 +08:00
2013-10-21 09:14:54 +08:00
2012-10-15 10:05:43 +08:00
2013-07-14 19:36:52 -04:00
2012-10-15 10:05:43 +08:00
2013-08-22 23:20:45 +08:00
2013-10-21 09:39:26 +08:00
2012-10-15 10:05:43 +08:00
2013-10-21 09:37:32 +08:00
2012-10-15 10:02:19 +08:00
2012-10-15 10:02:19 +08:00
2013-10-21 09:36:53 +08:00
2013-10-21 09:11:05 +08:00
2013-04-01 16:17:51 +08:00
2013-06-17 15:45:16 +08:00