xref: /openbmc/openbmc-test-automation/openpower/test_bmc_devicetree.robot (revision 06a8ee88f1451efb1926a641bca8344a27de4d90)
1d8004f8dSGeorge Keishing*** Settings ***
2d8004f8dSGeorge KeishingDocumentation       This suite is for Verifying BMC device tree.
3d8004f8dSGeorge Keishing
4d8004f8dSGeorge KeishingResource            ../lib/utils.robot
5d8004f8dSGeorge KeishingResource            ../lib/openbmc_ffdc.robot
6d8004f8dSGeorge KeishingResource            ../lib/ipmi_client.robot
7d8004f8dSGeorge KeishingLibrary             String
8d8004f8dSGeorge Keishing
9*06a8ee88SGeorge KeishingTest Setup          Open Connection And Log In
10*06a8ee88SGeorge KeishingTest Teardown       Run Keywords  Close All Connections  AND FFDC On Test Case Fail
11d8004f8dSGeorge Keishing
12d8004f8dSGeorge Keishing*** Variables ***
13d8004f8dSGeorge Keishing${devicetree_base}  /sys/firmware/devicetree/base/
14d8004f8dSGeorge Keishing
15d8004f8dSGeorge Keishing*** Test Cases ***
16d8004f8dSGeorge KeishingCheck BMC Model Property Is Set
17d8004f8dSGeorge Keishing   [Documentation]  Verify if the BMC Model is populated in the device tree.
18d8004f8dSGeorge Keishing   [Tags]  Check_BMC_Model_Property_Is_Set
19d8004f8dSGeorge Keishing   [Template]  Template Check Property
20d8004f8dSGeorge Keishing
21d8004f8dSGeorge Keishing   #Property
22d8004f8dSGeorge Keishing   model
23d8004f8dSGeorge Keishing
24d8004f8dSGeorge Keishing
25d8004f8dSGeorge KeishingCheck BMC Compatible Property Is Set
26d8004f8dSGeorge Keishing   [Documentation]  Verify if the BMC compatible property is populated.
27d8004f8dSGeorge Keishing   [Tags]  Check_BMC_Compatible_Property_Is_Set
28d8004f8dSGeorge Keishing   [Template]  Template Check Property
29d8004f8dSGeorge Keishing
30d8004f8dSGeorge Keishing   #Property
31d8004f8dSGeorge Keishing   compatible
32d8004f8dSGeorge Keishing
33d8004f8dSGeorge Keishing
34d8004f8dSGeorge KeishingCheck BMC CPU Name Property Is Set
35d8004f8dSGeorge Keishing   [Documentation]  Verify if the BMC CPU name property is populated.
36d8004f8dSGeorge Keishing   [Tags]  Check_BMC_CPU_Name_Property_Is_Set
37d8004f8dSGeorge Keishing   [Template]  Template Check Property
38d8004f8dSGeorge Keishing
39d8004f8dSGeorge Keishing   #Property
40d8004f8dSGeorge Keishing   cpus/name
41d8004f8dSGeorge Keishing
42d8004f8dSGeorge Keishing
43d8004f8dSGeorge KeishingCheck BMC CPU Compatible Property Is Set
44d8004f8dSGeorge Keishing   [Documentation]  Verify if the BMC CPU compatible property is populated.
45d8004f8dSGeorge Keishing   [Tags]  Check_BMC_CPU_Compatible_Property_Is_Set
46d8004f8dSGeorge Keishing   [Template]  Template Check Property
47d8004f8dSGeorge Keishing
48d8004f8dSGeorge Keishing   #Property
49d8004f8dSGeorge Keishing   cpus/cpu@0/compatible
50d8004f8dSGeorge Keishing
51d8004f8dSGeorge Keishing
52d8004f8dSGeorge KeishingCheck BMC Memory Name Property Is Set
53d8004f8dSGeorge Keishing   [Documentation]  Verify if the BMC Memory name property is populated.
54d8004f8dSGeorge Keishing   [Tags]  Check_BMC_Memory_Name_Property_Is_Set
55d8004f8dSGeorge Keishing   [Template]  Template Check Property
56d8004f8dSGeorge Keishing
57d8004f8dSGeorge Keishing   #Property
58d8004f8dSGeorge Keishing   memory@80000000/name
59d8004f8dSGeorge Keishing
60d8004f8dSGeorge Keishing
61d8004f8dSGeorge KeishingCheck BMC Memory Device Type Property Is Set
62d8004f8dSGeorge Keishing   [Documentation]  Verify if the BMC Memory Device Type property is
63d8004f8dSGeorge Keishing   ...  populated.
64d8004f8dSGeorge Keishing   [Tags]  Check_BMC_Memory_Device_Type_Property_Is_Set
65d8004f8dSGeorge Keishing   [Template]  Template Check Property
66d8004f8dSGeorge Keishing
67d8004f8dSGeorge Keishing   #Property
68d8004f8dSGeorge Keishing   memory@80000000/device_type
69d8004f8dSGeorge Keishing
70d8004f8dSGeorge Keishing
71d8004f8dSGeorge KeishingCheck BMC FSI Name Property Is Set
72d8004f8dSGeorge Keishing   [Documentation]  Verify if the BMC FSI name property is populated.
73d8004f8dSGeorge Keishing   [Tags]  Check_BMC_FSI_Name_Property_Is_Set
74d8004f8dSGeorge Keishing   [Template]  Template Check Property
75d8004f8dSGeorge Keishing
76d8004f8dSGeorge Keishing   #Property
77d8004f8dSGeorge Keishing   gpio-fsi/name
78d8004f8dSGeorge Keishing
79d8004f8dSGeorge Keishing
80d8004f8dSGeorge KeishingCheck BMC FSI Compatible Property Is Set
81d8004f8dSGeorge Keishing   [Documentation]  Verify if the BMC FSI compatible property is populated.
82d8004f8dSGeorge Keishing   [Tags]  Check_BMC_FSI_Compatible_Property_Is_Set
83d8004f8dSGeorge Keishing   [Template]  Template Check Property
84d8004f8dSGeorge Keishing
85d8004f8dSGeorge Keishing   #Property
86d8004f8dSGeorge Keishing   gpio-fsi/compatible
87d8004f8dSGeorge Keishing
88d8004f8dSGeorge Keishing
89d8004f8dSGeorge KeishingCheck BMC GPIO FSI Name Property Is Set
90d8004f8dSGeorge Keishing   [Documentation]  Verify if the BMC GPIO-FSI name property is populated.
91d8004f8dSGeorge Keishing   [Tags]  Check_BMC_GPIO_FSI_Name_Property_Is_Set
92d8004f8dSGeorge Keishing   [Template]  Template Check Property
93d8004f8dSGeorge Keishing
94d8004f8dSGeorge Keishing   #Property
95d8004f8dSGeorge Keishing   gpio-fsi/name
96d8004f8dSGeorge Keishing
97d8004f8dSGeorge Keishing
98d8004f8dSGeorge KeishingCheck BMC GPIO FSI Compatible Property Is Set
99d8004f8dSGeorge Keishing   [Documentation]  Verify if the BMC GPIO-FSI compatible property is populated.
100d8004f8dSGeorge Keishing   [Tags]  Check_BMC_GPIO_FSI_Compatible_Property_Is_Set
101d8004f8dSGeorge Keishing   [Template]  Template Check Property
102d8004f8dSGeorge Keishing
103d8004f8dSGeorge Keishing   #Property
104d8004f8dSGeorge Keishing   gpio-fsi/compatible
105d8004f8dSGeorge Keishing
106d8004f8dSGeorge Keishing
107d8004f8dSGeorge KeishingCheck BMC GPIO Keys Name Property Is Set
108d8004f8dSGeorge Keishing   [Documentation]  Verify if the BMC GPIO-keys name property is
109d8004f8dSGeorge Keishing   ...  populated.
110d8004f8dSGeorge Keishing   [Tags]  Check_BMC_GPIO_Keys_Name_Property_Is_Set
111d8004f8dSGeorge Keishing   [Template]  Template Check Property
112d8004f8dSGeorge Keishing
113d8004f8dSGeorge Keishing   #Property
114d8004f8dSGeorge Keishing   gpio-keys/name
115d8004f8dSGeorge Keishing
116d8004f8dSGeorge Keishing
117d8004f8dSGeorge KeishingCheck BMC GPIO Keys Compatible Property Is Set
118d8004f8dSGeorge Keishing   [Documentation]  Verify if the BMC GPIO-keys compatible property is
119d8004f8dSGeorge Keishing   ...  populated.
120d8004f8dSGeorge Keishing   [Tags]  Check_BMC_GPIO_Keys_Compatible_Property_Is_Set
121d8004f8dSGeorge Keishing   [Template]  Template Check Property
122d8004f8dSGeorge Keishing
123d8004f8dSGeorge Keishing   #Property
124d8004f8dSGeorge Keishing   gpio-keys/compatible
125d8004f8dSGeorge Keishing
126d8004f8dSGeorge Keishing
127d8004f8dSGeorge KeishingCheck BMC IIO-HWMON Name Property Is Set
128d8004f8dSGeorge Keishing   [Documentation]  Verify if the BMC IIO-HWMON-DPS310 name property is
129d8004f8dSGeorge Keishing   ...  populated.
130d8004f8dSGeorge Keishing   [Tags]  Check_BMC_IIO-HWMON_Name_Property_Is_Set
131d8004f8dSGeorge Keishing   [Template]  Template Check Property
132d8004f8dSGeorge Keishing
133d8004f8dSGeorge Keishing   #Property
134d8004f8dSGeorge Keishing   iio-hwmon-dps310/name
135d8004f8dSGeorge Keishing
136d8004f8dSGeorge Keishing
137d8004f8dSGeorge KeishingCheck BMC IIO-HWMON Compatible Property Is Set
138d8004f8dSGeorge Keishing   [Documentation]  Verify if the BMC IIO-HWMON-DPS310 compatible property is
139d8004f8dSGeorge Keishing   ...  populated.
140d8004f8dSGeorge Keishing   [Tags]  Check_BMC_IIO-HWMON_Compatible_Property_Is_Set
141d8004f8dSGeorge Keishing   [Template]  Template Check Property
142d8004f8dSGeorge Keishing
143d8004f8dSGeorge Keishing   #Property
144d8004f8dSGeorge Keishing   iio-hwmon-dps310/compatible
145d8004f8dSGeorge Keishing
146d8004f8dSGeorge Keishing
147d8004f8dSGeorge KeishingCheck BMC LED Name Property Is Set
148d8004f8dSGeorge Keishing   [Documentation]  Verify if the BMC LED name property is populated.
149d8004f8dSGeorge Keishing   [Tags]  Check_BMC_LED_Name_Property_Is_Set
150d8004f8dSGeorge Keishing   [Template]  Template Check Property
151d8004f8dSGeorge Keishing
152d8004f8dSGeorge Keishing   #Property
153d8004f8dSGeorge Keishing   leds/name
154d8004f8dSGeorge Keishing
155d8004f8dSGeorge Keishing
156d8004f8dSGeorge KeishingCheck BMC LED Compatible Property Is Set
157d8004f8dSGeorge Keishing   [Documentation]  Verify if the BMC LED compatible property is populated.
158d8004f8dSGeorge Keishing   [Tags]  Check_BMC_LED_Compatible_Property_Is_Set
159d8004f8dSGeorge Keishing   [Template]  Template Check Property
160d8004f8dSGeorge Keishing
161d8004f8dSGeorge Keishing   #Property
162d8004f8dSGeorge Keishing   leds/compatible
163d8004f8dSGeorge Keishing
164d8004f8dSGeorge Keishing
165d8004f8dSGeorge Keishing*** Keywords ***
166d8004f8dSGeorge Keishing
167d8004f8dSGeorge KeishingTemplate Check Property
168d8004f8dSGeorge Keishing    [Documentation]  Check for the existence of a property in the device tree.
169d8004f8dSGeorge Keishing    [Arguments]  ${property}
170d8004f8dSGeorge Keishing    #property: Value of Property
171d8004f8dSGeorge Keishing
172d8004f8dSGeorge Keishing    ${devicetree_path}=  Catenate  SEPARATOR=
173d8004f8dSGeorge Keishing    ...  ${devicetree_base}  ${property}
174d8004f8dSGeorge Keishing    ${output}  ${stderr}=  Execute Command  cat ${devicetree_path}
175d8004f8dSGeorge Keishing    ...  return_stderr=True
176d8004f8dSGeorge Keishing    Should Be Empty  ${stderr}
177d8004f8dSGeorge Keishing    ${length}=  Get Length  ${output}
178d8004f8dSGeorge Keishing    Should Be True  ${length} > 1
179d8004f8dSGeorge Keishing
180