-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstm32_svd-octospi.ads
639 lines (584 loc) · 20.7 KB
/
stm32_svd-octospi.ads
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
pragma Style_Checks (Off);
-- This spec has been automatically generated from STM32L4R9.svd
pragma Restrictions (No_Elaboration_Code);
with HAL;
with System;
package STM32_SVD.OctoSPI is
pragma Preelaborate;
---------------
-- Registers --
---------------
subtype CR_FTHRES_Field is HAL.UInt5;
subtype CR_FMODE_Field is HAL.UInt2;
-- control register
type CR_Register is record
EN : Boolean := False;
-- Enable
ABORT_k : Boolean := False;
-- Abort request
DMAEN : Boolean := False;
-- DMA enable
TCEN : Boolean := False;
-- Timeout counter enable
Reserved_4_5 : HAL.UInt2 := 16#0#;
-- unspecified
DQM : Boolean := False;
-- Dual-quad mode
FSEL : Boolean := False;
-- FLASH memory selection
FTHRES : CR_FTHRES_Field := 16#0#;
-- IFO threshold level
Reserved_13_15 : HAL.UInt3 := 16#0#;
-- unspecified
TEIE : Boolean := False;
-- Transfer error interrupt enable
TCIE : Boolean := False;
-- Transfer complete interrupt enable
FTIE : Boolean := False;
-- FIFO threshold interrupt enable
SMIE : Boolean := False;
-- Status match interrupt enable
TOIE : Boolean := False;
-- TimeOut interrupt enable
Reserved_21_21 : HAL.Bit := 16#0#;
-- unspecified
APMS : Boolean := False;
-- Automatic poll mode stop
PMM : Boolean := False;
-- Polling match mode
Reserved_24_27 : HAL.UInt4 := 16#0#;
-- unspecified
FMODE : CR_FMODE_Field := 16#0#;
-- Functional mode
Reserved_30_31 : HAL.UInt2 := 16#0#;
-- unspecified
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
for CR_Register use record
EN at 0 range 0 .. 0;
ABORT_k at 0 range 1 .. 1;
DMAEN at 0 range 2 .. 2;
TCEN at 0 range 3 .. 3;
Reserved_4_5 at 0 range 4 .. 5;
DQM at 0 range 6 .. 6;
FSEL at 0 range 7 .. 7;
FTHRES at 0 range 8 .. 12;
Reserved_13_15 at 0 range 13 .. 15;
TEIE at 0 range 16 .. 16;
TCIE at 0 range 17 .. 17;
FTIE at 0 range 18 .. 18;
SMIE at 0 range 19 .. 19;
TOIE at 0 range 20 .. 20;
Reserved_21_21 at 0 range 21 .. 21;
APMS at 0 range 22 .. 22;
PMM at 0 range 23 .. 23;
Reserved_24_27 at 0 range 24 .. 27;
FMODE at 0 range 28 .. 29;
Reserved_30_31 at 0 range 30 .. 31;
end record;
subtype DCR1_CSHT_Field is HAL.UInt3;
subtype DCR1_DEVSIZE_Field is HAL.UInt5;
subtype DCR1_MTYP_Field is HAL.UInt2;
-- device configuration register
type DCR1_Register is record
CKMODE : Boolean := False;
-- Mode 0 / mode 3
FRCK : Boolean := False;
-- Free running clock
Reserved_2_7 : HAL.UInt6 := 16#0#;
-- unspecified
CSHT : DCR1_CSHT_Field := 16#0#;
-- Chip-select high time
Reserved_11_15 : HAL.UInt5 := 16#0#;
-- unspecified
DEVSIZE : DCR1_DEVSIZE_Field := 16#0#;
-- Device size
Reserved_21_23 : HAL.UInt3 := 16#0#;
-- unspecified
MTYP : DCR1_MTYP_Field := 16#0#;
-- Memory type
Reserved_26_31 : HAL.UInt6 := 16#0#;
-- unspecified
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
for DCR1_Register use record
CKMODE at 0 range 0 .. 0;
FRCK at 0 range 1 .. 1;
Reserved_2_7 at 0 range 2 .. 7;
CSHT at 0 range 8 .. 10;
Reserved_11_15 at 0 range 11 .. 15;
DEVSIZE at 0 range 16 .. 20;
Reserved_21_23 at 0 range 21 .. 23;
MTYP at 0 range 24 .. 25;
Reserved_26_31 at 0 range 26 .. 31;
end record;
subtype DCR2_PRESCALER_Field is HAL.UInt8;
subtype DCR2_WRAPSIZE_Field is HAL.UInt3;
-- device configuration register 2
type DCR2_Register is record
PRESCALER : DCR2_PRESCALER_Field := 16#0#;
-- Clock prescaler
Reserved_8_15 : HAL.UInt8 := 16#0#;
-- unspecified
WRAPSIZE : DCR2_WRAPSIZE_Field := 16#0#;
-- Wrap size
Reserved_19_31 : HAL.UInt13 := 16#0#;
-- unspecified
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
for DCR2_Register use record
PRESCALER at 0 range 0 .. 7;
Reserved_8_15 at 0 range 8 .. 15;
WRAPSIZE at 0 range 16 .. 18;
Reserved_19_31 at 0 range 19 .. 31;
end record;
subtype DCR3_CSBOUND_Field is HAL.UInt5;
-- device configuration register 3
type DCR3_Register is record
Reserved_0_15 : HAL.UInt16 := 16#0#;
-- unspecified
CSBOUND : DCR3_CSBOUND_Field := 16#0#;
-- CS boundary
Reserved_21_31 : HAL.UInt11 := 16#0#;
-- unspecified
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
for DCR3_Register use record
Reserved_0_15 at 0 range 0 .. 15;
CSBOUND at 0 range 16 .. 20;
Reserved_21_31 at 0 range 21 .. 31;
end record;
subtype SR_FLEVEL_Field is HAL.UInt6;
-- status register
type SR_Register is record
TEF : Boolean := False;
-- Transfer error flag
TCF : Boolean := False;
-- Transfer complete flag
FTF : Boolean := False;
-- FIFO threshold flag
SMF : Boolean := False;
-- Status match flag
TOF : Boolean := False;
-- Timeout flag
BUSY : Boolean := False;
-- BUSY
Reserved_6_7 : HAL.UInt2 := 16#0#;
-- unspecified
FLEVEL : SR_FLEVEL_Field := 16#0#;
-- FIFO level
Reserved_14_31 : HAL.UInt18 := 16#0#;
-- unspecified
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
for SR_Register use record
TEF at 0 range 0 .. 0;
TCF at 0 range 1 .. 1;
FTF at 0 range 2 .. 2;
SMF at 0 range 3 .. 3;
TOF at 0 range 4 .. 4;
BUSY at 0 range 5 .. 5;
Reserved_6_7 at 0 range 6 .. 7;
FLEVEL at 0 range 8 .. 13;
Reserved_14_31 at 0 range 14 .. 31;
end record;
-- flag clear register
type FCR_Register is record
CTEF : Boolean := False;
-- Write-only. Clear transfer error flag
CTCF : Boolean := False;
-- Write-only. Clear transfer complete flag
Reserved_2_2 : HAL.Bit := 16#0#;
-- unspecified
CSMF : Boolean := False;
-- Write-only. Clear status match flag
CTOF : Boolean := False;
-- Write-only. Clear timeout flag
Reserved_5_31 : HAL.UInt27 := 16#0#;
-- unspecified
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
for FCR_Register use record
CTEF at 0 range 0 .. 0;
CTCF at 0 range 1 .. 1;
Reserved_2_2 at 0 range 2 .. 2;
CSMF at 0 range 3 .. 3;
CTOF at 0 range 4 .. 4;
Reserved_5_31 at 0 range 5 .. 31;
end record;
subtype PIR_INTERVAL_Field is HAL.UInt16;
-- polling interval register
type PIR_Register is record
INTERVAL : PIR_INTERVAL_Field := 16#0#;
-- Polling interval
Reserved_16_31 : HAL.UInt16 := 16#0#;
-- unspecified
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
for PIR_Register use record
INTERVAL at 0 range 0 .. 15;
Reserved_16_31 at 0 range 16 .. 31;
end record;
subtype CCR_IMODE_Field is HAL.UInt3;
subtype CCR_ISIZE_Field is HAL.UInt2;
subtype CCR_ADMODE_Field is HAL.UInt3;
subtype CCR_ADSIZE_Field is HAL.UInt2;
subtype CCR_ABMODE_Field is HAL.UInt3;
subtype CCR_ABSIZE_Field is HAL.UInt2;
subtype CCR_DMODE_Field is HAL.UInt3;
-- communication configuration register
type CCR_Register is record
IMODE : CCR_IMODE_Field := 16#0#;
-- Instruction mode
IDTR : Boolean := False;
-- Instruction double transfer rate
ISIZE : CCR_ISIZE_Field := 16#0#;
-- Instruction size
Reserved_6_7 : HAL.UInt2 := 16#0#;
-- unspecified
ADMODE : CCR_ADMODE_Field := 16#0#;
-- Address mode
ADDTR : Boolean := False;
-- Address double transfer rate
ADSIZE : CCR_ADSIZE_Field := 16#0#;
-- Address size
Reserved_14_15 : HAL.UInt2 := 16#0#;
-- unspecified
ABMODE : CCR_ABMODE_Field := 16#0#;
-- Alternate byte mode
ABDTR : Boolean := False;
-- Alternate bytes double transfer rate
ABSIZE : CCR_ABSIZE_Field := 16#0#;
-- Alternate bytes size
Reserved_22_23 : HAL.UInt2 := 16#0#;
-- unspecified
DMODE : CCR_DMODE_Field := 16#0#;
-- Data mode
DDTR : Boolean := False;
-- Alternate bytes double transfer rate
Reserved_28_28 : HAL.Bit := 16#0#;
-- unspecified
DQSE : Boolean := False;
-- DQS enable
Reserved_30_30 : HAL.Bit := 16#0#;
-- unspecified
SIOO : Boolean := False;
-- Send instruction only once mode
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
for CCR_Register use record
IMODE at 0 range 0 .. 2;
IDTR at 0 range 3 .. 3;
ISIZE at 0 range 4 .. 5;
Reserved_6_7 at 0 range 6 .. 7;
ADMODE at 0 range 8 .. 10;
ADDTR at 0 range 11 .. 11;
ADSIZE at 0 range 12 .. 13;
Reserved_14_15 at 0 range 14 .. 15;
ABMODE at 0 range 16 .. 18;
ABDTR at 0 range 19 .. 19;
ABSIZE at 0 range 20 .. 21;
Reserved_22_23 at 0 range 22 .. 23;
DMODE at 0 range 24 .. 26;
DDTR at 0 range 27 .. 27;
Reserved_28_28 at 0 range 28 .. 28;
DQSE at 0 range 29 .. 29;
Reserved_30_30 at 0 range 30 .. 30;
SIOO at 0 range 31 .. 31;
end record;
subtype TCR_DCYC_Field is HAL.UInt5;
-- timing configuration register
type TCR_Register is record
DCYC : TCR_DCYC_Field := 16#0#;
-- Number of dummy cycles
Reserved_5_27 : HAL.UInt23 := 16#0#;
-- unspecified
DHQC : Boolean := False;
-- Delay hold quarter cycle
Reserved_29_29 : HAL.Bit := 16#0#;
-- unspecified
SSHIFT : Boolean := False;
-- Sample shift
Reserved_31_31 : HAL.Bit := 16#0#;
-- unspecified
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
for TCR_Register use record
DCYC at 0 range 0 .. 4;
Reserved_5_27 at 0 range 5 .. 27;
DHQC at 0 range 28 .. 28;
Reserved_29_29 at 0 range 29 .. 29;
SSHIFT at 0 range 30 .. 30;
Reserved_31_31 at 0 range 31 .. 31;
end record;
subtype LPTR_TIMEOUT_Field is HAL.UInt16;
-- low-power timeout register
type LPTR_Register is record
TIMEOUT : LPTR_TIMEOUT_Field := 16#0#;
-- Timeout period
Reserved_16_31 : HAL.UInt16 := 16#0#;
-- unspecified
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
for LPTR_Register use record
TIMEOUT at 0 range 0 .. 15;
Reserved_16_31 at 0 range 16 .. 31;
end record;
subtype WCCR_IMODE_Field is HAL.UInt3;
subtype WCCR_ISIZE_Field is HAL.UInt2;
subtype WCCR_ADMODE_Field is HAL.UInt3;
subtype WCCR_ADSIZE_Field is HAL.UInt2;
subtype WCCR_ABMODE_Field is HAL.UInt3;
subtype WCCR_ABSIZE_Field is HAL.UInt2;
subtype WCCR_DMODE_Field is HAL.UInt3;
-- write communication configuration register
type WCCR_Register is record
IMODE : WCCR_IMODE_Field := 16#0#;
-- Instruction mode
IDTR : Boolean := False;
-- Instruction double transfer rate
ISIZE : WCCR_ISIZE_Field := 16#0#;
-- Instruction size
Reserved_6_7 : HAL.UInt2 := 16#0#;
-- unspecified
ADMODE : WCCR_ADMODE_Field := 16#0#;
-- Address mode
ADDTR : Boolean := False;
-- Address double transfer rate
ADSIZE : WCCR_ADSIZE_Field := 16#0#;
-- Address size
Reserved_14_15 : HAL.UInt2 := 16#0#;
-- unspecified
ABMODE : WCCR_ABMODE_Field := 16#0#;
-- Alternate byte mode
ABDTR : Boolean := False;
-- Alternate bytes double transfer rate
ABSIZE : WCCR_ABSIZE_Field := 16#0#;
-- Alternate bytes size
Reserved_22_23 : HAL.UInt2 := 16#0#;
-- unspecified
DMODE : WCCR_DMODE_Field := 16#0#;
-- Data mode
DDTR : Boolean := False;
-- alternate bytes double transfer rate
Reserved_28_28 : HAL.Bit := 16#0#;
-- unspecified
DQSE : Boolean := False;
-- DQS enable
Reserved_30_30 : HAL.Bit := 16#0#;
-- unspecified
SIOO : Boolean := False;
-- Send instruction only once mode
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
for WCCR_Register use record
IMODE at 0 range 0 .. 2;
IDTR at 0 range 3 .. 3;
ISIZE at 0 range 4 .. 5;
Reserved_6_7 at 0 range 6 .. 7;
ADMODE at 0 range 8 .. 10;
ADDTR at 0 range 11 .. 11;
ADSIZE at 0 range 12 .. 13;
Reserved_14_15 at 0 range 14 .. 15;
ABMODE at 0 range 16 .. 18;
ABDTR at 0 range 19 .. 19;
ABSIZE at 0 range 20 .. 21;
Reserved_22_23 at 0 range 22 .. 23;
DMODE at 0 range 24 .. 26;
DDTR at 0 range 27 .. 27;
Reserved_28_28 at 0 range 28 .. 28;
DQSE at 0 range 29 .. 29;
Reserved_30_30 at 0 range 30 .. 30;
SIOO at 0 range 31 .. 31;
end record;
subtype WTCR_DCYC_Field is HAL.UInt5;
-- write timing configuration register
type WTCR_Register is record
DCYC : WTCR_DCYC_Field := 16#0#;
-- Number of dummy cycles
Reserved_5_31 : HAL.UInt27 := 16#0#;
-- unspecified
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
for WTCR_Register use record
DCYC at 0 range 0 .. 4;
Reserved_5_31 at 0 range 5 .. 31;
end record;
subtype HLCR_TACC_Field is HAL.UInt8;
subtype HLCR_TRWR_Field is HAL.UInt8;
-- HyperBusTM latency configuration register
type HLCR_Register is record
LM : Boolean := False;
-- Latency mode
WZL : Boolean := False;
-- Write zero latency
Reserved_2_7 : HAL.UInt6 := 16#0#;
-- unspecified
TACC : HLCR_TACC_Field := 16#0#;
-- Access time
TRWR : HLCR_TRWR_Field := 16#0#;
-- Read write recovery time
Reserved_24_31 : HAL.UInt8 := 16#0#;
-- unspecified
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
for HLCR_Register use record
LM at 0 range 0 .. 0;
WZL at 0 range 1 .. 1;
Reserved_2_7 at 0 range 2 .. 7;
TACC at 0 range 8 .. 15;
TRWR at 0 range 16 .. 23;
Reserved_24_31 at 0 range 24 .. 31;
end record;
subtype HWCFGR_AXI_Field is HAL.UInt4;
subtype HWCFGR_FIFO_Field is HAL.UInt8;
subtype HWCFGR_PRES_Field is HAL.UInt8;
subtype HWCFGR_IDL_Field is HAL.UInt4;
subtype HWCFGR_MMW_Field is HAL.UInt4;
subtype HWCFGR_MST_Field is HAL.UInt4;
-- HW configuration register
type HWCFGR_Register is record
AXI : HWCFGR_AXI_Field;
-- Read-only. AXI interface
FIFO : HWCFGR_FIFO_Field;
-- Read-only. FIFO depth
PRES : HWCFGR_PRES_Field;
-- Read-only. Prescaler
IDL : HWCFGR_IDL_Field;
-- Read-only. ID Length
MMW : HWCFGR_MMW_Field;
-- Read-only. Memory map write
MST : HWCFGR_MST_Field;
-- Read-only. Master
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
for HWCFGR_Register use record
AXI at 0 range 0 .. 3;
FIFO at 0 range 4 .. 11;
PRES at 0 range 12 .. 19;
IDL at 0 range 20 .. 23;
MMW at 0 range 24 .. 27;
MST at 0 range 28 .. 31;
end record;
subtype VER_VER_Field is HAL.UInt8;
-- version register
type VER_Register is record
VER : VER_VER_Field;
-- Read-only. Version
Reserved_8_31 : HAL.UInt24;
-- unspecified
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
for VER_Register use record
VER at 0 range 0 .. 7;
Reserved_8_31 at 0 range 8 .. 31;
end record;
-----------------
-- Peripherals --
-----------------
-- OctoSPI
type OctoSPI_Peripheral is record
CR : aliased CR_Register;
-- control register
DCR1 : aliased DCR1_Register;
-- device configuration register
DCR2 : aliased DCR2_Register;
-- device configuration register 2
DCR3 : aliased DCR3_Register;
-- device configuration register 3
SR : aliased SR_Register;
-- status register
FCR : aliased FCR_Register;
-- flag clear register
DLR : aliased HAL.UInt32;
-- data length register
AR : aliased HAL.UInt32;
-- address register
DR : aliased HAL.UInt32;
-- data register
PSMKR : aliased HAL.UInt32;
-- polling status mask register
PSMAR : aliased HAL.UInt32;
-- polling status match register
PIR : aliased PIR_Register;
-- polling interval register
CCR : aliased CCR_Register;
-- communication configuration register
TCR : aliased TCR_Register;
-- timing configuration register
IR : aliased HAL.UInt32;
-- instruction register
ABR : aliased HAL.UInt32;
-- alternate bytes register
LPTR : aliased LPTR_Register;
-- low-power timeout register
WCCR : aliased WCCR_Register;
-- write communication configuration register
WTCR : aliased WTCR_Register;
-- write timing configuration register
WIR : aliased HAL.UInt32;
-- write instruction register
WABR : aliased HAL.UInt32;
-- write alternate bytes register
HLCR : aliased HLCR_Register;
-- HyperBusTM latency configuration register
HWCFGR : aliased HWCFGR_Register;
-- HW configuration register
VER : aliased VER_Register;
-- version register
ID : aliased HAL.UInt32;
-- identification
MID : aliased HAL.UInt32;
-- magic ID
end record
with Volatile;
for OctoSPI_Peripheral use record
CR at 16#0# range 0 .. 31;
DCR1 at 16#8# range 0 .. 31;
DCR2 at 16#C# range 0 .. 31;
DCR3 at 16#10# range 0 .. 31;
SR at 16#20# range 0 .. 31;
FCR at 16#24# range 0 .. 31;
DLR at 16#40# range 0 .. 31;
AR at 16#48# range 0 .. 31;
DR at 16#50# range 0 .. 31;
PSMKR at 16#80# range 0 .. 31;
PSMAR at 16#88# range 0 .. 31;
PIR at 16#90# range 0 .. 31;
CCR at 16#100# range 0 .. 31;
TCR at 16#108# range 0 .. 31;
IR at 16#110# range 0 .. 31;
ABR at 16#120# range 0 .. 31;
LPTR at 16#130# range 0 .. 31;
WCCR at 16#180# range 0 .. 31;
WTCR at 16#188# range 0 .. 31;
WIR at 16#190# range 0 .. 31;
WABR at 16#1A0# range 0 .. 31;
HLCR at 16#200# range 0 .. 31;
HWCFGR at 16#3F0# range 0 .. 31;
VER at 16#3F4# range 0 .. 31;
ID at 16#3F8# range 0 .. 31;
MID at 16#3FC# range 0 .. 31;
end record;
-- OctoSPI
OCTOSPI1_Periph : aliased OctoSPI_Peripheral
with Import, Address => OCTOSPI1_Base;
-- OctoSPI
OCTOSPI2_Periph : aliased OctoSPI_Peripheral
with Import, Address => OCTOSPI2_Base;
end STM32_SVD.OctoSPI;