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