mirror of
https://github.com/dgibson/dtc.git
synced 2026-04-11 16:37:42 -04:00
pylibfdt: Allow reading integer values from properties
Extend the Properties class with some functions to read a single integer property. Add a new getprop_obj() function to return a Property object instead of the raw data. This suggested approach can be extended to handle other types, as well as arrays. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
49d32ce40b
commit
3c374d46ac
4 changed files with 43 additions and 3 deletions
|
|
@ -102,6 +102,7 @@ class PyLibfdtTests(unittest.TestCase):
|
|||
def setUp(self):
|
||||
"""Read in the device tree we use for testing"""
|
||||
self.fdt = _ReadFdt('test_tree1.dtb')
|
||||
self.fdt2 = _ReadFdt('test_props.dtb')
|
||||
|
||||
def GetPropList(self, node_path):
|
||||
"""Read a list of properties from a node
|
||||
|
|
@ -368,6 +369,17 @@ class PyLibfdtTests(unittest.TestCase):
|
|||
node2 = self.fdt.path_offset('/subnode@2/subsubnode@0')
|
||||
self.assertEquals(node2, self.fdt.node_offset_by_phandle(0x2001))
|
||||
|
||||
def get_prop(self, name):
|
||||
return self.fdt2.getprop(0, name)
|
||||
|
||||
def testGetIntProperties(self):
|
||||
"""Test that we can access properties as integers"""
|
||||
self.assertEquals(0xdeadbeef, self.get_prop("prop-hex32").as_uint32())
|
||||
self.assertEquals(123, self.get_prop("prop-uint32").as_uint32())
|
||||
self.assertEquals(-2, self.get_prop("prop-int32").as_int32())
|
||||
self.assertEquals(9223372036854775807,
|
||||
self.get_prop("prop-uint64").as_uint64())
|
||||
self.assertEquals(-2, self.get_prop("prop-int64").as_int64())
|
||||
|
||||
def testReserveMap(self):
|
||||
"""Test that we can access the memory reserve map"""
|
||||
|
|
|
|||
|
|
@ -888,6 +888,7 @@ fdtoverlay_tests() {
|
|||
}
|
||||
|
||||
pylibfdt_tests () {
|
||||
run_dtc_test -I dts -O dtb -o test_props.dtb test_props.dts
|
||||
TMP=/tmp/tests.stderr.$$
|
||||
python pylibfdt_tests.py -v 2> $TMP
|
||||
|
||||
|
|
|
|||
11
tests/test_props.dts
Normal file
11
tests/test_props.dts
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
/dts-v1/;
|
||||
|
||||
/ {
|
||||
compatible = "test_props";
|
||||
prop-hex32 = <0xdeadbeef>;
|
||||
prop-uint32 = <123>;
|
||||
prop-int32 = <0xfffffffe>;
|
||||
prop-hex64 = /bits/ 64 <0xdeadbeef01abcdef>;
|
||||
prop-uint64 = /bits/ 64 <9223372036854775807>;
|
||||
prop-int64 = /bits/ 64 <0xfffffffffffffffe>;
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue