1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
|
#-- $Id: sample.initfile,v 1.1 2011/07/13 16:03:44 andrewg Exp $
#-- CHANGE HISTORY:
#--------------------------------------------------------------------------------
#-- Version:|Author: | Date: | Comment:
#-- --------|--------|--------|--------------------------------------------------
#-- 0.01|andrewg |05/24/11|Created sample file
#-- --------|--------|--------|--------------------------------------------------
#--------------------------------------------------------------------------------
# End of revision history
#--------------------------------------------------------------------------------
#--Master list of variables that can be used in this file is at:
#--<Attribute Definition Location>
SyntaxVersion = 1
#-- -----------------------------------------------------------------------------
#--******************************************************************************
#-- -----------------------------------------------------------------------------
#--
#-- Defines
#--
#-- -----------------------------------------------------------------------------
#--******************************************************************************
#-- -----------------------------------------------------------------------------
define def_equal_test = (SYS.ATTR_SCRATCH_UINT32_1 == SYS.ATTR_SCRATCH_UINT32_2);
define def_not_equal_test = (SYS.ATTR_SCRATCH_UINT64_1 != SYS.ATTR_SCRATCH_UINT64_2);
#--******************************************************************************
#-- Basic SCOM
#--******************************************************************************
scom 0x0000000013010002 {
scom_data ;
0xAABBC00000000000 ;
}
#--******************************************************************************
#-- Basic SCOM with Expression and Attribute
#--******************************************************************************
scom 0x0000000013030007 {
scom_data, expr ;
0x00000CDE00000000, SYS.ATTR_SCRATCH_UINT8_1 == SYS.ATTR_SCRATCH_UINT8_2 ;
}
#--******************************************************************************
#-- Basic SCOM with Array In Middle
#--******************************************************************************
scom 0x000000000006002(B,C) {
scom_data ;
0x0000000000000183 ;
}
#--******************************************************************************
#-- Basic SCOM with define used
#--******************************************************************************
scom 0x000000000006800b {
scom_data, expr ;
0x0000000000000184, def_equal_test ;
}
#--******************************************************************************
#-- Basic SCOM with a single bit set
#--******************************************************************************
scom 0x000000000006800c {
bits , scom_data ;
23 , 0b1 ;
}
#--******************************************************************************
#-- Basic SCOM with bits
#--******************************************************************************
#@todo
#@VBU workaround - Disable sample addresses
#All SCR reg addresses below are only supported from chip release 052 and beyond.
#Release 051, which is used by current VBU model, contain different addresses for
#these registers.
#Disable them for now, needs to re-enable them when VBU upgrade to use chip release 052
#scom 0x0000000013013283 {
# bits , scom_data ;
# 0:11 , 0b001111001001 ;
# 12 , 0b1 ;
# 13 , 0b1 ;
# 14:59, 0b0000001100000110010000000000010000010010000000 ;
#}
#--******************************************************************************
#-- Complext SCOM with Bit Support, define, and attributes
#--******************************************************************************
#scom 0x0000000013013284 {
# bits , scom_data, expr ;
# 0:11 , 0b001111001001, any ;
# 12 , 0b1, def_equal_test ;
# 12 , 0b0, def_not_equal_test ;
# 13 , 0b1, SYS.ATTR_SCRATCH_UINT8_1 > SYS.ATTR_SCRATCH_UINT8_2 ;
# 14:59, 0b0000001100000110010000000000010000010010000000, SYS.ATTR_SCRATCH_UINT64_2 == ENUM_ATTR_SCRATCH_UINT64_2_VAL_C;
#}
#--******************************************************************************
#-- Complex SCOM with Bit Support, and logical operators
#--******************************************************************************
#scom 0x0000000013013285 {
# bits , scom_data, expr ;
# 12 , 0b1, def_equal_test && def_not_equal_test ;
# 12 , 0b0, def_equal_test || def_not_equal_test ;
# 14 , 0b1, SYS.ATTR_SCRATCH_UINT32_1 < SYS.ATTR_SCRATCH_UINT32_2 ;
# 15 , 0b1, SYS.ATTR_SCRATCH_UINT32_1 > SYS.ATTR_SCRATCH_UINT32_2 ;
# 16 , 0b1, SYS.ATTR_SCRATCH_UINT32_1 >= SYS.ATTR_SCRATCH_UINT32_2 ;
# 17 , 0b1, SYS.ATTR_SCRATCH_UINT32_1 <= SYS.ATTR_SCRATCH_UINT32_2 ;
# 18 , 0b1, SYS.ATTR_SCRATCH_UINT32_1 == SYS.ATTR_SCRATCH_UINT32_2 ;
# 19 , 0b1, SYS.ATTR_SCRATCH_UINT32_1 != SYS.ATTR_SCRATCH_UINT32_2 ;
# 20 , 0b1, (SYS.ATTR_SCRATCH_UINT32_1 + SYS.ATTR_SCRATCH_UINT32_2) == 4 ;
# 21:59, 0b000000110000011001000000000001000001001, SYS.ATTR_SCRATCH_UINT8_1 == SYS.ATTR_SCRATCH_UINT8_2 ;
#}
#--******************************************************************************
#-- SCOM with 'ec' column - Use scratch for now since all attributes work
#--******************************************************************************
#scom 0x0000000013013286 {
# scom_data, SYS.ATTR_SCRATCH_UINT32_1, SYS.ATTR_SCRATCH_UINT32_2 ;
# 0x0000000000000192, 1, ENUM_ATTR_SCRATCH_UINT64_ARRAY_2_VAL_B ;
#}
#--******************************************************************************
#-- Basic SCOM with an array
#--******************************************************************************
#scom 0x0000000013013287 {
# scom_data, expr ;
# 0x0000000000000182, SYS.ATTR_SCRATCH_UINT8_ARRAY_1[2] == SYS.ATTR_SCRATCH_UINT8_1 ;
#}
#--******************************************************************************
#-- SCOM with 'ec' & expr column - Use scratch for now since all attributes work
#--******************************************************************************
#scom 0x0000000013013288 {
# scom_data, SYS.ATTR_SCRATCH_UINT32_1 expr;
# 0x0000000000000192, 3, SYS.ATTR_SCRATCH_UINT8_ARRAY_2[1][2][3] == 0x00000000000000BE;
#}
#--******************************************************************************
#-- Complex SCOM with Bit Support, logical operators and 'ec' column
#--******************************************************************************
#scom 0x0000000013013289 {
# bits , scom_data SYS.ATTR_SCRATCH_UINT32_1 expr;
# 23 , 0b1, any, SYS.ATTR_SCRATCH_UINT8_ARRAY_1[2] == SYS.ATTR_SCRATCH_UINT8_1;
# 23 , 0b0, 1, any;
#}
#--******************************************************************************
#-- Basic SCOM with Multiple Arrays/Address Ranges
#-- Note: These are not valid SCOM addresses. Just included here as an example of
#-- the supported syntax. Uncomment only for debugging code.
#--******************************************************************************
#scom 0x0000006(1E..20,3c)4(A,1)(D..F)56(7,8,9,0)1 {
# scom_data ;
# 0x0000000000000193 ;
#}
|