integration/builder: Add support for --soc-csv/--soc-json/--soc-svd arguments.

Should be prefered over csr-xy since initial export was created when we were only interested
by CSR mapping export but has been extended since then to SoC mapping in general.
This commit is contained in:
Florent Kermarrec 2023-02-20 09:34:30 +01:00
parent fbf63f2fc3
commit c6394c8f27
1 changed files with 17 additions and 17 deletions

View File

@ -393,20 +393,20 @@ class Builder:
def builder_args(parser): def builder_args(parser):
parser.formatter_class = lambda prog: argparse.ArgumentDefaultsHelpFormatter(prog, max_help_position=10, width=120) parser.formatter_class = lambda prog: argparse.ArgumentDefaultsHelpFormatter(prog, max_help_position=10, width=120)
builder_group = parser.add_argument_group(title="Builder options") builder_group = parser.add_argument_group(title="Builder options")
builder_group.add_argument("--output-dir", default=None, help="Base Output directory.") builder_group.add_argument("--output-dir", default=None, help="Base Output directory.")
builder_group.add_argument("--gateware-dir", default=None, help="Output directory for Gateware files.") builder_group.add_argument("--gateware-dir", default=None, help="Output directory for Gateware files.")
builder_group.add_argument("--software-dir", default=None, help="Output directory for Software files.") builder_group.add_argument("--software-dir", default=None, help="Output directory for Software files.")
builder_group.add_argument("--include-dir", default=None, help="Output directory for Header files.") builder_group.add_argument("--include-dir", default=None, help="Output directory for Header files.")
builder_group.add_argument("--generated-dir", default=None, help="Output directory for Generated files.") builder_group.add_argument("--generated-dir", default=None, help="Output directory for Generated files.")
builder_group.add_argument("--build-backend", default="litex", help="Select build backend: litex or edalize.") builder_group.add_argument("--build-backend", default="litex", help="Select build backend: litex or edalize.")
builder_group.add_argument("--no-compile", action="store_true", help="Disable Software and Gateware compilation.") builder_group.add_argument("--no-compile", action="store_true", help="Disable Software and Gateware compilation.")
builder_group.add_argument("--no-compile-software", action="store_true", help="Disable Software compilation only.") builder_group.add_argument("--no-compile-software", action="store_true", help="Disable Software compilation only.")
builder_group.add_argument("--no-compile-gateware", action="store_true", help="Disable Gateware compilation only.") builder_group.add_argument("--no-compile-gateware", action="store_true", help="Disable Gateware compilation only.")
builder_group.add_argument("--csr-csv", default=None, help="Write SoC mapping to the specified CSV file.") builder_group.add_argument("--soc-csv", "--csr-csv", default=None, help="Write SoC mapping to the specified CSV file.")
builder_group.add_argument("--csr-json", default=None, help="Write SoC mapping to the specified JSON file.") builder_group.add_argument("--soc-json","--csr-json", default=None, help="Write SoC mapping to the specified JSON file.")
builder_group.add_argument("--csr-svd", default=None, help="Write SoC mapping to the specified SVD file.") builder_group.add_argument("--soc-svd", "--csr-svd", default=None, help="Write SoC mapping to the specified SVD file.")
builder_group.add_argument("--memory-x", default=None, help="Write SoC Memory Regions to the specified Memory-X file.") builder_group.add_argument("--memory-x", default=None, help="Write SoC Memory Regions to the specified Memory-X file.")
builder_group.add_argument("--doc", action="store_true", help="Generate SoC Documentation.") builder_group.add_argument("--doc", action="store_true", help="Generate SoC Documentation.")
bios_group = parser.add_argument_group(title="BIOS options") # FIXME: Move? bios_group = parser.add_argument_group(title="BIOS options") # FIXME: Move?
bios_group.add_argument("--bios-lto", action="store_true", help="Enable BIOS LTO (Link Time Optimization) compilation.") bios_group.add_argument("--bios-lto", action="store_true", help="Enable BIOS LTO (Link Time Optimization) compilation.")
bios_group.add_argument("--bios-console", default="full" , help="Select BIOS console config.", choices=["full", "no-history", "no-autocomplete", "lite", "disable"]) bios_group.add_argument("--bios-console", default="full" , help="Select BIOS console config.", choices=["full", "no-history", "no-autocomplete", "lite", "disable"])
@ -421,9 +421,9 @@ def builder_argdict(args):
"build_backend" : args.build_backend, "build_backend" : args.build_backend,
"compile_software" : (not args.no_compile) and (not args.no_compile_software), "compile_software" : (not args.no_compile) and (not args.no_compile_software),
"compile_gateware" : (not args.no_compile) and (not args.no_compile_gateware), "compile_gateware" : (not args.no_compile) and (not args.no_compile_gateware),
"csr_csv" : args.csr_csv, "csr_csv" : args.soc_csv,
"csr_json" : args.csr_json, "csr_json" : args.soc_json,
"csr_svd" : args.csr_svd, "csr_svd" : args.soc_svd,
"memory_x" : args.memory_x, "memory_x" : args.memory_x,
"generate_doc" : args.doc, "generate_doc" : args.doc,
"bios_lto" : args.bios_lto, "bios_lto" : args.bios_lto,