← Home

PMIIDR: Performance Monitors Implementation Identification Register

Purpose

Provides discovery information about the Performance Monitor component.

Configuration

This register is present only when (FEAT_PMUv3_EXT32 is implemented and an implementation implements PMIIDR) or FEAT_PMUv3_EXT64 is implemented. Otherwise, direct accesses to PMIIDR are RES0.

Attributes

PMIIDR is a:

This register is part of the PMU block.

Field descriptions

When FEAT_PMUv3_EXT64 is implemented:

6362616059585756555453525150494847464544434241403938373635343332
313029282726252423222120191817161514131211109876543210
RES0
ProductIDVariantRevisionImplementer[10:7]RES0Implementer[6:0]

Bits [63:32]

Reserved, RES0.

ProductID, bits [31:20]

Part number, bits [11:0]. The part number is selected by the designer of the component.

Matches the PMU.PMPIDR1.PART_1, PMU.PMPIDR0.PART_0 fields if present.

This field has an IMPLEMENTATION DEFINED value.

Access to this field is RO.

Variant, bits [19:16]

Component major revision.

Defines either a variant of the component defined by PMIIDR.ProductID, or the major revision of the component.

When defining a major revision, PMIIDR.Variant and PMIIDR.Revision together form the revision number of the component, with this field being the most significant part.

When a component is changed, PMIIDR.Variant or PMIIDR.Revision is increased to ensure that software can differentiate between different revisions of the component. If this field is increased, PMIIDR.Revision should be set to 0b0000.

Matches the PMU.PMPIDR2.REVISION field, if present.

This field has an IMPLEMENTATION DEFINED value.

Access to this field is RO.

Revision, bits [15:12]

Component minor revision.

PMIIDR.Variant and PMIIDR.Revision together form the revision number of the component, with this field being the least significant part.

When a component is changed, PMIIDR.Variant or PMIIDR.Revision is increased to ensure that software can differentiate between different revisions of the component. If PMIIDR.Variant field is increased, this field should be set to 0b0000, otherwise the value in this field should be increased.

Matches the PMU.PMPIDR3.REVAND field, if present.

This field has an IMPLEMENTATION DEFINED value.

Access to this field is RO.

Implementer, bits [11:8, 6:0]

JEDEC-assigned JEP106 identifcation code of the designer of the component.

Bits [11:8] are the JEP106 bank identifier minus 1 and bits [6:0] are the JEP106 identification code for the designer of the component.

Note

For Arm Limited, the JEP106 bank is 5 and the JEP106 identification code is 0x3B, meaning PMIIDR[11:0] has the value 0x43B.

Bits [11:8] match the PMU.PMPIDR4.DES_2 field, if present.

Bits[6:0] match the {PMPIDR2.DES1, PMPIDR1.DES_0} fields if present.

This field has an IMPLEMENTATION DEFINED value.

The Implementer field is split as follows:

Access to this field is RO.

Bit [7]

Reserved, RES0.

Otherwise:

313029282726252423222120191817161514131211109876543210
ProductIDVariantRevisionImplementer[10:7]RES0Implementer[6:0]

ProductID, bits [31:20]

Part number, bits [11:0]. The part number is selected by the designer of the component.

Matches the PMU.PMPIDR1.PART_1, PMU.PMPIDR0.PART_0 fields if present.

This field has an IMPLEMENTATION DEFINED value.

Access to this field is RO.

Variant, bits [19:16]

Component major revision.

Defines either a variant of the component defined by PMIIDR.ProductID, or the major revision of the component.

When defining a major revision, PMIIDR.Variant and PMIIDR.Revision together form the revision number of the component, with this field being the most significant part.

When a component is changed, PMIIDR.Variant or PMIIDR.Revision is increased to ensure that software can differentiate between different revisions of the component. If this field is increased, PMIIDR.Revision should be set to 0b0000.

Matches the PMU.PMPIDR2.REVISION field, if present.

This field has an IMPLEMENTATION DEFINED value.

Access to this field is RO.

Revision, bits [15:12]

Component minor revision.

PMIIDR.Variant and PMIIDR.Revision together form the revision number of the component, with this field being the least significant part.

When a component is changed, PMIIDR.Variant or PMIIDR.Revision is increased to ensure that software can differentiate between different revisions of the component. If PMIIDR.Variant field is increased, this field should be set to 0b0000, otherwise the value in this field should be increased.

Matches the PMU.PMPIDR3.REVAND field, if present.

This field has an IMPLEMENTATION DEFINED value.

Access to this field is RO.

Implementer, bits [11:8, 6:0]

JEDEC-assigned JEP106 identifcation code of the designer of the component.

Bits [11:8] are the JEP106 bank identifier minus 1 and bits [6:0] are the JEP106 identification code for the designer of the component.

Note

For Arm Limited, the JEP106 bank is 5 and the JEP106 identification code is 0x3B, meaning PMIIDR[11:0] has the value 0x43B.

Bits [11:8] match the PMU.PMPIDR4.DES_2 field, if present.

Bits[6:0] match the {PMPIDR2.DES1, PMPIDR1.DES_0} fields if present.

This field has an IMPLEMENTATION DEFINED value.

The Implementer field is split as follows:

Access to this field is RO.

Bit [7]

Reserved, RES0.

Accessing PMIIDR

Accesses to this register use the following encodings:

When FEAT_PMUv3_EXT64 is implemented

Accessible at offset 0xE08 from PMU