summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--payloads/libpayload/include/coreboot_tables.h6
-rw-r--r--src/commonlib/include/commonlib/coreboot_tables.h10
-rw-r--r--src/drivers/intel/pmc_mux/conn/chip.h13
-rw-r--r--src/drivers/intel/pmc_mux/conn/conn.c10
4 files changed, 25 insertions, 14 deletions
diff --git a/payloads/libpayload/include/coreboot_tables.h b/payloads/libpayload/include/coreboot_tables.h
index a841e0326f..914cfa5683 100644
--- a/payloads/libpayload/include/coreboot_tables.h
+++ b/payloads/libpayload/include/coreboot_tables.h
@@ -143,6 +143,12 @@ struct cb_mainboard {
u8 strings[0];
};
+enum type_c_orientation {
+ TYPEC_ORIENTATION_NONE,
+ TYPEC_ORIENTATION_NORMAL,
+ TYPEC_ORIENTATION_REVERSE,
+};
+
struct type_c_port_info {
/*
* usb2_port_number and usb3_port_number are expected to be
diff --git a/src/commonlib/include/commonlib/coreboot_tables.h b/src/commonlib/include/commonlib/coreboot_tables.h
index ab8da7bf8e..91da8e01fa 100644
--- a/src/commonlib/include/commonlib/coreboot_tables.h
+++ b/src/commonlib/include/commonlib/coreboot_tables.h
@@ -426,7 +426,17 @@ struct lb_mmc_info {
* USB Type-C Port Information
* This record contains board-specific type-c port information.
* There will be one record per type-C port.
+ * Orientation fields should be of type enum type_c_orientation.
*/
+enum type_c_orientation {
+ /* The orientation of the signal follows the orientation of the CC lines. */
+ TYPEC_ORIENTATION_NONE,
+ /* The orientation of the signal is fixed to follow CC1 */
+ TYPEC_ORIENTATION_NORMAL,
+ /* The orientation of the signal is fixed to follow CC2 */
+ TYPEC_ORIENTATION_REVERSE,
+};
+
struct type_c_port_info {
uint8_t usb2_port_number;
uint8_t usb3_port_number;
diff --git a/src/drivers/intel/pmc_mux/conn/chip.h b/src/drivers/intel/pmc_mux/conn/chip.h
index 461916ed98..96347ae4a0 100644
--- a/src/drivers/intel/pmc_mux/conn/chip.h
+++ b/src/drivers/intel/pmc_mux/conn/chip.h
@@ -3,14 +3,7 @@
#ifndef __DRIVERS_INTEL_PMC_MUX_CONN_H__
#define __DRIVERS_INTEL_PMC_MUX_CONN_H__
-enum typec_orientation {
- /* The orientation of the signal follows the orientation of the CC lines. */
- TYPEC_ORIENTATION_FOLLOW_CC = 0,
- /* The orientation of the signal is fixed to follow CC1 */
- TYPEC_ORIENTATION_NORMAL,
- /* The orientation of the signal is fixed to follow CC2 */
- TYPEC_ORIENTATION_REVERSE,
-};
+#include <boot/coreboot_tables.h>
struct drivers_intel_pmc_mux_conn_config {
/* 1-based port numbers (from SoC point of view) */
@@ -18,9 +11,9 @@ struct drivers_intel_pmc_mux_conn_config {
/* 1-based port numbers (from SoC point of view) */
int usb3_port_number;
/* Orientation of the sideband signals (SBU) */
- enum typec_orientation sbu_orientation;
+ enum type_c_orientation sbu_orientation;
/* Orientation of the High Speed lines */
- enum typec_orientation hsl_orientation;
+ enum type_c_orientation hsl_orientation;
};
/*
diff --git a/src/drivers/intel/pmc_mux/conn/conn.c b/src/drivers/intel/pmc_mux/conn/conn.c
index b6bf371471..7a622c840e 100644
--- a/src/drivers/intel/pmc_mux/conn/conn.c
+++ b/src/drivers/intel/pmc_mux/conn/conn.c
@@ -1,8 +1,10 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#include <acpi/acpigen.h>
+#include <boot/coreboot_tables.h>
#include <console/console.h>
#include <intelblocks/acpi.h>
+
#include "chip.h"
static const char *conn_acpi_name(const struct device *dev)
@@ -12,14 +14,14 @@ static const char *conn_acpi_name(const struct device *dev)
return name;
}
-static const char *orientation_to_str(enum typec_orientation ori)
+static const char *orientation_to_str(enum type_c_orientation ori)
{
switch (ori) {
case TYPEC_ORIENTATION_NORMAL:
return "normal";
case TYPEC_ORIENTATION_REVERSE:
return "reverse";
- case TYPEC_ORIENTATION_FOLLOW_CC: /* Intentional fallthrough */
+ case TYPEC_ORIENTATION_NONE: /* Intentional fallthrough */
default:
return "";
}
@@ -52,11 +54,11 @@ static void conn_fill_ssdt(const struct device *dev)
* The kernel assumes that these Type-C signals (SBUs and HSLs) follow the CC lines,
* unless they are explicitly called out otherwise.
*/
- if (config->sbu_orientation != TYPEC_ORIENTATION_FOLLOW_CC)
+ if (config->sbu_orientation != TYPEC_ORIENTATION_NONE)
acpi_dp_add_string(dsd, "sbu-orientation",
orientation_to_str(config->sbu_orientation));
- if (config->hsl_orientation != TYPEC_ORIENTATION_FOLLOW_CC)
+ if (config->hsl_orientation != TYPEC_ORIENTATION_NONE)
acpi_dp_add_string(dsd, "hsl-orientation",
orientation_to_str(config->hsl_orientation));