Jonathon Hall has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/68551 )
Change subject: purism/librem_cnl: Add Kconfig to enable Mini UART ......................................................................
purism/librem_cnl: Add Kconfig to enable Mini UART
Librem Mini has a UART (accessible with soldering), which is very useful for work on coreboot. It can be used for coreboot/SeaBIOS/Linux boot logs, or as a general purpose UART.
Change-Id: I38ad5f19da6af5ed286ad3583f34b824a3660916 Signed-off-by: Jonathon Hall jonathon.hall@puri.sm --- M src/mainboard/purism/librem_cnl/Kconfig M src/mainboard/purism/librem_cnl/variants/librem_mini/Makefile.inc A src/mainboard/purism/librem_cnl/variants/librem_mini/com_init.c 3 files changed, 44 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/51/68551/1
diff --git a/src/mainboard/purism/librem_cnl/Kconfig b/src/mainboard/purism/librem_cnl/Kconfig index 39b0883..f0fd6a8 100644 --- a/src/mainboard/purism/librem_cnl/Kconfig +++ b/src/mainboard/purism/librem_cnl/Kconfig @@ -60,3 +60,19 @@ default y
endif + +config ENABLE_EC_UART1 + bool "Enable EC UART1" + depends on BOARD_PURISM_LIBREM_MINI || BOARD_PURISM_LIBREM_MINI_V2 + default n + select DRIVERS_UART_8250IO + help + Enable UART1 on the EC. + + This UART can be used for boot logging by coreboot, SeaBIOS, or + Linux. It also works as a general-purpose UART. + + Soldering is required to access these signals. Locate the pads for + U81 on the bottom of the board near the front edge; the IC is not + populated. TX is pin 14, RX is pin 19. The signals are 3.3V (do NOT + connect directly to an RS-232 serial port). diff --git a/src/mainboard/purism/librem_cnl/variants/librem_mini/Makefile.inc b/src/mainboard/purism/librem_cnl/variants/librem_mini/Makefile.inc index 20ff438..59020ef00 100644 --- a/src/mainboard/purism/librem_cnl/variants/librem_mini/Makefile.inc +++ b/src/mainboard/purism/librem_cnl/variants/librem_mini/Makefile.inc @@ -2,3 +2,4 @@
all-y += die.c smm-y += die.c +bootblock-$(CONFIG_ENABLE_EC_UART1) += com_init.c diff --git a/src/mainboard/purism/librem_cnl/variants/librem_mini/com_init.c b/src/mainboard/purism/librem_cnl/variants/librem_mini/com_init.c new file mode 100644 index 0000000..6d0f79f --- /dev/null +++ b/src/mainboard/purism/librem_cnl/variants/librem_mini/com_init.c @@ -0,0 +1,13 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include <bootblock_common.h> +#include <device/pnp_ops.h> + +#define SERIAL_DEV PNP_DEV(0x6E, 1) /* ITE8528 UART1 */ + +void bootblock_mainboard_early_init(void) +{ + /* Enable the serial port inside the EC */ + pnp_set_logical_device(SERIAL_DEV); + pnp_set_enable(SERIAL_DEV, 1); +}