Register tables

Individual registers are described using register tables. These tables are composed of two sections. The first three colored rows describe the position and size of the different fields in the register. The following rows describe the fields in more detail.

Fields and values

The ID row specifies the bits that belong to the different fields in the register. If a field has enumerated values, then every value will be identified with a unique value ID in the Value ID column.

A blank space means that the field is reserved and read as undefined. These fields must be written as 0 to secure forward compatibility. If a register is divided into more than one field, a unique field name is specified for each field in the Field column. The Value ID may be omitted in the single-bit bit fields when values can be substituted with a Boolean type enumerator range, such as true/false, disable(d)/enable(d), on/off, and so on.

Values are usually provided as decimal or hexadecimal. Hexadecimal values have a 0x prefix; decimal values have no prefix.

The Value column can be populated in the following ways:

  • Individual enumerated values, for example 1, 3, 9.
  • Range of values, for example [0..4], indicating all values from 0 to 4.
  • Implicit values. If no values are indicated in the Value column, all bit combinations are supported, or the field's translation and limitations are described in the text instead.

If two or more fields are closely related, the Value ID, Value, and Description may be omitted for all but the first field. Subsequent fields will indicate inheritance with '..'.

A feature marked Deprecated should not be used for new designs.

Permissions

Each register field can have different access permissions enforced by hardware. The access permission for each register field is documented in the Access column in the following ways:

Table 5. Register field permission schemes
AccessDescriptionHardware behavior
RRead onlyField can only be read. A write will be ignored.
WWrite onlyField can only be written. A read will return an undefined value.
RWRead/writeField can be read and written multiple times.
W1Write onceField can only be written once per reset. Any subsequent write will be ignored. A read will return an undefined value.
RW1Read/write onceField can be read multiple times, but only written once per reset. Any subsequent write will be ignored.
W0CWrite 0 to clearField can be read multiple times. A zero clears (set to zero) the corresponding bit in the register. Bits set to one are ignored.
W1CWrite 1 to clearField can be read multiple times. A one clears (set to zero) the corresponding bit in the register. Bits set to zero are ignored.
W1SWrite 1 to setField can be read multiple times. A one sets the corresponding bit in the register. Bits set to zero are ignored.
RMERead Modify ExternalWhen read, a side effect occurs.