Patrick Georgi has submitted this change. ( https://review.coreboot.org/c/coreboot/+/50780 )
Change subject: soc/amd/picasso/uart: move uart_inject_ssdt to common code ......................................................................
soc/amd/picasso/uart: move uart_inject_ssdt to common code
Signed-off-by: Felix Held felix-coreboot@felixheld.de Change-Id: Ic033fc2817d44ff873f93a45e069c0e8aa0be99f Reviewed-on: https://review.coreboot.org/c/coreboot/+/50780 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Marshall Dawson marshalldawson3rd@gmail.com --- M src/soc/amd/common/block/include/amdblocks/uart.h M src/soc/amd/common/block/uart/Makefile.inc A src/soc/amd/common/block/uart/uart_acpi.c M src/soc/amd/picasso/uart.c 4 files changed, 19 insertions(+), 11 deletions(-)
Approvals: build bot (Jenkins): Verified Marshall Dawson: Looks good to me, approved
diff --git a/src/soc/amd/common/block/include/amdblocks/uart.h b/src/soc/amd/common/block/include/amdblocks/uart.h index 95d7323..4fd1b59 100644 --- a/src/soc/amd/common/block/include/amdblocks/uart.h +++ b/src/soc/amd/common/block/include/amdblocks/uart.h @@ -3,8 +3,10 @@ #ifndef AMD_BLOCK_UART_H #define AMD_BLOCK_UART_H
+#include <device/device.h> #include <types.h>
uintptr_t get_uart_base(unsigned int idx); /* get MMIO base address of FCH UART */ +void uart_inject_ssdt(const struct device *dev);
#endif /* AMD_BLOCK_UART_H */ diff --git a/src/soc/amd/common/block/uart/Makefile.inc b/src/soc/amd/common/block/uart/Makefile.inc index 664c520..6982fcf 100644 --- a/src/soc/amd/common/block/uart/Makefile.inc +++ b/src/soc/amd/common/block/uart/Makefile.inc @@ -6,4 +6,6 @@ smm-$(CONFIG_AMD_SOC_CONSOLE_UART) += uart_console.c endif
+ramstage-$(CONFIG_HAVE_ACPI_TABLES) += uart_acpi.c + endif # CONFIG_SOC_AMD_COMMON_BLOCK_UART diff --git a/src/soc/amd/common/block/uart/uart_acpi.c b/src/soc/amd/common/block/uart/uart_acpi.c new file mode 100644 index 0000000..eb17322 --- /dev/null +++ b/src/soc/amd/common/block/uart/uart_acpi.c @@ -0,0 +1,15 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include <acpi/acpigen.h> +#include <amdblocks/uart.h> +#include <device/device.h> + +/* This gets called for both enabled and disabled devices. */ +void uart_inject_ssdt(const struct device *dev) +{ + acpigen_write_scope(acpi_device_path(dev)); + + acpigen_write_STA(acpi_device_status(dev)); + + acpigen_pop_len(); /* Scope */ +} diff --git a/src/soc/amd/picasso/uart.c b/src/soc/amd/picasso/uart.c index 24bc2c0..2767817 100644 --- a/src/soc/amd/picasso/uart.c +++ b/src/soc/amd/picasso/uart.c @@ -1,6 +1,5 @@ /* SPDX-License-Identifier: GPL-2.0-only */
-#include <acpi/acpigen.h> #include <console/console.h> #include <commonlib/helpers.h> #include <device/device.h> @@ -103,16 +102,6 @@ } }
-/* This gets called for both enabled and disabled devices. */ -static void uart_inject_ssdt(const struct device *dev) -{ - acpigen_write_scope(acpi_device_path(dev)); - - acpigen_write_STA(acpi_device_status(dev)); - - acpigen_pop_len(); /* Scope */ -} - struct device_operations picasso_uart_mmio_ops = { .read_resources = noop_read_resources, .set_resources = noop_set_resources,