1
2
3
4
5
6
7
8
9
10#include <linux/linkage.h>
11#include <linux/clk/at91_pmc.h>
12#include "pm.h"
13#include "pm_data-offsets.h"
14
15#define SRAMC_SELF_FRESH_ACTIVE 0x01
16#define SRAMC_SELF_FRESH_EXIT 0x00
17
18pmc .req r0
19tmp1 .req r4
20tmp2 .req r5
21tmp3 .req r6
22
23
24
25
26
27
28
29
30 .macro wait_mckrdy r_mckid
31#ifdef CONFIG_SOC_SAMA7
32 cmp \r_mckid,
33 beq 1f
34 mov r7,
35 b 2f
36#endif
371: mov r7,
382: ldr r8, [pmc,
39 and r8, r7
40 cmp r8, r7
41 bne 2b
42 .endm
43
44
45
46
47
48
49 .macro wait_moscrdy
501: ldr r7, [pmc,
51 tst r7,
52 beq 1b
53 .endm
54
55
56
57
58
59
60 .macro wait_moscsels
611: ldr r7, [pmc,
62 tst r7,
63 beq 1b
64 .endm
65
66
67
68
69
70
71 .macro at91_cpu_idle
72
73
74 mov r7,
75 str r7, [pmc,
76
77 dsb
78
79 wfi @ Wait For Interrupt
80#else
81 mcr p15, 0, tmp1, c7, c0, 4
82#endif
83
84 .endm
85
86
87
88
89
90
91
92
93 .macro at91_2_5V_reg_set_low_power ena
94#ifdef CONFIG_SOC_SAMA7
95 ldr r7, .sfrbu
96 mov r8,
97 ldr r9, [r7,
98 orr r9, r9,
99 cmp r8,
100 beq lp_done_\ena
101 bic r9, r9,
102lp_done_\ena:
103 ldr r10, =AT91_SFRBU_25LDOCR_LDOANAKEY
104 orr r9, r9, r10
105 str r9, [r7,
106#endif
107 .endm
108
109 .macro at91_backup_set_lpm reg
110#ifdef CONFIG_SOC_SAMA7
111 orr \reg, \reg,
112#endif
113 .endm
114
115 .text
116
117 .arm
118
119#ifdef CONFIG_SOC_SAMA7
120
121
122
123
124
125.macro at91_sramc_self_refresh_ena
126 ldr r2, .sramc_base
127 ldr r3, .sramc_phy_base
128 ldr r7, .pm_mode
129
130 dsb
131
132
133 ldr tmp1, [r2,
134 bic tmp1, tmp1,
135 str tmp1, [r2,
136
137 ldr tmp1, [r2,
138 bic tmp1, tmp1,
139 str tmp1, [r2,
140
141 ldr tmp1, [r2,
142 bic tmp1, tmp1,
143 str tmp1, [r2,
144
145 ldr tmp1, [r2,
146 bic tmp1, tmp1,
147 str tmp1, [r2,
148
149 ldr tmp1, [r2,
150 bic tmp1, tmp1,
151 str tmp1, [r2,
152
153sr_ena_1:
154
155 ldr tmp1, [r2,
156 ldr tmp2, =UDDRC_PSTAT_ALL_PORTS
157 tst tmp1, tmp2
158 bne sr_ena_1
159
160
161 ldr tmp1, [r2,
162 orr tmp1, tmp1,
163 str tmp1, [r2,
164
165sr_ena_2:
166
167 ldr tmp1, [r2,
168 bic tmp1, tmp1,
169 cmp tmp1,
170 bne sr_ena_2
171
172
173 cmp r7,
174 beq sr_ena_3
175 ldr tmp1, [r3,
176 orr tmp1, tmp1,
177 str tmp1, [r3,
178
179sr_ena_3:
180
181 ldr tmp1, [r3,
182 orr tmp1, tmp1,
183 str tmp1, [r3,
184
185
186 ldr tmp1, [r3,
187 orr tmp1, tmp1,
188 orr tmp1, tmp1,
189 orr tmp1, tmp1,
190 str tmp1, [r3,
191
192
193 ldr tmp1, [r3,
194 orr tmp1, tmp1,
195 str tmp1, [r3,
196.endm
197
198
199
200
201
202
203.macro at91_sramc_self_refresh_dis
204 ldr r2, .sramc_base
205 ldr r3, .sramc_phy_base
206
207
208 ldr tmp1, [r3,
209 bic tmp1, tmp1,
210 str tmp1, [r3,
211
212
213 ldr tmp1, [r3,
214 bic tmp1, tmp1,
215 bic tmp1, tmp1,
216 bic tmp1, tmp1,
217 str tmp1, [r3,
218
219
220 ldr tmp1, [r3,
221 bic tmp1, tmp1,
222 str tmp1, [r3,
223
224
225 ldr tmp1, [r3,
226 bic tmp1, tmp1,
227 str tmp1, [r3,
228
229
230 mov tmp1,
231 str tmp1, [r2,
232
233
234 ldr tmp1, [r2,
235 bic tmp1, tmp1,
236 str tmp1, [r2,
237
238
239 mov tmp1,
240 str tmp1, [r2,
241
242sr_dis_1:
243 ldr tmp1, [r2,
244 tst tmp1,
245 beq sr_dis_1
246
247
248 mov tmp1,
249 DDR3PHY_PIR_DLLLOCK | DDR3PHY_PIR_ITMSRST)
250 str tmp1, [r3,
251
252sr_dis_4:
253
254 ldr tmp1, [r3,
255 tst tmp1,
256 beq sr_dis_4
257
258
259 mov tmp1,
260 str tmp1, [r2,
261
262
263 ldr tmp1, [r2,
264 orr tmp1, tmp1,
265 str tmp1, [r2,
266
267
268 mov tmp1,
269 str tmp1, [r2,
270
271sr_dis_5:
272
273 ldr tmp1, [r2,
274 tst tmp1,
275 beq sr_dis_5
276
277
278 ldr tmp1, [r2,
279 bic tmp1, tmp1,
280 str tmp1, [r2,
281
282sr_dis_6:
283
284 ldr tmp1, [r2,
285 bic tmp1, tmp1,
286 cmp tmp1,
287 bne sr_dis_6
288
289
290 ldr tmp1, [r2,
291 orr tmp1, tmp1,
292 str tmp1, [r2,
293
294 ldr tmp1, [r2,
295 orr tmp1, tmp1,
296 str tmp1, [r2,
297
298 ldr tmp1, [r2,
299 orr tmp1, tmp1,
300 str tmp1, [r2,
301
302 ldr tmp1, [r2,
303 orr tmp1, tmp1,
304 str tmp1, [r2,
305
306 ldr tmp1, [r2,
307 orr tmp1, tmp1,
308 str tmp1, [r2,
309
310 dsb
311.endm
312#else
313
314
315
316
317
318
319
320
321.macro at91_sramc_self_refresh_ena
322 ldr r1, .memtype
323 ldr r2, .sramc_base
324
325 cmp r1,
326 bne sr_ena_ddrc_sf
327
328
329 mov r3,
330 str r3, [r2,
331 b sr_ena_exit
332
333sr_ena_ddrc_sf:
334 cmp r1,
335 bne sr_ena_sdramc_sf
336
337
338
339
340
341
342 ldr r3, [r2,
343 str r3, .saved_sam9_mdr
344 bic r3, r3,
345 cmp r3,
346 ldreq r3, [r2,
347 biceq r3, r3,
348 orreq r3, r3,
349 streq r3, [r2,
350
351
352 ldr r3, [r2,
353 str r3, .saved_sam9_lpr
354 bic r3, r3,
355 orr r3, r3,
356 str r3, [r2,
357
358
359 ldr r2, .sramc1_base
360 cmp r2,
361 beq sr_ena_no_2nd_ddrc
362
363 ldr r3, [r2,
364 str r3, .saved_sam9_mdr1
365 bic r3, r3,
366 cmp r3,
367 ldreq r3, [r2,
368 biceq r3, r3,
369 orreq r3, r3,
370 streq r3, [r2,
371
372
373 ldr r3, [r2,
374 str r3, .saved_sam9_lpr1
375 bic r3, r3,
376 orr r3, r3,
377 str r3, [r2,
378
379sr_ena_no_2nd_ddrc:
380 b sr_ena_exit
381
382
383
384
385sr_ena_sdramc_sf:
386
387 ldr r3, [r2,
388 str r3, .saved_sam9_lpr
389 bic r3, r3,
390 orr r3, r3,
391 str r3, [r2,
392
393 ldr r3, .saved_sam9_lpr
394 str r3, [r2,
395
396sr_ena_exit:
397.endm
398
399
400
401
402
403
404
405
406
407.macro at91_sramc_self_refresh_dis
408 ldr r1, .memtype
409 ldr r2, .sramc_base
410
411 cmp r1,
412 bne sr_dis_ddrc_exit_sf
413
414
415
416
417
418
419
420
421
422 b sr_dis_exit
423
424sr_dis_ddrc_exit_sf:
425 cmp r1,
426 bne sdramc_exit_sf
427
428
429
430
431 ldr r3, .saved_sam9_mdr
432 str r3, [r2,
433
434 ldr r3, .saved_sam9_lpr
435 str r3, [r2,
436
437
438 ldr r2, .sramc1_base
439 cmp r2,
440 ldrne r3, .saved_sam9_mdr1
441 strne r3, [r2,
442 ldrne r3, .saved_sam9_lpr1
443 strne r3, [r2,
444
445 b sr_dis_exit
446
447sdramc_exit_sf:
448
449 ldr r3, .saved_sam9_lpr
450 str r3, [r2,
451
452sr_dis_exit:
453.endm
454#endif
455
456.macro at91_pm_ulp0_mode
457 ldr pmc, .pmc_base
458 ldr tmp2, .pm_mode
459 ldr tmp3, .mckr_offset
460
461
462 cmp tmp2,
463 bne 0f
464
465
466 ldr tmp1, [pmc, tmp3]
467 bic tmp1, tmp1,
468 orr tmp1, tmp1,
469 str tmp1, [pmc, tmp3]
470
471 mov tmp3,
472 wait_mckrdy tmp3
473 b 1f
474
4750:
476
477 ldr tmp1, [pmc,
478 bic tmp1, tmp1,
479 orr tmp1, tmp1,
480 str tmp1, [pmc,
481
482
483 ldr tmp1, [pmc,
484 str tmp1, .saved_osc_status
485 tst tmp1,
486 bne 1f
487
488
489 ldr tmp1, [pmc,
490 bic tmp1, tmp1,
491 bic tmp1, tmp1,
492 orr tmp1, tmp1,
493 str tmp1, [pmc,
494
495
4962: ldr tmp1, [pmc,
497 tst tmp1,
498 bne 2b
499
500
5011: at91_cpu_idle
502
503
504 cmp tmp2,
505 bne 5f
506
507
508 ldr tmp3, .mckr_offset
509 ldr tmp1, [pmc, tmp3]
510 bic tmp1, tmp1,
511 str tmp1, [pmc, tmp3]
512
513 mov tmp3,
514 wait_mckrdy tmp3
515 b 6f
516
5175:
518 ldr tmp1, .saved_osc_status
519 tst tmp1,
520 beq 4f
521
522
523 ldr tmp1, [pmc,
524 orr tmp1, tmp1,
525 bic tmp1, tmp1,
526 orr tmp1, tmp1,
527 str tmp1, [pmc,
528
529
5303: ldr tmp1, [pmc,
531 tst tmp1,
532 beq 3b
533
534
5354: ldr tmp1, [pmc,
536 orr tmp1, tmp1,
537 orr tmp1, tmp1,
538 str tmp1, [pmc,
539
540 wait_moscrdy
5416:
542.endm
543
544
545
546
547
548.macro at91_pm_ulp1_mode
549 ldr pmc, .pmc_base
550 ldr tmp2, .mckr_offset
551 mov tmp3,
552
553
554 ldr tmp1, [pmc,
555 str tmp1, .saved_osc_status
556 tst tmp1,
557 bne 2f
558
559
560 ldr tmp1, [pmc,
561 orr tmp1, tmp1,
562 bic tmp1, tmp1,
563 orr tmp1, tmp1,
564 str tmp1, [pmc,
565
566
5671: ldr tmp1, [pmc,
568 tst tmp1,
569 beq 1b
570
571
5722: ldr tmp1, [pmc,
573 bic tmp1, tmp1,
574 bic tmp1, tmp1,
575 orr tmp1, tmp1,
576 str tmp1, [pmc,
577
578 wait_moscsels
579
580
581 ldr tmp1, [pmc,
582 bic tmp1, tmp1,
583 bic tmp1, tmp1,
584 orr tmp1, tmp1,
585 str tmp1, [pmc,
586
587
588 ldr tmp1, [pmc, tmp2]
589 bic tmp1, tmp1,
590 orr tmp1, tmp1,
591 str tmp1, [pmc, tmp2]
592
593 wait_mckrdy tmp3
594
595
596 ldr tmp1, [pmc,
597 orr tmp1, tmp1,
598 bic tmp1, tmp1,
599 orr tmp1, tmp1,
600 str tmp1, [pmc,
601
602
603 nop
604 nop
605
606 wait_mckrdy tmp3
607
608
609 ldr tmp1, [pmc,
610 orr tmp1, tmp1,
611 bic tmp1, tmp1,
612 orr tmp1, tmp1,
613 str tmp1, [pmc,
614
615 wait_moscrdy
616
617
618 ldr tmp1, [pmc, tmp2]
619 bic tmp1, tmp1,
620 str tmp1, [pmc, tmp2]
621
622 wait_mckrdy tmp3
623
624
625 ldr tmp1, [pmc,
626 orr tmp1, tmp1,
627 bic tmp1, tmp1,
628 orr tmp1, tmp1,
629 str tmp1, [pmc,
630
631 wait_moscsels
632
633
634 ldr tmp1, [pmc, tmp2]
635 bic tmp1, tmp1,
636 orr tmp1, tmp1,
637 str tmp1, [pmc, tmp2]
638
639 wait_mckrdy tmp3
640
641
642 ldr tmp1, .saved_osc_status
643 tst tmp1,
644 bne 3f
645
646
647 ldr tmp1, [pmc,
648 bic tmp1, tmp1,
649 bic tmp1, tmp1,
650 orr tmp1, tmp1,
651 str tmp1, [pmc,
652
653
6544: ldr tmp1, [pmc,
655 tst tmp1,
656 bne 4b
657
6583:
659.endm
660
661.macro at91_plla_disable
662
663 ldr tmp1, .pmc_version
664 cmp tmp1,
665 beq 1f
666
667#ifdef CONFIG_HAVE_AT91_SAM9X60_PLL
668
669 ldr tmp2, [pmc,
670 bic tmp2, tmp2,
671 str tmp2, [pmc,
672
673
674 mov tmp1,
675 ldr tmp2, [pmc,
676 bic tmp2, tmp2,
677 orr tmp1, tmp1, tmp2
678
679
680 ldr tmp2, [pmc,
681 bic tmp2, tmp2,
682 orr tmp1, tmp1, tmp2
683 str tmp1, .saved_pllar
684
685
686 ldr tmp1, [pmc,
687 bic tmp1, tmp1,
688 bic tmp1, tmp1,
689 str tmp1, [pmc,
690
691
692 ldr tmp1, [pmc,
693 bic tmp1, tmp1,
694 orr tmp1, tmp1,
695 str tmp1, [pmc,
696
697
698 ldr tmp1, [pmc,
699 orr tmp1, tmp1,
700 bic tmp1, tmp1,
701 str tmp1, [pmc,
702
703
704 ldr tmp1, [pmc,
705 bic tmp1, tmp1,
706 str tmp1, [pmc,
707
708
709 ldr tmp1, [pmc,
710 orr tmp1, tmp1,
711 bic tmp1, tmp1,
712 str tmp1, [pmc,
713
714 b 2f
715#endif
716
7171:
718 ldr tmp1, [pmc,
719 str tmp1, .saved_pllar
720
721
722 mov tmp1,
723 orr tmp1, tmp1,
724 str tmp1, [pmc,
7252:
726.endm
727
728.macro at91_plla_enable
729 ldr tmp2, .saved_pllar
730 ldr tmp3, .pmc_version
731 cmp tmp3,
732 beq 4f
733
734#ifdef CONFIG_HAVE_AT91_SAM9X60_PLL
735
736 ldr tmp1, [pmc,
737 bic tmp1, tmp1,
738 bic tmp1, tmp1,
739 str tmp1, [pmc,
740
741
742 ldr tmp1, =AT91_PMC_PLL_ACR_DEFAULT_PLLA
743 str tmp1, [pmc,
744
745
746 ldr tmp1, [pmc,
747 mov tmp3, tmp2
748 bic tmp3, tmp3,
749 orr tmp1, tmp1, tmp3
750 str tmp1, [pmc,
751
752
753 ldr tmp1, [pmc,
754 bic tmp1, tmp1,
755 orr tmp1, tmp1,
756 str tmp1, [pmc,
757
758
759 ldr tmp1, [pmc,
760 orr tmp1, tmp1,
761 orr tmp1, tmp1,
762 orr tmp1, tmp1,
763 bic tmp1, tmp1,
764 mov tmp3, tmp2
765 bic tmp3, tmp3,
766 orr tmp1, tmp1, tmp3
767 str tmp1, [pmc,
768
769
770 ldr tmp1, [pmc,
771 orr tmp1, tmp1,
772 bic tmp1, tmp1,
773 str tmp1, [pmc,
774
775
7763: ldr tmp1, [pmc,
777 tst tmp1,
778 beq 3b
779 b 2f
780#endif
781
782
7834: str tmp2, [pmc,
784
785
786 tst tmp2,
787 bne 1f
788 tst tmp2,
789 beq 2f
790
7911: ldr tmp1, [pmc,
792 tst tmp1,
793 beq 1b
7942:
795.endm
796
797
798
799
800
801
802.macro at91_mckx_ps_enable
803#ifdef CONFIG_SOC_SAMA7
804 ldr pmc, .pmc_base
805
806
807 mov tmp1,
808e_loop: cmp tmp1,
809 beq e_done
810
811
812 str tmp1, [pmc,
813 ldr tmp2, [pmc,
814
815e_save_mck1:
816 cmp tmp1,
817 bne e_save_mck2
818 str tmp2, .saved_mck1
819 b e_ps
820
821e_save_mck2:
822 cmp tmp1,
823 bne e_save_mck3
824 str tmp2, .saved_mck2
825 b e_ps
826
827e_save_mck3:
828 cmp tmp1,
829 bne e_save_mck4
830 str tmp2, .saved_mck3
831 b e_ps
832
833e_save_mck4:
834 str tmp2, .saved_mck4
835
836e_ps:
837
838 bic tmp2, tmp2,
839 bic tmp2, tmp2,
840 orr tmp2, tmp2,
841 orr tmp2, tmp2,
842 str tmp2, [pmc,
843
844 wait_mckrdy tmp1
845
846 add tmp1, tmp1,
847 b e_loop
848
849e_done:
850#endif
851.endm
852
853
854
855
856
857
858.macro at91_mckx_ps_restore
859#ifdef CONFIG_SOC_SAMA7
860 ldr pmc, .pmc_base
861
862
863 mov tmp1,
864r_loop: cmp tmp1,
865 beq r_done
866
867r_save_mck1:
868 cmp tmp1,
869 bne r_save_mck2
870 ldr tmp2, .saved_mck1
871 b r_ps
872
873r_save_mck2:
874 cmp tmp1,
875 bne r_save_mck3
876 ldr tmp2, .saved_mck2
877 b r_ps
878
879r_save_mck3:
880 cmp tmp1,
881 bne r_save_mck4
882 ldr tmp2, .saved_mck3
883 b r_ps
884
885r_save_mck4:
886 ldr tmp2, .saved_mck4
887
888r_ps:
889
890 str tmp1, [pmc,
891 ldr tmp3, [pmc,
892
893
894 bic tmp3, tmp3,
895 bic tmp3, tmp3,
896 orr tmp3, tmp3, tmp2
897 bic tmp3, tmp3,
898 orr tmp3, tmp3, tmp1
899 orr tmp3, tmp3,
900 str tmp2, [pmc,
901
902 wait_mckrdy tmp1
903
904 add tmp1, tmp1,
905 b r_loop
906r_done:
907#endif
908.endm
909
910.macro at91_ulp_mode
911 at91_mckx_ps_enable
912
913 ldr pmc, .pmc_base
914 ldr tmp2, .mckr_offset
915 ldr tmp3, .pm_mode
916
917
918 ldr tmp1, [pmc, tmp2]
919 str tmp1, .saved_mckr
920
921
922
923
924
925
926 bic tmp1, tmp1,
927 cmp tmp3,
928 bne save_mck
929 orr tmp1, tmp1,
930save_mck:
931 str tmp1, [pmc, tmp2]
932
933 mov tmp3,
934 wait_mckrdy tmp3
935
936 at91_plla_disable
937
938
939 at91_2_5V_reg_set_low_power 1
940
941 ldr tmp3, .pm_mode
942 cmp tmp3,
943 beq ulp1_mode
944
945 at91_pm_ulp0_mode
946 b ulp_exit
947
948ulp1_mode:
949 at91_pm_ulp1_mode
950 b ulp_exit
951
952ulp_exit:
953
954 at91_2_5V_reg_set_low_power 0
955
956 ldr pmc, .pmc_base
957
958 at91_plla_enable
959
960
961
962
963 ldr tmp1, .mckr_offset
964 ldr tmp2, .saved_mckr
965 str tmp2, [pmc, tmp1]
966
967 mov tmp3,
968 wait_mckrdy tmp3
969
970 at91_mckx_ps_restore
971.endm
972
973.macro at91_backup_mode
974
975 ldr pmc, .pmc_base
976 ldr tmp2, .mckr_offset
977 ldr tmp1, [pmc, tmp2]
978 bic tmp1, tmp1,
979 str tmp1, [pmc, tmp2]
980
981 mov tmp3,
982 wait_mckrdy tmp3
983
984
985 ldr r0, .sfrbu
986 mov tmp1,
987 str tmp1, [r0,
988
989
9901: ldr tmp1, [r0,
991 tst tmp1,
992 beq 1b
993
994
995 ldr r0, .shdwc
996 mov tmp1,
997 add tmp1, tmp1,
998 at91_backup_set_lpm tmp1
999 str tmp1, [r0,
1000.endm
1001
1002
1003
1004
1005
1006
1007
1008 .align 3
1009ENTRY(at91_pm_suspend_in_sram)
1010
1011 stmfd sp!, {r4 - r12, lr}
1012
1013
1014 mov tmp1,
1015 mcr p15, 0, tmp1, c7, c10, 4
1016
1017
1018 mov r4,
1019 mcr p15, 0, r4, c8, c7, 0
1020
1021 ldr tmp1, [r0,
1022 str tmp1, .mckr_offset
1023 ldr tmp1, [r0,
1024 str tmp1, .pmc_version
1025 ldr tmp1, [r0,
1026 str tmp1, .memtype
1027 ldr tmp1, [r0,
1028 str tmp1, .pm_mode
1029
1030
1031
1032
1033
1034 ldr tmp1, [r0,
1035 str tmp1, .pmc_base
1036 cmp tmp1,
1037 ldrne tmp2, [tmp1,
1038
1039 ldr tmp1, [r0,
1040 str tmp1, .sramc_base
1041 cmp tmp1,
1042 ldrne tmp2, [tmp1,
1043
1044 ldr tmp1, [r0,
1045 str tmp1, .sramc1_base
1046 cmp tmp1,
1047 ldrne tmp2, [tmp1,
1048
1049#ifndef CONFIG_SOC_SAM_V4_V5
1050
1051 ldr tmp1, [r0,
1052 str tmp1, .sramc_phy_base
1053 cmp tmp1,
1054 ldrne tmp2, [tmp1,
1055
1056 ldr tmp1, [r0,
1057 str tmp1, .shdwc
1058 cmp tmp1,
1059 ldrne tmp2, [tmp1,
1060
1061 ldr tmp1, [r0,
1062 str tmp1, .sfrbu
1063 cmp tmp1,
1064 ldrne tmp2, [tmp1,
1065#endif
1066
1067
1068 at91_sramc_self_refresh_ena
1069
1070 ldr r0, .pm_mode
1071 cmp r0,
1072 beq standby
1073 cmp r0,
1074 beq backup_mode
1075
1076 at91_ulp_mode
1077 b exit_suspend
1078
1079standby:
1080
1081 ldr pmc, .pmc_base
1082 at91_cpu_idle
1083 b exit_suspend
1084
1085backup_mode:
1086 at91_backup_mode
1087
1088exit_suspend:
1089
1090 at91_sramc_self_refresh_dis
1091
1092
1093 ldmfd sp!, {r4 - r12, pc}
1094ENDPROC(at91_pm_suspend_in_sram)
1095
1096.pmc_base:
1097 .word 0
1098.sramc_base:
1099 .word 0
1100.sramc1_base:
1101 .word 0
1102.sramc_phy_base:
1103 .word 0
1104.shdwc:
1105 .word 0
1106.sfrbu:
1107 .word 0
1108.memtype:
1109 .word 0
1110.pm_mode:
1111 .word 0
1112.mckr_offset:
1113 .word 0
1114.pmc_version:
1115 .word 0
1116.saved_mckr:
1117 .word 0
1118.saved_pllar:
1119 .word 0
1120.saved_sam9_lpr:
1121 .word 0
1122.saved_sam9_lpr1:
1123 .word 0
1124.saved_sam9_mdr:
1125 .word 0
1126.saved_sam9_mdr1:
1127 .word 0
1128.saved_osc_status:
1129 .word 0
1130#ifdef CONFIG_SOC_SAMA7
1131.saved_mck1:
1132 .word 0
1133.saved_mck2:
1134 .word 0
1135.saved_mck3:
1136 .word 0
1137.saved_mck4:
1138 .word 0
1139#endif
1140
1141ENTRY(at91_pm_suspend_in_sram_sz)
1142 .word .-at91_pm_suspend_in_sram
1143