# Sensor id is the key
0x60:
    sensorType: 0x07
    sensorReadingType: 0x6F
    # A "set" operation on this sensor should update this d-bus path.
    # If the path is not specified, an MRW parser will try to determine the path
    # based on the sensor id, on MRW based systems.  This typically happens for
    # inventory items.
    path: /org/open_power/control/occ0
    # The interface that exposes method(s) to update the path above.
    serviceInterface: org.freedesktop.DBus.Properties
    # Where the sensor value is represented - assertion bits/reading/event data
    readingType: assertion
    # indicate if a sensor is READ/WRITE/RW.
    # This particular sensor read and write operation is allowed
    mutability: Mutability::Write|Mutability::Read
    # Sensor name would be occ0
    sensorNamePattern: nameLeaf
    eventType: 0x6F
    # All the d-bus interfaces : properties that must be updated for this path
    interfaces:
        # One or more interface dict entries
        org.open_power.OCC.Status:
            OccActive:
                Offsets:
                    # Sensor type specific offset
                    0x06:
                        # OccActive is a boolean
                        type: "bool"
                        # If offset 0x06 is asserted, set OccActive as false.
                        assert: "false"
                        deassert: "true"

0x61:
    sensorType: 0x04
    sensorReadingType: 0x6F
    # Inventory paths intentionally leave out the inventory root,
    # /xyz/openbmc_project/inventory, because phosphor-inventory-manager
    # adds that.
    path: /system/chassis/motherboard/dimm1
    serviceInterface: xyz.openbmc_project.Inventory.Manager
    readingType: assertion
    mutability: Mutability::Write|Mutability::Read
    sensorNamePattern: nameLeaf
    interfaces:
        xyz.openbmc_project.State.Decorator.OperationalStatus:
            Functional:
                #Offsets contain the offsets in the sensor data.
                Offsets:
                    0x06:
                        assert: true
                        deassert: false
                        type: bool
                #Prereqs are pre-requisites for this property value to be true.
                Prereqs:
                    0x04:
                        assert: false
                        deassert: true
                        type: bool
        xyz.openbmc_project.Inventory.Item:
            Present:
                Offsets:
                    0x04:
                        assert: false
                        deassert: true
                        type: bool

0x63:
    interfaces:
        xyz.openbmc_project.Control.Boot.RebootAttempts:
            AttemptsLeft:
                Offsets:
                    0xFF:
                        type: uint32_t
    path: /xyz/openbmc_project/state/host0
    # A special case of assertion, where the entire assert bitfield
    # serves as the value, or reading. Hence, the offset above is intentionally
    # 0xFF, to indicate not to check any specific bits in the assertion.
    readingType: readingAssertion
    # Sensor name would be AttemptsLeft
    sensorNamePattern: nameProperty
    sensorReadingType: 0x6F
    mutability: Mutability::Write|Mutability::Read
    sensorType: 0xC3
    serviceInterface: org.freedesktop.DBus.Properties

0x62:
    interfaces:
        xyz.openbmc_project.Control.Boot.RebootAttempts:
            AttemptsLeft:
                Offsets:
                    0xFF:
                        type: uint32_t
    path: /xyz/openbmc_project/state/host1
    readingType: readingAssertion
    # set an explicit name for the sensor
    sensorName: RebootAttempts
    sensorReadingType: 0x6F
    mutability: Mutability::Write|Mutability::Read
    sensorType: 0xC3
    serviceInterface: org.freedesktop.DBus.Properties

0xD0:
    sensorType: 0x01
    path: /xyz/openbmc_project/sensors/temperature/fleeting0
    sensorReadingType: 0x01
    multiplierM: 511
    offsetB: 0
    bExp: 0
    # Result exponent field in Type 1 SDR(2's complement, signed)
    rExp: 0
    # Applies for analog sensors, the actual reading value for the sensor is
    # Value * 10^N
    scale: -3
    # Indicate Analog Data Format, Rate unit, Modifier unit and Percentage
    sensorUnits1: 0x80
    mutability: Mutability::Write|Mutability::Read
    serviceInterface: org.freedesktop.DBus.Properties
    readingType: readingData
    sensorNamePattern: nameLeaf
    interfaces:
        xyz.openbmc_project.Sensor.Value:
            Value:
                Offsets:
                    0xFF:
                        type: int64_t

0x54:
    sensorType: 0x07
    path: /system/chassis/motherboard/cpu0/core22
    sensorReadingType: 0x6F
    serviceInterface: xyz.openbmc_project.Inventory.Manager
    readingType: assertion
    mutability: Mutability::Write|Mutability::Read
    # Sensor name would be cpu0_core22
    sensorNamePattern: nameParentLeaf
    interfaces:
        xyz.openbmc_project.State.Decorator.OperationalStatus:
            Functional:
                Offsets:
                    0x08:
                        assert: false
                        deassert: true
                        type: bool
                Prereqs:
                    0x07:
                        assert: true
                        deassert: false
        xyz.openbmc_project.Inventory.Item:
            Present:
                Offsets:
                    0x07:
                        assert: true
                        deassert: false
                        #The update will be skipped based on the value of skipOn
                        #in this case if offset 0x07 is deasserted
                        #the update will be skipped.
                        skipOn: deassert
                        type: bool

0xC5:
    sensorType: 0x17
    path: /system/chassis/motherboard/gv100card0
    sensorReadingType: 1
    serviceInterface: xyz.openbmc_project.Inventory.Manager
    readingType: assertion
    mutability: Mutability::Write|Mutability::Read
    sensorNamePattern: nameLeaf
    interfaces:
        xyz.openbmc_project.Inventory.Decorator.Replaceable:
            FieldReplaceable:
                Offsets:
                    7:
                        assert: true
                        type: bool
        xyz.openbmc_project.Inventory.Item:
            Present:
                Offsets:
                    7:
                        assert: true
                        deassert: false
                        type: bool
        # Example of an interface with no attached properties
        xyz.openbmc_project.Inventory.Item.Accelerator:
        xyz.openbmc_project.State.Decorator.OperationalStatus:
            Functional:
                Offsets:
                    8:
                        assert: false
                        type: bool
                Prereqs:
                    7:
                        assert: true
                        type: bool
