1# Sensor id is the key
20x60:
3  sensorType: 0x07
4  sensorReadingType: 0x6F
5  # A "set" operation on this sensor should update this d-bus path.
6  # If the path is not specified, an MRW parser will try to determine the path
7  # based on the sensor id, on MRW based systems.  This typically happens for
8  # inventory items.
9  path: /org/open_power/control/occ0
10  # The interface that exposes method(s) to update the path above.
11  serviceInterface: org.freedesktop.DBus.Properties
12  # Where the sensor value is represented - assertion bits/reading/event data
13  readingType: assertion
14  # indicate if a sensor is READ/WRITE/RW.
15  # This particular sensor read and write operation is allowed
16  mutability: Mutability::Write|Mutability::Read
17  # Sensor name would be occ0
18  sensorNamePattern: nameLeaf
19  eventType: 0x6F
20  # All the d-bus interfaces : properties that must be updated for this path
21  interfaces:
22    # One or more interface dict entries
23    org.open_power.OCC.Status:
24      OccActive:
25        Offsets:
26          # Sensor type specific offset
27          0x06:
28            # OccActive is a boolean
29            type: "bool"
30            # If offset 0x06 is asserted, set OccActive as false.
31            assert: "false"
32            deassert: "true"
33
340x61:
35  sensorType: 0x04
36  sensorReadingType: 0x6F
37  # Inventory paths intentionally leave out the inventory root,
38  # /xyz/openbmc_project/inventory, because phosphor-inventory-manager
39  # adds that.
40  path: /system/chassis/motherboard/dimm1
41  serviceInterface: xyz.openbmc_project.Inventory.Manager
42  readingType: assertion
43  mutability: Mutability::Write|Mutability::Read
44  sensorNamePattern: nameLeaf
45  interfaces:
46    xyz.openbmc_project.State.Decorator.OperationalStatus:
47      Functional:
48        #Offsets contain the offsets in the sensor data.
49        Offsets:
50          0x06:
51            assert: true
52            deassert: false
53            type: bool
54        #Prereqs are pre-requisites for this property value to be true.
55        Prereqs:
56          0x04:
57            assert: false
58            deassert: true
59            type: bool
60    xyz.openbmc_project.Inventory.Item:
61      Present:
62        Offsets:
63          0x04:
64            assert: false
65            deassert: true
66            type: bool
67
680x63:
69  interfaces:
70    xyz.openbmc_project.Control.Boot.RebootAttempts:
71      AttemptsLeft:
72        Offsets:
73          0xFF:
74            type: uint32_t
75  path: /xyz/openbmc_project/state/host0
76  # A special case of assertion, where the entire assert bitfield
77  # serves as the value, or reading. Hence, the offset above is intentionally
78  # 0xFF, to indicate not to check any specific bits in the assertion.
79  readingType: readingAssertion
80  # Sensor name would be AttemptsLeft
81  sensorNamePattern: nameProperty
82  sensorReadingType: 0x6F
83  mutability: Mutability::Write|Mutability::Read
84  sensorType: 0xC3
85  serviceInterface: org.freedesktop.DBus.Properties
86
870x62:
88  interfaces:
89    xyz.openbmc_project.Control.Boot.RebootAttempts:
90      AttemptsLeft:
91        Offsets:
92          0xFF:
93            type: uint32_t
94  path: /xyz/openbmc_project/state/host1
95  readingType: readingAssertion
96  sensorNamePattern: nameProperty
97  sensorReadingType: 0x6F
98  mutability: Mutability::Write|Mutability::Read
99  sensorType: 0xC3
100  serviceInterface: org.freedesktop.DBus.Properties
101
1020xD0:
103  sensorType: 0x01
104  path: /xyz/openbmc_project/sensors/temperature/fleeting0
105  sensorReadingType: 0x01
106  multiplierM: 511
107  offsetB: 0
108  bExp: 0
109  # Result exponent field in Type 1 SDR(2's complement, signed)
110  rExp: 0
111  # Applies for analog sensors, the actual reading value for the sensor is
112  # Value * 10^N
113  scale: -3
114  mutability: Mutability::Write|Mutability::Read
115  serviceInterface: org.freedesktop.DBus.Properties
116  readingType: readingData
117  sensorNamePattern: nameLeaf
118  interfaces:
119    xyz.openbmc_project.Sensor.Value:
120      Value:
121        Offsets:
122          0xFF:
123            type: int64_t
124
1250x54:
126  sensorType: 0x07
127  path: /system/chassis/motherboard/cpu0/core22
128  sensorReadingType: 0x6F
129  serviceInterface: xyz.openbmc_project.Inventory.Manager
130  readingType: assertion
131  mutability: Mutability::Write|Mutability::Read
132  # Sensor name would be cpu0_core22
133  sensorNamePattern: nameParentLeaf
134  interfaces:
135    xyz.openbmc_project.State.Decorator.OperationalStatus:
136      Functional:
137        Offsets:
138          0x08:
139            assert: false
140            deassert: true
141            type: bool
142        Prereqs:
143          0x07:
144            assert: true
145            deassert: false
146    xyz.openbmc_project.Inventory.Item:
147      Present:
148        Offsets:
149          0x07:
150            assert: true
151            deassert: false
152            #The update will be skipped based on the value of skipOn
153            #in this case if offset 0x07 is deasserted
154            #the update will be skipped.
155            skipOn: deassert
156            type: bool
157
1580xC5:
159  sensorType: 0x17
160  path: /system/chassis/motherboard/gv100card0
161  sensorReadingType: 1
162  serviceInterface: xyz.openbmc_project.Inventory.Manager
163  readingType: assertion
164  mutability: Mutability::Write|Mutability::Read
165  sensorNamePattern: nameLeaf
166  interfaces:
167    xyz.openbmc_project.Inventory.Decorator.Replaceable:
168      FieldReplaceable:
169        Offsets:
170          7:
171            assert: true
172            deassert: true
173            type: bool
174    xyz.openbmc_project.Inventory.Item:
175      Present:
176        Offsets:
177          7:
178            assert: true
179            deassert: false
180            type: bool
181    # Example of an interface with no attached properties
182    xyz.openbmc_project.Inventory.Item.Accelerator:
183    xyz.openbmc_project.State.Decorator.OperationalStatus:
184      Functional:
185        Offsets:
186          8:
187            assert: false
188            deassert: true
189            type: bool
190        Prereqs:
191          7:
192            assert: true
193            deassert: false
194            type: bool
195