Add mctp eids configuration for Yosemite 4

The MCTP specification is defined in DSP0236. As describe in section
8.17.2, we need a configuration for static EIDs. The `mctpd` from
CodeConstuct/mctp will be able to know where those static EIDs located.
The other services will be able to know what those EIDs stand for by the
"Name" as well.

schemas: add `EndpointId` with type `string` and `number`.

Tested: check D-Bus path for configuration.
Change-Id: I587f5a69051f783753f5855d2f51242aa1cd5bc4
Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com>
diff --git a/configurations/yosemite4_floatingfalls.json b/configurations/yosemite4_floatingfalls.json
index e51624f..e0075c4 100644
--- a/configurations/yosemite4_floatingfalls.json
+++ b/configurations/yosemite4_floatingfalls.json
@@ -1,5 +1,20 @@
 {
-    "Exposes": [],
+    "Exposes": [
+        {
+            "Address": "0x20",
+            "Bus": "$bus % 16",
+            "EndpointId": "$bus % 15 * 10 + 1",
+            "Name": "BIC",
+            "Type": "MCTPEndpoint"
+        },
+        {
+            "Address": "0x20",
+            "Bus": "$bus % 16",
+            "EndpointId": "$bus % 15 * 10 + 3",
+            "Name": "CXL",
+            "Type": "MCTPEndpoint"
+        }
+    ],
     "Name": "Yosemite 4 Floating Falls Slot $bus % 15",
     "Probe": "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Floating Falls', 'PRODUCT_PRODUCT_NAME': 'Yosemite V4'})",
     "Type": "Board",
diff --git a/configurations/yosemite4_sentineldome.json b/configurations/yosemite4_sentineldome.json
index d18bf4c..cdfe8bd 100644
--- a/configurations/yosemite4_sentineldome.json
+++ b/configurations/yosemite4_sentineldome.json
@@ -1,5 +1,13 @@
 {
-    "Exposes": [],
+    "Exposes": [
+        {
+            "Address": "0x20",
+            "Bus": "$bus % 16",
+            "EndpointId": "$bus % 15 * 10",
+            "Name": "BIC",
+            "Type": "MCTPEndpoint"
+        }
+    ],
     "Name": "Yosemite 4 Sentinel Dome Slot $bus % 15",
     "Probe": "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Sentinel Dome', 'PRODUCT_PRODUCT_NAME': 'Yosemite V4'})",
     "Type": "Board",
diff --git a/configurations/yosemite4_wailuafalls.json b/configurations/yosemite4_wailuafalls.json
index 6f8a85b..97dfae1 100644
--- a/configurations/yosemite4_wailuafalls.json
+++ b/configurations/yosemite4_wailuafalls.json
@@ -1,5 +1,27 @@
 {
-    "Exposes": [],
+    "Exposes": [
+        {
+            "Address": "0x20",
+            "Bus": "$bus % 16",
+            "EndpointId": "$bus % 15 * 10 + 2",
+            "Name": "BIC",
+            "Type": "MCTPEndpoint"
+        },
+        {
+            "Address": "0x20",
+            "Bus": "$bus % 16",
+            "EndpointId": "$bus % 15 * 10 + 4",
+            "Name": "CXL1",
+            "Type": "MCTPEndpoint"
+        },
+        {
+            "Address": "0x20",
+            "Bus": "$bus % 16",
+            "EndpointId": "$bus % 15 * 10 + 5",
+            "Name": "CXL2",
+            "Type": "MCTPEndpoint"
+        }
+    ],
     "Name": "Yosemite 4 Wailua Falls Slot $bus % 15",
     "Probe": "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Wailua Falls', 'PRODUCT_PRODUCT_NAME': 'Yosemite V4'})",
     "Type": "Board",
diff --git a/schemas/legacy.json b/schemas/legacy.json
index b010d07..551f371 100644
--- a/schemas/legacy.json
+++ b/schemas/legacy.json
@@ -69,6 +69,9 @@
                 "EntityInstance": {
                     "$ref": "#/definitions/Types/EntityInstance"
                 },
+                "EndpointId": {
+                    "$ref": "#/definitions/Types/EndpointId"
+                },
                 "FaultIndex": {
                     "$ref": "#/definitions/Types/FaultIndex"
                 },
@@ -689,6 +692,9 @@
             "EntityInstance": {
                 "type": "number"
             },
+            "EndpointId": {
+                "type": ["string", "number"]
+            },
             "FaultIndex": {
                 "type": "number"
             },