|Home > Iris APIs > Resources API > Registers with fields|
Iris enables parts of registers to be exposed as child registers. Parent and child registers are linked by the
A register either has no parent, in which case it is called a top-level register, and its
parentRscId is missing, or it has one parent register, in which case it is a child of that parent. Child registers can have their own child registers, although instances should not expose a register hierarchy that is more than one or two levels deep. Clients should display child registers below their parents, in the order they appear in the
ResourceInfo array returned by
When reading or writing child registers, it is the responsibility of the instance to access the data in the correct location. The
ResourceInfo might contain enough information to locate the child resource inside the parent, but clients can ignore this information and just present it as part of the description of a resource.
It is possible to represent parts of a parent register as a logical child register. Logical child registers have no
lsbOffset, indicating that they are distributed across multiple, non-consecutive bit ranges inside their parent register. Logical child registers might also represent any other information that is related to their parent register. They can be a different type to their parent register and can be used to create a structure of registers underneath the register group level.
Clients can usually ignore the difference between logical child registers and non-logical child registers, but instance implementations might find it useful to expose this information.