2018-05-06 21:58:06 +00:00
|
|
|
# SPDX-License-Identifier: GPL-2.0+
|
Added M5329AFEE and M5329BFEE Platforms
Added board/freescale/m5329evb, cpu/mcf532x, drivers/net,
drivers/serial, immap_5329.h, m5329.h, mcfrtc.h,
include/configs/M5329EVB.h, lib_m68k/interrupts.c, and
rtc/mcfrtc.c
Modified CREDITS, MAKEFILE, Makefile, README, common/cmd_bdinfo.c,
common/cmd_mii.c, include/asm-m68k/byteorder.h, include/asm-m68k/fec.h,
include/asm-m68k/io.h, include/asm-m68k/mcftimer.h,
include/asm-m68k/mcfuart.h, include/asm-m68k/ptrace.h,
include/asm-m68k/u-boot.h, lib_m68k/Makefile, lib_m68k/board.c,
lib_m68k/time.c, net/eth.c and rtc/Makefile
Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
2007-06-18 18:50:13 +00:00
|
|
|
#
|
2009-04-23 11:14:20 +00:00
|
|
|
# (C) Copyright 2006-2009
|
Added M5329AFEE and M5329BFEE Platforms
Added board/freescale/m5329evb, cpu/mcf532x, drivers/net,
drivers/serial, immap_5329.h, m5329.h, mcfrtc.h,
include/configs/M5329EVB.h, lib_m68k/interrupts.c, and
rtc/mcfrtc.c
Modified CREDITS, MAKEFILE, Makefile, README, common/cmd_bdinfo.c,
common/cmd_mii.c, include/asm-m68k/byteorder.h, include/asm-m68k/fec.h,
include/asm-m68k/io.h, include/asm-m68k/mcftimer.h,
include/asm-m68k/mcfuart.h, include/asm-m68k/ptrace.h,
include/asm-m68k/u-boot.h, lib_m68k/Makefile, lib_m68k/board.c,
lib_m68k/time.c, net/eth.c and rtc/Makefile
Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
2007-06-18 18:50:13 +00:00
|
|
|
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
|
|
|
|
2022-12-04 15:14:13 +00:00
|
|
|
ifeq ($(CONFIG_$(SPL_TPL_)DM_SERIAL),y)
|
2018-04-07 14:06:22 +00:00
|
|
|
obj-y += serial-uclass.o
|
2014-09-04 22:27:26 +00:00
|
|
|
else
|
2013-10-17 08:34:57 +00:00
|
|
|
obj-y += serial.o
|
2018-04-07 14:06:22 +00:00
|
|
|
endif
|
|
|
|
|
|
|
|
obj-$(CONFIG_PL01X_SERIAL) += serial_pl01x.o
|
2014-09-22 23:30:57 +00:00
|
|
|
obj-$(CONFIG_PL011_SERIAL) += serial_pl01x.o
|
2022-12-04 14:39:03 +00:00
|
|
|
obj-$(CONFIG_$(SPL_)SYS_NS16550_SERIAL) += serial_ns16550.o
|
2013-10-17 08:34:57 +00:00
|
|
|
|
|
|
|
obj-$(CONFIG_ALTERA_UART) += altera_uart.o
|
|
|
|
obj-$(CONFIG_ALTERA_JTAG_UART) += altera_jtag_uart.o
|
2016-03-16 08:59:57 +00:00
|
|
|
obj-$(CONFIG_AR933X_UART) += serial_ar933x.o
|
2013-10-17 08:34:57 +00:00
|
|
|
obj-$(CONFIG_ARM_DCC) += arm_dcc.o
|
|
|
|
obj-$(CONFIG_ATMEL_USART) += atmel_usart.o
|
2017-04-24 22:39:16 +00:00
|
|
|
obj-$(CONFIG_BCM6345_SERIAL) += serial_bcm6345.o
|
2019-12-20 00:58:20 +00:00
|
|
|
obj-$(CONFIG_COREBOOT_SERIAL) += serial_coreboot.o
|
2020-01-30 20:34:58 +00:00
|
|
|
obj-$(CONFIG_CORTINA_UART) += serial_cortina.o
|
2021-09-12 15:56:09 +00:00
|
|
|
obj-$(CONFIG_DEBUG_SBI_CONSOLE) += serial_sbi.o
|
2015-08-04 18:33:40 +00:00
|
|
|
obj-$(CONFIG_EFI_APP) += serial_efi.o
|
2020-02-29 00:09:35 +00:00
|
|
|
obj-$(CONFIG_MCFUART) += serial_mcf.o
|
2013-10-17 08:34:57 +00:00
|
|
|
obj-$(CONFIG_SYS_NS16550) += ns16550.o
|
2021-02-12 22:22:18 +00:00
|
|
|
obj-$(CONFIG_S5P_SERIAL) += serial_s5p.o
|
2013-10-17 08:34:57 +00:00
|
|
|
obj-$(CONFIG_MXC_UART) += serial_mxc.o
|
2016-05-08 06:30:16 +00:00
|
|
|
obj-$(CONFIG_MESON_SERIAL) += serial_meson.o
|
2017-02-28 12:04:10 +00:00
|
|
|
obj-$(CONFIG_INTEL_MID_SERIAL) += serial_intel_mid.o
|
2016-07-04 17:58:24 +00:00
|
|
|
obj-$(CONFIG_ROCKCHIP_SERIAL) += serial_rockchip.o
|
2013-10-17 08:34:57 +00:00
|
|
|
obj-$(CONFIG_XILINX_UARTLITE) += serial_xuartlite.o
|
|
|
|
obj-$(CONFIG_SANDBOX_SERIAL) += sandbox.o
|
|
|
|
obj-$(CONFIG_SCIF_CONSOLE) += serial_sh.o
|
serial: Add semihosting driver
This adds a serial driver which uses semihosting calls to read and write
to the host's console. For convenience, if CONFIG_DM_SERIAL is enabled,
we will instantiate a serial driver. This allows users to enable this
driver (which has no physical device) without modifying their device
trees or board files. We also implement a non-DM driver for SPL, or for
much faster output in U-Boot proper.
There are three ways to print to the console:
Method Baud
================== =====
smh_putc in a loop 170
smh_puts 1600
smh_write with :tt 20000
================== =====
These speeds were measured using a 175 character message with a J-Link
adapter. For reference, U-Boot typically prints around 2700 characters
during boot on this board. There are two major factors affecting the
speed of these functions. First, each breakpoint incurs a delay. Second,
each debugger memory transaction incurs a delay. smh_putc has a
breakpoint and memory transaction for every character. smh_puts has one
breakpoint, but still has to use a transaction for every character. This
is because we don't know the length up front, so OpenOCD has to check if
each character is nul. smh_write has only one breakpoint and one memory
transfer.
DM serial drivers can only implement a putc interface, so we are stuck
with the slowest API. Non-DM drivers can implement puts, which is vastly
more efficient. When the driver starts up, we try to open :tt. Since
this is an extension, this may fail. If it does, we fall back to
smh_puts. We don't check :semihosting-features, since there are
nonconforming implementations (OpenOCD) which don't implement it (but
*do* implement :tt).
Some semihosting implementations (QEMU) don't handle READC properly. To
work around this, we try to use open/read (much like for stdin) if
possible.
There is no non-blocking I/O available, so we don't implement pending.
This will cause __serial_tstc to always return true. If
CONFIG_SERIAL_RX_BUFFER is enabled, _serial_tstc will try and read
characters forever. To avoid this, we depend on this config being
disabled.
Signed-off-by: Sean Anderson <sean.anderson@seco.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2022-03-22 20:59:24 +00:00
|
|
|
obj-$(CONFIG_SEMIHOSTING_SERIAL) += serial_semihosting.o
|
2013-10-17 08:34:57 +00:00
|
|
|
obj-$(CONFIG_ZYNQ_SERIAL) += serial_zynq.o
|
|
|
|
obj-$(CONFIG_FSL_LPUART) += serial_lpuart.o
|
2016-06-05 00:42:59 +00:00
|
|
|
obj-$(CONFIG_FSL_LINFLEXUART) += serial_linflexuart.o
|
2013-12-13 06:35:11 +00:00
|
|
|
obj-$(CONFIG_ARC_SERIAL) += serial_arc.o
|
2014-10-03 10:21:05 +00:00
|
|
|
obj-$(CONFIG_UNIPHIER_SERIAL) += serial_uniphier.o
|
2015-03-01 11:44:41 +00:00
|
|
|
obj-$(CONFIG_STM32_SERIAL) += serial_stm32.o
|
2017-02-21 12:37:07 +00:00
|
|
|
obj-$(CONFIG_STI_ASC_SERIAL) += serial_sti_asc.o
|
2016-01-28 10:00:14 +00:00
|
|
|
obj-$(CONFIG_PIC32_SERIAL) += serial_pic32.o
|
2016-03-19 03:41:38 +00:00
|
|
|
obj-$(CONFIG_BCM283X_MU_SERIAL) += serial_bcm283x_mu.o
|
2018-01-25 11:05:55 +00:00
|
|
|
obj-$(CONFIG_BCM283X_PL011_SERIAL) += serial_bcm283x_pl011.o
|
2016-03-31 21:12:14 +00:00
|
|
|
obj-$(CONFIG_MSM_SERIAL) += serial_msm.o
|
2021-10-17 10:44:27 +00:00
|
|
|
obj-$(CONFIG_MSM_GENI_SERIAL) += serial_msm_geni.o
|
2016-05-17 14:36:00 +00:00
|
|
|
obj-$(CONFIG_MVEBU_A3700_UART) += serial_mvebu_a3700.o
|
2017-07-06 08:33:27 +00:00
|
|
|
obj-$(CONFIG_MPC8XX_CONS) += serial_mpc8xx.o
|
2017-08-25 03:29:07 +00:00
|
|
|
obj-$(CONFIG_NULLDEV_SERIAL) += serial_nulldev.o
|
2022-04-19 05:32:21 +00:00
|
|
|
obj-$(CONFIG_NPCM_SERIAL) += serial_npcm.o
|
2021-04-07 07:12:31 +00:00
|
|
|
obj-$(CONFIG_OCTEON_SERIAL_BOOTCMD) += serial_octeon_bootcmd.o
|
2021-04-07 07:12:30 +00:00
|
|
|
obj-$(CONFIG_OCTEON_SERIAL_PCIE_CONSOLE) += serial_octeon_pcie_console.o
|
2018-06-14 18:08:38 +00:00
|
|
|
obj-$(CONFIG_OWL_SERIAL) += serial_owl.o
|
2018-08-27 10:25:24 +00:00
|
|
|
obj-$(CONFIG_OMAP_SERIAL) += serial_omap.o
|
2018-11-15 02:08:02 +00:00
|
|
|
obj-$(CONFIG_MTK_SERIAL) += serial_mtk.o
|
2020-11-12 08:36:05 +00:00
|
|
|
obj-$(CONFIG_MT7620_SERIAL) += serial_mt7620.o
|
2022-01-27 06:11:07 +00:00
|
|
|
obj-$(CONFIG_HTIF_CONSOLE) += serial_htif.o
|
2018-12-15 06:05:15 +00:00
|
|
|
obj-$(CONFIG_SIFIVE_SERIAL) += serial_sifive.o
|
2020-08-06 09:42:50 +00:00
|
|
|
obj-$(CONFIG_XEN_SERIAL) += serial_xen.o
|
2022-12-18 12:25:33 +00:00
|
|
|
obj-$(CONFIG_S5P4418_PL011_SERIAL) += serial_s5p4418_pl011.o
|
2011-07-13 05:11:06 +00:00
|
|
|
|
|
|
|
ifndef CONFIG_SPL_BUILD
|
2013-10-17 08:34:57 +00:00
|
|
|
obj-$(CONFIG_USB_TTY) += usbtty.o
|
2011-07-13 05:11:06 +00:00
|
|
|
endif
|