53
53
usb_list = [] # ['PIN','name','USB', ['af']]
54
54
usb_otgfs_list = [] # ['PIN','name','USB', ['af']]
55
55
usb_otghs_list = [] # ['PIN','name','USB', ['af']]
56
- sd_list = [] # ['PIN','name','SD', ['af']]
56
+ sdxcmd_list = [] # ['PIN','name','SDX_CMD', ['af']]
57
+ sdxck_list = [] # ['PIN','name','SDX_CK', ['af']]
58
+ sdxd0_list = [] # ['PIN','name','SDX_D0', ['af']]
59
+ sdxd1_list = [] # ['PIN','name','SDX_D1', ['af']]
60
+ sdxd2_list = [] # ['PIN','name','SDX_D2', ['af']]
61
+ sdxd3_list = [] # ['PIN','name','SDX_D3', ['af']]
62
+ sdxd4_list = [] # ['PIN','name','SDX_D4', ['af']]
63
+ sdxd5_list = [] # ['PIN','name','SDX_D5', ['af']]
64
+ sdxd6_list = [] # ['PIN','name','SDX_D6', ['af']]
65
+ sdxd7_list = [] # ['PIN','name','SDX_D7', ['af']]
66
+ sdmmcckin_list = [] # ['PIN','name','SDMMC_CKIN', ['af']]
67
+ sdmmccdir_list = [] # ['PIN','name','SDMMC_CDIR', ['af']]
68
+ sdmmcd0dir_list = [] # ['PIN','name','SDMMC_D0DIR', ['af']]
69
+ sdmmcd123dir_list = [] # ['PIN','name','SDMMC_D123DIR', ['af']]
57
70
58
71
# IP information
59
72
gpiofile = ""
@@ -543,9 +556,36 @@ def store_usb(pin, name, signal):
543
556
usb_otghs_list .append ([pin , name , signal ])
544
557
545
558
546
- # Store SD pins
547
- def store_sd (pin , name , signal ):
548
- sd_list .append ([pin , name , signal ])
559
+ # Store SD(IO/MMC) pins
560
+ def store_sdx (pin , name , signal ):
561
+ if signal .endswith ("_D0" ):
562
+ sdxd0_list .append ([pin , name , signal ])
563
+ elif signal .endswith ("_D1" ):
564
+ sdxd1_list .append ([pin , name , signal ])
565
+ elif signal .endswith ("_D2" ):
566
+ sdxd2_list .append ([pin , name , signal ])
567
+ elif signal .endswith ("_D3" ):
568
+ sdxd3_list .append ([pin , name , signal ])
569
+ elif signal .endswith ("_D4" ):
570
+ sdxd4_list .append ([pin , name , signal ])
571
+ elif signal .endswith ("_D5" ):
572
+ sdxd5_list .append ([pin , name , signal ])
573
+ elif signal .endswith ("_D6" ):
574
+ sdxd6_list .append ([pin , name , signal ])
575
+ elif signal .endswith ("_D7" ):
576
+ sdxd7_list .append ([pin , name , signal ])
577
+ elif signal .endswith ("_CMD" ):
578
+ sdxcmd_list .append ([pin , name , signal ])
579
+ elif signal .endswith ("_CK" ):
580
+ sdxck_list .append ([pin , name , signal ])
581
+ elif signal .endswith ("_CKIN" ):
582
+ sdmmcckin_list .append ([pin , name , signal ])
583
+ elif signal .endswith ("_CDIR" ):
584
+ sdmmccdir_list .append ([pin , name , signal ])
585
+ elif signal .endswith ("_D0DIR" ):
586
+ sdmmcd0dir_list .append ([pin , name , signal ])
587
+ elif signal .endswith ("_D123DIR" ):
588
+ sdmmcd123dir_list .append ([pin , name , signal ])
549
589
550
590
551
591
# PeripheralPins.cpp generation
@@ -1044,13 +1084,40 @@ def usb_pinmap(lst):
1044
1084
)
1045
1085
1046
1086
1047
- def sd_pinmap ( ):
1048
- sd_pins_list = []
1087
+ def sdx_pinmap ( lst ):
1088
+ sdx_pins_list = []
1049
1089
winst = [0 ]
1050
1090
wpin = [0 ]
1051
1091
mode = "STM_MODE_AF_PP"
1052
-
1053
- for p in sd_list :
1092
+ if lst == sdxd0_list :
1093
+ aname = "SD_DATA0"
1094
+ elif lst == sdxd1_list :
1095
+ aname = "SD_DATA1"
1096
+ elif lst == sdxd2_list :
1097
+ aname = "SD_DATA2"
1098
+ elif lst == sdxd3_list :
1099
+ aname = "SD_DATA3"
1100
+ elif lst == sdxd4_list :
1101
+ aname = "SD_DATA4"
1102
+ elif lst == sdxd5_list :
1103
+ aname = "SD_DATA5"
1104
+ elif lst == sdxd6_list :
1105
+ aname = "SD_DATA6"
1106
+ elif lst == sdxd7_list :
1107
+ aname = "SD_DATA7"
1108
+ elif lst == sdxcmd_list :
1109
+ aname = "SD_CMD"
1110
+ elif lst == sdxck_list :
1111
+ aname = "SD_CK"
1112
+ elif lst == sdmmcckin_list :
1113
+ aname = "SD_CKIN"
1114
+ elif lst == sdmmccdir_list :
1115
+ aname = "SD_CDIR"
1116
+ elif lst == sdmmcd0dir_list :
1117
+ aname = "SD_D0DIR"
1118
+ elif lst == sdmmcd123dir_list :
1119
+ aname = "SD_D123DIR"
1120
+ for p in lst :
1054
1121
# 2nd element is the SD signal
1055
1122
a = p [2 ].split ("_" )
1056
1123
inst = a [0 ]
@@ -1060,7 +1127,7 @@ def sd_pinmap():
1060
1127
pull = "GPIO_PULLUP"
1061
1128
winst .append (len (inst ))
1062
1129
wpin .append (len (p [0 ]))
1063
- sd_pins_list .append (
1130
+ sdx_pins_list .append (
1064
1131
{
1065
1132
"pin" : p [0 ],
1066
1133
"inst" : inst ,
@@ -1073,11 +1140,11 @@ def sd_pinmap():
1073
1140
return dict (
1074
1141
name = "SD" ,
1075
1142
hal = "SD" ,
1076
- aname = "SD" ,
1143
+ aname = aname ,
1077
1144
data = "" ,
1078
1145
wpin = max (wpin ) + 1 ,
1079
1146
winst = max (winst ) + 1 ,
1080
- list = sd_pins_list ,
1147
+ list = sdx_pins_list ,
1081
1148
)
1082
1149
1083
1150
@@ -1131,7 +1198,22 @@ def print_peripheral():
1131
1198
xspi_pinmap (xspissel_list ),
1132
1199
),
1133
1200
usb_pinmmap ,
1134
- [sd_pinmap ()],
1201
+ (
1202
+ sdx_pinmap (sdxcmd_list ),
1203
+ sdx_pinmap (sdxck_list ),
1204
+ sdx_pinmap (sdxd0_list ),
1205
+ sdx_pinmap (sdxd1_list ),
1206
+ sdx_pinmap (sdxd2_list ),
1207
+ sdx_pinmap (sdxd3_list ),
1208
+ sdx_pinmap (sdxd4_list ),
1209
+ sdx_pinmap (sdxd5_list ),
1210
+ sdx_pinmap (sdxd6_list ),
1211
+ sdx_pinmap (sdxd7_list ),
1212
+ sdx_pinmap (sdmmcckin_list ),
1213
+ sdx_pinmap (sdmmccdir_list ),
1214
+ sdx_pinmap (sdmmcd0dir_list ),
1215
+ sdx_pinmap (sdmmcd123dir_list ),
1216
+ ),
1135
1217
),
1136
1218
)
1137
1219
)
@@ -1447,7 +1529,7 @@ def print_variant(generic_list, alt_syswkup_list):
1447
1529
hal_modules_list .append ("OSPI" )
1448
1530
else :
1449
1531
hal_modules_list .append ("QSPI" )
1450
- if sd_list :
1532
+ if sdxcmd_list :
1451
1533
hal_modules_list .append ("SD" )
1452
1534
1453
1535
variant_h_file .write (
@@ -1668,7 +1750,20 @@ def sort_my_lists():
1668
1750
usb_list .sort (key = natural_sortkey )
1669
1751
usb_otgfs_list .sort (key = natural_sortkey )
1670
1752
usb_otghs_list .sort (key = natural_sortkey )
1671
- sd_list .sort (key = natural_sortkey )
1753
+ sdxcmd_list .sort (key = natural_sortkey )
1754
+ sdxck_list .sort (key = natural_sortkey )
1755
+ sdxd0_list .sort (key = natural_sortkey )
1756
+ sdxd1_list .sort (key = natural_sortkey )
1757
+ sdxd2_list .sort (key = natural_sortkey )
1758
+ sdxd3_list .sort (key = natural_sortkey )
1759
+ sdxd4_list .sort (key = natural_sortkey )
1760
+ sdxd5_list .sort (key = natural_sortkey )
1761
+ sdxd6_list .sort (key = natural_sortkey )
1762
+ sdxd7_list .sort (key = natural_sortkey )
1763
+ sdmmcckin_list .sort (key = natural_sortkey )
1764
+ sdmmccdir_list .sort (key = natural_sortkey )
1765
+ sdmmcd0dir_list .sort (key = natural_sortkey )
1766
+ sdmmcd123dir_list .sort (key = natural_sortkey )
1672
1767
1673
1768
1674
1769
def clean_all_lists ():
@@ -1708,7 +1803,20 @@ def clean_all_lists():
1708
1803
del usb_list [:]
1709
1804
del usb_otgfs_list [:]
1710
1805
del usb_otghs_list [:]
1711
- del sd_list [:]
1806
+ del sdxcmd_list [:]
1807
+ del sdxck_list [:]
1808
+ del sdxd0_list [:]
1809
+ del sdxd1_list [:]
1810
+ del sdxd2_list [:]
1811
+ del sdxd3_list [:]
1812
+ del sdxd4_list [:]
1813
+ del sdxd5_list [:]
1814
+ del sdxd6_list [:]
1815
+ del sdxd7_list [:]
1816
+ del sdmmcckin_list [:]
1817
+ del sdmmccdir_list [:]
1818
+ del sdmmcd0dir_list [:]
1819
+ del sdmmcd123dir_list [:]
1712
1820
1713
1821
1714
1822
def manage_af_and_alternate ():
@@ -1742,7 +1850,20 @@ def manage_af_and_alternate():
1742
1850
add_af (usb_list )
1743
1851
add_af (usb_otgfs_list )
1744
1852
add_af (usb_otghs_list )
1745
- add_af (sd_list )
1853
+ add_af (sdxcmd_list )
1854
+ add_af (sdxck_list )
1855
+ add_af (sdxd0_list )
1856
+ add_af (sdxd1_list )
1857
+ add_af (sdxd2_list )
1858
+ add_af (sdxd3_list )
1859
+ add_af (sdxd4_list )
1860
+ add_af (sdxd5_list )
1861
+ add_af (sdxd6_list )
1862
+ add_af (sdxd7_list )
1863
+ add_af (sdmmcckin_list )
1864
+ add_af (sdmmccdir_list )
1865
+ add_af (sdmmcd0dir_list )
1866
+ add_af (sdmmcd123dir_list )
1746
1867
1747
1868
sort_my_lists ()
1748
1869
@@ -1778,7 +1899,20 @@ def manage_af_and_alternate():
1778
1899
update_alternate (usb_list )
1779
1900
update_alternate (usb_otgfs_list )
1780
1901
update_alternate_usb_otg_hs ()
1781
- update_alternate (sd_list )
1902
+ update_alternate (sdxcmd_list )
1903
+ update_alternate (sdxck_list )
1904
+ update_alternate (sdxd0_list )
1905
+ update_alternate (sdxd1_list )
1906
+ update_alternate (sdxd2_list )
1907
+ update_alternate (sdxd3_list )
1908
+ update_alternate (sdxd4_list )
1909
+ update_alternate (sdxd5_list )
1910
+ update_alternate (sdxd6_list )
1911
+ update_alternate (sdxd7_list )
1912
+ update_alternate (sdmmcckin_list )
1913
+ update_alternate (sdmmccdir_list )
1914
+ update_alternate (sdmmcd0dir_list )
1915
+ update_alternate (sdmmcd123dir_list )
1782
1916
1783
1917
alt_list .sort (key = natural_sortkey )
1784
1918
@@ -1889,7 +2023,7 @@ def parse_pins():
1889
2023
elif "USB" in sig :
1890
2024
store_usb (pin , name , sig )
1891
2025
elif re .match ("^SD(IO|MMC)" , sig ) is not None :
1892
- store_sd (pin , name , sig )
2026
+ store_sdx (pin , name , sig )
1893
2027
del itemlist [:]
1894
2028
1895
2029
0 commit comments