meta-facebook: yosemite5: support 2nd source PCIe clk gen

This allows configuring different PCIe clock generators
 based on the VENDOR_ID.

```
Mar 13 08:36:18 bmc systemd[1]: Starting Deassert Power Good Drop...
Mar 13 08:36:19 bmc deassert-power-good-drop[1556]: SPMU390A detected.

Mar 13 08:36:22 bmc systemd[1]: Starting Deassert Power Good Drop...
Mar 13 08:36:22 bmc deassert-power-good-drop[1649]: RC21008 detected.
```

Change-Id: I3d0b573aa9d82c2e2284486416b37c30de862ffa
Signed-off-by: Leo Yang <Leo-Yang@quantatw.com>
diff --git a/meta-facebook/meta-yosemite5/recipes-phosphor/gpio/phosphor-gpio-monitor/deassert-power-good-drop b/meta-facebook/meta-yosemite5/recipes-phosphor/gpio/phosphor-gpio-monitor/deassert-power-good-drop
index bcc2f13..047f73f 100644
--- a/meta-facebook/meta-yosemite5/recipes-phosphor/gpio/phosphor-gpio-monitor/deassert-power-good-drop
+++ b/meta-facebook/meta-yosemite5/recipes-phosphor/gpio/phosphor-gpio-monitor/deassert-power-good-drop
@@ -3,24 +3,48 @@
 # shellcheck source=meta-facebook/meta-yosemite5/recipes-phosphor/state/phosphor-state-manager/power-cmd
 source /usr/libexec/phosphor-state-manager/power-cmd
 
-# 1. Change to page 3, for r/w regsiter 0x300 ~ 0x3FF
-i2ctransfer -y 13 w2@0x09 0xfd 0x03
+#Change to page 0
+i2ctransfer -y 13 w2@0x09 0xfd 0x00
 
-# 2. Disable SSC
-i2ctransfer -y 13 w2@0x09 0x07 0x00
+read -r b1 b2 <<< "$(i2ctransfer -y 13 w1@0x09 0x00 r2 2>/dev/null)"
+vendor=$(printf "0x%02X%02X" "$((b1))" "$((b2))")
 
-# 3. Setting SSC amplitude + step(-0.25%)
-i2ctransfer -y 13 w5@0x09 0x04 0xFC 0x2D 0x28 0x80
-i2ctransfer -y 13 w5@0x09 0x04 0xB5 0x16 0x28 0x80
+#RC21008
+if [ "$vendor" == "0x3310" ]; then
+    echo "RC21008 detected."
+    # 1. Change to page 3, for r/w regsiter 0x300 ~ 0x3FF
+    i2ctransfer -y 13 w2@0x09 0xfd 0x03
 
-# 4. enable SSC
-i2ctransfer -y 13 w2@0x09 0x07 0x80
+    # 2. Disable SSC
+    i2ctransfer -y 13 w2@0x09 0x07 0x00
 
-# 5. Check SSC Enable/Disable status
-ret=$(i2ctransfer -y 13 w1@0x09 0x07 r1 2>/dev/null | tr -d ' ')
-if [ "$ret" != "0x80" ]; then
-    echo "Wrong SSC status read: $ret"
+    # 3. Setting SSC amplitude + step(-0.25%)
+    i2ctransfer -y 13 w5@0x09 0x04 0xFC 0x2D 0x28 0x80
+    i2ctransfer -y 13 w5@0x09 0x04 0xB5 0x16 0x28 0x80
+
+    # 4. enable SSC
+    i2ctransfer -y 13 w2@0x09 0x07 0x80
+
+    # 5. Check SSC Enable/Disable status
+    ret=$(i2ctransfer -y 13 w1@0x09 0x07 r1 2>/dev/null | tr -d ' ')
+    if [ "$ret" != "0x80" ]; then
+        echo "Wrong SSC status read: $ret"
+    fi
+
+#SPMU390A
+elif [ "$vendor" == "0x8B03" ]; then
+    echo "SPMU390A detected."
+    #FOD0 SSC = -0.25% Down-spread and enable
+    i2ctransfer -y 13 w2@0x09 0x3c 0x24
+
+    ret=$(i2ctransfer -y 13 w1@0x09 0x3c r1 2>/dev/null | tr -d ' ')
+    if [ "$ret" != "0x24" ]; then
+        echo "Wrong SSC status read: $ret"
+    fi
+else
+    echo "Invalid Clk Gen vendor, No SSC is configured."
 fi
+
 echo "SSC deassertion is triggered by power-good drop, \
     set SSC to -0.25% for better signal integrity"