xref: /openbmc/bmcweb/features/redfish/schema/dmtf/csdl/VirtualPCI2PCIBridge_v1.xml (revision c6d7a45d427f9a6d9e761afcf305761dca60d7cf)
1<?xml version="1.0" encoding="UTF-8"?>
2<!---->
3<!--################################################################################       -->
4<!--# Redfish Schema:  VirtualPCI2PCIBridge v1.0.0                                         -->
5<!--#                                                                                      -->
6<!--# For a detailed change log, see the README file contained in the DSP8010 bundle,      -->
7<!--# available at http://www.dmtf.org/standards/redfish                                   -->
8<!--# Copyright 2014-2025 DMTF.                                                            -->
9<!--# For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright -->
10<!--################################################################################       -->
11<!---->
12<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
13
14  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Core.V1.xml">
15    <edmx:Include Namespace="Org.OData.Core.V1" Alias="OData"/>
16  </edmx:Reference>
17  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Capabilities.V1.xml">
18    <edmx:Include Namespace="Org.OData.Capabilities.V1" Alias="Capabilities"/>
19  </edmx:Reference>
20  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Measures.V1.xml">
21    <edmx:Include Namespace="Org.OData.Measures.V1" Alias="Measures"/>
22  </edmx:Reference>
23  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/RedfishExtensions_v1.xml">
24    <edmx:Include Namespace="RedfishExtensions.v1_0_0" Alias="Redfish"/>
25    <edmx:Include Namespace="Validation.v1_0_0" Alias="Validation"/>
26  </edmx:Reference>
27  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Resource_v1.xml">
28    <edmx:Include Namespace="Resource"/>
29    <edmx:Include Namespace="Resource.v1_0_0"/>
30  </edmx:Reference>
31  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Endpoint_v1.xml">
32    <edmx:Include Namespace="Endpoint"/>
33  </edmx:Reference>
34  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Port_v1.xml">
35    <edmx:Include Namespace="Port"/>
36  </edmx:Reference>
37
38  <edmx:DataServices>
39
40    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="VirtualPCI2PCIBridge">
41      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
42
43      <EntityType Name="VirtualPCI2PCIBridge" BaseType="Resource.v1_0_0.Resource" Abstract="true">
44        <Annotation Term="OData.Description" String="The `VirtualPCI2PCIBridge` schema describes Virtual PCI-to-PCI Bridge (vPPB) inside a CXL switch that is owned by the host."/>
45        <Annotation Term="OData.LongDescription" String="This resource shall represent a Virtual PCI-to-PCI Bridge (vPPB) inside a CXL switch that is host-owned.  This can be bound to a port that is either disconnected, connected to a PCIe component, or connected to a CXL component."/>
46        <Annotation Term="Capabilities.InsertRestrictions">
47          <Record>
48            <PropertyValue Property="Insertable" Bool="false"/>
49          </Record>
50        </Annotation>
51        <Annotation Term="Capabilities.UpdateRestrictions">
52          <Record>
53            <PropertyValue Property="Updatable" Bool="true"/>
54          </Record>
55        </Annotation>
56        <Annotation Term="Capabilities.DeleteRestrictions">
57          <Record>
58            <PropertyValue Property="Deletable" Bool="false"/>
59          </Record>
60        </Annotation>
61        <Annotation Term="Redfish.Uris">
62          <Collection>
63            <String>/redfish/v1/Fabrics/{FabricId}/Switches/{SwitchId}/VCSs/{VirtualCXLSwitchId}/VPPBs/{VirtualPCI2PCIBridgeId}</String>
64          </Collection>
65        </Annotation>
66      </EntityType>
67    </Schema>
68
69    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="VirtualPCI2PCIBridge.v1_0_0">
70      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
71      <Annotation Term="Redfish.Release" String="2025.2"/>
72
73      <EntityType Name="VirtualPCI2PCIBridge" BaseType="VirtualPCI2PCIBridge.VirtualPCI2PCIBridge">
74        <Property Name="Status" Type="Resource.Status" Nullable="false">
75          <Annotation Term="OData.Description" String="The status and health of the resource and its subordinate or dependent resources."/>
76          <Annotation Term="OData.LongDescription" String="This property shall contain any status or health properties of the resource."/>
77        </Property>
78        <Property Name="VPPBId" Type="Edm.String">
79          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
80          <Annotation Term="OData.Description" String="The Virtual PCI-PCI Bridge identifier."/>
81          <Annotation Term="OData.LongDescription" String="This property shall contain the identifier of the vPPB.  This property shall contain the same value as the `Id` property."/>
82        </Property>
83        <Property Name="BindingStatus" Type="VirtualPCI2PCIBridge.v1_0_0.vPPBStatusTypes" Nullable="false">
84          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
85          <Annotation Term="OData.Description" String="The binding status of the vPPB."/>
86          <Annotation Term="OData.LongDescription" String="This property shall contain the binding status of the vPPB."/>
87        </Property>
88        <Property Name="BoundPortId" Type="Edm.Int64" Nullable="false">
89          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
90          <Annotation Term="OData.Description" String="The physical port number of the bound port."/>
91          <Annotation Term="OData.LongDescription" String="This property shall contain the physical port number of the port bound to this vPPB.  This property shall only be present if `BindingStatus` contains `BoundPhysicalPort` or `BoundLD`."/>
92        </Property>
93        <Property Name="BoundLDId" Type="Edm.Int64" Nullable="false">
94          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
95          <Annotation Term="OData.Description" String="The identifier of the bound local logical device."/>
96          <Annotation Term="OData.LongDescription" String="This property shall contain the identifier of the bound local logical device bound to this vPPB.  This property shall only be present if `BindingStatus` contains `BoundLD`."/>
97        </Property>
98        <Property Name="BoundPBRId" Type="Edm.Int64" Nullable="false">
99          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
100          <Annotation Term="OData.Description" String="The identifier of the bound PBR."/>
101          <Annotation Term="OData.LongDescription" String="This property shall contain the identifier of PBR bound to this vPPB.  This property shall only be present if `BindingStatus` contains `BoundPID`."/>
102        </Property>
103        <Property Name="GCXLID" Type="Edm.String">
104          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
105          <Annotation Term="OData.Description" String="The GCXLID for the CXL logical device bound to this vPPB."/>
106          <Annotation Term="OData.LongDescription" String="This property shall contain the globally unique CXL logical device identifier (GCXLID) for the CXL logical device that is bound to this vPPB."/>
107          <Annotation Term="Validation.Pattern" String="^([0-9A-Fa-f]{2}-){7}[0-9A-Fa-f]{2}:([0-9A-Fa-f]{4})$"/>
108        </Property>
109        <Property Name="Actions" Type="VirtualPCI2PCIBridge.v1_0_0.Actions" Nullable="false">
110          <Annotation Term="OData.Description" String="The available actions for this resource."/>
111          <Annotation Term="OData.LongDescription" String="This property shall contain the available actions for this resource."/>
112        </Property>
113        <Property Name="Links" Type="VirtualPCI2PCIBridge.v1_0_0.Links" Nullable="false">
114          <Annotation Term="OData.Description" String="The links to other resources that are related to this resource."/>
115          <Annotation Term="OData.LongDescription" String="This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."/>
116        </Property>
117      </EntityType>
118
119      <ComplexType Name="Links" BaseType="Resource.Links">
120        <Annotation Term="OData.Description" String="The links to other resources that are related to this resource."/>
121        <Annotation Term="OData.LongDescription" String="This Redfish Specification-described type shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."/>
122        <NavigationProperty Name="Endpoints" Type="Collection(Endpoint.Endpoint)">
123          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
124          <Annotation Term="OData.Description" String="The links to the endpoints associated with this vPPB."/>
125          <Annotation Term="OData.LongDescription" String="This property shall contain an array of links to resources of type `Endpoint` that represent the endpoints associated with this vPPB."/>
126          <Annotation Term="OData.AutoExpandReferences"/>
127        </NavigationProperty>
128        <NavigationProperty Name="Port" Type="Port.Port">
129          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
130          <Annotation Term="OData.Description" String="The link to the port associated with this vPPB."/>
131          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource of type `Port` that represents the port associated with this vPPB."/>
132          <Annotation Term="OData.AutoExpandReferences"/>
133        </NavigationProperty>
134      </ComplexType>
135
136      <EnumType Name="vPPBStatusTypes">
137        <Member Name="Unbound">
138          <Annotation Term="OData.Description" String="This vPPB is in unbound state."/>
139          <Annotation Term="OData.LongDescription" String="This value shall indicate the CXL Specification-defined 'Unbound' state for the vPPB."/>
140        </Member>
141        <Member Name="Busy">
142          <Annotation Term="OData.Description" String="Binding or unbinding is in progress for this vPPB."/>
143          <Annotation Term="OData.LongDescription" String="This value shall indicate the CXL Specification-defined 'Binding or Unbinding' state for the vPPB."/>
144        </Member>
145        <Member Name="BoundPhysicalPort">
146          <Annotation Term="OData.Description" String="This vPPB is bound to a physical port."/>
147          <Annotation Term="OData.LongDescription" String="This value shall indicate the CXL Specification-defined 'Bound Physical Port' state for the vPPB."/>
148        </Member>
149        <Member Name="BoundLD">
150          <Annotation Term="OData.Description" String="This vPPB is bound to a CXL logical device."/>
151          <Annotation Term="OData.LongDescription" String="This value shall indicate the CXL Specification-defined 'Bound LD' state for the vPPB."/>
152        </Member>
153        <Member Name="BoundPID">
154          <Annotation Term="OData.Description" String="This vPPB is bound to a PBR ID."/>
155          <Annotation Term="OData.LongDescription" String="This value shall indicate the CXL Specification-defined 'Bound PBR Id' state for the vPPB."/>
156        </Member>
157      </EnumType>
158
159      <ComplexType Name="Actions">
160        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
161        <Annotation Term="OData.Description" String="The available actions for this resource."/>
162        <Annotation Term="OData.LongDescription" String="This type shall contain the available actions for this resource."/>
163        <Property Name="Oem" Type="VirtualPCI2PCIBridge.v1_0_0.OemActions" Nullable="false">
164          <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
165          <Annotation Term="OData.LongDescription" String="This property shall contain the available OEM-specific actions for this resource."/>
166        </Property>
167      </ComplexType>
168
169      <ComplexType Name="OemActions">
170        <Annotation Term="OData.AdditionalProperties" Bool="true"/>
171        <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
172        <Annotation Term="OData.LongDescription" String="This type shall contain the available OEM-specific actions for this resource."/>
173      </ComplexType>
174    </Schema>
175
176  </edmx:DataServices>
177</edmx:Edmx>
178