soc/intel: Clean mess around UART_DEBUG
Everything is wrong here, the Kconfig symbols are only the tip of the iceberg. Based on Kconfig prompts the SoC code performed pad configu- rations! I don't see why the person who configures coreboot should have the board schematics at hand. As a mitigation, we remove the prompts for UART_DEBUG, which is renamed to INTEL_LPSS_UART_FOR_CONSOLE (because the former didn't really say what it's about), and for UART_FOR_CONSOLE in case the former is selec- ted. Change-Id: Ibe2ed3cab0bb04bb23989c22da45299f088c758b Signed-off-by: Nico Huber <nico.h@gmx.de> Reviewed-on: https://review.coreboot.org/c/29573 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
This commit is contained in:
@@ -15,3 +15,14 @@ config SOC_INTEL_COMMON_BLOCK_UART_LPSS_CLK_N_VAL
|
||||
hex
|
||||
help
|
||||
Clock m-divisor value for m/n divider
|
||||
|
||||
config INTEL_LPSS_UART_FOR_CONSOLE
|
||||
bool
|
||||
depends on SOC_INTEL_COMMON_BLOCK_UART
|
||||
select DRIVERS_UART_8250MEM_32
|
||||
select FIXED_UART_FOR_CONSOLE
|
||||
help
|
||||
Selected by mainboards that use one of the SoC's LPSS UARTS
|
||||
for the coreboot console.
|
||||
WARNING: UART_FOR_CONSOLE has to be set to a correct value,
|
||||
otherwise wrong pad configurations might be selected.
|
||||
|
||||
@@ -88,12 +88,11 @@ void uart_common_init(struct device *device, uintptr_t baseaddr)
|
||||
struct device *uart_get_device(void)
|
||||
{
|
||||
/*
|
||||
* This function will get called even if UART_DEBUG config options is
|
||||
* not selected.
|
||||
* By default returning NULL in case CONFIG_UART_DEBUG option is not
|
||||
* selected to avoid compilation errors.
|
||||
* This function will get called even if INTEL_LPSS_UART_FOR_CONSOLE
|
||||
* config option is not selected.
|
||||
* By default return NULL in this case to avoid compilation errors.
|
||||
*/
|
||||
if (!IS_ENABLED(CONFIG_UART_DEBUG))
|
||||
if (!IS_ENABLED(CONFIG_INTEL_LPSS_UART_FOR_CONSOLE))
|
||||
return NULL;
|
||||
|
||||
int console_index = uart_get_valid_index();
|
||||
@@ -157,7 +156,8 @@ static void uart_read_resources(struct device *dev)
|
||||
pci_dev_read_resources(dev);
|
||||
|
||||
/* Set the configured UART base address for the debug port */
|
||||
if (IS_ENABLED(CONFIG_UART_DEBUG) && uart_is_debug_controller(dev)) {
|
||||
if (IS_ENABLED(CONFIG_INTEL_LPSS_UART_FOR_CONSOLE) &&
|
||||
uart_is_debug_controller(dev)) {
|
||||
struct resource *res = find_resource(dev, PCI_BASE_ADDRESS_0);
|
||||
/* Need to set the base and size for the resource allocator. */
|
||||
res->base = UART_BASE(CONFIG_UART_FOR_CONSOLE);
|
||||
|
||||
Reference in New Issue
Block a user