28
28
cantd_list = [] # 'PIN','name','CANTD'
29
29
canrd_list = [] # 'PIN','name','CANRD'
30
30
eth_list = [] # 'PIN','name','ETH'
31
- qspi_list = [] # 'PIN','name','QUADSPI'
31
+ quadspidata0_list = [] # 'PIN','name','QUADSPIDATA0'
32
+ quadspidata1_list = [] # 'PIN','name','QUADSPIDATA1'
33
+ quadspidata2_list = [] # 'PIN','name','QUADSPIDATA2'
34
+ quadspidata3_list = [] # 'PIN','name','QUADSPIDATA3'
35
+ quadspisclk_list = [] # 'PIN','name','QUADSPISCLK'
36
+ quadspissel_list = [] # 'PIN','name','QUADSPISSEL'
32
37
syswkup_list = [] # 'PIN','name','SYSWKUP'
33
38
usb_list = [] # 'PIN','name','USB'
34
39
usb_otgfs_list = [] # 'PIN','name','USB'
@@ -267,9 +272,30 @@ def store_eth(pin, name, signal):
267
272
268
273
# function to store QSPI pins
269
274
def store_qspi (pin , name , signal ):
270
- if isPinAndSignalInList (pin , signal , qspi_list ):
271
- return
272
- qspi_list .append ([pin , name , signal ])
275
+ if "_IO0" in signal :
276
+ if isPinAndSignalInList (pin , signal , quadspidata0_list ):
277
+ return
278
+ quadspidata0_list .append ([pin , name , signal ])
279
+ if "_IO1" in signal :
280
+ if isPinAndSignalInList (pin , signal , quadspidata1_list ):
281
+ return
282
+ quadspidata1_list .append ([pin , name , signal ])
283
+ if "_IO2" in signal :
284
+ if isPinAndSignalInList (pin , signal , quadspidata2_list ):
285
+ return
286
+ quadspidata2_list .append ([pin , name , signal ])
287
+ if "_IO3" in signal :
288
+ if isPinAndSignalInList (pin , signal , quadspidata3_list ):
289
+ return
290
+ quadspidata3_list .append ([pin , name , signal ])
291
+ if "_CLK" in signal :
292
+ if isPinAndSignalInList (pin , signal , quadspisclk_list ):
293
+ return
294
+ quadspisclk_list .append ([pin , name , signal ])
295
+ if "_NCS" in signal :
296
+ if isPinAndSignalInList (pin , signal , quadspissel_list ):
297
+ return
298
+ quadspissel_list .append ([pin , name , signal ])
273
299
274
300
275
301
# function to store SYS pins
@@ -382,8 +408,33 @@ def print_all_lists():
382
408
print_can (cantd_list )
383
409
if print_list_header ("ETHERNET" , "Ethernet" , "ETH" , eth_list ):
384
410
print_eth ()
385
- if print_list_header ("QUADSPI" , "QUADSPI" , "QSPI" , qspi_list ):
386
- print_qspi ()
411
+ inst = "QUADSPI"
412
+ mod = "QSPI"
413
+ if len (quadspidata0_list ) > 0 and "OCTOSPI" in quadspidata0_list [0 ][2 ]:
414
+ inst = "OCTOSPI"
415
+ mod = "OSPI"
416
+ if print_list_header (
417
+ inst ,
418
+ inst + "_DATA0" ,
419
+ mod ,
420
+ quadspidata0_list ,
421
+ quadspidata1_list ,
422
+ quadspidata2_list ,
423
+ quadspidata3_list ,
424
+ quadspisclk_list ,
425
+ quadspissel_list ,
426
+ ):
427
+ print_qspi (quadspidata0_list )
428
+ if print_list_header ("" , inst + "_DATA1" , mod , quadspidata1_list ):
429
+ print_qspi (quadspidata1_list )
430
+ if print_list_header ("" , inst + "_DATA2" , mod , quadspidata2_list ):
431
+ print_qspi (quadspidata2_list )
432
+ if print_list_header ("" , inst + "_DATA3" , mod , quadspidata3_list ):
433
+ print_qspi (quadspidata3_list )
434
+ if print_list_header ("" , inst + "_SCLK" , mod , quadspisclk_list ):
435
+ print_qspi (quadspisclk_list )
436
+ if print_list_header ("" , inst + "_SSEL" , mod , quadspissel_list ):
437
+ print_qspi (quadspissel_list )
387
438
if print_list_header ("USB" , "USB" , "PCD" , usb_list , usb_otgfs_list , usb_otghs_list ):
388
439
print_usb (usb_list )
389
440
if print_list_header ("" , "USB_OTG_FS" , "PCD" , usb_otgfs_list ):
@@ -644,13 +695,20 @@ def print_eth():
644
695
)
645
696
646
697
647
- def print_qspi ():
698
+ def print_qspi (list ):
648
699
prev_s = ""
649
- for p in qspi_list :
700
+
701
+ for p in list :
650
702
result = get_gpio_af_num (p [1 ], p [2 ])
651
703
s1 = "%-10s" % (" {" + p [0 ] + "," )
652
- # 2nd element is the QUADSPI_XXXX signal
653
- s1 += "QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, " + result + ")},"
704
+ # 2nd element is the XXXXSPI_YYYY signal
705
+ if "OCTOSPIM_P1" in p [2 ]:
706
+ s1 += "%-8s" % "OCTOSPI1,"
707
+ elif "OCTOSPIM_P2" in p [2 ]:
708
+ s1 += "%-8s" % "OCTOSPI2,"
709
+ else :
710
+ s1 += "%-8s" % "QUADSPI,"
711
+ s1 += " STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, " + result + ")},"
654
712
# check duplicated lines, only signal differs
655
713
if prev_s == s1 :
656
714
s1 = "|" + p [2 ]
@@ -822,7 +880,12 @@ def sort_my_lists():
822
880
cantd_list .sort (key = natural_sortkey )
823
881
canrd_list .sort (key = natural_sortkey )
824
882
eth_list .sort (key = natural_sortkey )
825
- qspi_list .sort (key = natural_sortkey )
883
+ quadspidata0_list .sort (key = natural_sortkey )
884
+ quadspidata1_list .sort (key = natural_sortkey )
885
+ quadspidata2_list .sort (key = natural_sortkey )
886
+ quadspidata3_list .sort (key = natural_sortkey )
887
+ quadspisclk_list .sort (key = natural_sortkey )
888
+ quadspissel_list .sort (key = natural_sortkey )
826
889
syswkup_list .sort (key = natural_sortkey2 )
827
890
usb_list .sort (key = natural_sortkey )
828
891
usb_otgfs_list .sort (key = natural_sortkey )
@@ -848,7 +911,12 @@ def clean_all_lists():
848
911
del cantd_list [:]
849
912
del canrd_list [:]
850
913
del eth_list [:]
851
- del qspi_list [:]
914
+ del quadspidata0_list [:]
915
+ del quadspidata1_list [:]
916
+ del quadspidata2_list [:]
917
+ del quadspidata3_list [:]
918
+ del quadspisclk_list [:]
919
+ del quadspissel_list [:]
852
920
del syswkup_list [:]
853
921
del usb_list [:]
854
922
del usb_otgfs_list [:]
@@ -893,7 +961,7 @@ def parse_pins():
893
961
store_can (pin , name , sig )
894
962
if "ETH" in sig :
895
963
store_eth (pin , name , sig )
896
- if "QUADSPI" in sig :
964
+ if "QUADSPI" in sig or "OCTOSPI" in sig :
897
965
store_qspi (pin , name , sig )
898
966
if "SYS_" or "PWR_" in sig :
899
967
store_sys (pin , name , sig )
0 commit comments