ec/google/chromeec: Add retimer flag for mux device
Not all ports have retimers. Add a property to denote that a particular port has a retimer (instead of assuming that all ports have retimers). BUG=b:263964979 TEST=Verified on guybrush; SSDT shows retimer-switch on port1 when device tree is updated accordingly. Change-Id: I754323236d2912777b63cede0fce2ccf7882cfea Signed-off-by: Prashant Malani <pmalani@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/71663 Reviewed-by: Robert Zieba <robertzieba@google.com> Reviewed-by: Caveh Jalali <caveh@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
c807d55798
commit
8c3fa461f3
|
@ -5,9 +5,11 @@
|
||||||
|
|
||||||
struct ec_google_chromeec_mux_conn_config {
|
struct ec_google_chromeec_mux_conn_config {
|
||||||
/* When set to true, this signifies that the mux device
|
/* When set to true, this signifies that the mux device
|
||||||
* is used as a Type-C mode switch in addition to
|
* is used as a Type-C mode switch. */
|
||||||
* a retimer switch. */
|
|
||||||
bool mode_switch;
|
bool mode_switch;
|
||||||
|
/* When set to true, this signifies that the mux device
|
||||||
|
* is used as a Type-C retimer switch. */
|
||||||
|
bool retimer_switch;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* EC_GOOGLE_CHROMEEC_MUX_CONN_CHIP_H */
|
#endif /* EC_GOOGLE_CHROMEEC_MUX_CONN_CHIP_H */
|
||||||
|
|
|
@ -24,9 +24,14 @@ static void conn_fill_ssdt(const struct device *dev)
|
||||||
|
|
||||||
acpigen_write_name_integer("_ADR", dev->path.generic.id);
|
acpigen_write_name_integer("_ADR", dev->path.generic.id);
|
||||||
|
|
||||||
if (config && config->mode_switch) {
|
if (config) {
|
||||||
struct acpi_dp *dsd = acpi_dp_new_table("_DSD");
|
struct acpi_dp *dsd = acpi_dp_new_table("_DSD");
|
||||||
acpi_dp_add_integer(dsd, "mode-switch", 1);
|
|
||||||
|
if (config->mode_switch)
|
||||||
|
acpi_dp_add_integer(dsd, "mode-switch", 1);
|
||||||
|
if (config->retimer_switch)
|
||||||
|
acpi_dp_add_integer(dsd, "retimer-switch", 1);
|
||||||
|
|
||||||
acpi_dp_write(dsd);
|
acpi_dp_write(dsd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue