xref: /openbmc/phosphor-dbus-interfaces/yaml/xyz/openbmc_project/BIOSConfig/Manager.interface.yaml (revision eee8a9aea0fae6d9a8cf15d6c96a6a8d3116adf3)
1b1b4d261SWilliam A. Kennington IIIdescription: >
2a1347418SPatrick Williams    Provides Remote BIOS Configuration management functionality. As
3a1347418SPatrick Williams    communication to this service is done through authenticated & authorized
4a1347418SPatrick Williams    session, there won't be any validation for both.
5b1b4d261SWilliam A. Kennington III    https://gerrit.openbmc-project.xyz/c/openbmc/docs/+/29320
6b1b4d261SWilliam A. Kennington III
7b1b4d261SWilliam A. Kennington IIImethods:
8b1b4d261SWilliam A. Kennington III    - name: SetAttribute
9b1b4d261SWilliam A. Kennington III      description: >
10a1347418SPatrick Williams          To set the new value on existing attribute name. It will create or add
11a1347418SPatrick Williams          the pending attributes.
12b1b4d261SWilliam A. Kennington III      parameters:
13b1b4d261SWilliam A. Kennington III          - name: AttributeName
14b1b4d261SWilliam A. Kennington III            type: string
15b1b4d261SWilliam A. Kennington III            description: >
16b1b4d261SWilliam A. Kennington III                AttributeName which has to be changed.
17b1b4d261SWilliam A. Kennington III          - name: AttributeValue
18b1b4d261SWilliam A. Kennington III            type: variant[int64,string]
19b1b4d261SWilliam A. Kennington III            description: >
20b1b4d261SWilliam A. Kennington III                New attribute value
21b1b4d261SWilliam A. Kennington III
22b1b4d261SWilliam A. Kennington III      errors:
23b1b4d261SWilliam A. Kennington III          - xyz.openbmc_project.Common.Error.InternalFailure
24b1b4d261SWilliam A. Kennington III          - xyz.openbmc_project.BIOSConfig.Common.Error.AttributeReadOnly
25b1b4d261SWilliam A. Kennington III          - xyz.openbmc_project.BIOSConfig.Common.Error.AttributeNotFound
26b1b4d261SWilliam A. Kennington III
27b1b4d261SWilliam A. Kennington III    - name: GetAttribute
28b1b4d261SWilliam A. Kennington III      description: >
29b1b4d261SWilliam A. Kennington III          To get the attribute value of existing attributes.
30b1b4d261SWilliam A. Kennington III      parameters:
31b1b4d261SWilliam A. Kennington III          - name: AttributeName
32b1b4d261SWilliam A. Kennington III            type: string
33b1b4d261SWilliam A. Kennington III            description: >
34a1347418SPatrick Williams                To get the bios attribute current values and pending values if
35a1347418SPatrick Williams                previously set by setAttribute or SetPendingAttributes.
36b1b4d261SWilliam A. Kennington III
37b1b4d261SWilliam A. Kennington III      returns:
38b1b4d261SWilliam A. Kennington III          - name: AttributeValueType
39b1b4d261SWilliam A. Kennington III            type: enum[self.AttributeType]
40b1b4d261SWilliam A. Kennington III            description: >
41b1b4d261SWilliam A. Kennington III                PLDM attribute Type present in PLDM spec
42b1b4d261SWilliam A. Kennington III          - name: CurrentValue
43b1b4d261SWilliam A. Kennington III            type: variant[int64,string]
44b1b4d261SWilliam A. Kennington III            description: >
45b1b4d261SWilliam A. Kennington III                The attribute current value.
46b1b4d261SWilliam A. Kennington III          - name: PendingValue
47b1b4d261SWilliam A. Kennington III            type: variant[int64,string]
48b1b4d261SWilliam A. Kennington III            description: >
49b1b4d261SWilliam A. Kennington III                The pending attribute value if its available.
50b1b4d261SWilliam A. Kennington III      errors:
51b1b4d261SWilliam A. Kennington III          - xyz.openbmc_project.Common.Error.InternalFailure
52b1b4d261SWilliam A. Kennington III          - xyz.openbmc_project.BIOSConfig.Common.Error.AttributeNotFound
53b1b4d261SWilliam A. Kennington III
54b1b4d261SWilliam A. Kennington IIIproperties:
55b1b4d261SWilliam A. Kennington III    - name: ResetBIOSSettings
56b1b4d261SWilliam A. Kennington III      type: enum[self.ResetFlag]
57b1b4d261SWilliam A. Kennington III      default: NoAction
58b1b4d261SWilliam A. Kennington III      description: >
59a1347418SPatrick Williams          Contain reset BIOS setting type: Interface have to set NoAction this
60a1347418SPatrick Williams          property. when Reset BIOS settings are informed to the BIOS.
61b1b4d261SWilliam A. Kennington III
62b1b4d261SWilliam A. Kennington III    - name: BaseBIOSTable
63a1347418SPatrick Williams      type:
64a1347418SPatrick Williams          dict[string,struct[enum[self.AttributeType],boolean,string,string,string,variant[int64,string],variant[int64,string],array[struct[enum[self.BoundType],
65*eee8a9aeSArun Lal K M          variant[int64, string],string]]]]
66b1b4d261SWilliam A. Kennington III      description: >
67b1b4d261SWilliam A. Kennington III          map{attributeName,struct{attributeType,readonlyStatus,displayname,
68b1b4d261SWilliam A. Kennington III          description,menuPath,current,default,
69a1347418SPatrick Williams          array{struct{optionstring,optionvalue}}}} Example 1: {"DdrFreqLimit",
70b1b4d261SWilliam A. Kennington III          {xyz.openbmc_project.BIOSConfig.Manager.AttributeType.String,
71b1b4d261SWilliam A. Kennington III           false,
72b1b4d261SWilliam A. Kennington III           "Memory Operating Speed Selection",
73b1b4d261SWilliam A. Kennington III           "Force specific Memory Operating Speed or use Auto setting.",
74b1b4d261SWilliam A. Kennington III           "Advanced/Memory Configuration/Memory Operating Speed Selection",
75b1b4d261SWilliam A. Kennington III           "0x00",
76b1b4d261SWilliam A. Kennington III           "0x0B",
77*eee8a9aeSArun Lal K M           { {"OneOf", "auto", "enum0"},
78*eee8a9aeSArun Lal K M             {"OneOf", "2133", "enum1"},
79*eee8a9aeSArun Lal K M             {"OneOf", "2400", "enum2"},
80*eee8a9aeSArun Lal K M             {"OneOf", "2664", "enum3"},
81*eee8a9aeSArun Lal K M             {"OneOf", "2933", "enum4"}
82b1b4d261SWilliam A. Kennington III           }
83a1347418SPatrick Williams          } }
84b1b4d261SWilliam A. Kennington III           Example 2:
85b1b4d261SWilliam A. Kennington III          {"BIOSSerialDebugLevel",
86b1b4d261SWilliam A. Kennington III          {xyz.openbmc_project.BIOSConfig.Manager.AttributeType.Integer,
87b1b4d261SWilliam A. Kennington III           false,
88b1b4d261SWilliam A. Kennington III           "BIOS Serial Debug level",
89b1b4d261SWilliam A. Kennington III           "BIOS Serial Debug level during system boot.",
90b1b4d261SWilliam A. Kennington III           "Advanced/Debug Feature Selection",
91b1b4d261SWilliam A. Kennington III           0x00,
92b1b4d261SWilliam A. Kennington III           0x01,
93*eee8a9aeSArun Lal K M           { {"MinBound", 0, ""},
94*eee8a9aeSArun Lal K M             {"MaxBound", 4, ""},
95*eee8a9aeSArun Lal K M             {"ScalarIncrement", 1, ""}
96b1b4d261SWilliam A. Kennington III           }
97a1347418SPatrick Williams          } }
98b1b4d261SWilliam A. Kennington III
99b1b4d261SWilliam A. Kennington III    - name: PendingAttributes
100b1b4d261SWilliam A. Kennington III      type: dict[string,struct[enum[self.AttributeType],variant[int64,string]]]
101b1b4d261SWilliam A. Kennington III      description: >
102a1347418SPatrick Williams          The Pending attribute name and new value. ex- {
103a1347418SPatrick Williams          {"QuietBoot",Type.Integer, 0x1},
104b1b4d261SWilliam A. Kennington III                { "DdrFreqLimit",Type.String,"2933"}
105b1b4d261SWilliam A. Kennington III              }
106b1b4d261SWilliam A. Kennington III      errors:
107b1b4d261SWilliam A. Kennington III          - xyz.openbmc_project.Common.Error.InvalidArgument
108b1b4d261SWilliam A. Kennington III          - xyz.openbmc_project.BIOSConfig.Common.Error.AttributeNotFound
109b1b4d261SWilliam A. Kennington III          - xyz.openbmc_project.BIOSConfig.Common.Error.AttributeReadOnly
110b1b4d261SWilliam A. Kennington III
111b1b4d261SWilliam A. Kennington IIIenumerations:
112b1b4d261SWilliam A. Kennington III    - name: AttributeType
113b1b4d261SWilliam A. Kennington III      description: >
114b1b4d261SWilliam A. Kennington III          Attribute Type.
115b1b4d261SWilliam A. Kennington III      values:
116b1b4d261SWilliam A. Kennington III          - name: Enumeration
117b1b4d261SWilliam A. Kennington III            description: >
118b1b4d261SWilliam A. Kennington III                Enumeration value Type.
119b1b4d261SWilliam A. Kennington III          - name: String
120b1b4d261SWilliam A. Kennington III            description: >
121b1b4d261SWilliam A. Kennington III                string value Type.
122b1b4d261SWilliam A. Kennington III          - name: Password
123b1b4d261SWilliam A. Kennington III            description: >
124b1b4d261SWilliam A. Kennington III                Encoded string value Type
125b1b4d261SWilliam A. Kennington III          - name: Integer
126b1b4d261SWilliam A. Kennington III            description: >
127b1b4d261SWilliam A. Kennington III                Integer value Type.
128b1b4d261SWilliam A. Kennington III          - name: Boolean
129b1b4d261SWilliam A. Kennington III            description: >
130b1b4d261SWilliam A. Kennington III                Boolean value Type
131b1b4d261SWilliam A. Kennington III
132b1b4d261SWilliam A. Kennington III    - name: ResetFlag
133b1b4d261SWilliam A. Kennington III      description: >
134b1b4d261SWilliam A. Kennington III          Reset BIOS setting type requested by user.
135b1b4d261SWilliam A. Kennington III      values:
136b1b4d261SWilliam A. Kennington III          - name: NoAction
137b1b4d261SWilliam A. Kennington III            description: >
138b1b4d261SWilliam A. Kennington III                Default value, In order to cancel the reset BIOS settings.
139b1b4d261SWilliam A. Kennington III          - name: FactoryDefaults
140b1b4d261SWilliam A. Kennington III            description: >
141b1b4d261SWilliam A. Kennington III                Used to set factory default settings.
142b1b4d261SWilliam A. Kennington III          - name: FailSafeDefaults
143b1b4d261SWilliam A. Kennington III            description: >
144b1b4d261SWilliam A. Kennington III                Used to set the fail safe settings.
145b1b4d261SWilliam A. Kennington III
146b1b4d261SWilliam A. Kennington III    - name: BoundType
147b1b4d261SWilliam A. Kennington III      description: >
148b1b4d261SWilliam A. Kennington III          Contain BoundType value for string and integer
149b1b4d261SWilliam A. Kennington III      values:
150b1b4d261SWilliam A. Kennington III          - name: LowerBound
151b1b4d261SWilliam A. Kennington III            description: >
152b1b4d261SWilliam A. Kennington III                Used to define the lower bound value.
153b1b4d261SWilliam A. Kennington III          - name: UpperBound
154b1b4d261SWilliam A. Kennington III            description: >
155b1b4d261SWilliam A. Kennington III                Used to define the upper bound value.
156b1b4d261SWilliam A. Kennington III          - name: ScalarIncrement
157b1b4d261SWilliam A. Kennington III            description: >
158b1b4d261SWilliam A. Kennington III                Used to define scalar value of integer.
159b1b4d261SWilliam A. Kennington III          - name: MinStringLength
160b1b4d261SWilliam A. Kennington III            description: >
161b1b4d261SWilliam A. Kennington III                Used to define minimum string length.
162b1b4d261SWilliam A. Kennington III          - name: MaxStringLength
163b1b4d261SWilliam A. Kennington III            description: >
164b1b4d261SWilliam A. Kennington III                Used to define maximum string length.
165b1b4d261SWilliam A. Kennington III          - name: OneOf
166b1b4d261SWilliam A. Kennington III            description: >
167b1b4d261SWilliam A. Kennington III                Used to define the enumeration options.
168