meta-ampere: mtjade: Add on-board sensors

Support for Mt. Jade on-board sensors including fans, battery, PSUs,
voltage and temperature sensors.

Tested: check sensor reading from WebUI. All on-board sensors are
displayed with reasonable values.

Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com>
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: I60abc8ae946ef95c09903ebc5d95d15db6161c1a
diff --git a/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@28.conf b/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@28.conf
new file mode 100644
index 0000000..2ea76ae
--- /dev/null
+++ b/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@28.conf
@@ -0,0 +1,5 @@
+LABEL_temp1=TS1_Temp
+CRITHI_temp1=50000
+CRITLO_temp1=1000
+WARNHI_temp1=48000
+WARNLO_temp1=3000
diff --git a/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@29.conf b/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@29.conf
new file mode 100644
index 0000000..186ae09
--- /dev/null
+++ b/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@29.conf
@@ -0,0 +1,5 @@
+LABEL_temp1=TS2_Temp
+CRITHI_temp1=50000
+CRITLO_temp1=1000
+WARNHI_temp1=48000
+WARNLO_temp1=3000
diff --git a/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@2a.conf b/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@2a.conf
new file mode 100644
index 0000000..f87872b
--- /dev/null
+++ b/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@2a.conf
@@ -0,0 +1,5 @@
+LABEL_temp1=TS3_Temp
+CRITHI_temp1=50000
+CRITLO_temp1=1000
+WARNHI_temp1=48000
+WARNLO_temp1=3000
diff --git a/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@2b.conf b/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@2b.conf
new file mode 100644
index 0000000..a2229ec
--- /dev/null
+++ b/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@2b.conf
@@ -0,0 +1,5 @@
+LABEL_temp1=TS4_Temp
+CRITHI_temp1=50000
+CRITLO_temp1=1000
+WARNHI_temp1=48000
+WARNLO_temp1=3000
diff --git a/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@2c.conf b/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@2c.conf
new file mode 100644
index 0000000..4cd5b1b
--- /dev/null
+++ b/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@2c.conf
@@ -0,0 +1,5 @@
+LABEL_temp1=TS5_Temp
+CRITHI_temp1=50000
+CRITLO_temp1=1000
+WARNHI_temp1=48000
+WARNLO_temp1=3000
diff --git a/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@2d.conf b/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@2d.conf
new file mode 100644
index 0000000..6f72d2a
--- /dev/null
+++ b/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@2d.conf
@@ -0,0 +1,5 @@
+LABEL_temp1=TS6_Temp
+CRITHI_temp1=50000
+CRITLO_temp1=1000
+WARNHI_temp1=48000
+WARNLO_temp1=3000
diff --git a/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/psu@58.conf b/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/psu@58.conf
new file mode 100644
index 0000000..a1ff278
--- /dev/null
+++ b/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/psu@58.conf
@@ -0,0 +1,15 @@
+LABEL_temp1= "PSU0_TEMP"
+CRITHI_temp1=64000
+CRITLO_temp1=1000
+WARNHI_temp1=62000
+WARNLO_temp1=3000
+
+LABEL_power2= "PSU0_POUT"
+
+LABEL_fan1="PSU0_fan1"
+CRITHI_fan1=20300
+CRITLO_fan1=500
+WARNHI_fan1=19300
+WARNLO_fan1=600
+
+INTERVAL=10000000
diff --git a/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/psu@59.conf b/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/psu@59.conf
new file mode 100644
index 0000000..f1e7222
--- /dev/null
+++ b/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/psu@59.conf
@@ -0,0 +1,15 @@
+LABEL_temp1 = "PSU1_TEMP"
+CRITHI_temp1=64000
+CRITLO_temp1=1000
+WARNHI_temp1=62000
+WARNLO_temp1=3000
+
+LABEL_power2 = "PSU1_POUT"
+
+LABEL_fan1 = "PSU1_fan1"
+CRITHI_fan1=20300
+CRITLO_fan1=500
+WARNHI_fan1=19300
+WARNLO_fan1=600
+
+INTERVAL=10000000
diff --git a/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/pwm-tacho-controller@1e786000.conf b/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/pwm-tacho-controller@1e786000.conf
new file mode 100644
index 0000000..6448c37
--- /dev/null
+++ b/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/pwm-tacho-controller@1e786000.conf
@@ -0,0 +1,84 @@
+LABEL_fan5 = "FAN3_1"
+CRITLO_fan5=500
+CRITHI_fan5=23100
+WARNLO_fan5=1600
+WARNHI_fan5=22000
+
+LABEL_fan6 = "FAN3_2"
+CRITLO_fan6=500
+CRITHI_fan6=23100
+WARNLO_fan6=1600
+WARNHI_fan6=22000
+
+LABEL_fan7 = "FAN4_1"
+CRITLO_fan7=500
+CRITHI_fan7=23100
+WARNLO_fan7=1600
+WARNHI_fan7=22000
+
+LABEL_fan8 = "FAN4_2"
+CRITLO_fan8=500
+CRITHI_fan8=23100
+WARNLO_fan8=1600
+WARNHI_fan8=22000
+
+LABEL_fan9 = "FAN5_1"
+CRITLO_fan9=500
+CRITHI_fan9=23100
+WARNLO_fan9=1600
+WARNHI_fan9=22000
+
+LABEL_fan10 = "FAN5_2"
+CRITLO_fan10=500
+CRITHI_fan10=23100
+WARNLO_fan10=1600
+WARNHI_fan10=22000
+
+LABEL_fan11 = "FAN6_1"
+CRITLO_fan11=500
+CRITHI_fan11=23100
+WARNLO_fan11=1600
+WARNHI_fan11=22000
+
+LABEL_fan12 = "FAN6_2"
+CRITLO_fan12=500
+CRITHI_fan12=23100
+WARNLO_fan12=1600
+WARNHI_fan12=22000
+
+LABEL_fan13 = "FAN7_1"
+CRITLO_fan13=500
+CRITHI_fan13=23100
+WARNLO_fan13=1600
+WARNHI_fan13=22000
+
+LABEL_fan14 = "FAN7_2"
+CRITLO_fan14=500
+CRITHI_fan14=23100
+WARNLO_fan14=1600
+WARNHI_fan14=22000
+
+LABEL_fan15 = "FAN8_1"
+CRITLO_fan15=500
+CRITHI_fan15=23100
+WARNLO_fan15=1600
+WARNHI_fan15=22000
+
+LABEL_fan16 = "FAN8_2"
+CRITLO_fan16=500
+CRITHI_fan16=23100
+WARNLO_fan16=1600
+WARNHI_fan16=22000
+
+PWM_TARGET_fan5 = "3"
+PWM_TARGET_fan6 = "3"
+PWM_TARGET_fan7 = "4"
+PWM_TARGET_fan8 = "4"
+PWM_TARGET_fan9 = "5"
+PWM_TARGET_fan10 = "5"
+PWM_TARGET_fan11 = "6"
+PWM_TARGET_fan12 = "6"
+PWM_TARGET_fan13 = "7"
+PWM_TARGET_fan14 = "7"
+PWM_TARGET_fan15 = "8"
+PWM_TARGET_fan16 = "8"
diff --git a/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/iio-hwmon-adc14.conf b/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/iio-hwmon-adc14.conf
new file mode 100644
index 0000000..d144cfd
--- /dev/null
+++ b/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/iio-hwmon-adc14.conf
@@ -0,0 +1,6 @@
+LABEL_in1=3V3_SB
+GAIN_in1=3
+CRITHI_in1=3960
+CRITLO_in1=2320
+WARNHI_in1=3920
+WARNLO_in1=2360
diff --git a/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/iio-hwmon-battery.conf b/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/iio-hwmon-battery.conf
new file mode 100644
index 0000000..50a45e3
--- /dev/null
+++ b/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/iio-hwmon-battery.conf
@@ -0,0 +1,13 @@
+LABEL_in1=VBAT_RTC
+GAIN_in1=3
+CRITHI_in1=3564
+CRITLO_in1=2106
+WARNHI_in1=3528
+WARNLO_in1=2142
+
+# GPIOS4 needs to be pulled high for battery voltage reading
+GPIOCHIP_in1=0
+GPIO_in1=148
+
+# Read it every day so it does not impact battery life
+INTERVAL=86400000000
diff --git a/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/iio-hwmon.conf b/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/iio-hwmon.conf
new file mode 100644
index 0000000..46b975d
--- /dev/null
+++ b/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/iio-hwmon.conf
@@ -0,0 +1,179 @@
+LABEL_in1=S0_0V8_VDDC_SOC
+CRITHI_in1=960
+CRITLO_in1=560
+WARNHI_in1=950
+WARNLO_in1=570
+
+LABEL_in2=S1_0V8_VDDC_SOC
+CRITHI_in2=960
+CRITLO_in2=560
+WARNHI_in2=950
+WARNLO_in2=570
+
+LABEL_in3=S0_0V75_PCP
+CRITHI_in3=1323
+CRITLO_in3=504
+WARNHI_in3=1295
+WARNLO_in3=532
+
+LABEL_in4=S1_0V75_PCP
+CRITHI_in4=1323
+CRITLO_in4=504
+WARNHI_in4=1295
+WARNLO_in4=532
+
+LABEL_in5=S0_1V2_VDDQ0123
+CRITHI_in5=1442
+CRITLO_in5=840
+WARNHI_in5=1330
+WARNLO_in5=854
+
+LABEL_in6=S1_1V2_VDDQ0123
+CRITHI_in6=1442
+CRITLO_in6=840
+WARNHI_in6=1330
+WARNLO_in6=854
+
+LABEL_in7=S0_0V6_VTT0123
+CRITHI_in7=720
+CRITLO_in7=420
+WARNHI_in7=712
+WARNLO_in7=428
+
+LABEL_in8=S1_0V6_VTT0123
+CRITHI_in8=720
+CRITLO_in8=420
+WARNHI_in8=648
+WARNLO_in8=460
+
+LABEL_in9=S0_2V5_VPP0123
+GAIN_in9=2
+CRITHI_in9=3000
+CRITLO_in9=1755
+WARNHI_in9=2970
+WARNLO_in9=1785
+
+LABEL_in10=S1_2V5_VPP0123
+GAIN_in10=2
+CRITHI_in10=3000
+CRITLO_in10=1755
+WARNHI_in10=2970
+WARNLO_in10=1785
+
+LABEL_in11=S0_1V2_VDDQ4567
+CRITHI_in11=1442
+CRITLO_in11=840
+WARNHI_in11=1330
+WARNLO_in11=854
+
+LABEL_in12=S1_1V2_VDDQ4567
+CRITHI_in12=1442
+CRITLO_in12=840
+WARNHI_in12=1330
+WARNLO_in12=854
+
+LABEL_in13=S0_0V6_VTT4567
+CRITHI_in13=720
+CRITLO_in13=420
+WARNHI_in13=712
+WARNLO_in13=428
+
+LABEL_in14=S1_0V6_VTT4567
+CRITHI_in14=720
+CRITLO_in14=420
+WARNHI_in14=712
+WARNLO_in14=428
+
+LABEL_in15=S0_2V5_VPP4567
+GAIN_in15=2
+CRITHI_in15=3000
+CRITLO_in15=1755
+WARNHI_in15=2970
+WARNLO_in15=1785
+
+LABEL_in16=S1_2V5_VPP4567
+GAIN_in16=2
+CRITHI_in16=3000
+CRITLO_in16=1755
+WARNHI_in16=2970
+WARNLO_in16=1785
+
+LABEL_in17=S0_0V85_RCA
+CRITHI_in17=1020
+CRITLO_in17=595
+WARNHI_in17=1005
+WARNLO_in17=610
+
+LABEL_in18=S1_0V85_RCA
+CRITHI_in18=1020
+CRITLO_in18=595
+WARNHI_in18=1005
+WARNLO_in18=610
+
+LABEL_in19=S0_1V8_VDDH
+GAIN_in19=2
+CRITHI_in19=2156
+CRITLO_in19=1265
+WARNHI_in19=2134
+WARNLO_in19=1287
+
+LABEL_in20=S1_1V8_VDDH
+GAIN_in20=2
+CRITHI_in20=2156
+CRITLO_in20=1265
+WARNHI_in20=2134
+WARNLO_in20=1287
+
+LABEL_in21=S0_1V5_VDDH
+CRITHI_in21=1800
+CRITLO_in21=1053
+WARNHI_in21=1782
+WARNLO_in21=1071
+
+LABEL_in22=S1_1V5_VDDH
+CRITHI_in22=1800
+CRITLO_in22=1053
+WARNHI_in22=1782
+WARNLO_in22=1071
+
+LABEL_in23=S0_1V8_SOC
+GAIN_in23=2
+CRITHI_in23=2156
+CRITLO_in23=1265
+WARNHI_in23=2134
+WARNLO_in23=1287
+
+LABEL_in24=S1_1V8_SOC
+GAIN_in24=2
+CRITHI_in24=2156
+CRITLO_in24=1265
+WARNHI_in24=2134
+WARNLO_in24=1287
+
+LABEL_in25=S0_1V8_PCP
+GAIN_in25=2
+CRITHI_in25=2156
+CRITLO_in25=1265
+WARNHI_in25=2134
+WARNLO_in25=1287
+
+LABEL_in26=S1_1V8_PCP
+GAIN_in26=2
+CRITHI_in26=2156
+CRITLO_in26=1265
+WARNHI_in26=2134
+WARNLO_in26=1287
+
+LABEL_in27=S0_3V3_SOC
+GAIN_in27=3
+CRITHI_in27=3960
+CRITLO_in27=2320
+WARNHI_in27=3920
+WARNLO_in27=2360
+
+LABEL_in28=S1_3V3_SOC
+GAIN_in28=3
+CRITHI_in28=3960
+CRITLO_in28=2320
+WARNHI_in28=3920
+WARNLO_in28=2360
diff --git a/meta-jade/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend b/meta-jade/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend
new file mode 100644
index 0000000..e69b83e
--- /dev/null
+++ b/meta-jade/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend
@@ -0,0 +1,31 @@
+FILESEXTRAPATHS_append_mtjade := "${THISDIR}/${PN}:"
+
+EXTRA_OECONF_append_mtjade = " --enable-negative-errno-on-fail"
+
+CHIPS_mtjade = " \
+        bus@1e78a000/i2c-bus@100/tmp175@28 \
+        bus@1e78a000/i2c-bus@100/tmp175@29 \
+        bus@1e78a000/i2c-bus@100/tmp175@2a \
+        bus@1e78a000/i2c-bus@100/tmp175@2b \
+        bus@1e78a000/i2c-bus@100/tmp175@2c \
+        bus@1e78a000/i2c-bus@100/tmp175@2d \
+        bus@1e78a000/i2c-bus@1c0/psu@58 \
+        bus@1e78a000/i2c-bus@1c0/psu@59 \
+        pwm-tacho-controller@1e786000 \
+        "
+
+ITEMSFMT = "ahb/apb/{0}.conf"
+
+ITEMS = "${@compose_list(d, 'ITEMSFMT', 'CHIPS_${MACHINE}')}"
+
+ITEMS += "iio-hwmon.conf iio-hwmon-adc14.conf iio-hwmon-battery.conf"
+
+ENVS = "obmc/${MACHINE}/hwmon/{0}"
+SYSTEMD_ENVIRONMENT_FILE_${PN}_append_mtjade = " ${@compose_list(d, 'ENVS', 'ITEMS')}"
+
+do_install_append_mtjade() {
+  SOURCEDIR="${WORKDIR}/obmc/${MACHINE}/hwmon"
+  DESTDIR="${D}${sysconfdir}/default/obmc"
+  install -d ${DESTDIR}
+  cp -r ${SOURCEDIR} ${DESTDIR}
+}