File tree Expand file tree Collapse file tree 5 files changed +456
-36
lines changed Expand file tree Collapse file tree 5 files changed +456
-36
lines changed Original file line number Diff line number Diff line change 1+ config SDP_MSPI_MAX_RESPONSE_SIZE
2+ int "Max size of response that can be sent to APP core. In bytes."
3+ default 128
4+
5+ source "Kconfig.zephyr"
Original file line number Diff line number Diff line change @@ -103,6 +103,67 @@ hrt_tx:
103103 jalr a2
104104 j .L13
105105 .size hrt_tx, .-hrt_tx
106+ .section .text .hrt_tx_rx.constprop.0 ,"ax" ,@progbits
107+ .align 1
108+ .type hrt_tx_rx.constprop.0 , @function
109+ hrt_tx_rx .constprop.0 :
110+ lw a5 ,0 (a0 )
111+ lw a4 ,4 (a0 )
112+ beq a4 ,zero,.L26
113+ li a4 ,126976
114+ slli a1 ,a1 ,12
115+ addi sp ,sp ,-24
116+ and a1 ,a1 ,a4
117+ li a4 ,2097152
118+ sw s0,16 (sp )
119+ sw ra,20 (sp )
120+ sw s1,12 (sp )
121+ addi a4 ,a4 ,1031
122+ mv s0,a0
123+ lw a5 ,0 (a5 )
124+ or a1 ,a1 ,a4
125+ #APP
126+ csrw 3019 , a1
127+ #NO_APP
128+ li s1,0
129+ .L17:
130+ lw a4 ,4 (s0)
131+ bltu s1,a4 ,.L20
132+ lw ra,20 (sp )
133+ lw s0,16 (sp )
134+ lw s1,12 (sp )
135+ addi sp ,sp ,24
136+ jr ra
137+ .L20:
138+ lw a4 ,16 (s0)
139+ li a0 ,-16777216
140+ and a0 ,a5 ,a0
141+ sw a3 ,8 (sp )
142+ sw a2 ,4 (sp )
143+ sw a5 ,0 (sp )
144+ jalr a4
145+ lw a5 ,0 (sp )
146+ lw a2 ,4 (sp )
147+ lw a3 ,8 (sp )
148+ slli a5 ,a5 ,8
149+ bne s1 ,zero,.L18
150+ beq a2 ,zero,.L18
151+ li a4 ,65536
152+ add a4 ,a3 ,a4
153+ #APP
154+ csrw 2002 , a4
155+ #NO_APP
156+ .L19:
157+ addi s1,s1,1
158+ j .L17
159+ .L18:
160+ #APP
161+ csrr a4 , 3018
162+ #NO_APP
163+ j .L19
164+ .L26:
165+ ret
166+ .size hrt_tx_rx.constprop.0 , .-hrt_tx_rx.constprop.0
106167 .section .text .hrt_write,"ax" ,@progbits
107168 .align 1
108169 .globl hrt_write
@@ -120,23 +181,23 @@ hrt_write:
120181 li a5 ,0
121182 addi a4 ,a0 ,4
122183 li a3 ,4
123- .L17 :
184+ .L31 :
124185 lw a2 ,0 (a4 )
125- bne a2 ,zero,.L16
186+ bne a2 ,zero,.L30
126187 addi a5 ,a5 ,1
127188 andi a5 ,a5 ,0xff
128189 addi a4 ,a4 ,20
129- bne a5 ,a3 ,.L17
190+ bne a5 ,a3 ,.L31
130191 li a5 ,3
131- .L16 :
192+ .L30 :
132193 li a4 ,1
133- beq a5 ,a4 ,.L18
194+ beq a5 ,a4 ,.L32
134195 li a4 ,3
135- beq a5 ,a4 ,.L19
196+ beq a5 ,a4 ,.L33
136197 li a4 ,0
137- bne a5 ,zero,.L20
198+ bne a5 ,zero,.L34
138199 lbu a4 ,80 (s0)
139- .L20 :
200+ .L34 :
140201 #APP
141202 csrw 2000 , 2
142203 #NO_APP
@@ -163,21 +224,21 @@ hrt_write:
163224 li a2 ,1
164225 add a5 ,s0,a5
165226 lw a3 ,4 (a5 )
166- beq a3 ,a2 ,.L21
227+ beq a3 ,a2 ,.L35
167228 li a2 ,2
168- beq a3 ,a2 ,.L22
229+ beq a3 ,a2 ,.L36
169230 li a5 ,32
170231 div a5 ,a5 ,a4
171- j .L39
172- .L18 :
232+ j .L53
233+ .L32 :
173234 lbu a4 ,81 (s0)
174- j .L20
175- .L19 :
235+ j .L34
236+ .L33 :
176237 lbu a4 ,83 (s0)
177- j .L20
178- .L21 :
238+ j .L34
239+ .L35 :
179240 lbu a5 ,8 (a5 )
180- .L39 :
241+ .L53 :
181242 #APP
182243 csrw 3022 , a5
183244 #NO_APP
@@ -187,11 +248,11 @@ hrt_write:
187248 lbu a4 ,88 (s0)
188249 slli a5 ,a5 ,16
189250 srli a5 ,a5 ,16
190- bne a4 ,zero,.L25
251+ bne a4 ,zero,.L39
191252 #APP
192253 csrc 3008 , a5
193254 #NO_APP
194- .L26 :
255+ .L40 :
195256 lhu a3 ,84 (s0)
196257 lbu a1 ,80 (s0)
197258 addi a2 ,sp ,3
@@ -213,17 +274,17 @@ hrt_write:
213274 addi a0 ,s0,60
214275 call hrt_tx
215276 lbu a5 ,89 (s0)
216- beq a5 ,zero,.L27
217- .L28 :
277+ beq a5 ,zero,.L41
278+ .L42 :
218279 #APP
219280 csrr a5 , 3022
220281 #NO_APP
221282 andi a5 ,a5 ,0xff
222- bne a5 ,zero,.L28
283+ bne a5 ,zero,.L42
223284 #APP
224285 csrw 2010 , 0
225286 #NO_APP
226- .L27 :
287+ .L41 :
227288 li a5 ,16384
228289 addi a5 ,a5 ,1
229290 #APP
@@ -232,33 +293,173 @@ hrt_write:
232293 csrw 2000 , 0
233294 #NO_APP
234295 lbu a5 ,87 (s0)
235- bne a5 ,zero,.L15
296+ bne a5 ,zero,.L29
236297 lbu a4 ,86 (s0)
237298 li a5 ,1
238299 sll a5 ,a5 ,a4
239300 lbu a4 ,88 (s0)
240301 slli a5 ,a5 ,16
241302 srli a5 ,a5 ,16
242- bne a4 ,zero,.L30
303+ bne a4 ,zero,.L44
243304 #APP
244305 csrs 3008 , a5
245306 #NO_APP
246- .L15 :
307+ .L29 :
247308 lw ra,12 (sp )
248309 lw s0,8 (sp )
249310 addi sp ,sp ,16
250311 jr ra
251- .L22 :
312+ .L36 :
252313 lbu a5 ,9 (a5 )
253- j .L39
254- .L25 :
314+ j .L53
315+ .L39 :
255316 #APP
256317 csrs 3008 , a5
257318 #NO_APP
258- j .L26
259- .L30 :
319+ j .L40
320+ .L44 :
260321 #APP
261322 csrc 3008 , a5
262323 #NO_APP
263- j .L15
324+ j .L29
264325 .size hrt_write, .-hrt_write
326+ .section .text .hrt_read,"ax" ,@progbits
327+ .align 1
328+ .globl hrt_read
329+ .type hrt_read, @function
330+ hrt_read:
331+ addi sp ,sp ,-12
332+ sw s0,4 (sp )
333+ sw ra,8 (sp )
334+ lbu a5 ,88 (a0 )
335+ lbu a4 ,86 (a0 )
336+ mv s0,a0
337+ bne a5 ,zero,.L55
338+ li a5 ,1
339+ sll a5 ,a5 ,a4
340+ slli a5 ,a5 ,16
341+ srli a5 ,a5 ,16
342+ #APP
343+ csrc 3008 , a5
344+ #NO_APP
345+ .L56:
346+ lhu a5 ,90 (s0)
347+ slli a5 ,a5 ,16
348+ srli a5 ,a5 ,16
349+ andi a5 ,a5 ,-5
350+ slli a5 ,a5 ,16
351+ srli a5 ,a5 ,16
352+ sh a5 ,90 (s0)
353+ lhu a5 ,90 (s0)
354+ #APP
355+ csrw 3009 , a5
356+ csrw 3011 , 2
357+ #NO_APP
358+ li a5 ,65536
359+ addi a5 ,a5 ,4
360+ #APP
361+ csrw 3043 , a5
362+ csrw 3022 , 8
363+ csrw 2000 , 2
364+ csrw 2001 , 2
365+ #NO_APP
366+ lhu a5 ,84 (s0)
367+ slli a5 ,a5 ,16
368+ srli a5 ,a5 ,16
369+ #APP
370+ csrr a4 , 2003
371+ #NO_APP
372+ li a3 ,-65536
373+ and a4 ,a4 ,a3
374+ or a5 ,a5 ,a4
375+ #APP
376+ csrw 2003 , a5
377+ #NO_APP
378+ lhu a5 ,84 (s0)
379+ slli a5 ,a5 ,16
380+ srli a5 ,a5 ,16
381+ #APP
382+ csrr a4 , 2003
383+ #NO_APP
384+ slli a5 ,a5 ,1
385+ slli a4 ,a4 ,16
386+ addi a5 ,a5 ,1
387+ srli a4 ,a4 ,16
388+ slli a5 ,a5 ,16
389+ or a5 ,a5 ,a4
390+ #APP
391+ csrw 2003 , a5
392+ #NO_APP
393+ lbu a1 ,80 (s0)
394+ lhu a3 ,84 (s0)
395+ li a2 ,1
396+ mv a0 ,s0
397+ call hrt_tx_rx.constprop.0
398+ lbu a1 ,81 (s0)
399+ lhu a3 ,84 (s0)
400+ li a2 ,0
401+ addi a0 ,s0,20
402+ call hrt_tx_rx.constprop.0
403+ li a5 ,0
404+ .L57:
405+ lw a4 ,64 (s0)
406+ bltu a5 ,a4 ,.L58
407+ #APP
408+ csrw 2000 , 0
409+ csrw 2001 , 0
410+ csrw 3019 , 0
411+ #NO_APP
412+ lbu a5 ,87 (s0)
413+ bne a5 ,zero,.L59
414+ lbu a5 ,88 (s0)
415+ lbu a4 ,86 (s0)
416+ bne a5 ,zero,.L60
417+ li a5 ,1
418+ sll a5 ,a5 ,a4
419+ slli a5 ,a5 ,16
420+ srli a5 ,a5 ,16
421+ #APP
422+ csrs 3008 , a5
423+ #NO_APP
424+ .L59:
425+ lhu a5 ,90 (s0)
426+ ori a5 ,a5 ,4
427+ sh a5 ,90 (s0)
428+ lhu a5 ,90 (s0)
429+ #APP
430+ csrw 3009 , a5
431+ #NO_APP
432+ lw ra,8 (sp )
433+ lw s0,4 (sp )
434+ addi sp ,sp ,12
435+ jr ra
436+ .L55:
437+ li a5 ,1
438+ sll a5 ,a5 ,a4
439+ slli a5 ,a5 ,16
440+ srli a5 ,a5 ,16
441+ #APP
442+ csrs 3008 , a5
443+ #NO_APP
444+ j .L56
445+ .L58:
446+ #APP
447+ csrr a3 , 3018
448+ #NO_APP
449+ lw a4 ,60 (s0)
450+ srli a3 ,a3 ,24
451+ add a4 ,a4 ,a5
452+ addi a5 ,a5 ,1
453+ sb a3 ,0 (a4 )
454+ andi a5 ,a5 ,0xff
455+ j .L57
456+ .L60:
457+ li a5 ,1
458+ sll a5 ,a5 ,a4
459+ slli a5 ,a5 ,16
460+ srli a5 ,a5 ,16
461+ #APP
462+ csrc 3008 , a5
463+ #NO_APP
464+ j .L59
465+ .size hrt_read, .-hrt_read
You can’t perform that action at this time.
0 commit comments