Skip to content

Commit 58c197b

Browse files
committed
script(stm32variant): split sd pinmap array
Signed-off-by: Frederic Pillon <[email protected]>
1 parent 228c1c0 commit 58c197b

File tree

1 file changed

+152
-18
lines changed

1 file changed

+152
-18
lines changed

Diff for: CI/update/stm32variant.py

+152-18
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,20 @@
5353
usb_list = [] # ['PIN','name','USB', ['af']]
5454
usb_otgfs_list = [] # ['PIN','name','USB', ['af']]
5555
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']]
5770

5871
# IP information
5972
gpiofile = ""
@@ -543,9 +556,36 @@ def store_usb(pin, name, signal):
543556
usb_otghs_list.append([pin, name, signal])
544557

545558

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])
549589

550590

551591
# PeripheralPins.cpp generation
@@ -1044,13 +1084,40 @@ def usb_pinmap(lst):
10441084
)
10451085

10461086

1047-
def sd_pinmap():
1048-
sd_pins_list = []
1087+
def sdx_pinmap(lst):
1088+
sdx_pins_list = []
10491089
winst = [0]
10501090
wpin = [0]
10511091
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:
10541121
# 2nd element is the SD signal
10551122
a = p[2].split("_")
10561123
inst = a[0]
@@ -1060,7 +1127,7 @@ def sd_pinmap():
10601127
pull = "GPIO_PULLUP"
10611128
winst.append(len(inst))
10621129
wpin.append(len(p[0]))
1063-
sd_pins_list.append(
1130+
sdx_pins_list.append(
10641131
{
10651132
"pin": p[0],
10661133
"inst": inst,
@@ -1073,11 +1140,11 @@ def sd_pinmap():
10731140
return dict(
10741141
name="SD",
10751142
hal="SD",
1076-
aname="SD",
1143+
aname=aname,
10771144
data="",
10781145
wpin=max(wpin) + 1,
10791146
winst=max(winst) + 1,
1080-
list=sd_pins_list,
1147+
list=sdx_pins_list,
10811148
)
10821149

10831150

@@ -1131,7 +1198,22 @@ def print_peripheral():
11311198
xspi_pinmap(xspissel_list),
11321199
),
11331200
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+
),
11351217
),
11361218
)
11371219
)
@@ -1447,7 +1529,7 @@ def print_variant(generic_list, alt_syswkup_list):
14471529
hal_modules_list.append("OSPI")
14481530
else:
14491531
hal_modules_list.append("QSPI")
1450-
if sd_list:
1532+
if sdxcmd_list:
14511533
hal_modules_list.append("SD")
14521534

14531535
variant_h_file.write(
@@ -1668,7 +1750,20 @@ def sort_my_lists():
16681750
usb_list.sort(key=natural_sortkey)
16691751
usb_otgfs_list.sort(key=natural_sortkey)
16701752
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)
16721767

16731768

16741769
def clean_all_lists():
@@ -1708,7 +1803,20 @@ def clean_all_lists():
17081803
del usb_list[:]
17091804
del usb_otgfs_list[:]
17101805
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[:]
17121820

17131821

17141822
def manage_af_and_alternate():
@@ -1742,7 +1850,20 @@ def manage_af_and_alternate():
17421850
add_af(usb_list)
17431851
add_af(usb_otgfs_list)
17441852
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)
17461867

17471868
sort_my_lists()
17481869

@@ -1778,7 +1899,20 @@ def manage_af_and_alternate():
17781899
update_alternate(usb_list)
17791900
update_alternate(usb_otgfs_list)
17801901
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)
17821916

17831917
alt_list.sort(key=natural_sortkey)
17841918

@@ -1889,7 +2023,7 @@ def parse_pins():
18892023
elif "USB" in sig:
18902024
store_usb(pin, name, sig)
18912025
elif re.match("^SD(IO|MMC)", sig) is not None:
1892-
store_sd(pin, name, sig)
2026+
store_sdx(pin, name, sig)
18932027
del itemlist[:]
18942028

18952029

0 commit comments

Comments
 (0)