![]() |
![]() |
Specification of the Rx Address Selector Control Register. More...
#include <hyplnk.h>
Data Fields | |
uint32_t | raw |
[ro] Raw image of register on read; actual value on write | |
uint8_t | rxSecHi |
Value of secure signal when bit referenced by rxSecSel is 1. | |
uint8_t | rxSecLo |
Value of secure signal when bit referenced by rxSecSel is 0. | |
uint8_t | rxSecSel |
Select RX address bit used as Secure bit. | |
uint8_t | rxPrivIDSel |
[rw] The RX address bits to use as PrivID lookup | |
uint8_t | rxSegSel |
[rw] Segment and Offset Selector |
Specification of the Rx Address Selector Control Register.
The Rx Address Selector Control Register is used to configure which Rx Address bits select the Secure, PrivID and Segment/Length value arrays. This register also holds the secure value when the secure selection is one or zero.
[rw] The RX address bits to use as PrivID lookup
Field size: 4 bits
The PrivID index is extracted from the specified incoming address bits. The index is then looked up in the table defined through hyplnkRXPrivIDIdxReg_s and hyplnkRXPrivIDValReg_s
This is the inverse of hyplnkTXAddrOvlyReg_s::txPrivIDOvl
rxPrivIDSel | PrivID index |
---|---|
0 | 0 |
1 | RxAddress[20-17] |
2 | RxAddress[21-18] |
3 | RxAddress[22-19] |
4 | RxAddress[23-20] |
5 | RxAddress[24-21] |
6 | RxAddress[25-22] |
7 | RxAddress[26-23] |
8 | RxAddress[27-24] |
9 | RxAddress[28-25] |
10 | RxAddress[29-26] |
11 | RxAddress[30-27] |
12 | RxAddress[31-28] |
13 | RxAddress[31-29] |
14 | RxAddress[31-30] |
15 | RxAddress[31] |
uint8_t hyplnkRXAddrSelReg_s::rxSecHi |
Value of secure signal when bit referenced by rxSecSel is 1.
Field size: 1 bit
uint8_t hyplnkRXAddrSelReg_s::rxSecLo |
Value of secure signal when bit referenced by rxSecSel is 0.
Field size: 1 bit
uint8_t hyplnkRXAddrSelReg_s::rxSecSel |
Select RX address bit used as Secure bit.
Field size: 4 bits
This is the inverse of hyplnkTXAddrOvlyReg_s::txSecOvl
The secure signal is determined by selecting the bit specified by rxSecSel from the incoming address, then deciding the signal value by apply rxSecHi when that address bit is 1, or rxSecLo when that address bit is 0.
rxSecSel | Secure bit position in incoming addr |
---|---|
0 | 16 |
1 | 17 |
2 | 18 |
3 | 19 |
4 | 20 |
5 | 21 |
6 | 22 |
7 | 23 |
8 | 24 |
9 | 25 |
10 | 26 |
11 | 27 |
12 | 28 |
13 | 29 |
14 | 30 |
15 | 31 |
uint8_t hyplnkRXAddrSelReg_s::rxSegSel |
[rw] Segment and Offset Selector
Field size: 4 bits
The segment number and offset are extracted from the incoming address as specified in the following table.
The segment number is then looked up in hyplnkRXSegValReg_s
This is the inverse of hyplnkTXAddrOvlyReg_s::txIgnMask
rxSegSel | Segment index | Offset mask |
---|---|---|
0 | 0 | 0xFFFFFFFF |
1 | RxAddress[22-17] | 0x0001FFFF |
2 | RxAddress[23-18] | 0x0003FFFF |
3 | RxAddress[24-19] | 0x0007FFFF |
4 | RxAddress[25-20] | 0x000FFFFF |
5 | RxAddress[26-21] | 0x001FFFFF |
6 | RxAddress[27-22] | 0x003FFFFF |
7 | RxAddress[28-23] | 0x007FFFFF |
8 | RxAddress[29-24] | 0x00FFFFFF |
9 | RxAddress[30-25] | 0x01FFFFFF |
10 | RxAddress[31-26] | 0x03FFFFFF |
11 | RxAddress[31-17] | 0x07FFFFFF |
12 | RxAddress[31-28] | 0x0FFFFFFF |
13 | RxAddress[31-29] | 0x1FFFFFFF |
14 | RxAddress[31-30] | 0x3FFFFFFF |
15 | RxAddress[31] | 0x7FFFFFFF |