CBASS ISC Registers are located in
CBASS ISC Registers and MCU_CBASS ISC Registers.
Each ISC block contains a set of MMRs
for each region/channel: Control MMR, start address, and end address. If an ISC
block is configured to have x region/channels, this ISC block contains x+1 sets of
MMRs.
Each ISC can be configured in one of
two modes: region mode and channel mode.
When the region mode is configured,
the start and end address MMRs shall be programmed with an SoC address range.
When ISC is configured as channel
mode, the start and end address MMRs shall be programmed using channel number.
Each region and channel can be
configured to determine whether to overwrite or add values for priv, privID, and
secure attributes. A default value for the control MMR, located at offset x*0x20, is
used so that transactions do not map to a valid region.
The following is the SW sequence to modify the default ISC setting for region/channel
b:
- If channel mode is needed, set
ch_mode field to 0x1. Program the start and end address MMRs to be the channel
ID
- If region mode is needed, set
ch_mode field to be 0x0. Program the start and the end address MMRs to match the
address range.
- Set enable field to be 0xA
- If lock field is set to 0x1, then this control MMR can’t be changed until it is
reset to 0x0
- PrivID: if the transaction
carries privID attribute, ISC can either direct use the privID attribute from
the transaction by setting the pass field to 0x0, or overwrite it using the new
value define in this control register by setting the pass field to be 0x1. If
the transaction does not have privID attribute, the ISC will add the privID to
this transaction, regardless of the value in the pass field.
- Secure attribute: the transaction
can either be forced to be non-secure mode by setting nonsec field to be 0x1, or
force the transaction to be secure by setting sec field to be 0xA, or just pass
through the secure attribute if the original transaction carries secure
attribute. For an initiator which does not provide secure attributes, it is
default set to non-secure.
- Priv attribute: by default priv
attribute is not set. ISC can be used to overwrite priv attribute either to be
user mode by setting nopri field to 0xF, or supervisor mode by setting priv
field to be 0xF