FPGA: - Split up MB registers that control daughterboard specific settings so that daughterboards 0 and 1 could have different setings, in preparation for future devices that require different settings. This requires a compat number bump to 8.0. - Add registers for additional RFDC information, including the block/tile mapping of the individual channels, and information about resampling capabilities - Identify sections of code that would be specific to X410/ZBX and move them to their own headers, so it's trivial to add device-specific sections of code instead for other devices in the future. - This includes constraints for clocks and I/O pins. - Remove ability to do timed ctrlport transactions to the MB CPLD, this was unused and possibly broken. - Move daughterboard-specific code into its own code location (dboards/zbx) - Move X410-specific register documentation to its own location (doc/X410) - Refactor Makefiles to split out X410/ZBX specific components and allow switching between device types - Add 512-bit AXI interconnects - Make number of timekeepers configurable (X410 keeps the single timekeeper) MPM: - Required compat is bumped to 8.0 - Now supports new registers for detecting DSP capabilities and multi-rate settings for the daughterboards - Adds MMCM controls (currently unused) Co-authored-by: Wade Fife <wade.fife@ni.com> Co-authored-by: Ryan Marlow <ryan@lmarlow.com> Co-authored-by: Martin Braun <martin.braun@ettus.com> Co-authored-by: Humberto Jimenez <humberto.jimenez@ni.com> Original-commit: c1d268917ea65dd9c5a42366014cb96d3c025223
59 lines
1.6 KiB
Python
Executable File
59 lines
1.6 KiB
Python
Executable File
#!/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 everything after the bandwidth from the end of the file name
|
|
dts_input = "_".join(dts_input.split("_")[:4])
|
|
# 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())
|