2828cantd_list = [] # 'PIN','name','CANTD'
2929canrd_list = [] # 'PIN','name','CANRD'
3030eth_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'
3237syswkup_list = [] # 'PIN','name','SYSWKUP'
3338usb_list = [] # 'PIN','name','USB'
3439usb_otgfs_list = [] # 'PIN','name','USB'
@@ -267,9 +272,30 @@ def store_eth(pin, name, signal):
267272
268273# function to store QSPI pins
269274def 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 ])
273299
274300
275301# function to store SYS pins
@@ -382,8 +408,33 @@ def print_all_lists():
382408 print_can (cantd_list )
383409 if print_list_header ("ETHERNET" , "Ethernet" , "ETH" , eth_list ):
384410 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 )
387438 if print_list_header ("USB" , "USB" , "PCD" , usb_list , usb_otgfs_list , usb_otghs_list ):
388439 print_usb (usb_list )
389440 if print_list_header ("" , "USB_OTG_FS" , "PCD" , usb_otgfs_list ):
@@ -644,13 +695,20 @@ def print_eth():
644695 )
645696
646697
647- def print_qspi ():
698+ def print_qspi (list ):
648699 prev_s = ""
649- for p in qspi_list :
700+
701+ for p in list :
650702 result = get_gpio_af_num (p [1 ], p [2 ])
651703 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 + ")},"
654712 # check duplicated lines, only signal differs
655713 if prev_s == s1 :
656714 s1 = "|" + p [2 ]
@@ -822,7 +880,12 @@ def sort_my_lists():
822880 cantd_list .sort (key = natural_sortkey )
823881 canrd_list .sort (key = natural_sortkey )
824882 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 )
826889 syswkup_list .sort (key = natural_sortkey2 )
827890 usb_list .sort (key = natural_sortkey )
828891 usb_otgfs_list .sort (key = natural_sortkey )
@@ -848,7 +911,12 @@ def clean_all_lists():
848911 del cantd_list [:]
849912 del canrd_list [:]
850913 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 [:]
852920 del syswkup_list [:]
853921 del usb_list [:]
854922 del usb_otgfs_list [:]
@@ -893,7 +961,7 @@ def parse_pins():
893961 store_can (pin , name , sig )
894962 if "ETH" in sig :
895963 store_eth (pin , name , sig )
896- if "QUADSPI" in sig :
964+ if "QUADSPI" in sig or "OCTOSPI" in sig :
897965 store_qspi (pin , name , sig )
898966 if "SYS_" or "PWR_" in sig :
899967 store_sys (pin , name , sig )
0 commit comments