
On Wed, Jul 10, 2019 at 3:02 AM Park, Aiden aiden.park@intel.com wrote:
Slim Bootloader provides serial port info thru its HOB list pointer. All these HOBs are eligible for Slim Bootloader based board only.
- Get serial port information from the serial port info hob
- Leverage ns16550 driver with slimbootloader specific platform data
Signed-off-by: Aiden Park aiden.park@intel.com
Changes in v3:
- Use HOB function from the common HOB library
arch/x86/cpu/slimbootloader/Makefile | 2 +- arch/x86/cpu/slimbootloader/serial.c | 69 +++++++++++++++++++ .../asm/arch-slimbootloader/slimbootloader.h | 36 ++++++++++ 3 files changed, 106 insertions(+), 1 deletion(-) create mode 100644 arch/x86/cpu/slimbootloader/serial.c
diff --git a/arch/x86/cpu/slimbootloader/Makefile b/arch/x86/cpu/slimbootloader/Makefile index 05d0ca4a19..68c4a91955 100644 --- a/arch/x86/cpu/slimbootloader/Makefile +++ b/arch/x86/cpu/slimbootloader/Makefile @@ -2,4 +2,4 @@ # # Copyright (C) 2019 Intel Corporation <www.intel.com>
-obj-y += car.o slimbootloader.o dram.o +obj-y += car.o slimbootloader.o dram.o serial.o diff --git a/arch/x86/cpu/slimbootloader/serial.c b/arch/x86/cpu/slimbootloader/serial.c new file mode 100644 index 0000000000..84469a2ddf --- /dev/null +++ b/arch/x86/cpu/slimbootloader/serial.c @@ -0,0 +1,69 @@ +// SPDX-License-Identifier: GPL-2.0+ +/*
- Copyright (C) 2019 Intel Corporation <www.intel.com>
- */
+#include <common.h> +#include <dm.h> +#include <ns16550.h> +#include <serial.h> +#include <asm/arch/slimbootloader.h>
+/**
- The serial port info hob is generated by Slim Bootloader, so eligible for
- Slim Bootloader based boards only.
- */
+int slimbootloader_serial_ofdata_to_platdata(struct udevice *dev)
This should be static.
+{
const struct efi_guid guid = LOADER_SERIAL_PORT_INFO_GUID;
struct serial_port_info *serial_info = NULL;
struct ns16550_platdata *plat = dev->platdata;
if (!gd->arch.hob_list)
panic("hob list not found!");
[snip]
Other than that, Reviewed-by: Bin Meng bmeng.cn@gmail.com