Add NSCFG bit definition for CD structure. This allows proper
configuration of non-secure access settings in CD.

Signed-off-by: Tao Tang <[email protected]>
---
 include/hw/arm/smmuv3-common.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/include/hw/arm/smmuv3-common.h b/include/hw/arm/smmuv3-common.h
index b6da2fd62c..7f7dd02221 100644
--- a/include/hw/arm/smmuv3-common.h
+++ b/include/hw/arm/smmuv3-common.h
@@ -123,11 +123,13 @@ REG32(CD_1, 4)
     FIELD(CD_1, A, 14, 1)
     FIELD(CD_1, ASID, 16, 16)
 REG32(CD_2, 8)
+    FIELD(CD_2, NSCFG0, 0, 1)
     FIELD(CD_2, HAD0, 1, 1)
     FIELD(CD_2, TTB0_LO, 4, 28)
 REG32(CD_3, 12)
     FIELD(CD_3, TTB0_HI, 0, 19)
 REG32(CD_4, 16)
+    FIELD(CD_4, NSCFG1, 0, 1)
     FIELD(CD_4, HAD1, 1, 1)
     FIELD(CD_4, TTB1_LO, 4, 28)
 REG32(CD_5, 20)
@@ -155,6 +157,9 @@ REG32(CD_5, 20)
 #define CD_R(x)          FIELD_EX32((x)->word[1], CD_1, R)
 #define CD_A(x)          FIELD_EX32((x)->word[1], CD_1, A)
 #define CD_ASID(x)       FIELD_EX32((x)->word[1], CD_1, ASID)
+#define CD_NSCFG(x, sel) ((sel) ?                                         \
+    FIELD_EX32((x)->word[4], CD_4, NSCFG1) :                              \
+    FIELD_EX32((x)->word[2], CD_2, NSCFG0))
 #define CD_HAD(x, sel)   ((sel) ?                                         \
     FIELD_EX32((x)->word[4], CD_4, HAD1) :                                \
     FIELD_EX32((x)->word[2], CD_2, HAD0))
-- 
2.34.1


Reply via email to