5ece52a7ff2c2e88ba31c95eddbc37962fee5446
[firefly-linux-kernel-4.4.55.git] / arch / arm / plat-rk / rk_pm_tests / ft / ft_cpu_tst.S
1
2 #include <linux/linkage.h>
3 #include <asm/assembler.h>
4 #include "cpu_test.h"
5
6 .text
7
8 //r0,array0
9 ENTRY(test_cpus_l0)
10
11         stmfd   sp!, { r1 - r12, lr }
12 1:      mov r0,r0
13         //b 1b
14         mov r4,r0
15
16         test_cpus_l1_loop_200_k
17         test_cpus_l1_loop_200_k
18         test_cpus_l1_loop_200_k
19         test_cpus_l1_loop_200_k
20         test_cpus_l1_loop_200_k
21
22         test_cpus_l1_loop_200_k
23         test_cpus_l1_loop_200_k
24         test_cpus_l1_loop_200_k
25         test_cpus_l1_loop_200_k
26         test_cpus_l1_loop_200_k
27
28         //test_cpus_l1_loop_200_k
29         //test_cpus_l1_loop_200_k
30         //test_cpus_l1_loop_200_k
31
32
33 1: mov r1,r1
34         //b 1b
35         ldmfd   sp!, { r1 - r12, pc }
36 l1_test_error:
37         mov r1,r1
38         mov r1,r1
39         mov r1,r1
40         1: mov r1,r1
41         b 1b
42 ENDPROC(test_cpus_l0)
43
44
45 //r0 adr base,r1 end adr,r2 tst date
46 ENTRY(test_cpus_l2)
47
48         stmfd   sp!, { r3 - r12, lr }
49 1:      mov r0,r0
50         //b 1b
51         
52         mov r4,r0
53         sub r5,r1,#4
54         
55 l2_write:       
56         str r2,[r4],#4
57                 
58         cmp r4,r5
59         bls     l2_write
60
61         mov r4,r0
62 l2_check:               
63         ldr     r6,[r4],#4
64         cmp r6,r2
65         bne l2_test_error
66         mov r6,#0
67         cmp r4,r5
68         bhi l2_tst_end
69         
70         ldr r7,[r4],#4
71         cmp r7,r2
72         bne l2_test_error
73         mov r7,#0
74         
75         cmp r4,r5
76         bls l2_check
77         
78 l2_tst_end:     
79 3: mov r0,#0
80         //b 3b
81         ldmfd   sp!, { r3 - r12, pc }
82 l2_test_error:
83 1: mov r0,#1
84         //b 1b
85         ldmfd   sp!, { r3 - r12, pc }
86 ENDPROC(test_cpus_l2)
87
88 /***************while for dbg***************/
89 ENTRY(rk30_cpu_while_tst)
90 stmfd   sp!, { r3 - r12, lr }
91
92 1: mov r3,r3
93    b 1b
94
95 ldmfd   sp!, { r3 - r12, pc }
96
97 ENDPROC(rk30_cpu_while_tst)
98