Lines Matching refs:regmap
234 old_register_mappings.sort(key=lambda regmap: regmap.map.at)
237 for regmap in old_register_mappings:
238 addr = (regmap.map.to, regmap.map.at)
239 chips = set(getattr(regmap, 'chips', ['undef']))
240 type_ref = getattr(regmap, 'type_ref', None)
246 if other.name != regmap.name:
273 other.name, regmap.name))
275 addrmappings.append(regmap)
276 self.__register_mappings.append(regmap)
287 for regmap in self.__register_mappings:
288 if hasattr(regmap, 'type_ref') and regmap.type_ref not in self.__register_types:
289 regtype = old_register_types[regmap.type_ref]
290 self.__register_types[regmap.type_ref] = regtype
302 def __validate_register_mapping(self, regmap): argument
303 if hasattr(regmap, 'type_ref') and regmap.type_ref not in self.__register_types:
306 regmap.name, regmap.type_ref))
311 for regmap in self.__register_mappings:
312 self.__validate_register_mapping(regmap)
433 for regmap in self.__register_mappings:
434 if getattr(regmap, 'type_ref', None) in names:
435 regmap.type_ref = newname
439 def add_register_mapping(self, regmap): argument
441 self.__register_mappings.append(regmap)
442 self.__validate_register_mapping(regmap)
451 for regmap in regmaps:
452 if regmap not in regmaps_to_remove:
453 self.__register_mappings.append(regmap)
534 for regmap in self.__register_mappings:
535 yield regmap
557 for idx, regmap in itertools.islice(enumerate(self.__register_mappings), 1, None):
558 if not hasattr(regmap, 'type_ref'):
560 if chips.isdisjoint(regmap.chips):
564 if regmap.name != other.name:
568 if regmap.map.to != other.map.to or regmap.map.at != other.map.at:
570 … 'Attempting to merge chips with incompatible addresses of {0}'.format(regmap.name))
571 if not hasattr(regmap, 'type_ref'):
574 if regmap.type_ref != other.type_ref:
575 regtypes_merge.add(regmap.type_ref)
577 regtypes_merge.union(regmap.type_ref, other.type_ref)
660 for regmap in register_mappings:
661 if regmap_accum and regmap.name != regmap_accum.name:
666 joining_chips = chips.intersection(regmap.chips)
668 self.__register_mappings.append(regmap)
670 remaining_chips = set(regmap.chips).difference(chips)
672 type_ref = getattr(regmap, 'type_ref', None)
674 regmap.chips = sorted(remaining_chips.union([newchip]))
675 self.__register_mappings.append(regmap)
680 regmap.chips = sorted(remaining_chips)
681 self.__register_mappings.append(regmap)
683 regmap = Object.from_json(Object.to_json(regmap))
685 regmap.type_ref = type_ref
688 regmap_accum = regmap
710 for regmap in other.__register_mappings:
711 regmap = Object.from_json(Object.to_json(regmap))
713 type_ref = getattr(regmap, 'type_ref', None)
717 chips = getattr(regmap, 'chips', [])
745 regmap.type_ref = regtype_remap[type_ref]
747 self.add_register_mapping(regmap)
784 for regmap in obj['register_mappings']:
785 regmap['map'] = placeholder(regmap['map'])
786 if 'chips' in regmap:
787 regmap['chips'] = placeholder(regmap['chips'])
825 regmap = Object(
830 regmap.type_ref = type_ref
831 db.add_register_mapping(regmap)