| /* SPDX-License-Identifier: GPL-2.0-only */ |
| |
| #include <types.h> |
| |
| enum mpio_engine_type { |
| IFTYPE_UNUSED, |
| IFTYPE_PCIE, |
| IFTYPE_SATA, |
| }; |
| |
| /* Sync with PCIE_HOTPLUG_TYPE */ |
| enum mpio_hotplug { |
| HOTPLUG_DISABLED = 0, |
| HOTPLUG_BASIC, |
| HOTPLUG_SERVER_EXPRESS, |
| HOTPLUG_ENHANCED, |
| HOTPLUG_INBOARD, |
| HOTPLUG_SERVER_ENT_SSD, |
| HOTPLUG_UBM, |
| HOTPLUG_OCP, |
| }; |
| |
| enum pcie_link_speed { |
| GEN_MAX = 0, /* Maximum supported */ |
| GEN1, |
| GEN2, |
| GEN3, |
| GEN4, |
| GEN5, |
| }; |
| |
| /* Sync with PCIE_ASPM_TYPE */ |
| enum pcie_aspm { |
| ASPM_DISABLED = 0, |
| ASPM_L0s, |
| ASPM_L1, |
| ASPM_L0sL1, |
| }; |
| |
| |
| /* CLKREQ for PCIe type descriptors */ |
| enum pcie_clk_req { |
| CLK_DISABLE = 0x00, |
| CLK_REQ0, |
| CLK_REQ1, |
| CLK_REQ2, |
| CLK_REQ3, |
| CLK_REQ4, |
| CLK_REQ5, |
| CLK_REQ6, |
| }; |
| |
| enum pcie_slot_power_limit_scale { |
| SLOT_POWER_LIMIT_DIVISOR_1 = 0, /* Scale factor 1 */ |
| SLOT_POWER_LIMIT_DIVISOR_10 = 1, /* Scale factor 0.1 */ |
| SLOT_POWER_LIMIT_DIVISOR_100 = 2, /* Scale factor 0.01 */ |
| SLOT_POWER_LIMIT_DIVISOR_1000 = 3, /* Scale factor 0.001 */ |
| }; |
| |
| struct vendorcode_amd_opensil_stub_mpio_config { |
| enum mpio_engine_type type; |
| uint8_t start_lane; |
| uint8_t end_lane; |
| uint8_t gpio_group; |
| enum mpio_hotplug hotplug; |
| enum pcie_link_speed speed_capability; |
| enum pcie_aspm aspm; |
| bool aspm_l1_1; |
| bool aspm_l1_2; |
| enum pcie_clk_req clk_req; |
| bool clock_pm; |
| uint8_t slot_power_limit; |
| enum pcie_slot_power_limit_scale slot_power_limit_scale; |
| bool bmc; |
| }; |