Add ECC memory interface

Create ECC properties to record ce_counter, ue_counter, ECCStatus and
Reach the ECC collection limit.
Create the InvalidArgument error for ce_counter, ue_counter and ECC
collection limit.

Signed-off-by: will <Will.Liang@quantatw.com>
Change-Id: Ib05b0701a955b5a2ecba5dfecfa3f31ad9a3c1c2
diff --git a/xyz/openbmc_project/Memory/MemoryECC.interface.yaml b/xyz/openbmc_project/Memory/MemoryECC.interface.yaml
new file mode 100644
index 0000000..32c23bb
--- /dev/null
+++ b/xyz/openbmc_project/Memory/MemoryECC.interface.yaml
@@ -0,0 +1,38 @@
+description: >
+    Implement to provide memory ECC attributes.
+properties:
+    - name: isLoggingLimitReached
+      type: boolean
+      description: >
+          ECC logging limit reached.
+    - name: ceCount
+      type: int64
+      description: >
+          A correctable ECC event has been detected on a read operation.
+    - name: ueCount
+      type: int64
+      description: >
+          An uncorrectable ECC event has been detected on a read operation.
+    - name: state
+      type: enum[self.ECCStatus]
+      default: ok
+      description: >
+          The state is described in ECC status.
+
+enumerations:
+   - name: ECCStatus
+     description: >
+       The operating system statuses.
+     values:
+       - name: ok
+         description: >
+           There is no ECC error occurred.
+       - name: CE
+         description: >
+           correctable ECC detected.
+       - name: UE
+         description: >
+           uncorrectable ECC detected.
+       - name: LogFull
+         description: >
+           ECC logging reach limits.