aboutsummaryrefslogtreecommitdiffstats
path: root/fpga/usrp3/top/x400/tools/get_dts_input.py
diff options
context:
space:
mode:
Diffstat (limited to 'fpga/usrp3/top/x400/tools/get_dts_input.py')
-rw-r--r--fpga/usrp3/top/x400/tools/get_dts_input.py58
1 files changed, 58 insertions, 0 deletions
diff --git a/fpga/usrp3/top/x400/tools/get_dts_input.py b/fpga/usrp3/top/x400/tools/get_dts_input.py
new file mode 100644
index 000000000..caa731fc7
--- /dev/null
+++ b/fpga/usrp3/top/x400/tools/get_dts_input.py
@@ -0,0 +1,58 @@
+#!/usr/bin/env python3
+#
+# Copyright 2021 Ettus Research, a National Instruments Brand
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+#
+"""
+This script parses the target DTS file name and determines which DTS input
+file to use as the source, then the DTS source file name to stdout. For
+example, if the target is:
+
+ build/usrp_x410_fpga_XG_100.dts
+
+then it will print the input DTS file name (replacing the directory and
+removing the _100):
+
+ dts/usrp_x410_fpga_XG.dts
+
+Note: This code assumes it's being run from the top x400 directory, because it
+ will always add dts/ input file path.
+
+usage: get_dts_input.py [-h] --target INPUT
+
+Arguments:
+
+ -h, --help Show this help message and exit
+ --target TARGET The target file name (e.g., build/usrp_x410_fpga_X4_200.dts)
+
+"""
+import argparse
+import os
+import sys
+
+def parse_args():
+ """Parser for the command line arguments"""
+ parser = argparse.ArgumentParser(description='Get input DTS path from target DTS path')
+ parser.add_argument('--target', required=True, help='The name of the target DTS file')
+ args = parser.parse_args()
+ return args
+
+def get_input(target):
+ # Remove the path from the beginning
+ dts_input = os.path.basename(target)
+ # Remove the _XXX and extension from the end of the file name
+ dts_input = "_".join(dts_input.split("_")[:-1])
+ # Add path and extension
+ dts_input = os.path.join('dts', dts_input + '.dts')
+ return dts_input
+
+def main():
+ """ main function """
+ args = parse_args()
+ dts_input = get_input(args.target)
+ print(dts_input)
+ return True
+
+if __name__ == '__main__':
+ sys.exit(not main())