/openbmc/phosphor-led-manager/test/ |
H A D | led-test-map.hpp | 4 static const phosphor::led::GroupMap singleLedOn = { 8 {"One", phosphor::led::Layout::Action::On, 0, 0, 9 phosphor::led::Layout::Action::Blink}, 13 static const phosphor::led::GroupMap singleLedBlink = { 17 {"One", phosphor::led::Layout::Action::Blink, 0, 0, 18 phosphor::led::Layout::Action::Blink}, 22 static const phosphor::led::GroupMap singleLedBlinkOverrideOn = { 26 {"One", phosphor::led::Layout::Action::Blink, 0, 0, 27 phosphor::led::Layout::Action::On}, 31 static const phosphor::led::GroupMap multipleLedsOn = { [all …]
|
H A D | utest-led-yaml-group-priority.cpp | 13 using namespace phosphor::led; 15 using Action = phosphor::led::Layout::Action; 18 // static const phosphor::led::GroupMap systemLedMap = {}; 20 const std::string basePath = "/xyz/openbmc_project/led/groups/"; 27 phosphor::led::Layout::GroupLayout group = systemLedMap.at(groupPath); in TEST() 32 for (const auto& led : group.actionSet) in TEST() local 34 EXPECT_EQ(led.name, "led1"); in TEST() 35 EXPECT_EQ(led.action, Action::On); in TEST() 36 EXPECT_EQ(led.priority, std::nullopt); in TEST() 45 phosphor::led::Layout::GroupLayout group = systemLedMap.at(groupPath); in TEST() [all …]
|
H A D | utest-led-yaml-led-priority.cpp | 4 #include "test-led-priority.hpp" 13 using namespace phosphor::led; 15 using Action = phosphor::led::Layout::Action; 18 // static const phosphor::led::GroupMap systemLedMap = {}; 20 const std::string basePath = "/xyz/openbmc_project/led/groups/"; 27 phosphor::led::Layout::GroupLayout group = systemLedMap.at(groupPath); in TEST() 32 for (const auto& led : group.actionSet) in TEST() local 34 EXPECT_EQ(led.name, "led1"); in TEST() 35 EXPECT_EQ(led.action, Action::On); in TEST() 36 EXPECT_EQ(led.priority, Action::On); in TEST() [all …]
|
H A D | utest.cpp | 1 #include "led-test-map.hpp" 10 using namespace phosphor::led; 22 /** @brief Assert Single LED to On */ 39 {"One", phosphor::led::Layout::Action::On, 0, 0, in TEST_F() 40 phosphor::led::Layout::Action::Blink}, in TEST_F() 54 /** @brief Assert Single LED to Blink */ 71 {"One", phosphor::led::Layout::Action::Blink, 0, 0, in TEST_F() 72 phosphor::led::Layout::Action::Blink}, in TEST_F() 86 /** @brief Assert Single LED to On and Try Assert Again */ 103 {"One", phosphor::led::Layout::Action::On, 0, 0, in TEST_F() [all …]
|
/openbmc/openbmc/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-nvme/ |
H A D | nvme_config.json | 6 "NVMeDriveFaultLEDGroupPath": "/xyz/openbmc_project/led/groups/led_u2_0_fault", 7 "NVMeDriveLocateLEDGroupPath": "/xyz/openbmc_project/led/groups/led_u2_0_locate", 8 … "NVMeDriveLocateLEDControllerBusName": "xyz.openbmc_project.LED.Controller.led_u2_0_locate", 9 "NVMeDriveLocateLEDControllerPath": "/xyz/openbmc_project/led/physical/led_u2_0_locate", 16 "NVMeDriveFaultLEDGroupPath": "/xyz/openbmc_project/led/groups/led_u2_1_fault", 17 "NVMeDriveLocateLEDGroupPath": "/xyz/openbmc_project/led/groups/led_u2_1_locate", 18 … "NVMeDriveLocateLEDControllerBusName": "xyz.openbmc_project.LED.Controller.led_u2_1_locate", 19 "NVMeDriveLocateLEDControllerPath": "/xyz/openbmc_project/led/physical/led_u2_1_locate", 26 "NVMeDriveFaultLEDGroupPath": "/xyz/openbmc_project/led/groups/led_u2_2_fault", 27 "NVMeDriveLocateLEDGroupPath": "/xyz/openbmc_project/led/groups/led_u2_2_locate", [all …]
|
H A D | nvme_json_rewrite.sh | 43 "NVMeDriveFaultLEDGroupPath": "/xyz/openbmc_project/led/groups/led_u2_0_fault", 44 "NVMeDriveLocateLEDGroupPath": "/xyz/openbmc_project/led/groups/led_u2_0_locate", 45 … "NVMeDriveLocateLEDControllerBusName": "xyz.openbmc_project.LED.Controller.led_u2_0_locate", 46 "NVMeDriveLocateLEDControllerPath": "/xyz/openbmc_project/led/physical/led_u2_0_locate", 53 "NVMeDriveFaultLEDGroupPath": "/xyz/openbmc_project/led/groups/led_u2_1_fault", 54 "NVMeDriveLocateLEDGroupPath": "/xyz/openbmc_project/led/groups/led_u2_1_locate", 55 … "NVMeDriveLocateLEDControllerBusName": "xyz.openbmc_project.LED.Controller.led_u2_1_locate", 56 "NVMeDriveLocateLEDControllerPath": "/xyz/openbmc_project/led/physical/led_u2_1_locate", 63 "NVMeDriveFaultLEDGroupPath": "/xyz/openbmc_project/led/groups/led_u2_2_fault", 64 "NVMeDriveLocateLEDGroupPath": "/xyz/openbmc_project/led/groups/led_u2_2_locate", [all …]
|
/openbmc/u-boot/drivers/led/ |
H A D | Kconfig | 1 menu "LED Support" 3 config LED config 4 bool "Enable LED support" 8 U-Boot provides a uclass API to implement this feature. LED drivers 13 bool "LED Support for BCM6328" 14 depends on LED && ARCH_BMIPS 17 LED HW controller accessed via MMIO registers. 20 means that if one LED is set to blink at 100ms and then a different 21 LED is set to blink at 200ms, both will blink at 200ms. 24 bool "LED Support for BCM6358" [all …]
|
/openbmc/docs/architecture/ |
H A D | LED-architecture.md | 1 # LED Support for OpenBMC 3 This document describes how to add LED support for your machine based upon the 4 OpenBMC [LED Architecture][led d-bus readme] document. LED group management is 11 Service xyx.openbmc_project.LED.GroupManager 12 Path /xyz/openbmc_project/led/groups/<label> 13 Interfaces xyz.openbmc_project.Led.Group 22 PUT /xyz/openbmc_project/led/groups/<group>/attr/Asserted 25 The LED group state can be changed by setting the Asserted value to boolean 0 30 https://${bmc}/xyz/openbmc_project/led/groups/lamp_test/attr/Asserted 39 resource. This is for LED Identify operation only. [all …]
|
/openbmc/openbmc/meta-amd/meta-daytonax/recipes-phosphor/leds/daytonax-led-manager-config/ |
H A D | led.yaml | 4 led-fault: 11 led-identify: 18 led-fault: 23 led-identify: 29 led-fault: 35 led-fault: 41 led-fault: 47 led-fault: 53 led-fault: 59 led-fault: [all …]
|
/openbmc/phosphor-led-sysfs/test/ |
H A D | physical.cpp | 10 constexpr auto ledObj = "/foo/bar/led"; 12 using Action = sdbusplus::xyz::openbmc_project::Led::server::Physical::Action; 44 class MockLed : public phosphor::led::SysfsLed 79 auto led = std::make_unique<NiceMock<MockLed>>(); in TEST() local 80 ON_CALL(*led, getTrigger()).WillByDefault(Return("none")); in TEST() 81 phosphor::led::Physical phy(bus, ledObj, std::move(led)); in TEST() 89 auto led = std::make_unique<NiceMock<MockLed>>(); in TEST() local 90 EXPECT_CALL(*led, getTrigger()).WillRepeatedly(Return("none")); in TEST() 91 EXPECT_CALL(*led, getBrightness()).WillOnce(Return(127)); in TEST() 92 EXPECT_CALL(*led, getMaxBrightness()).WillOnce(Return(127)); in TEST() [all …]
|
/openbmc/docs/designs/ |
H A D | multihost-physical-led.md | 1 # Physical LED Design Support 12 The existing phosphor-led-sysfs design exposes one service per LED configuration 20 For example, Power LED and System Identification LED combines into a single 21 bicolor blue-yellow LED per host. A total of 4 × LEDs will be placed along the 25 Depending on the status of each host, blue or yellow LED needs to be Blink, OFF 26 or ON and other LEDs needs to be in OFF state. Therefore, bi-color LED needs to 29 Based on the current design in phosphor-led-sysfs application, pairing groups 30 will be difficult, since it exposes one service per LED. To abstract this method 35 The below diagram represents the overview for current physical LED design. 38 KERNEL META-PHOSPHOR PHOSPHOR-LED-SYSFS SERVICE [all …]
|
/openbmc/phosphor-led-sysfs/ |
H A D | README.md | 1 # phosphor-led-sysfs 7 Say we have 'identify' LED in our system, which may be declared in devicetree. 19 We can add an LED via the helper program. The main service is then started via 23 ./add-led-action --path /sys/class/leds/identify 29 busctl tree xyz.openbmc_project.LED.Controller 32 `- /xyz/openbmc_project/led 33 `- /xyz/openbmc_project/led/physical 34 `- /xyz/openbmc_project/led/physical/identify 36 busctl introspect xyz.openbmc_project.LED.Controller /xyz/openbmc_project/led/physical/identify 39 xyz.openbmc_project.Led.Physical interface - - - [all …]
|
H A D | physical.hpp | 7 #include <xyz/openbmc_project/Led/Physical/server.hpp> 16 namespace led namespace 22 sdbusplus::xyz::openbmc_project::Led::server::Physical>; 25 * @brief Responsible for applying actions on a particular physical LED 37 /** @brief Constructs LED object. Argument 'true' says that we hold off 43 * @param[in] objPath - The Dbus path that hosts physical LED 44 * @param[in] ledPath - sysfs path where this LED is exported 45 * @param[in] color - led color name 49 std::unique_ptr<phosphor::led::SysfsLed> led, in Physical() argument 53 led(std::move(led)) in Physical() [all …]
|
/openbmc/pldm/configurations/pdr/com.ibm.Hardware.Chassis.Model.Rainier1S4U/ |
H A D | 4.json | 18 "path": "/xyz/openbmc_project/led/physical/virtual_enc_id", 19 "interface": "xyz.openbmc_project.Led.Physical", 23 "xyz.openbmc_project.Led.Physical.Action.Off", 24 … "xyz.openbmc_project.Led.Physical.Action.On || xyz.openbmc_project.Led.Physical.Action.Blink" 62 "path": "/xyz/openbmc_project/led/groups/base_blyth_identify", 63 "interface": "xyz.openbmc_project.Led.Group", 81 "path": "/xyz/openbmc_project/led/groups/bmc_ingraham_identify", 82 "interface": "xyz.openbmc_project.Led.Group", 100 … "path": "/xyz/openbmc_project/led/groups/cablecard10_cxp_bot_identify", 101 "interface": "xyz.openbmc_project.Led.Group", [all …]
|
/openbmc/pldm/configurations/pdr/com.ibm.Hardware.Chassis.Model.Rainier4U/ |
H A D | 4.json | 18 "path": "/xyz/openbmc_project/led/physical/virtual_enc_id", 19 "interface": "xyz.openbmc_project.Led.Physical", 23 "xyz.openbmc_project.Led.Physical.Action.Off", 24 … "xyz.openbmc_project.Led.Physical.Action.On || xyz.openbmc_project.Led.Physical.Action.Blink" 62 "path": "/xyz/openbmc_project/led/groups/base_blyth_identify", 63 "interface": "xyz.openbmc_project.Led.Group", 81 "path": "/xyz/openbmc_project/led/groups/bmc_ingraham_identify", 82 "interface": "xyz.openbmc_project.Led.Group", 100 … "path": "/xyz/openbmc_project/led/groups/cablecard0_cxp_bot_identify", 101 "interface": "xyz.openbmc_project.Led.Group", [all …]
|
/openbmc/pldm/configurations/pdr/com.ibm.Hardware.Chassis.Model.Rainier2U/ |
H A D | 4.json | 18 "path": "/xyz/openbmc_project/led/physical/virtual_enc_id", 19 "interface": "xyz.openbmc_project.Led.Physical", 23 "xyz.openbmc_project.Led.Physical.Action.Off", 24 … "xyz.openbmc_project.Led.Physical.Action.On || xyz.openbmc_project.Led.Physical.Action.Blink" 62 "path": "/xyz/openbmc_project/led/groups/base_blyth_identify", 63 "interface": "xyz.openbmc_project.Led.Group", 81 "path": "/xyz/openbmc_project/led/groups/bmc_ingraham_identify", 82 "interface": "xyz.openbmc_project.Led.Group", 100 … "path": "/xyz/openbmc_project/led/groups/cablecard0_cxp_bot_identify", 101 "interface": "xyz.openbmc_project.Led.Group", [all …]
|
/openbmc/pldm/configurations/pdr/com.ibm.Hardware.Chassis.Model.Everest/ |
H A D | 4.json | 18 "path": "/xyz/openbmc_project/led/physical/virtual_enc_id", 19 "interface": "xyz.openbmc_project.Led.Physical", 23 "xyz.openbmc_project.Led.Physical.Action.Off", 24 … "xyz.openbmc_project.Led.Physical.Action.On || xyz.openbmc_project.Led.Physical.Action.Blink" 62 "path": "/xyz/openbmc_project/led/groups/bmc_identify", 63 "interface": "xyz.openbmc_project.Led.Group", 81 … "path": "/xyz/openbmc_project/led/groups/cablecard_c01_cxp_bot_identify", 82 "interface": "xyz.openbmc_project.Led.Group", 100 … "path": "/xyz/openbmc_project/led/groups/cablecard_c01_cxp_top_identify", 101 "interface": "xyz.openbmc_project.Led.Group", [all …]
|
/openbmc/u-boot/include/ |
H A D | led.h | 13 * @label: LED label 41 * set_state() - set the state of an LED 43 * @dev: LED device to change 44 * @state: LED state to set 50 * led_get_state() - get the state of an LED 52 * @dev: LED device to change 53 * @return LED state led_state_t, or -ve on error 59 * led_set_period() - set the blink period of an LED 62 * To start the LED blinking, use set_state(). 64 * @dev: LED device to change [all …]
|
/openbmc/phosphor-dbus-interfaces/yaml/xyz/openbmc_project/Led/ |
H A D | Physical.interface.yaml | 2 Interface to control physical LED. 9 Current State of the LED. 15 Percentage time the LED needs to be ON while blinking. 21 Color that the LED can emit. 27 LED blink period expressed as milliseconds per on/off cycle. 32 Possible states a LED can be in. 36 LED is in OFF state 39 LED is in solid ON state 42 LED is blinking 46 Possible colors that the LED can emit. [all …]
|
H A D | README.md | 1 # Managing LED groups and physical LEDs through BMC 9 ## Understanding LED groups 11 While it is entirely possible to act directly on a physical LED, it makes hard 12 when more than one LED is to be acted on for a particular usecase. 15 LED upon reaching some state. However, some other systems may have a requirement 26 requirement of blinking system Enclosure LED indicating an internal problem: 29 that system before acting on it. In one case, the LED group may consist of DIMM 30 LED + Enclosure Fault LED. However, if the DIMM is attached to a Raiser card, 31 then the LED group may consist of DIMM LED + Raise card LED + Enclosure Fault 32 LED. Defining this path will make it easier to locate the box and the exact part [all …]
|
/openbmc/phosphor-led-manager/ |
H A D | README.md | 1 # phosphor-led-manager 3 This project manages LED groups on dbus. Sometimes many LEDs must be driven 13 ### Configuration: LED Priority 15 Each LED can have "Priority" as "Blink", "Off" or "On". If this property is 16 defined, it should be defined on each instance of the LED in the config. 18 When multiple LED groups are asserted and contain the same LED, "Priority" 19 determines the state of the LED. 24 ## Configuration: LED Group Priority 26 Using LED Priority is fine for simple configurations, but when group state needs 122 ~# ./phosphor-led-manager --config example.json [all …]
|
/openbmc/u-boot/doc/ |
H A D | README.LED | 1 Status LED 4 This README describes the status LED API. 9 > Device Drivers > LED Support. 11 If the LED support is only for specific board, enable 23 CONFIG_STATUS_LED_BIT is passed into the __led_* functions to identify which LED 25 the other CONFIG_STATUS_LED_BIT's. Mapping the value to a physical LED is the 28 CONFIG_STATUS_LED_STATE is the initial state of the LED. It should be set to one 31 CONFIG_STATUS_LED_FREQ determines the LED blink frequency. 34 Some other LED macros 37 CONFIG_STATUS_LED_BOOT is the LED to light when the board is booting. [all …]
|
/openbmc/phosphor-led-manager/manager/ |
H A D | json-parser.hpp | 20 // Priority for a particular LED needs to stay SAME across all groups 23 std::optional<phosphor::led::Layout::Action>>; 25 /** @brief Parse LED JSON file and output Json object 27 * @param[in] path - path of LED JSON file 60 phosphor::led::Layout::Action getAction(const std::string& action) in getAction() 64 return phosphor::led::Layout::Action::On; in getAction() 68 return phosphor::led::Layout::Action::Off; in getAction() 72 return phosphor::led::Layout::Action::Blink; in getAction() 76 return phosphor::led::Layout::Action::Blink; in getAction() 80 phosphor::led::ActionSet& ledActions) in loadJsonConfigV1GroupMember() [all …]
|
H A D | config-validator.cpp | 9 using namespace phosphor::led; 13 namespace led namespace 16 // Priority for a particular LED needs to stay SAME across all groups 19 std::optional<phosphor::led::Layout::Action>>; 21 static bool isUsingGroupPriority(const phosphor::led::GroupMap& ledMap) in isUsingGroupPriority() 34 const std::optional<phosphor::led::Layout::Action>& priority) in priorityToString() 42 case phosphor::led::Layout::Action::Off: in priorityToString() 44 case phosphor::led::Layout::Action::On: in priorityToString() 46 case phosphor::led::Layout::Action::Blink: in priorityToString() 52 /** @brief Validate the Priority of an LED is same across ALL groups [all …]
|
/openbmc/pldm/configurations/pdr/com.ibm.Hardware.Chassis.Model.Bonnell/ |
H A D | 4.json | 18 "path": "/xyz/openbmc_project/led/physical/virtual_enc_id", 19 "interface": "xyz.openbmc_project.Led.Physical", 23 "xyz.openbmc_project.Led.Physical.Action.Off", 24 … "xyz.openbmc_project.Led.Physical.Action.On || xyz.openbmc_project.Led.Physical.Action.Blink" 62 "path": "/xyz/openbmc_project/led/groups/base_op_panel_identify", 63 "interface": "xyz.openbmc_project.Led.Group", 81 "path": "/xyz/openbmc_project/led/groups/fan0_identify", 82 "interface": "xyz.openbmc_project.Led.Group", 100 "path": "/xyz/openbmc_project/led/groups/fan1_identify", 101 "interface": "xyz.openbmc_project.Led.Group", [all …]
|