The device parameter specifies the object to map. It can be a device object, a port object of a device (for a DML device, it is usually a bank object having the object.bank.<bank_name> name), or another memory space. The device argument in the legacy form device:port can be used to map named ports. Providing function maps a legacy device-specific function in the device; function should never be specified for port objects or named ports.
For translator and bridge mappings, a target device should be given.
The mapping may specify an offset into the device's memory space, using the offset argument.
If several mappings overlap, the priority is used to select the mapping that will receive the memory accesses. The priority is an integer between -32768 and 32767; lower numbers have higher priority.
For objects that do not support large accesses, the align-size argument governs how accesses are split before the device is accessed. The default value is 4 bytes for port-space devices and 8 bytes for other devices, but it is not used for memories and memory-space objects (unless set explicitly).
A device mapping may swap the bytes of an access based on the swap argument, that should be one of none, bus, bus-trans and trans. For a description of these, see the documentation of the map attribute in the memory-space class.