OpenCores
URL https://opencores.org/ocsvn/usb_nand_reader/usb_nand_reader/trunk

Subversion Repositories usb_nand_reader

[/] [usb_nand_reader/] [trunk/] [mini32/] [CMD_ReadID.asm] - Blame information for rev 7

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 7 pradd
_cmd_chip_read_id:
2
;CMD_ReadID.c,5 ::              void cmd_chip_read_id(unsigned char* outBuffer, int addr)
3
ADDIU   SP, SP, -20
4
SW      RA, 0(SP)
5
SW      R26, 4(SP)
6
SH      R26, 16(SP)
7
;CMD_ReadID.c,7 ::              nand_send_command(NC_READ_ID);
8
SW      R25, 8(SP)
9
ORI     R25, R0, 144
10
JAL     _nand_send_command+0
11
NOP
12
;CMD_ReadID.c,8 ::              nand_send_address(&addr, 1);
13
ADDIU   R2, SP, 16
14
ORI     R26, R0, 1
15
MOVZ    R25, R2, R0
16
JAL     _nand_send_address+0
17
NOP
18
;CMD_ReadID.c,9 ::              do_delay(10);
19
ORI     R25, R0, 10
20
JAL     _do_delay+0
21
NOP
22
LW      R25, 8(SP)
23
;CMD_ReadID.c,10 ::             while(!nand_is_ready());
24
L_cmd_chip_read_id0:
25
SH      R26, 8(SP)
26
SW      R25, 12(SP)
27
JAL     _nand_is_ready+0
28
NOP
29
LW      R25, 12(SP)
30
LH      R26, 8(SP)
31
BEQ     R2, R0, L__cmd_chip_read_id7
32
NOP
33
J       L_cmd_chip_read_id1
34
NOP
35
L__cmd_chip_read_id7:
36
J       L_cmd_chip_read_id0
37
NOP
38
L_cmd_chip_read_id1:
39
;CMD_ReadID.c,11 ::             do_delay(2500);
40
SH      R26, 8(SP)
41
SW      R25, 12(SP)
42
ORI     R25, R0, 2500
43
JAL     _do_delay+0
44
NOP
45
LW      R25, 12(SP)
46
LH      R26, 8(SP)
47
;CMD_ReadID.c,12 ::             if(0 == addr)
48
LH      R2, 16(SP)
49
BEQ     R2, R0, L__cmd_chip_read_id8
50
NOP
51
J       L_cmd_chip_read_id2
52
NOP
53
L__cmd_chip_read_id8:
54
;CMD_ReadID.c,13 ::             nand_read(outBuffer, 5);
55
SH      R26, 8(SP)
56
SW      R25, 12(SP)
57
ORI     R26, R0, 5
58
JAL     _nand_read+0
59
NOP
60
LW      R25, 12(SP)
61
LH      R26, 8(SP)
62
J       L_cmd_chip_read_id3
63
NOP
64
L_cmd_chip_read_id2:
65
;CMD_ReadID.c,15 ::             nand_read(outBuffer, 4);
66
SH      R26, 8(SP)
67
SW      R25, 12(SP)
68
ORI     R26, R0, 4
69
JAL     _nand_read+0
70
NOP
71
LW      R25, 12(SP)
72
LH      R26, 8(SP)
73
L_cmd_chip_read_id3:
74
;CMD_ReadID.c,16 ::             }
75
L_end_cmd_chip_read_id:
76
LW      R26, 4(SP)
77
LW      RA, 0(SP)
78
ADDIU   SP, SP, 20
79
JR      RA
80
NOP
81
; end of _cmd_chip_read_id
82
_cmd_chip_read_unique_id:
83
;CMD_ReadID.c,18 ::             void cmd_chip_read_unique_id(unsigned char* outBuffer)
84
ADDIU   SP, SP, -12
85
SW      RA, 0(SP)
86
;CMD_ReadID.c,20 ::             nand_send_command(NC_READ_UNIQUE_ID);
87
SW      R26, 4(SP)
88
SW      R25, 8(SP)
89
ORI     R25, R0, 237
90
JAL     _nand_send_command+0
91
NOP
92
;CMD_ReadID.c,21 ::             nand_send_address(0, 1);
93
ORI     R26, R0, 1
94
MOVZ    R25, R0, R0
95
JAL     _nand_send_address+0
96
NOP
97
;CMD_ReadID.c,22 ::             do_delay(10);
98
ORI     R25, R0, 10
99
JAL     _do_delay+0
100
NOP
101
;CMD_ReadID.c,23 ::             nand_wait_ready();
102
JAL     _nand_wait_ready+0
103
NOP
104
;CMD_ReadID.c,24 ::             do_delay(2500);
105
ORI     R25, R0, 2500
106
JAL     _do_delay+0
107
NOP
108
LW      R25, 8(SP)
109
;CMD_ReadID.c,25 ::             while(0 != (cmd_chip_read_status() & 0x0f));
110
L_cmd_chip_read_unique_id4:
111
SW      R25, 8(SP)
112
JAL     _cmd_chip_read_status+0
113
NOP
114
LW      R25, 8(SP)
115
ANDI    R2, R2, 15
116
ANDI    R2, R2, 255
117
BNE     R2, R0, L__cmd_chip_read_unique_id11
118
NOP
119
J       L_cmd_chip_read_unique_id5
120
NOP
121
L__cmd_chip_read_unique_id11:
122
J       L_cmd_chip_read_unique_id4
123
NOP
124
L_cmd_chip_read_unique_id5:
125
;CMD_ReadID.c,26 ::             nand_send_command(NC_READ_MODE);
126
SW      R25, 8(SP)
127
MOVZ    R25, R0, R0
128
JAL     _nand_send_command+0
129
NOP
130
LW      R25, 8(SP)
131
;CMD_ReadID.c,27 ::             nand_read(outBuffer, 64);
132
SW      R25, 8(SP)
133
ORI     R26, R0, 64
134
JAL     _nand_read+0
135
NOP
136
LW      R25, 8(SP)
137
;CMD_ReadID.c,28 ::             }
138
L_end_cmd_chip_read_unique_id:
139
LW      R26, 4(SP)
140
LW      RA, 0(SP)
141
ADDIU   SP, SP, 12
142
JR      RA
143
NOP
144
; end of _cmd_chip_read_unique_id

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.