-# Copyright (c) 2016 ARM Limited
+# Copyright (c) 2016,2019 ARM Limited
# All rights reserved.
#
# The license below extends only to copyright in the software and shall
phandle_counter = 0
phandles = dict()
- def __init__(self, addr_cells, size_cells, cpu_cells):
+ def __init__(self, **kwargs):
"""Instantiate values of this state. The state can only be initialized
once."""
- self.addr_cells = addr_cells
- self.size_cells = size_cells
- self.cpu_cells = cpu_cells
+ self.addr_cells = kwargs.pop('addr_cells', 0)
+ self.size_cells = kwargs.pop('size_cells', 0)
+ self.cpu_cells = kwargs.pop('cpu_cells', 0)
+ self.interrupt_cells = kwargs.pop('interrupt_cells', 0)
def phandle(self, obj):
"""Return a unique phandle number for a key. The key can be a SimObject
state."""
return self.int_to_cells(size, self.size_cells)
+ def interruptCells(self, interrupt):
+ """Format an integer type according to the interrupt_cells value
+ of this state."""
+ return self.int_to_cells(interrupt, self.interrupt_cells)
+
def addrCellsProperty(self):
"""Return an #address-cells property with the value of this state."""
return FdtPropertyWords("#address-cells", self.addr_cells)
of this state."""
return FdtPropertyWords("#address-cells", self.cpu_cells)
+ def interruptCellsProperty(self):
+ """Return an #interrupt-cells property for cpu nodes with the value
+ of this state."""
+ return FdtPropertyWords("#interrupt-cells", self.interrupt_cells)
+
+
class FdtNop(pyfdt.FdtNop):
"""Create an empty node."""
pass