Skip to content

Commit 061d12f

Browse files
committed
targets: Finalize SoCs for LitePCIe driver exports
LitePCIe board targets only ran Builder when --build was passed. Using --driver alone could therefore generate driver files from an unfinalized SoC, leaving CSR/header data incomplete. Run the Builder export/finalization step for LitePCIe driver or header generation too. When --build was not requested, disable software and gateware compilation first so this behaves like an automatic --build --no-compile export step. Also create the output directory for the header-only LitePCIe generation paths before writing headers. Tested with: - python3 litex_boards/targets/xilinx_ac701.py --with-pcie --driver --output-dir=/tmp/litex1416-ac701-patched - python3 litex_boards/targets/sipeed_tang_mega_138k.py --with-pcie --output-dir=/tmp/litex1416-tang138k-patched2 - git diff --check - ast.parse() over all modified target files
1 parent 9112df9 commit 061d12f

36 files changed

Lines changed: 150 additions & 38 deletions

litex_boards/targets/adi_adrv2crr_fmc.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,10 @@ def main():
162162
)
163163

164164
builder = Builder(soc, **parser.builder_argdict)
165-
if args.build:
165+
if args.build or args.driver:
166+
if not args.build:
167+
builder.compile_software = False
168+
builder.compile_gateware = False
166169
builder.build(**parser.toolchain_argdict)
167170

168171
if args.driver:

litex_boards/targets/alibaba_vu13p.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,10 @@ def main():
236236
**parser.soc_argdict
237237
)
238238
builder = Builder(soc, **parser.builder_argdict)
239-
if args.build:
239+
if args.build or args.driver:
240+
if not args.build:
241+
builder.compile_software = False
242+
builder.compile_gateware = False
240243
builder.build(**parser.toolchain_argdict)
241244

242245
if args.driver:

litex_boards/targets/alibaba_xcku3p.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,10 @@ def main():
147147
)
148148

149149
builder = Builder(soc, **parser.builder_argdict)
150-
if args.build:
150+
if args.build or args.driver:
151+
if not args.build:
152+
builder.compile_software = False
153+
builder.compile_gateware = False
151154
builder.build(**parser.toolchain_argdict)
152155

153156
if args.driver:

litex_boards/targets/alinx_ax7203.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,10 @@ def main():
157157
)
158158

159159
builder = Builder(soc, **parser.builder_argdict)
160-
if args.build:
160+
if args.build or args.driver:
161+
if not args.build:
162+
builder.compile_software = False
163+
builder.compile_gateware = False
161164
builder.build(**parser.toolchain_argdict)
162165

163166
if args.driver:

litex_boards/targets/alinx_axau15.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,10 @@ def main():
163163
)
164164

165165
builder = Builder(soc, **parser.builder_argdict)
166-
if args.build:
166+
if args.build or args.driver:
167+
if not args.build:
168+
builder.compile_software = False
169+
builder.compile_gateware = False
167170
builder.build(**parser.toolchain_argdict)
168171

169172
if args.driver:

litex_boards/targets/decklink_intensity_pro_4k.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,10 @@ def main():
7575
**parser.soc_argdict
7676
)
7777
builder = Builder(soc, **parser.builder_argdict)
78-
if args.build:
78+
if args.build or args.driver:
79+
if not args.build:
80+
builder.compile_software = False
81+
builder.compile_gateware = False
7982
builder.build(**parser.toolchain_argdict)
8083

8184
if args.driver:

litex_boards/targets/decklink_mini_4k.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,10 @@ def main():
174174
**parser.soc_argdict
175175
)
176176
builder = Builder(soc, **parser.builder_argdict)
177-
if args.build:
177+
if args.build or args.driver:
178+
if not args.build:
179+
builder.compile_software = False
180+
builder.compile_gateware = False
178181
builder.build(**parser.toolchain_argdict)
179182

180183
if args.driver:

litex_boards/targets/decklink_quad_hdmi_recorder.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,10 @@ def main():
120120
**parser.soc_argdict
121121
)
122122
builder = Builder(soc, **parser.builder_argdict)
123-
if args.build:
123+
if args.build or args.driver:
124+
if not args.build:
125+
builder.compile_software = False
126+
builder.compile_gateware = False
124127
builder.build(**parser.toolchain_argdict)
125128

126129
if args.driver:

litex_boards/targets/enclustra_mercury_xu8_pe3.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,10 @@ def main():
120120
**parser.soc_argdict
121121
)
122122
builder = Builder(soc, **parser.builder_argdict)
123-
if args.build:
123+
if args.build or args.driver:
124+
if not args.build:
125+
builder.compile_software = False
126+
builder.compile_gateware = False
124127
builder.build(**parser.toolchain_argdict)
125128

126129
if args.driver:

litex_boards/targets/fairwaves_xtrx.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,10 @@ def main():
119119
**parser.soc_argdict
120120
)
121121
builder = Builder(soc, **parser.builder_argdict)
122-
if args.build:
122+
if args.build or args.driver:
123+
if not args.build:
124+
builder.compile_software = False
125+
builder.compile_gateware = False
123126
builder.build(**parser.toolchain_argdict)
124127

125128
if args.driver:

0 commit comments

Comments
 (0)