fp5280g2: Add events-policy

Add events-policy for fp5280g2.

Tested: Test ok.
Example: When the event is triggered, the destination can receive the
snmptrap.

Signed-off-by: Chicago Duan <duanzhijia01@inspur.com>
Change-Id: Ice498f49f348199f3686b8ec3c6575156e47d0f2
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/dbus/events-policy.bb b/meta-inspur/meta-fp5280g2/recipes-phosphor/dbus/events-policy.bb
new file mode 100644
index 0000000..5940009
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/dbus/events-policy.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Event policy configuration for meta-fp5280g2 machines"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit allarch
+inherit phosphor-dbus-monitor
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
+
+SRC_URI += "file://config.yaml"
+
+do_install() {
+        install -D ${WORKDIR}/config.yaml ${D}${config_dir}/config.yaml
+}
+
+FILES_${PN} += "${config_dir}/config.yaml"
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/dbus/events-policy/config.yaml b/meta-inspur/meta-fp5280g2/recipes-phosphor/dbus/events-policy/config.yaml
new file mode 100644
index 0000000..5c62d45
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/dbus/events-policy/config.yaml
@@ -0,0 +1,133 @@
+- name:  occpath group
+  class: group
+  group: path
+  members:
+    - meta: PATH
+      path: /org/open_power/control/occ0
+
+- name:  occproctemp property
+  class: group
+  group: property
+  type:  boolean
+  members:
+    - interface: org.open_power.OCC.Status
+      meta: PROPERTY
+      property: ThrottleProcTemp
+
+- name:  occprocpower property
+  class: group
+  group: property
+  type:  boolean
+  members:
+    - interface: org.open_power.OCC.Status
+      meta: PROPERTY
+      property: ThrottleProcPower
+
+- name:  occmemtemp property
+  class: group
+  group: property
+  type:  boolean
+  members:
+    - interface: org.open_power.OCC.Status
+      meta: PROPERTY
+      property: ThrottleMemTemp
+
+- name: watch occproctemp
+  class: watch
+  watch: property
+  paths: occpath group
+  properties: occproctemp property
+  callback: check occproctemp
+
+- name: watch occprocpower
+  class: watch
+  watch: property
+  paths: occpath group
+  properties: occprocpower property
+  callback: check occprocpower
+
+- name: watch occmemtemp
+  class: watch
+  watch: property
+  paths: occpath group
+  properties: occmemtemp property
+  callback: check occmemtemp
+
+- name: check occproctemp
+  class: condition
+  condition: count
+  paths: occpath group
+  properties: occproctemp property
+  defer: 1000us
+  callback: create occproctemp event
+  countop: '=='
+  countbound: 1
+  op: '=='
+  bound: true
+
+- name: check occprocpower
+  class: condition
+  condition: count
+  paths: occpath group
+  properties: occprocpower property
+  defer: 1000us
+  callback: create occprocpower event
+  countop: '=='
+  countbound: 1
+  op: '=='
+  bound: true
+
+- name: check occmemtemp
+  class: condition
+  condition: count
+  paths: occpath group
+  properties: occmemtemp property
+  defer: 1000us
+  callback: create occmemtemp event
+  countop: '=='
+  countbound: 1
+  op: '=='
+  bound: true
+
+- name: create occproctemp event
+  class: callback
+  callback: event
+  paths: occpath group
+  properties: occproctemp property
+  eventName: occ
+  eventMessage: "Processor throttled due to an over temperature condition."
+
+- name: create occprocpower event
+  class: callback
+  callback: event
+  paths: occpath group
+  properties: occprocpower property
+  eventName: occ
+  eventMessage: "Processor throttled due to reaching the power cap limit."
+
+- name: create occmemtemp event
+  class: callback
+  callback: event
+  paths: occpath group
+  properties: occmemtemp property
+  eventName: occ
+  eventMessage: "Memory throttled due to an over temperature condition."
+
+- name: errorlog path group
+  class: group
+  group: path
+  members:
+    - meta: PATH
+      path: /xyz/openbmc_project/logging
+
+- name: pathwatch errorlog
+  class: pathwatch
+  pathwatch: path
+  paths: errorlog path group
+  pathcallback: create errorlog trap
+
+- name: create errorlog trap
+  class: pathcallback
+  pathcallback: eventpath
+  paths: errorlog path group
+  eventType: ErrorTrap
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/dbus/phosphor-dbus-monitor-config.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/dbus/phosphor-dbus-monitor-config.bbappend
new file mode 100644
index 0000000..570cb6b
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/dbus/phosphor-dbus-monitor-config.bbappend
@@ -0,0 +1 @@
+PHOSPHOR_DBUS_MONITOR_CONFIGS_append_fp5280g2 = " events-policy"