HardwareIsolation: Added the "Entry" interface

In an OpenPOWER based system, a user or an application (in the
error path if the hardware is faulty) can isolate hardware and
the respective isolated hardware part will be ignored to init
during the next boot of the host.

This entry interface will be used to maintain the isolated
hardware information.

Please refer https://gerrit.openbmc-project.xyz/c/openbmc/docs/+/27804
to get more details of hardware isolation.

Signed-off-by: Ramesh Iyyar <rameshi1@in.ibm.com>
Change-Id: I61cfdc757dd281e8b0b746304f7e5eafd6ef421d
diff --git a/yaml/xyz/openbmc_project/HardwareIsolation/Entry.interface.yaml b/yaml/xyz/openbmc_project/HardwareIsolation/Entry.interface.yaml
new file mode 100644
index 0000000..492baac
--- /dev/null
+++ b/yaml/xyz/openbmc_project/HardwareIsolation/Entry.interface.yaml
@@ -0,0 +1,52 @@
+description: >
+    Implement to provide the isolated hardware entry attributes.
+
+    The object which implements this interface must implement
+    xyz.openbmc_project.Association.Definitions to point associated
+    object, for example, isolated hardware inventory path and error
+    log if it caused to isolate hardware. The isolated hardware
+    association of forward and reverse name must be following
+    respectively "isolated_hw" and "isolated_hw_entry". The error
+    log association of forward and reverse types must be following
+    respectively "isolated_hw_errorlog" and "isolated_hw_entry".
+
+    The object which implements this interface should implement
+    xyz.openbmc_project.Object.Delete to allow the deletion of
+    individual isolated hardware object.
+
+    The object which implements this interface must implement
+    xyz.openbmc_project.Time.EpochTime for the isolated hardware
+    creation time.
+
+properties:
+    - name: Severity
+      type: enum[self.Type]
+      description: >
+          The severity of hardware isolation.
+    - name: Resolved
+      type: boolean
+      default: false
+      description: >
+          The isolated hardware resolution status is used to indicate
+          whether the isolated hardware is repaired or replaced.
+          Setting this to "true" may not delete this entry object because
+          in a few system platforms isolated hardware entries may not be
+          deleted and used for further analysis.
+
+enumerations:
+    - name: Type
+      description: >
+          Possible severity for hardware isolation.
+      values:
+        - name: Critical
+          description: >
+              Critical hardware to repair or replace.
+        - name: Warning
+          description: >
+              The system can boot without the isolated hardware but,
+              will lose the system configuration benefits of isolated
+              hardware.
+        - name: Manual
+          description: >
+              A user attempted to isolate hardware to proceed with
+              the host to boot.