aboutsummaryrefslogtreecommitdiff
path: root/tools/dtoc
diff options
context:
space:
mode:
Diffstat (limited to 'tools/dtoc')
-rw-r--r--tools/dtoc/README.rst15
-rw-r--r--tools/dtoc/dtb_platdata.py10
-rw-r--r--tools/dtoc/fdt.py2
-rw-r--r--tools/dtoc/fdt_util.py4
-rwxr-xr-xtools/dtoc/main.py110
-rw-r--r--tools/dtoc/pyproject.toml26
-rw-r--r--tools/dtoc/test/dtoc_test_add_prop.dts4
-rw-r--r--tools/dtoc/test/dtoc_test_addr32.dts4
-rw-r--r--tools/dtoc/test/dtoc_test_addr32_64.dts6
-rw-r--r--tools/dtoc/test/dtoc_test_addr64.dts6
-rw-r--r--tools/dtoc/test/dtoc_test_addr64_32.dts6
-rw-r--r--tools/dtoc/test/dtoc_test_alias_bad.dts6
-rw-r--r--tools/dtoc/test/dtoc_test_alias_bad_path.dts6
-rw-r--r--tools/dtoc/test/dtoc_test_alias_bad_uc.dts6
-rw-r--r--tools/dtoc/test/dtoc_test_aliases.dts4
-rw-r--r--tools/dtoc/test/dtoc_test_driver_alias.dts2
-rw-r--r--tools/dtoc/test/dtoc_test_inst.dts6
-rw-r--r--tools/dtoc/test/dtoc_test_invalid_driver.dts2
-rw-r--r--tools/dtoc/test/dtoc_test_noparent.dts6
-rw-r--r--tools/dtoc/test/dtoc_test_noprops.dts2
-rw-r--r--tools/dtoc/test/dtoc_test_phandle.dts10
-rw-r--r--tools/dtoc/test/dtoc_test_phandle_bad.dts2
-rw-r--r--tools/dtoc/test/dtoc_test_phandle_bad2.dts4
-rw-r--r--tools/dtoc/test/dtoc_test_phandle_cd_gpios.dts10
-rw-r--r--tools/dtoc/test/dtoc_test_phandle_reorder.dts4
-rw-r--r--tools/dtoc/test/dtoc_test_phandle_single.dts4
-rw-r--r--tools/dtoc/test/dtoc_test_simple.dts10
-rw-r--r--tools/dtoc/test/dtoc_test_single_reg.dts4
-rwxr-xr-xtools/dtoc/test_dtoc.py10
-rwxr-xr-xtools/dtoc/test_fdt.py15
-rw-r--r--tools/dtoc/test_src_scan.py4
31 files changed, 183 insertions, 127 deletions
diff --git a/tools/dtoc/README.rst b/tools/dtoc/README.rst
new file mode 100644
index 0000000000..92b39759ed
--- /dev/null
+++ b/tools/dtoc/README.rst
@@ -0,0 +1,15 @@
+.. SPDX-License-Identifier: GPL-2.0+
+
+Devicetree-to-C generator
+=========================
+
+This is a Python program and associated utilities, which supports converting
+devicetree files into C code. It generates header files containing struct
+definitions, as well as C files containing the data. It does not require any
+modification of the devicetree files.
+
+Some high-level libraries are provided for working with devicetree. These may
+be useful in other projects.
+
+This package also includes some U-Boot-specific features, such as creating
+`struct udevice` and `struct uclass` entries for devicetree nodes.
diff --git a/tools/dtoc/dtb_platdata.py b/tools/dtoc/dtb_platdata.py
index a69a7889ce..39f416cfd8 100644
--- a/tools/dtoc/dtb_platdata.py
+++ b/tools/dtoc/dtb_platdata.py
@@ -35,9 +35,9 @@ PROP_IGNORE_LIST = [
'linux,phandle',
"status",
'phandle',
- 'u-boot,dm-pre-reloc',
- 'u-boot,dm-tpl',
- 'u-boot,dm-spl',
+ 'bootph-all',
+ 'bootph-pre-sram',
+ 'bootph-pre-ram',
]
# C type declarations for the types we support
@@ -442,7 +442,7 @@ class DtbPlatdata():
"""
parent = node.parent
if parent and not parent.props:
- raise ValueError("Parent node '%s' has no properties - do you need u-boot,dm-spl or similar?" %
+ raise ValueError("Parent node '%s' has no properties - do you need bootph-pre-ram or similar?" %
parent.path)
num_addr, num_size = 2, 2
if parent:
@@ -754,7 +754,7 @@ class DtbPlatdata():
# This might indicate that the parent node is not in the
# SPL/TPL devicetree but the child is. For example if we are
# dealing with of-platdata in TPL, the parent has a
- # u-boot,dm-tpl tag but the child has u-boot,dm-pre-reloc. In
+ # bootph-pre-sram tag but the child has bootph-all. In
# this case the child node exists in TPL but the parent does
# not.
raise ValueError("Node '%s' requires parent node '%s' but it is not in the valid list" %
diff --git a/tools/dtoc/fdt.py b/tools/dtoc/fdt.py
index d933972918..a8e05349a7 100644
--- a/tools/dtoc/fdt.py
+++ b/tools/dtoc/fdt.py
@@ -12,7 +12,7 @@ import sys
from dtoc import fdt_util
import libfdt
from libfdt import QUIET_NOTFOUND
-from patman import tools
+from u_boot_pylib import tools
# This deals with a device tree, presenting it as an assortment of Node and
# Prop objects, representing nodes and properties, respectively. This file
diff --git a/tools/dtoc/fdt_util.py b/tools/dtoc/fdt_util.py
index f34316632a..f1f70568cf 100644
--- a/tools/dtoc/fdt_util.py
+++ b/tools/dtoc/fdt_util.py
@@ -13,8 +13,8 @@ import struct
import sys
import tempfile
-from patman import command
-from patman import tools
+from u_boot_pylib import command
+from u_boot_pylib import tools
def fdt32_to_cpu(val):
"""Convert a device tree cell to an integer
diff --git a/tools/dtoc/main.py b/tools/dtoc/main.py
index 5508759d4d..6c91450410 100755
--- a/tools/dtoc/main.py
+++ b/tools/dtoc/main.py
@@ -23,6 +23,7 @@ see doc/driver-model/of-plat.rst
from argparse import ArgumentParser
import os
+import pathlib
import sys
# Bring in the patman libraries
@@ -35,7 +36,10 @@ sys.path.insert(0, os.path.join(our_path,
'../../build-sandbox_spl/scripts/dtc/pylibfdt'))
from dtoc import dtb_platdata
-from patman import test_util
+from u_boot_pylib import test_util
+
+DTOC_DIR = pathlib.Path(__file__).parent
+HAVE_TESTS = (DTOC_DIR / 'test_dtoc.py').exists()
def run_tests(processes, args):
"""Run all the test we have for dtoc
@@ -61,54 +65,62 @@ def run_tests(processes, args):
return (0 if result.wasSuccessful() else 1)
-def RunTestCoverage():
+def RunTestCoverage(build_dir):
"""Run the tests and check that we get 100% coverage"""
sys.argv = [sys.argv[0]]
test_util.run_test_coverage('tools/dtoc/dtoc', '/main.py',
- ['tools/patman/*.py', '*/fdt*', '*test*'], args.build_dir)
-
-
-if __name__ != '__main__':
- sys.exit(1)
-
-epilog = '''Generate C code from devicetree files. See of-plat.rst for details'''
-
-parser = ArgumentParser(epilog=epilog)
-parser.add_argument('-B', '--build-dir', type=str, default='b',
- help='Directory containing the build output')
-parser.add_argument('-c', '--c-output-dir', action='store',
- help='Select output directory for C files')
-parser.add_argument('-C', '--h-output-dir', action='store',
- help='Select output directory for H files (defaults to --c-output-di)')
-parser.add_argument('-d', '--dtb-file', action='store',
- help='Specify the .dtb input file')
-parser.add_argument('-i', '--instantiate', action='store_true', default=False,
- help='Instantiate devices to avoid needing device_bind()')
-parser.add_argument('--include-disabled', action='store_true',
- help='Include disabled nodes')
-parser.add_argument('-o', '--output', action='store',
- help='Select output filename')
-parser.add_argument('-p', '--phase', type=str,
- help='set phase of U-Boot this invocation is for (spl/tpl)')
-parser.add_argument('-P', '--processes', type=int,
- help='set number of processes to use for running tests')
-parser.add_argument('-t', '--test', action='store_true', dest='test',
- default=False, help='run tests')
-parser.add_argument('-T', '--test-coverage', action='store_true',
- default=False, help='run tests and check for 100%% coverage')
-parser.add_argument('files', nargs='*')
-args = parser.parse_args()
-
-# Run our meagre tests
-if args.test:
- ret_code = run_tests(args.processes, args)
- sys.exit(ret_code)
-
-elif args.test_coverage:
- RunTestCoverage()
-
-else:
- dtb_platdata.run_steps(args.files, args.dtb_file, args.include_disabled,
- args.output,
- [args.c_output_dir, args.h_output_dir],
- args.phase, instantiate=args.instantiate)
+ ['tools/patman/*.py', 'tools/u_boot_pylib/*','*/fdt*', '*test*'],
+ build_dir)
+
+
+def run_dtoc():
+ epilog = 'Generate C code from devicetree files. See of-plat.rst for details'
+
+ parser = ArgumentParser(epilog=epilog)
+ parser.add_argument('-B', '--build-dir', type=str, default='b',
+ help='Directory containing the build output')
+ parser.add_argument('-c', '--c-output-dir', action='store',
+ help='Select output directory for C files')
+ parser.add_argument(
+ '-C', '--h-output-dir', action='store',
+ help='Select output directory for H files (defaults to --c-output-di)')
+ parser.add_argument('-d', '--dtb-file', action='store',
+ help='Specify the .dtb input file')
+ parser.add_argument(
+ '-i', '--instantiate', action='store_true', default=False,
+ help='Instantiate devices to avoid needing device_bind()')
+ parser.add_argument('--include-disabled', action='store_true',
+ help='Include disabled nodes')
+ parser.add_argument('-o', '--output', action='store',
+ help='Select output filename')
+ parser.add_argument(
+ '-p', '--phase', type=str,
+ help='set phase of U-Boot this invocation is for (spl/tpl)')
+ parser.add_argument('-P', '--processes', type=int,
+ help='set number of processes to use for running tests')
+ if HAVE_TESTS:
+ parser.add_argument('-t', '--test', action='store_true', dest='test',
+ default=False, help='run tests')
+ parser.add_argument(
+ '-T', '--test-coverage', action='store_true',
+ default=False, help='run tests and check for 100%% coverage')
+ parser.add_argument('files', nargs='*')
+ args = parser.parse_args()
+
+ # Run our meagre tests
+ if HAVE_TESTS and args.test:
+ ret_code = run_tests(args.processes, args)
+ sys.exit(ret_code)
+
+ elif HAVE_TESTS and args.test_coverage:
+ RunTestCoverage(args.build_dir)
+
+ else:
+ dtb_platdata.run_steps(args.files, args.dtb_file, args.include_disabled,
+ args.output,
+ [args.c_output_dir, args.h_output_dir],
+ args.phase, instantiate=args.instantiate)
+
+
+if __name__ == '__main__':
+ run_dtoc()
diff --git a/tools/dtoc/pyproject.toml b/tools/dtoc/pyproject.toml
new file mode 100644
index 0000000000..77fe4da215
--- /dev/null
+++ b/tools/dtoc/pyproject.toml
@@ -0,0 +1,26 @@
+[build-system]
+requires = ["setuptools>=61.0"]
+build-backend = "setuptools.build_meta"
+
+[project]
+name = "dtoc"
+version = "0.0.2"
+authors = [
+ { name="Simon Glass", email="sjg@chromium.org" },
+]
+dependencies = ["pylibfdt", "u_boot_pylib"]
+description = "Devicetree-to-C generator"
+readme = "README.rst"
+requires-python = ">=3.7"
+classifiers = [
+ "Programming Language :: Python :: 3",
+ "License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)",
+ "Operating System :: OS Independent",
+]
+
+[project.urls]
+"Homepage" = "https://u-boot.readthedocs.io/en/latest/develop/driver-model/of-plat.html"
+"Bug Tracker" = "https://source.denx.de/groups/u-boot/-/issues"
+
+[project.scripts]
+dtoc = "dtoc.main:run_dtoc"
diff --git a/tools/dtoc/test/dtoc_test_add_prop.dts b/tools/dtoc/test/dtoc_test_add_prop.dts
index fa296e5552..8225de36d2 100644
--- a/tools/dtoc/test/dtoc_test_add_prop.dts
+++ b/tools/dtoc/test/dtoc_test_add_prop.dts
@@ -11,13 +11,13 @@
#address-cells = <1>;
#size-cells = <1>;
spl-test {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "sandbox,spl-test";
intval = <1>;
};
spl-test2 {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "sandbox,spl-test";
intarray = <5>;
};
diff --git a/tools/dtoc/test/dtoc_test_addr32.dts b/tools/dtoc/test/dtoc_test_addr32.dts
index 239045497c..3e7dc56729 100644
--- a/tools/dtoc/test/dtoc_test_addr32.dts
+++ b/tools/dtoc/test/dtoc_test_addr32.dts
@@ -12,13 +12,13 @@
#size-cells = <1>;
test1 {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "test1";
reg = <0x1234 0x5678>;
};
test2 {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "test2";
reg = <0x12345678 0x98765432 2 3>;
};
diff --git a/tools/dtoc/test/dtoc_test_addr32_64.dts b/tools/dtoc/test/dtoc_test_addr32_64.dts
index 7599d5b0a5..7ce16feef1 100644
--- a/tools/dtoc/test/dtoc_test_addr32_64.dts
+++ b/tools/dtoc/test/dtoc_test_addr32_64.dts
@@ -12,19 +12,19 @@
#size-cells = <2>;
test1 {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "test1";
reg = <0x1234 0x5678 0x0>;
};
test2 {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "test2";
reg = <0x12345678 0x98765432 0x10987654>;
};
test3 {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "test3";
reg = <0x12345678 0x98765432 0x10987654 2 0 3>;
};
diff --git a/tools/dtoc/test/dtoc_test_addr64.dts b/tools/dtoc/test/dtoc_test_addr64.dts
index 263d251386..5f8c23f04b 100644
--- a/tools/dtoc/test/dtoc_test_addr64.dts
+++ b/tools/dtoc/test/dtoc_test_addr64.dts
@@ -12,19 +12,19 @@
#size-cells = <2>;
test1 {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "test1";
reg = /bits/ 64 <0x1234 0x5678>;
};
test2 {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "test2";
reg = /bits/ 64 <0x1234567890123456 0x9876543210987654>;
};
test3 {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "test3";
reg = /bits/ 64 <0x1234567890123456 0x9876543210987654 2 3>;
};
diff --git a/tools/dtoc/test/dtoc_test_addr64_32.dts b/tools/dtoc/test/dtoc_test_addr64_32.dts
index 85e4f5fdae..bfbfd87b8d 100644
--- a/tools/dtoc/test/dtoc_test_addr64_32.dts
+++ b/tools/dtoc/test/dtoc_test_addr64_32.dts
@@ -12,19 +12,19 @@
#size-cells = <1>;
test1 {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "test1";
reg = <0x1234 0x0 0x5678>;
};
test2 {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "test2";
reg = <0x12345678 0x90123456 0x98765432>;
};
test3 {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "test3";
reg = <0x12345678 0x90123456 0x98765432 0 2 3>;
};
diff --git a/tools/dtoc/test/dtoc_test_alias_bad.dts b/tools/dtoc/test/dtoc_test_alias_bad.dts
index d4f502ad0a..69761f9114 100644
--- a/tools/dtoc/test/dtoc_test_alias_bad.dts
+++ b/tools/dtoc/test/dtoc_test_alias_bad.dts
@@ -18,20 +18,20 @@
};
spl-test {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "sandbox,spl-test";
boolval;
intval = <1>;
};
i2c: i2c {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "sandbox,i2c";
intval = <3>;
};
spl-test3 {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "sandbox,spl-test";
stringarray = "one";
longbytearray = [09 0a 0b 0c 0d 0e 0f 10];
diff --git a/tools/dtoc/test/dtoc_test_alias_bad_path.dts b/tools/dtoc/test/dtoc_test_alias_bad_path.dts
index 0beca4f0d0..6f566fe4ab 100644
--- a/tools/dtoc/test/dtoc_test_alias_bad_path.dts
+++ b/tools/dtoc/test/dtoc_test_alias_bad_path.dts
@@ -18,20 +18,20 @@
};
spl-test {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "sandbox,spl-test";
boolval;
intval = <1>;
};
i2c: i2c {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "sandbox,i2c";
intval = <3>;
};
spl-test3 {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "sandbox,spl-test";
stringarray = "one";
longbytearray = [09 0a 0b 0c 0d 0e 0f 10];
diff --git a/tools/dtoc/test/dtoc_test_alias_bad_uc.dts b/tools/dtoc/test/dtoc_test_alias_bad_uc.dts
index ae64f5b3b2..5d23c63a63 100644
--- a/tools/dtoc/test/dtoc_test_alias_bad_uc.dts
+++ b/tools/dtoc/test/dtoc_test_alias_bad_uc.dts
@@ -18,20 +18,20 @@
};
spl-test {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "sandbox,spl-test";
boolval;
intval = <1>;
};
i2c: i2c {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "sandbox,i2c";
intval = <3>;
};
spl-test3 {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "sandbox,spl-test";
stringarray = "one";
longbytearray = [09 0a 0b 0c 0d 0e 0f 10];
diff --git a/tools/dtoc/test/dtoc_test_aliases.dts b/tools/dtoc/test/dtoc_test_aliases.dts
index ae33716863..018b834046 100644
--- a/tools/dtoc/test/dtoc_test_aliases.dts
+++ b/tools/dtoc/test/dtoc_test_aliases.dts
@@ -9,13 +9,13 @@
/ {
spl-test {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "compat1", "compat2.1-fred", "compat3";
intval = <1>;
};
spl-test2 {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "compat1", "simple_bus";
intval = <1>;
};
diff --git a/tools/dtoc/test/dtoc_test_driver_alias.dts b/tools/dtoc/test/dtoc_test_driver_alias.dts
index da7973b2e5..22369a4406 100644
--- a/tools/dtoc/test/dtoc_test_driver_alias.dts
+++ b/tools/dtoc/test/dtoc_test_driver_alias.dts
@@ -9,7 +9,7 @@
/ {
gpio_a: gpios@0 {
- u-boot,dm-pre-reloc;
+ bootph-all;
gpio-controller;
compatible = "sandbox_gpio_alias";
#gpio-cells = <1>;
diff --git a/tools/dtoc/test/dtoc_test_inst.dts b/tools/dtoc/test/dtoc_test_inst.dts
index b8177fcef5..9689be391b 100644
--- a/tools/dtoc/test/dtoc_test_inst.dts
+++ b/tools/dtoc/test/dtoc_test_inst.dts
@@ -18,20 +18,20 @@
};
spl-test {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "sandbox,spl-test";
boolval;
intval = <1>;
};
i2c: i2c {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "sandbox,i2c";
intval = <3>;
};
spl-test3 {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "sandbox,spl-test";
stringarray = "one";
longbytearray = [09 0a 0b 0c 0d 0e 0f 10];
diff --git a/tools/dtoc/test/dtoc_test_invalid_driver.dts b/tools/dtoc/test/dtoc_test_invalid_driver.dts
index 914ac3e899..042a325913 100644
--- a/tools/dtoc/test/dtoc_test_invalid_driver.dts
+++ b/tools/dtoc/test/dtoc_test_invalid_driver.dts
@@ -9,7 +9,7 @@
/ {
spl-test {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "invalid";
};
};
diff --git a/tools/dtoc/test/dtoc_test_noparent.dts b/tools/dtoc/test/dtoc_test_noparent.dts
index e976dd2b8a..0efb17e0cb 100644
--- a/tools/dtoc/test/dtoc_test_noparent.dts
+++ b/tools/dtoc/test/dtoc_test_noparent.dts
@@ -12,18 +12,18 @@
#size-cells = <1>;
i2c@0 {
compatible = "sandbox,i2c";
- u-boot,dm-tpl;
+ bootph-pre-sram;
#address-cells = <1>;
#size-cells = <0>;
spl-test {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "sandbox,spl-test";
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
pmic@9 {
compatible = "sandbox,pmic";
- u-boot,dm-pre-reloc;
+ bootph-all;
reg = <9>;
low-power;
};
diff --git a/tools/dtoc/test/dtoc_test_noprops.dts b/tools/dtoc/test/dtoc_test_noprops.dts
index e6fdd11b83..75296beb31 100644
--- a/tools/dtoc/test/dtoc_test_noprops.dts
+++ b/tools/dtoc/test/dtoc_test_noprops.dts
@@ -13,7 +13,7 @@
i2c@0 {
pmic@9 {
compatible = "sandbox,pmic";
- u-boot,dm-pre-reloc;
+ bootph-all;
reg = <9>;
low-power;
};
diff --git a/tools/dtoc/test/dtoc_test_phandle.dts b/tools/dtoc/test/dtoc_test_phandle.dts
index d9aa433503..74a146b9a3 100644
--- a/tools/dtoc/test/dtoc_test_phandle.dts
+++ b/tools/dtoc/test/dtoc_test_phandle.dts
@@ -9,34 +9,34 @@
/ {
phandle: phandle-target {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "target";
intval = <0>;
#clock-cells = <0>;
};
phandle_1: phandle2-target {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "target";
intval = <1>;
#clock-cells = <1>;
};
phandle_2: phandle3-target {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "target";
intval = <2>;
#clock-cells = <2>;
};
phandle-source {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "source";
clocks = <&phandle &phandle_1 11 &phandle_2 12 13 &phandle>;
phandle-name-offset = <&phandle_2>, "fred", <123>;
};
phandle-source2 {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "source";
clocks = <&phandle>;
};
diff --git a/tools/dtoc/test/dtoc_test_phandle_bad.dts b/tools/dtoc/test/dtoc_test_phandle_bad.dts
index a3ddc59585..94cfada95b 100644
--- a/tools/dtoc/test/dtoc_test_phandle_bad.dts
+++ b/tools/dtoc/test/dtoc_test_phandle_bad.dts
@@ -9,7 +9,7 @@
/ {
phandle-source {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "source";
clocks = <20>; /* Invalid phandle */
};
diff --git a/tools/dtoc/test/dtoc_test_phandle_bad2.dts b/tools/dtoc/test/dtoc_test_phandle_bad2.dts
index fe25f565fb..4d24b96ce6 100644
--- a/tools/dtoc/test/dtoc_test_phandle_bad2.dts
+++ b/tools/dtoc/test/dtoc_test_phandle_bad2.dts
@@ -9,13 +9,13 @@
/ {
phandle: phandle-target {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "target";
intval = <0>;
};
phandle-source2 {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "source";
clocks = <&phandle>;
};
diff --git a/tools/dtoc/test/dtoc_test_phandle_cd_gpios.dts b/tools/dtoc/test/dtoc_test_phandle_cd_gpios.dts
index 241743e73e..6ad8006266 100644
--- a/tools/dtoc/test/dtoc_test_phandle_cd_gpios.dts
+++ b/tools/dtoc/test/dtoc_test_phandle_cd_gpios.dts
@@ -9,33 +9,33 @@
/ {
phandle: phandle-target {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "target";
intval = <0>;
#gpio-cells = <0>;
};
phandle_1: phandle2-target {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "target";
intval = <1>;
#gpio-cells = <1>;
};
phandle_2: phandle3-target {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "target";
intval = <2>;
#gpio-cells = <2>;
};
phandle-source {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "source";
cd-gpios = <&phandle &phandle_1 11 &phandle_2 12 13 &phandle>;
};
phandle-source2 {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "source";
cd-gpios = <&phandle>;
};
diff --git a/tools/dtoc/test/dtoc_test_phandle_reorder.dts b/tools/dtoc/test/dtoc_test_phandle_reorder.dts
index aa71d56f27..573a4f6396 100644
--- a/tools/dtoc/test/dtoc_test_phandle_reorder.dts
+++ b/tools/dtoc/test/dtoc_test_phandle_reorder.dts
@@ -10,13 +10,13 @@
/ {
phandle-source2 {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "source";
clocks = <&phandle>;
};
phandle: phandle-target {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "target";
#clock-cells = <0>;
};
diff --git a/tools/dtoc/test/dtoc_test_phandle_single.dts b/tools/dtoc/test/dtoc_test_phandle_single.dts
index aacd0b15fa..1b1763932c 100644
--- a/tools/dtoc/test/dtoc_test_phandle_single.dts
+++ b/tools/dtoc/test/dtoc_test_phandle_single.dts
@@ -9,14 +9,14 @@
/ {
phandle: phandle-target {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "target";
intval = <0>;
#clock-cells = <0>;
};
phandle-source2 {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "source";
clocks = <&phandle>;
};
diff --git a/tools/dtoc/test/dtoc_test_simple.dts b/tools/dtoc/test/dtoc_test_simple.dts
index aef07efeae..08f667ee5a 100644
--- a/tools/dtoc/test/dtoc_test_simple.dts
+++ b/tools/dtoc/test/dtoc_test_simple.dts
@@ -11,7 +11,7 @@
#address-cells = <1>;
#size-cells = <1>;
spl-test {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "sandbox,spl-test";
boolval;
maybe-empty-int = <>;
@@ -27,7 +27,7 @@
};
spl-test2 {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "sandbox,spl-test";
intval = <3>;
intarray = <5>;
@@ -40,7 +40,7 @@
};
spl-test3 {
- u-boot,dm-pre-reloc;
+ bootph-all;
compatible = "sandbox,spl-test";
stringarray = "one";
longbytearray = [09 0a 0b 0c 0d 0e 0f 10];
@@ -49,12 +49,12 @@
i2c@0 {
compatible = "sandbox,i2c";
- u-boot,dm-pre-reloc;
+ bootph-all;
#address-cells = <1>;
#size-cells = <0>;
pmic@9 {
compatible = "sandbox,pmic";
- u-boot,dm-pre-reloc;
+ bootph-all;
reg = <9>;
low-power;
};
diff --git a/tools/dtoc/test/dtoc_test_single_reg.dts b/tools/dtoc/test/dtoc_test_single_reg.dts
index 804b67855b..035937cfbf 100644
--- a/tools/dtoc/test/dtoc_test_single_reg.dts
+++ b/tools/dtoc/test/dtoc_test_single_reg.dts
@@ -13,12 +13,12 @@
i2c@0 {
compatible = "sandbox,i2c";
- u-boot,dm-pre-reloc;
+ bootph-all;
#address-cells = <1>;
#size-cells = <0>;
pmic@9 {
compatible = "sandbox,pmic";
- u-boot,dm-pre-reloc;
+ bootph-all;
reg = <9>;
low-power;
diff --git a/tools/dtoc/test_dtoc.py b/tools/dtoc/test_dtoc.py
index c62fcbac83..597c93e8a8 100755
--- a/tools/dtoc/test_dtoc.py
+++ b/tools/dtoc/test_dtoc.py
@@ -13,6 +13,7 @@ import collections
import copy
import glob
import os
+import pathlib
import struct
import unittest
@@ -25,10 +26,11 @@ from dtoc.dtb_platdata import get_value
from dtoc.dtb_platdata import tab_to
from dtoc.src_scan import conv_name_to_c
from dtoc.src_scan import get_compat_name
-from patman import test_util
-from patman import tools
+from u_boot_pylib import test_util
+from u_boot_pylib import tools
-OUR_PATH = os.path.dirname(os.path.realpath(__file__))
+DTOC_DIR = pathlib.Path(__file__).parent
+TEST_DATA_DIR = DTOC_DIR / 'test/'
HEADER = '''/*
@@ -91,7 +93,7 @@ def get_dtb_file(dts_fname, capture_stderr=False):
Returns:
str: Filename of compiled file in output directory
"""
- return fdt_util.EnsureCompiled(os.path.join(OUR_PATH, 'test', dts_fname),
+ return fdt_util.EnsureCompiled(str(TEST_DATA_DIR / dts_fname),
capture_stderr=capture_stderr)
diff --git a/tools/dtoc/test_fdt.py b/tools/dtoc/test_fdt.py
index 3b8ee00d4e..32fa69cbb0 100755
--- a/tools/dtoc/test_fdt.py
+++ b/tools/dtoc/test_fdt.py
@@ -30,8 +30,8 @@ from dtoc import fdt_util
from dtoc.fdt_util import fdt32_to_cpu, fdt64_to_cpu
from dtoc.fdt import Type, BytesToValue
import libfdt
-from patman import test_util
-from patman import tools
+from u_boot_pylib import test_util
+from u_boot_pylib import tools
#pylint: disable=protected-access
@@ -132,10 +132,10 @@ class TestFdt(unittest.TestCase):
"""Tests obtaining a list of properties"""
node = self.dtb.GetNode('/spl-test')
props = self.dtb.GetProps(node)
- self.assertEqual(['boolval', 'bytearray', 'byteval', 'compatible',
- 'int64val', 'intarray', 'intval', 'longbytearray',
- 'maybe-empty-int', 'notstring', 'stringarray',
- 'stringval', 'u-boot,dm-pre-reloc'],
+ self.assertEqual(['boolval', 'bootph-all', 'bytearray', 'byteval',
+ 'compatible', 'int64val', 'intarray', 'intval',
+ 'longbytearray', 'maybe-empty-int', 'notstring',
+ 'stringarray', 'stringval', ],
sorted(props.keys()))
def test_check_error(self):
@@ -814,7 +814,8 @@ def run_test_coverage(build_dir):
build_dir (str): Directory containing the build output
"""
test_util.run_test_coverage('tools/dtoc/test_fdt.py', None,
- ['tools/patman/*.py', '*test_fdt.py'], build_dir)
+ ['tools/patman/*.py', 'tools/u_boot_pylib/*', '*test_fdt.py'],
+ build_dir)
def run_tests(names, processes):
diff --git a/tools/dtoc/test_src_scan.py b/tools/dtoc/test_src_scan.py
index f93cd7f5a3..64b740841c 100644
--- a/tools/dtoc/test_src_scan.py
+++ b/tools/dtoc/test_src_scan.py
@@ -15,8 +15,8 @@ import unittest
from unittest import mock
from dtoc import src_scan
-from patman import test_util
-from patman import tools
+from u_boot_pylib import test_util
+from u_boot_pylib import tools
OUR_PATH = os.path.dirname(os.path.realpath(__file__))