Support host selector using cpld definitions
Description:
- Support host selector using cpld definitions
Design:
- Because the current structure only supports config defined by GPIO
(Yosemite V2), but there are also have the system (Yosemite V3.5)
gets the host-selector's selection from CPLD.
- So this commit is to extend the current configuration to use CPLD
definitions. Also, support adding event io from the register file
which was exported from the CLD driver.
- For example with config json below:
{
"cpld_definitions": [
{
"name": "HOST_SELECTOR",
"i2c_address": 15,
"i2c_bus": 12,
"register_name": "uart-selection-debug-card",
"max_position": 4
}
]
}
Dependency:
- CLD driver is required (link: https://lore.kernel.org/lkml/20230117094425.19004-1-Delphine_CC_Chiu@Wiwynn.com/)
Test Case:
- When ocp debug card uart button is pressed the position property on
dbus is correct.
Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com>
Change-Id: I6746afa6d905bd3c681e2921c643b3cd4cb9944c
diff --git a/inc/serial_uart_mux.hpp b/inc/serial_uart_mux.hpp
index c1ad166..6898e8f 100644
--- a/inc/serial_uart_mux.hpp
+++ b/inc/serial_uart_mux.hpp
@@ -23,7 +23,7 @@
{
public:
SerialUartMux(sdbusplus::bus_t& bus, [[maybe_unused]] const char* path,
- EventPtr& event, buttonConfig& buttonCfg) :
+ EventPtr& event, ButtonConfig& buttonCfg) :
ButtonIface(bus, event, buttonCfg)
{
init();
@@ -77,6 +77,6 @@
protected:
size_t gpioLineCount;
std::unique_ptr<sdbusplus::bus::match_t> hostPositionChanged;
- gpioInfo debugCardPresentGpio;
+ GpioInfo debugCardPresentGpio;
std::unordered_map<size_t, size_t> serialUartMuxMap;
};