Lines Matching +full:dts +full:- +full:node
2 # SPDX-License-Identifier: GPL-2.0+
27 def _GetPropertyValue(dtb, node, prop_name):
28 """Low-level function to get the property value based on its offset
35 node: Node to look in
43 prop = node.props[prop_name]
66 self.dtb = fdt.FdtScan('tools/dtoc/dtoc_test_simple.dts')
72 self.assertTrue(isinstance(root, fdt.Node))
76 node = self.dtb.GetNode('/spl-test')
77 self.assertTrue(isinstance(node, fdt.Node))
78 node = self.dtb.GetNode('/i2c@0/pmic@9')
79 self.assertTrue(isinstance(node, fdt.Node))
80 self.assertEqual('pmic@9', node.name)
100 """Tetst that we can access the raw device-tree data"""
105 node = self.dtb.GetNode('/spl-test')
106 props = self.dtb.GetProps(node)
109 'stringarray', 'stringval', 'u-boot,dm-pre-reloc'],
115 fdt.CheckErr(-libfdt.NOTFOUND, 'hello')
119 node = self.dtb.GetNode('/spl-test')
120 self.assertEqual(self.dtb, node.GetFdt())
123 """Test operation of the Node class"""
134 self.dtb = fdt.FdtScan('tools/dtoc/dtoc_test_simple.dts')
135 self.node = self.dtb.GetNode('/spl-test')
138 """Tests that we can obtain the offset of a node"""
139 self.assertTrue(self.node.Offset() > 0)
143 node2 = self.dtb.GetNode('/spl-test2')
145 self.node.DeleteProp('intval')
148 self.node.DeleteProp('intarray')
152 self.node.DeleteProp('missing')
156 self.node.DeleteProp('intval')
157 prop, value = _GetPropertyValue(self.dtb, self.node, 'longbytearray')
161 """Tests that we can find a node using the FindNode() functoin"""
162 node = self.dtb.GetRoot().FindNode('i2c@0')
163 self.assertEqual('i2c@0', node.name)
164 subnode = node.FindNode('pmic@9')
166 self.assertEqual(None, node.FindNode('missing'))
169 """Test refreshing offsets when an extra node is present in dtb"""
171 del self.dtb._root.subnodes[-1]
177 """Test refreshing offsets when an expected node is missing"""
179 self.dtb.GetFdtObj().del_node(self.node.Offset())
182 self.assertIn('Internal error, node name mismatch '
183 'spl-test != spl-test2', str(e.exception))
188 del self.node.props['notstring']
196 dtb = fdt.FdtScan('tools/dtoc/dtoc_test_phandle.dts')
197 node = dtb.GetNode('/phandle-source2')
198 prop = node.props['clocks']
199 target = dtb.GetNode('/phandle-target')
215 self.dtb = fdt.FdtScan('tools/dtoc/dtoc_test_simple.dts')
216 self.node = self.dtb.GetNode('/spl-test')
223 dtb = fdt.FdtScan('tools/dtoc/dtoc_test_phandle.dts')
224 node = dtb.GetNode('/phandle-source2')
225 prop = node.props['clocks']
229 """Helper function to look up a property in self.node and return it
236 p = self.fdt.getprop(self.node.Offset(), prop_name)
237 return fdt.Prop(self.node, -1, prop_name, p)
269 self.assertEqual(['multi-word', 'message'], prop.value)
285 prop, value = _GetPropertyValue(self.dtb, self.node, 'longbytearray')
290 node2 = self.dtb.GetNode('/spl-test2')
291 prop = self.node.props['intval']
300 prop2 = self.node.props['intarray']
305 # A 4-byte array looks like a single integer. When widened by a longer
307 prop = self.node.props['longbytearray']
316 prop = self.node.props['stringval']
325 prop = self.node.props['stringarray']
337 self.node.AddZeroProp('one')
338 self.node.AddZeroProp('two')
339 self.node.AddZeroProp('three')
342 # Updating existing properties should be OK, since the device-tree size
345 self.node.SetInt('one', 1)
346 self.node.SetInt('two', 2)
347 self.node.SetInt('three', 3)
350 # This should fail since it would need to increase the device-tree size
351 self.node.AddZeroProp('four')
359 self.node.AddSubnode('subnode')
365 offset = self.fdt.path_offset('/spl-test/subnode')
370 self.node.AddZeroProp('one')
372 data = self.fdt.getprop(self.node.Offset(), 'one')
375 self.node.SetInt('one', 1)
377 data = self.fdt.getprop(self.node.Offset(), 'one')
381 self.node.AddString('string', val)
383 data = self.fdt.getprop(self.node.Offset(), 'string')
387 self.node.SetString('string', val + 'x')
391 self.node.SetString('string', val[:-1])
393 prop = self.node.props['string']
396 data = self.fdt.getprop(self.node.Offset(), 'string')
399 self.node.AddEmptyProp('empty', 5)
401 prop = self.node.props['empty']
404 data = self.fdt.getprop(self.node.Offset(), 'empty')
407 self.node.SetData('empty', '123')
414 self.node.AddEmptyProp('empty', 5)
435 self.dtb = fdt.FdtScan('tools/dtoc/dtoc_test_simple.dts')
436 self.node = self.dtb.GetNode('/spl-test')
439 self.assertEqual(1, fdt_util.GetInt(self.node, 'intval'))
440 self.assertEqual(3, fdt_util.GetInt(self.node, 'missing', 3))
443 self.assertEqual(3, fdt_util.GetInt(self.node, 'intarray'))
448 self.assertEqual('message', fdt_util.GetString(self.node, 'stringval'))
449 self.assertEqual('test', fdt_util.GetString(self.node, 'missing',
453 self.assertEqual(3, fdt_util.GetString(self.node, 'stringarray'))
458 self.assertEqual(True, fdt_util.GetBool(self.node, 'boolval'))
459 self.assertEqual(False, fdt_util.GetBool(self.node, 'missing'))
460 self.assertEqual(True, fdt_util.GetBool(self.node, 'missing', True))
461 self.assertEqual(False, fdt_util.GetBool(self.node, 'missing', False))
464 self.assertEqual(5, fdt_util.GetByte(self.node, 'byteval'))
465 self.assertEqual(3, fdt_util.GetByte(self.node, 'missing', 3))
468 fdt_util.GetByte(self.node, 'longbytearray')
473 fdt_util.GetByte(self.node, 'intval')
478 dtb = fdt.FdtScan('tools/dtoc/dtoc_test_phandle.dts')
479 node = dtb.GetNode('/phandle-source2')
480 self.assertEqual([1], fdt_util.GetPhandleList(node, 'clocks'))
481 node = dtb.GetNode('/phandle-source')
483 fdt_util.GetPhandleList(node, 'clocks'))
484 self.assertEqual(None, fdt_util.GetPhandleList(node, 'missing'))
487 self.assertEqual(1, fdt_util.GetDatatype(self.node, 'intval', int))
488 self.assertEqual('message', fdt_util.GetDatatype(self.node, 'stringval',
491 self.assertEqual(3, fdt_util.GetDatatype(self.node, 'boolval',
494 val = self.node.props['intarray'].value
498 dtb2 = fdt.FdtScan('tools/dtoc/dtoc_test_addr64.dts')
505 dtb = fdt_util.EnsureCompiled('tools/dtoc/dtoc_test_simple.dts')
523 name to execute (as in 'fdt -t testFdt', for example)
548 parser.add_option('-B', '--build-dir', type='string', default='b',
550 parser.add_option('-P', '--processes', type=int,
552 parser.add_option('-t', '--test', action='store_true', dest='test',
554 parser.add_option('-T', '--test-coverage', action='store_true',