Read proc temps and dimm temps

This commit uses openpower-occ-control to monitor the temperature and
power sensors, and create sensors on D-BUS. In the loop, read the
sensor values every 1 seconds.

Tested:
I use virtual data to get sensor values:
busctl tree org.open_power.OCC.Control
|-/org
| `-/org/open_power
|   `-/org/open_power/control
|     |-/org/open_power/control/occ0
|     `-/org/open_power/control/occ1
`-/xyz
  `-/xyz/openbmc_project
    `-/xyz/openbmc_project/sensors
      |-/xyz/openbmc_project/sensors/power
      | |-/xyz/openbmc_project/sensors/power/p0_mem_2_power
      | |-/xyz/openbmc_project/sensors/power/p0_mem_power
      | |-/xyz/openbmc_project/sensors/power/p0_power
      | |-/xyz/openbmc_project/sensors/power/p1_mem_power
      | |-/xyz/openbmc_project/sensors/power/p1_power
      | |-/xyz/openbmc_project/sensors/power/p2_mem_power
      | |-/xyz/openbmc_project/sensors/power/p2_power
      | |-/xyz/openbmc_project/sensors/power/p3_mem_power
      | |-/xyz/openbmc_project/sensors/power/p3_power
      | `-/xyz/openbmc_project/sensors/power/total_power
      `-/xyz/openbmc_project/sensors/temperature
        |-/xyz/openbmc_project/sensors/temperature/dimm5_dram_temp
        |-/xyz/openbmc_project/sensors/temperature/dimm9_dram_temp
        |-/xyz/openbmc_project/sensors/temperature/proc0_core2_temp
        |-/xyz/openbmc_project/sensors/temperature/proc0_core3_temp
        |-/xyz/openbmc_project/sensors/temperature/proc1_core2_temp
        |-/xyz/openbmc_project/sensors/temperature/proc1_core3_temp
        |-/xyz/openbmc_project/sensors/temperature/vrm_vdd0_temp
        `-/xyz/openbmc_project/sensors/temperature/vrm_vdd1_temp

busctl introspect org.open_power.OCC.Control
/xyz/openbmc_project/sensors/temperature/proc0_core3_temp
NAME                                TYPE      SIGNATURE RESULT/VALUE
org.freedesktop.DBus.Introspectable interface -         -
.Introspect                         method    -         s
org.freedesktop.DBus.Peer           interface -         -
.GetMachineId                       method    -         s
.Ping                               method    -         -
org.freedesktop.DBus.Properties     interface -         -
.Get                                method    ss        v
.GetAll                             method    s         a{sv}
.Set                                method    ssv       -
.PropertiesChanged                  signal    sa{sv}as  -
xyz.openbmc_project.Sensor.Value    interface -         -
.MaxValue                           property  d         0
.MinValue                           property  d         0
.Unit                               property  s         "xyz.openbmc...
.Value                              property  d         49
xyz.openbmc_project.State.Decorator.OperationalStatus interface -  -
.Functional                         property  b  true

busctl introspect org.open_power.OCC.Control
/xyz/openbmc_project/sensors/power/total_power
NAME                                TYPE      SIGNATURE RESULT/VALUE
org.freedesktop.DBus.Introspectable interface -         -
.Introspect                         method    -         s
org.freedesktop.DBus.Peer           interface -         -
.GetMachineId                       method    -         s
.Ping                               method    -         -
org.freedesktop.DBus.Properties     interface -         -
.Get                                method    ss        v
.GetAll                             method    s         a
.Set                                method    ssv       -
.PropertiesChanged                  signal    sa{sv}as  -
xyz.openbmc_project.Sensor.Value    interface -         -
.MaxValue                           property  d         0
.MinValue                           property  d         0
.Unit                               property  s         "xyz.openbmc...
.Value                              property  d         83
xyz.openbmc_project.State.Decorator.OperationalStatus interface -  -
.Functional                         property  b  true

Signed-off-by: Chicago Duan <duanzhijia01@inspur.com>
Change-Id: Iff30ab51745dab500fa19aa4c35b07e0052ac665
diff --git a/configure.ac b/configure.ac
index b3c62e9..32a6ecc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -74,6 +74,17 @@
         AC_SUBST([CPPFLAGS], [$cpp_flags])
     )
 
+    AC_ARG_ENABLE([read-occ-sensors],
+        AS_HELP_STRING([--enable-read-occ-sensors], [Enable read occ sensors support])
+    )
+    AS_IF([test "x$enable_read_occ_sensors" == "xyes"],
+        AC_MSG_NOTICE([Enabling read occ sensors])
+        [
+            cpp_flags="$CPPFLAGS -DREAD_OCC_SENSORS"
+        ]
+        AC_SUBST([CPPFLAGS], [$cpp_flags])
+    )
+
     AC_ARG_WITH([host-communication-protocol],
         AS_HELP_STRING([--with-host-communication-protocol], [To specify the host communication protocol])
     )
@@ -108,6 +119,10 @@
 AS_IF([test "x$OCC_CONTROL_ROOT" == "x"], [OCC_CONTROL_ROOT="/org/open_power/control"])
 AC_DEFINE_UNQUOTED([OCC_CONTROL_ROOT], ["$OCC_CONTROL_ROOT"], [The Dbus root])
 
+AC_ARG_VAR(OCC_SENSORS_ROOT, [The sensors Dbus root])
+AS_IF([test "x$OCC_SENSORS_ROOT" == "x"], [OCC_SENSORS_ROOT="/xyz/openbmc_project/sensors"])
+AC_DEFINE_UNQUOTED([OCC_SENSORS_ROOT], ["$OCC_SENSORS_ROOT"], [The sensors Dbus root])
+
 AC_ARG_VAR(MAX_CPUS, [The max number of CPUs])
 AS_IF([test "x$MAX_CPUS" == "x"], [MAX_CPUS=2])
 AC_DEFINE_UNQUOTED([MAX_CPUS], [$MAX_CPUS], [The max number of CPUs])
@@ -124,6 +139,14 @@
 AS_IF([test "x$OCC_MASTER_NAME" == "x"], [OCC_MASTER_NAME="occ-hwmon.1"])
 AC_DEFINE_UNQUOTED([OCC_MASTER_NAME], ["$OCC_MASTER_NAME"], [The OCC master object name])
 
+AC_ARG_VAR(OCC_CPU_TEMP_SENSOR_TYPE, [The CPU temp sensor type])
+AS_IF([test "x$OCC_CPU_TEMP_SENSOR_TYPE" == "x"], [OCC_CPU_TEMP_SENSOR_TYPE="C0"])
+AC_DEFINE_UNQUOTED([OCC_CPU_TEMP_SENSOR_TYPE], ["$OCC_CPU_TEMP_SENSOR_TYPE"], [The CPU temp sensor type])
+
+AC_ARG_VAR(OCC_DIMM_TEMP_SENSOR_TYPE, [The dimm temp sensor type])
+AS_IF([test "x$OCC_DIMM_TEMP_SENSOR_TYPE" == "x"], [OCC_DIMM_TEMP_SENSOR_TYPE="D0"])
+AC_DEFINE_UNQUOTED([OCC_DIMM_TEMP_SENSOR_TYPE], ["$OCC_DIMM_TEMP_SENSOR_TYPE"], [The dimm temp sensor type])
+
 AC_ARG_VAR(OCC_HWMON_PATH, [The OCC hwmon path])
 AC_ARG_VAR(DEV_PATH, [The device path])
 AC_ARG_VAR(I2C_OCC_DEVICE_NAME, [The device name of i2c occ hwmon])