Allow the platform to override the input clock for the UART by implementing the routine uart_platform_refclk and setting the Kconfig value UART_OVERRIDE_REFCLK. Provide a default uart_platform_refclk routine which is disabled when UART_OVERRIDE_REFCLK is selected. This works around ROMCC not supporting weak routines. Testing on Galileo: * Edit the src/mainboard/intel/galileo/Makefile.inc file: * Add "select ADD_FSP_PDAT_FILE" * Add "select ADD_FSP_RAW_BIN" * Add "select ADD_RMU_FILE" * Place the FSP.bin file in the location specified by CONFIG_FSP_FILE * Place the pdat.bin files in the location specified by CONFIG_FSP_PDAT_FILE * Place the rmu.bin file in the location specified by CONFIG_RMU_FILE * Build EDK2 CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc to generate UEFIPAYLOAD.fd * Testing is successful when CorebootPayloadPkg is able to properly initialize the serial port without using built-in values. Change-Id: If4afc45a828e5ba935fecb6d95b239625e912d14 Signed-off-by: Lee Leahy <leroy.p.leahy@intel.com> Reviewed-on: https://review.coreboot.org/14612 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth <martinroth@google.com>
75 lines
1.5 KiB
Text
75 lines
1.5 KiB
Text
config DRIVERS_UART
|
|
bool
|
|
default y if CONSOLE_SERIAL
|
|
default n
|
|
|
|
config DRIVERS_UART_8250IO
|
|
bool "Serial port on SuperIO"
|
|
depends on !ARCH_ARM
|
|
default n if NO_UART_ON_SUPERIO
|
|
default y if ARCH_X86
|
|
|
|
# Select this for mainboard without SuperIO serial port.
|
|
config NO_UART_ON_SUPERIO
|
|
def_bool n
|
|
|
|
config UART_OVERRIDE_INPUT_CLOCK_DIVIDER
|
|
boolean
|
|
default n
|
|
help
|
|
Set to "y" when the platform overrides the uart_input_clock_divider
|
|
routine.
|
|
|
|
config UART_OVERRIDE_REFCLK
|
|
boolean
|
|
default n
|
|
help
|
|
Set to "y" when the platform overrides the uart_platform_refclk
|
|
routine.
|
|
|
|
config DRIVERS_UART_8250MEM
|
|
bool
|
|
default n
|
|
|
|
config DRIVERS_UART_8250MEM_32
|
|
bool
|
|
default n
|
|
select DRIVERS_UART_8250MEM
|
|
|
|
config HAVE_UART_SPECIAL
|
|
bool
|
|
default n
|
|
|
|
config DRIVERS_UART_OXPCIE
|
|
bool "Oxford OXPCIe952"
|
|
default n
|
|
depends on PCI
|
|
select DRIVERS_UART_8250MEM
|
|
select EARLY_PCI_BRIDGE
|
|
select UART_OVERRIDE_REFCLK
|
|
help
|
|
Support for Oxford OXPCIe952 serial port PCIe cards.
|
|
Currently only devices with the vendor ID 0x1415 and device ID
|
|
0xc158 or 0xc11b will work.
|
|
|
|
config DRIVERS_UART_PL011
|
|
bool
|
|
default n
|
|
select HAVE_UART_SPECIAL
|
|
|
|
config UART_USE_REFCLK_AS_INPUT_CLOCK
|
|
bool
|
|
default n
|
|
help
|
|
Use uart_platform_refclk to specify the input clock value.
|
|
|
|
config UART_PCI_ADDR
|
|
hex "UART's PCI bus, device, function address"
|
|
default 0
|
|
help
|
|
Specify zero if the UART is connected to another bus type.
|
|
For PCI based UARTs, build the value as:
|
|
* 1 << 31 - Valid bit, PCI UART in use
|
|
* Bus << 20
|
|
* Device << 15
|
|
* Function << 12
|