configurations: yosemite4: Support fourth sources Fan Board

To add fourth sources fan board config.
Test Case: Sensor config and sensors can be loaded and read.

Change-Id: I831340a42f91adfe48b8aa9f4766a83452f46f62
Signed-off-by: Ian Chien <ianchien.wiwynn@gmail.com>
diff --git a/configurations/yosemite4_fanboard_fsc_nct_adc_max_led_ons_efuse_max.json b/configurations/yosemite4_fanboard_fsc_nct_adc_max_led_ons_efuse_max.json
new file mode 100644
index 0000000..24f8a28
--- /dev/null
+++ b/configurations/yosemite4_fanboard_fsc_nct_adc_max_led_ons_efuse_max.json
@@ -0,0 +1,706 @@
+{
+    "Exposes": [
+        {
+            "Address": "$address",
+            "Bus": "$bus",
+            "Name": "Fan Board $bus % 30 FRU",
+            "Type": "EEPROM"
+        },
+        {
+            "Address": "0x21",
+            "Bus": "$bus",
+            "Connector": {
+                "Name": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 0 TACH_IL",
+                "Pwm": 5,
+                "PwmName": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 0 PWM",
+                "Tachs": [
+                    1
+                ]
+            },
+            "Index": 1,
+            "Name": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 0 TACH_IL",
+            "PowerState": "Always",
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 17380
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 13140
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 1000
+                }
+            ],
+            "Type": "I2CFan"
+        },
+        {
+            "Address": "0x21",
+            "Bus": "$bus",
+            "Connector": {
+                "Name": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 0 TACH_OL",
+                "Pwm": 5,
+                "PwmName": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 0 PWM",
+                "Tachs": [
+                    2
+                ]
+            },
+            "Index": 2,
+            "Name": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 0 TACH_OL",
+            "PowerState": "Always",
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 15950
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 11970
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 1000
+                }
+            ],
+            "Type": "I2CFan"
+        },
+        {
+            "Address": "0x23",
+            "Bus": "$bus",
+            "Connector": {
+                "Name": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 1 TACH_IL",
+                "Pwm": 5,
+                "PwmName": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 1 PWM",
+                "Tachs": [
+                    1
+                ]
+            },
+            "Index": 1,
+            "Name": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 1 TACH_IL",
+            "PowerState": "Always",
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 17380
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 13140
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 1000
+                }
+            ],
+            "Type": "I2CFan"
+        },
+        {
+            "Address": "0x23",
+            "Bus": "$bus",
+            "Connector": {
+                "Name": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 1 TACH_OL",
+                "Pwm": 5,
+                "PwmName": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 1 PWM",
+                "Tachs": [
+                    2
+                ]
+            },
+            "Index": 2,
+            "Name": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 1 TACH_OL",
+            "PowerState": "Always",
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 15950
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 11970
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 1000
+                }
+            ],
+            "Type": "I2CFan"
+        },
+        {
+            "Address": "0x21",
+            "Bus": "$bus",
+            "Connector": {
+                "Name": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 4 TACH_IL",
+                "Pwm": 2,
+                "PwmName": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 4 PWM",
+                "Tachs": [
+                    14
+                ]
+            },
+            "Index": 14,
+            "Name": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 4 TACH_IL",
+            "PowerState": "Always",
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 17380
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 13140
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 1000
+                }
+            ],
+            "Type": "I2CFan"
+        },
+        {
+            "Address": "0x21",
+            "Bus": "$bus",
+            "Connector": {
+                "Name": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 4 TACH_OL",
+                "Pwm": 2,
+                "PwmName": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 4 PWM",
+                "Tachs": [
+                    0
+                ]
+            },
+            "Index": 0,
+            "Name": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 4 TACH_OL",
+            "PowerState": "Always",
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 15950
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 11970
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 1000
+                }
+            ],
+            "Type": "I2CFan"
+        },
+        {
+            "Address": "0x23",
+            "Bus": "$bus",
+            "Connector": {
+                "Name": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 5 TACH_IL",
+                "Pwm": 2,
+                "PwmName": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 5 PWM",
+                "Tachs": [
+                    14
+                ]
+            },
+            "Index": 14,
+            "Name": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 5 TACH_IL",
+            "PowerState": "Always",
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 17380
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 13140
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 1000
+                }
+            ],
+            "Type": "I2CFan"
+        },
+        {
+            "Address": "0x23",
+            "Bus": "$bus",
+            "Connector": {
+                "Name": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 5 TACH_OL",
+                "Pwm": 2,
+                "PwmName": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 5 PWM",
+                "Tachs": [
+                    0
+                ]
+            },
+            "Index": 0,
+            "Name": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 5 TACH_OL",
+            "PowerState": "Always",
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 15950
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 11970
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 1000
+                }
+            ],
+            "Type": "I2CFan"
+        },
+        {
+            "Address": "0x21",
+            "Bus": "$bus",
+            "Connector": {
+                "Name": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 8 TACH_IL",
+                "Pwm": 0,
+                "PwmName": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 8 PWM",
+                "Tachs": [
+                    9
+                ]
+            },
+            "Index": 9,
+            "Name": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 8 TACH_IL",
+            "PowerState": "Always",
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 17380
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 13140
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 1000
+                }
+            ],
+            "Type": "I2CFan"
+        },
+        {
+            "Address": "0x21",
+            "Bus": "$bus",
+            "Connector": {
+                "Name": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 8 TACH_OL",
+                "Pwm": 0,
+                "PwmName": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 8 PWM",
+                "Tachs": [
+                    12
+                ]
+            },
+            "Index": 12,
+            "Name": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 8 TACH_OL",
+            "PowerState": "Always",
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 15950
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 11970
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 1000
+                }
+            ],
+            "Type": "I2CFan"
+        },
+        {
+            "Address": "0x23",
+            "Bus": "$bus",
+            "Connector": {
+                "Name": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 9 TACH_IL",
+                "Pwm": 0,
+                "PwmName": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 9 PWM",
+                "Tachs": [
+                    9
+                ]
+            },
+            "Index": 9,
+            "Name": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 9 TACH_IL",
+            "PowerState": "Always",
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 17380
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 13140
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 1000
+                }
+            ],
+            "Type": "I2CFan"
+        },
+        {
+            "Address": "0x23",
+            "Bus": "$bus",
+            "Connector": {
+                "Name": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 9 TACH_OL",
+                "Pwm": 0,
+                "PwmName": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 9 PWM",
+                "Tachs": [
+                    12
+                ]
+            },
+            "Index": 12,
+            "Name": "FANBOARD$bus % 30 FAN$bus % 30 * 2 + 9 TACH_OL",
+            "PowerState": "Always",
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 15950
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 11970
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 1000
+                }
+            ],
+            "Type": "I2CFan"
+        },
+        {
+            "Address": "0x33",
+            "Bus": "$bus",
+            "Labels": [
+                "in_voltage0",
+                "in_voltage1",
+                "in_voltage2",
+                "in_voltage3",
+                "in_voltage4",
+                "in_voltage5",
+                "in_voltage6",
+                "in_voltage7"
+            ],
+            "Name": "FANBOARD$bus % 30 ADC",
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Label": "in_voltage0",
+                    "Name": "upper non recoverable",
+                    "Severity": 4,
+                    "Value": 6
+                },
+                {
+                    "Direction": "greater than",
+                    "Label": "in_voltage0",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 2.156
+                },
+                {
+                    "Direction": "greater than",
+                    "Label": "in_voltage0",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 2.058
+                },
+                {
+                    "Direction": "greater than",
+                    "Label": "in_voltage1",
+                    "Name": "upper non recoverable",
+                    "Severity": 4,
+                    "Value": 6
+                },
+                {
+                    "Direction": "greater than",
+                    "Label": "in_voltage1",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 2.156
+                },
+                {
+                    "Direction": "greater than",
+                    "Label": "in_voltage1",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 2.058
+                },
+                {
+                    "Direction": "greater than",
+                    "Label": "in_voltage2",
+                    "Name": "upper non recoverable",
+                    "Severity": 4,
+                    "Value": 6
+                },
+                {
+                    "Direction": "greater than",
+                    "Label": "in_voltage2",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 2.156
+                },
+                {
+                    "Direction": "greater than",
+                    "Label": "in_voltage2",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 2.058
+                },
+                {
+                    "Direction": "greater than",
+                    "Label": "in_voltage3",
+                    "Name": "upper non recoverable",
+                    "Severity": 4,
+                    "Value": 6
+                },
+                {
+                    "Direction": "greater than",
+                    "Label": "in_voltage3",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 2.156
+                },
+                {
+                    "Direction": "greater than",
+                    "Label": "in_voltage3",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 2.058
+                },
+                {
+                    "Direction": "greater than",
+                    "Label": "in_voltage4",
+                    "Name": "upper non recoverable",
+                    "Severity": 4,
+                    "Value": 6
+                },
+                {
+                    "Direction": "greater than",
+                    "Label": "in_voltage4",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 2.156
+                },
+                {
+                    "Direction": "greater than",
+                    "Label": "in_voltage4",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 2.058
+                },
+                {
+                    "Direction": "greater than",
+                    "Label": "in_voltage5",
+                    "Name": "upper non recoverable",
+                    "Severity": 4,
+                    "Value": 6
+                },
+                {
+                    "Direction": "greater than",
+                    "Label": "in_voltage5",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 2.156
+                },
+                {
+                    "Direction": "greater than",
+                    "Label": "in_voltage5",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 2.058
+                },
+                {
+                    "Direction": "greater than",
+                    "Label": "in_voltage6",
+                    "Name": "upper non recoverable",
+                    "Severity": 4,
+                    "Value": 60
+                },
+                {
+                    "Direction": "greater than",
+                    "Label": "in_voltage6",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 53.28
+                },
+                {
+                    "Direction": "greater than",
+                    "Label": "in_voltage6",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 52.8
+                },
+                {
+                    "Direction": "less than",
+                    "Label": "in_voltage6",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 43.2
+                },
+                {
+                    "Direction": "less than",
+                    "Label": "in_voltage6",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 42.72
+                },
+                {
+                    "Direction": "less than",
+                    "Label": "in_voltage6",
+                    "Name": "lower non recoverable",
+                    "Severity": 4,
+                    "Value": 40
+                },
+                {
+                    "Direction": "greater than",
+                    "Label": "in_voltage7",
+                    "Name": "upper non recoverable",
+                    "Severity": 4,
+                    "Value": 3.83
+                },
+                {
+                    "Direction": "greater than",
+                    "Label": "in_voltage7",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 3.432
+                },
+                {
+                    "Direction": "greater than",
+                    "Label": "in_voltage7",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 3.399
+                },
+                {
+                    "Direction": "less than",
+                    "Label": "in_voltage7",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 3.201
+                },
+                {
+                    "Direction": "less than",
+                    "Label": "in_voltage7",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 3.168
+                },
+                {
+                    "Direction": "less than",
+                    "Label": "in_voltage7",
+                    "Name": "lower non recoverable",
+                    "Severity": 4,
+                    "Value": 2.64
+                }
+            ],
+            "Type": "MAX11615",
+            "in_voltage0_Name": "FANBOARD$bus % 30 ADC_48V_FAN$bus % 30 * 2 + 8 CURR_A",
+            "in_voltage0_Scale": 480,
+            "in_voltage1_Name": "FANBOARD$bus % 30 ADC_48V_FAN$bus % 30 * 2 + 4 CURR_A",
+            "in_voltage1_Scale": 480,
+            "in_voltage2_Name": "FANBOARD$bus % 30 ADC_48V_FAN$bus % 30 * 2 + 0 CURR_A",
+            "in_voltage2_Scale": 480,
+            "in_voltage3_Name": "FANBOARD$bus % 30 ADC_48V_FAN$bus % 30 * 2 + 9 CURR_A",
+            "in_voltage3_Scale": 480,
+            "in_voltage4_Name": "FANBOARD$bus % 30 ADC_48V_FAN$bus % 30 * 2 + 5 CURR_A",
+            "in_voltage4_Scale": 480,
+            "in_voltage5_Name": "FANBOARD$bus % 30 ADC_48V_FAN$bus % 30 * 2 + 1 CURR_A",
+            "in_voltage5_Scale": 480,
+            "in_voltage6_Name": "FANBOARD$bus % 30 ADC_48V_AUX_VOLT_V",
+            "in_voltage6_Scale": 63.84,
+            "in_voltage7_Name": "FANBOARD$bus % 30 ADC_3V3_STBY_VOLT_V",
+            "in_voltage7_Scale": 1000
+        }
+    ],
+    "Name": "Yosemite 4 Fan Board $bus % 30",
+    "Probe": "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Fan Board FSC-NCT ADC-MAX LED-ONS EFUSE-MAX', 'PRODUCT_PRODUCT_NAME': 'Yosemite V4'})",
+    "Type": "Board",
+    "xyz.openbmc_project.Inventory.Decorator.Asset": {
+        "BuildDate": "$BOARD_MANUFACTURE_DATE",
+        "Manufacturer": "$BOARD_MANUFACTURER",
+        "Model": "$BOARD_PRODUCT_NAME",
+        "PartNumber": "$BOARD_PART_NUMBER",
+        "SerialNumber": "$BOARD_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"
+    },
+    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+        "SlotNumber": "$bus % 30"
+    }
+}
diff --git a/meson.build b/meson.build
index 05e5bd7..ad7fd8c 100644
--- a/meson.build
+++ b/meson.build
@@ -197,6 +197,7 @@
     'yosemite4_fanboard_fsc_max_adc_ti_led_nxp_efuse_mps.json',
     'yosemite4_fanboard_fsc_max_adc_ti_led_nxp_efuse_max.json',
     'yosemite4_fanboard_fsc_nct_adc_max_led_ons_efuse_mps.json',
+    'yosemite4_fanboard_fsc_nct_adc_max_led_ons_efuse_max.json',
     'yosemite4_sentineldome_t1.json',
     'yosemite4_sentineldome_t1_retimer.json',
     'yosemite4_sentineldome_t2.json',