configuration: Add yosemite4 config for Nuvoton BMC

- Add yosemite4n.json in configurations
- Update meson.build

Change-Id: Ia1167d3229e535bd646c0d0bc1ff84121909d5d3
Signed-off-by: RickyWu-wiwynn <ricky_cx_wu@wiwynn.com>
Signed-off-by: Tim Lee <timlee660101@gmail.com>
diff --git a/configurations/yosemite4n.json b/configurations/yosemite4n.json
new file mode 100644
index 0000000..376fed9
--- /dev/null
+++ b/configurations/yosemite4n.json
@@ -0,0 +1,633 @@
+{
+    "Exposes": [
+        {
+            "Index": 0,
+            "Name": "MGNT_P12V_VOLT_V",
+            "ScaleFactor": 0.1124,
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Label": "vout1",
+                    "Name": "upper non recoverable",
+                    "Severity": 4,
+                    "Value": 13.74
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 13.176
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 13.054
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 11.346
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 11.224
+                },
+                {
+                    "Direction": "less than",
+                    "Label": "vin",
+                    "Name": "lower non recoverable",
+                    "Severity": 4,
+                    "Value": 10.32
+                }
+            ],
+            "Type": "ADC"
+        },
+        {
+            "Index": 1,
+            "Name": "MGNT_P5V_VOLT_V",
+            "ScaleFactor": 0.2717,
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non recoverable",
+                    "Severity": 4,
+                    "Value": 5.65
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 5.55
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 5.5
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 4.5
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 4.45
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower non recoverable",
+                    "Severity": 4,
+                    "Value": 4.15
+                }
+            ],
+            "Type": "ADC"
+        },
+        {
+            "Index": 2,
+            "Name": "MGNT_P3V3_VOLT_V",
+            "ScaleFactor": 0.4107,
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non recoverable",
+                    "Severity": 4,
+                    "Value": 3.729
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 3.564
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 3.531
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 3.069
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 3.036
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower non recoverable",
+                    "Severity": 4,
+                    "Value": 2.739
+                }
+            ],
+            "Type": "ADC"
+        },
+        {
+            "Index": 3,
+            "Name": "MGNT_P2V5_VOLT_V",
+            "ScaleFactor": 0.542,
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 2.7
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 2.675
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 2.325
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 2.3
+                }
+            ],
+            "Type": "ADC"
+        },
+        {
+            "Index": 4,
+            "Name": "MGNT_P1V2_VOLT_V",
+            "ScaleFactor": 1,
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non recoverable",
+                    "Severity": 4,
+                    "Value": 1.356
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 1.296
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 1.284
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 1.116
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 1.104
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower non recoverable",
+                    "Severity": 4,
+                    "Value": 0.996
+                }
+            ],
+            "Type": "ADC"
+        },
+        {
+            "BridgeGpio": [
+                {
+                    "Name": "EN_P3V_BAT_SCALED_R",
+                    "Polarity": "H",
+                    "SetupTime": 1
+                }
+            ],
+            "Index": 5,
+            "Name": "MGNT_P3V_BAT_VOLT_V",
+            "PollRate": 3600,
+            "ScaleFactor": 0.3333,
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 3.502
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 3.468
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 2.793
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 2.765
+                }
+            ],
+            "Type": "ADC"
+        },
+        {
+            "Index": 6,
+            "Name": "MGNT_P1V07_BMC_VOLT_V",
+            "ScaleFactor": 1,
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 1.156
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 1.145
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 0.995
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 0.984
+                }
+            ],
+            "Type": "ADC"
+        },
+        {
+            "Index": 7,
+            "Name": "MGNT_P5V_USB_VOLT_V",
+            "ScaleFactor": 0.2717,
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non recoverable",
+                    "Severity": 4,
+                    "Value": 5.5
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 5.4
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 5.35
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 4.65
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 4.6
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower non recoverable",
+                    "Severity": 4,
+                    "Value": 4.15
+                }
+            ],
+            "Type": "ADC"
+        },
+        {
+            "Address": "0x1D",
+            "Bus": 34,
+            "Labels": [
+                "in0"
+            ],
+            "Name": "MGNT_ADC_1D",
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Label": "in0",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 1.944
+                },
+                {
+                    "Direction": "greater than",
+                    "Label": "in0",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 1.926
+                },
+                {
+                    "Direction": "less than",
+                    "Label": "in0",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 1.674
+                },
+                {
+                    "Direction": "less than",
+                    "Label": "in0",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 1.656
+                }
+            ],
+            "Type": "ADC128D818",
+            "in0_Name": "MGNT_P1V8_VOLT_V",
+            "in0_Scale": 824.561
+        },
+        {
+            "Class": "fan",
+            "FFGainCoefficient": 1.0,
+            "FFOffCoefficient": 0.0,
+            "ICoefficient": 0.0,
+            "ILimitMax": 0.0,
+            "ILimitMin": 0.0,
+            "Inputs": [
+                "FANBOARD0_FAN0_TACH_IL",
+                "FANBOARD0_FAN0_TACH_OL",
+                "FANBOARD0_FAN1_TACH_IL",
+                "FANBOARD0_FAN1_TACH_OL",
+                "FANBOARD1_FAN2_TACH_IL",
+                "FANBOARD1_FAN2_TACH_OL",
+                "FANBOARD1_FAN3_TACH_IL",
+                "FANBOARD1_FAN3_TACH_OL",
+                "FANBOARD0_FAN4_TACH_IL",
+                "FANBOARD0_FAN4_TACH_OL",
+                "FANBOARD0_FAN5_TACH_IL",
+                "FANBOARD0_FAN5_TACH_OL",
+                "FANBOARD1_FAN6_TACH_IL",
+                "FANBOARD1_FAN6_TACH_OL",
+                "FANBOARD1_FAN7_TACH_IL",
+                "FANBOARD1_FAN7_TACH_OL",
+                "FANBOARD0_FAN8_TACH_IL",
+                "FANBOARD0_FAN8_TACH_OL",
+                "FANBOARD0_FAN9_TACH_IL",
+                "FANBOARD0_FAN9_TACH_OL",
+                "FANBOARD1_FAN10_TACH_IL",
+                "FANBOARD1_FAN10_TACH_OL",
+                "FANBOARD1_FAN11_TACH_IL",
+                "FANBOARD1_FAN11_TACH_OL"
+            ],
+            "Name": "All Fan",
+            "OutLimitMax": 100.0,
+            "OutLimitMin": 0.0,
+            "Outputs": [
+                "FANBOARD0_FAN0_PWM",
+                "FANBOARD0_FAN0_PWM",
+                "FANBOARD0_FAN1_PWM",
+                "FANBOARD0_FAN1_PWM",
+                "FANBOARD1_FAN2_PWM",
+                "FANBOARD1_FAN2_PWM",
+                "FANBOARD1_FAN3_PWM",
+                "FANBOARD1_FAN3_PWM",
+                "FANBOARD0_FAN4_PWM",
+                "FANBOARD0_FAN4_PWM",
+                "FANBOARD0_FAN5_PWM",
+                "FANBOARD0_FAN5_PWM",
+                "FANBOARD1_FAN6_PWM",
+                "FANBOARD1_FAN6_PWM",
+                "FANBOARD1_FAN7_PWM",
+                "FANBOARD1_FAN7_PWM",
+                "FANBOARD0_FAN8_PWM",
+                "FANBOARD0_FAN8_PWM",
+                "FANBOARD0_FAN9_PWM",
+                "FANBOARD0_FAN9_PWM",
+                "FANBOARD1_FAN10_PWM",
+                "FANBOARD1_FAN10_PWM",
+                "FANBOARD1_FAN11_PWM",
+                "FANBOARD1_FAN11_PWM"
+            ],
+            "PCoefficient": 0.0,
+            "SlewNeg": 0.0,
+            "SlewPos": 0.0,
+            "Type": "Pid",
+            "Zones": [
+                "Zone 1"
+            ]
+        },
+        {
+            "CheckHysteresisWithSetpoint": true,
+            "Class": "temp",
+            "DCoefficient": 0.0,
+            "FFGainCoefficient": 0.0,
+            "FFOffCoefficient": 0.0,
+            "ICoefficient": -0.035,
+            "ILimitMax": 100,
+            "ILimitMin": -50,
+            "Inputs": [
+                "NIC0_TEMP_C",
+                "NIC1_TEMP_C",
+                "NIC2_TEMP_C",
+                "NIC3_TEMP_C"
+            ],
+            "Name": "PID_NIC_TEMP",
+            "NegativeHysteresis": 3.0,
+            "OutLimitMax": 100,
+            "OutLimitMin": 0,
+            "PCoefficient": -3.0,
+            "PositiveHysteresis": 0.0,
+            "SetPoint": 90.0,
+            "SlewNeg": 0.0,
+            "SlewPos": 0.0,
+            "Type": "Pid",
+            "Zones": [
+                "Zone 1"
+            ]
+        },
+        {
+            "AccumulateSetPoint": true,
+            "CycleIntervalTimeMS": 1000,
+            "FailSafePercent": 100.0,
+            "MinThermalOutput": 0.0,
+            "Name": "Zone 1",
+            "Type": "Pid.Zone",
+            "UpdateThermalsTimeMS": 1000
+        },
+        {
+            "Class": "temp",
+            "Inputs": [
+                "NIC0_TEMP_C",
+                "NIC1_TEMP_C",
+                "NIC2_TEMP_C",
+                "NIC3_TEMP_C"
+            ],
+            "Name": "Stepwise_NIC_TEMP",
+            "NegativeHysteresis": 2,
+            "Output": [
+                20.0,
+                22.0,
+                24.0,
+                26.0,
+                28.0,
+                30.0
+            ],
+            "PositiveHysteresis": 0,
+            "Reading": [
+                80.0,
+                81.0,
+                82.0,
+                83.0,
+                84.0,
+                85.0
+            ],
+            "Type": "Stepwise",
+            "Zones": [
+                "Zone 1"
+            ]
+        },
+        {
+            "Address": "0x1f",
+            "Bus": 24,
+            "Name": "NIC0_REMOTE_TEMP_C",
+            "Name1": "NIC0_TEMP_C",
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Index": 2,
+                    "Name": "upper non recoverable",
+                    "Severity": 4,
+                    "Value": 115
+                },
+                {
+                    "Direction": "greater than",
+                    "Index": 2,
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 105
+                }
+            ],
+            "Type": "TMP421"
+        },
+        {
+            "Address": "0x1f",
+            "Bus": 25,
+            "Name": "NIC1_REMOTE_TEMP_C",
+            "Name1": "NIC1_TEMP_C",
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Index": 2,
+                    "Name": "upper non recoverable",
+                    "Severity": 4,
+                    "Value": 115
+                },
+                {
+                    "Direction": "greater than",
+                    "Index": 2,
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 105
+                }
+            ],
+            "Type": "TMP421"
+        },
+        {
+            "Address": "0x1f",
+            "Bus": 26,
+            "Name": "NIC2_REMOTE_TEMP_C",
+            "Name1": "NIC2_TEMP_C",
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Index": 2,
+                    "Name": "upper non recoverable",
+                    "Severity": 4,
+                    "Value": 115
+                },
+                {
+                    "Direction": "greater than",
+                    "Index": 2,
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 105
+                }
+            ],
+            "Type": "TMP421"
+        },
+        {
+            "Address": "0x1f",
+            "Bus": 27,
+            "Name": "NIC3_REMOTE_TEMP_C",
+            "Name1": "NIC3_TEMP_C",
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Index": 2,
+                    "Name": "upper non recoverable",
+                    "Severity": 4,
+                    "Value": 115
+                },
+                {
+                    "Direction": "greater than",
+                    "Index": 2,
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 105
+                }
+            ],
+            "Type": "TMP421"
+        },
+        {
+            "Address": "0x48",
+            "Bus": 34,
+            "Name": "MGNT_TEMP_C",
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 50
+                }
+            ],
+            "Type": "TMP75"
+        }
+    ],
+    "Name": "Yosemite 4 Management Board",
+    "Probe": "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Management Board wN-BMC', 'PRODUCT_PRODUCT_NAME': 'Yosemite V4'})",
+    "Type": "Board",
+    "xyz.openbmc_project.Inventory.Decorator.Asset": {
+        "Manufacturer": "$PRODUCT_MANUFACTURER",
+        "Model": "$PRODUCT_PRODUCT_NAME",
+        "PartNumber": "$PRODUCT_PART_NUMBER",
+        "SerialNumber": "$PRODUCT_SERIAL_NUMBER",
+        "SparePartNumber": "$BOARD_INFO_AM1"
+    },
+    "xyz.openbmc_project.Inventory.Decorator.AssetTag": {
+        "AssetTag": "$PRODUCT_ASSET_TAG"
+    },
+    "xyz.openbmc_project.Inventory.Decorator.Revision": {
+        "Version": "$PRODUCT_VERSION"
+    }
+}
diff --git a/meson.build b/meson.build
index 8bf7966..a557c96 100644
--- a/meson.build
+++ b/meson.build
@@ -202,6 +202,7 @@
     'yosemite4_floatingfalls.json',
     'yosemite4_wailuafalls.json',
     'yosemite4.json',
+    'yosemite4n.json',
     'yosemite4_medusaboard.json',
     'yosemite4_spiderboard.json',
 ]