blob: 96f60bea4cef8022f1f7f5325f4cdc3a90e0482d [file] [log] [blame]
/* 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;
};