B.1
S1 Secure and Non-secure privilege registers hardware bug
The Musca
‑
S1 test chip contains hardware bugs in register APBSPPPCEXP1 in the Secure Privilege
control block, and in register APBNSPPPCEXP1 in the Non
‑
secure Privilege control block. There is a
software workaround for these bugs.
Description of hardware bug
The hardware bugs exist in the following APB Expansion 1 registers which enable or disable
Unprivileged access:
• APBSPPPCEXP1, Secure Privilege control block, offset
0xC4
:
— When Secure access is selected for a peripheral, that is, APBNSPPCEXP1[n]=
0b0
.
• APBNSPPPCEXP1, Non
‑
secure Privilege control block, offset
0xC4
:
— When Non
‑
secure access is selected for a peripheral, that is, APBNSPPCEXP1[n]=
0b1
.
The bugs prevent these registers from enabling Unprivileged access for the selected peripherals.
Note
Register APBNSPPCEXP1, Secure Privilege block, offset
0x84
, operates correctly.
Software workaround
The software workaround involves writing to bit[0] of the following Expansion 0 AHB registers:
• AHBNSPPCEXP0: Secure Privilege block, offset
0x60
.
• AHBSPPPCEXP0: Secure Privilege block, offset
0xA0
.
• AHBNSPPPCEXP0: Non
‑
secure Privilege block, offset
0xA0
.
Secure access
When Secure access is selected, that is APBNSPPCEXP1[n]=
0b0
, for a peripheral, the
following table describes:
• The intended Privileged and Unprivileged access settings for the settings in register
APBSPPPCEXP1.
• The effects of the hardware bug in register APBSPPPCEXP1.
• The software workaround.
Table B-1 Hardware bug in register APBSPPPCEXP1 (Secure Privilege control block)
APBNSPPCEXP1
Secure privilege
control block,
offset
0x84
Security
setting
APBSPPPCEXP1[n]
Secure privilege
block, offset
0xC4
Intended
Privileged and
Unprivileged
access settings
for selected
peripheral
Effect of the
hardware bug
Software workaround
Bit[n]=
0b0
Secure
access
Bit[n]=
0b0
Privileged access
only.
Correct
operation.
-
Bit[n]=
0b1
Unprivileged and
Privileged access
for selected
peripheral.
Incorrect
operation.
Cannot select
Unprivileged
access.
Write to the following
registers:
AHBNSPPCEXP0[0]=
0b0
.
AHBSPPPCEXP0[0]=
0b1
B Hardware bug software workaround
B.1 S1 Secure and Non-secure privilege registers hardware bug
101835_0000_01_en
Copyright © 2019, 2020 Arm Limited or its affiliates. All rights
reserved.
Appx-B-184
Non-Confidential