Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: debug-ll: rework gemini handling

Gemini can not yet be configured in a multiplatform kernel, but
if we ever get there, enabling one of the gemini platforms
while trying to use DEBUG_LL for another platform can default to
the wrong UART address, as the options are purely based on the
architecture being enabled or not.

This changes the logic to use the gemini default addresses and
the flow control settings only if we have also picked the respective
Kconfig symbols introduced here.

While we're at it, this also reorders the virtual address as
it should be.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Hans Ulli Kroll <ulli.kroll@googlemail.com>

+13 -5
+13 -5
arch/arm/Kconfig.debug
··· 278 278 Say Y here if you want the debug print routines to direct 279 279 their output to the 8250 at PCI COM1. 280 280 281 + config DEBUG_GEMINI 282 + bool "Kernel low-level debugging messages via Cortina Systems Gemini UART" 283 + depends on ARCH_GEMINI 284 + select DEBUG_UART_8250 285 + help 286 + Say Y here if you want kernel low-level debugging support 287 + on Cortina Gemini based platforms. 288 + 281 289 config DEBUG_HI3620_UART 282 290 bool "Hisilicon HI3620 Debug UART" 283 291 depends on ARCH_HI3xxx ··· 1417 1409 # Compatibility options for 8250 1418 1410 config DEBUG_UART_8250 1419 1411 def_bool ARCH_EBSA110 || (FOOTBRIDGE && !DEBUG_DC21285_PORT) || \ 1420 - ARCH_GEMINI || ARCH_IOP13XX || ARCH_IOP32X || \ 1421 - ARCH_IOP33X || ARCH_IXP4XX || ARCH_LPC32XX || ARCH_RPC 1412 + ARCH_IOP13XX || ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || \ 1413 + ARCH_LPC32XX || ARCH_RPC 1422 1414 1423 1415 # Compatibility options for BCM63xx 1424 1416 config DEBUG_UART_BCM63XX ··· 1463 1455 default 0x40081000 if DEBUG_LPC18XX_UART0 1464 1456 default 0x40090000 if ARCH_LPC32XX 1465 1457 default 0x40100000 if DEBUG_PXA_UART1 1466 - default 0x42000000 if ARCH_GEMINI 1458 + default 0x42000000 if DEBUG_GEMINI 1467 1459 default 0x50000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \ 1468 1460 DEBUG_S3C2410_UART0) 1469 1461 default 0x50004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \ ··· 1549 1541 default 0xf1c28000 if DEBUG_SUNXI_UART0 1550 1542 default 0xf1c28400 if DEBUG_SUNXI_UART1 1551 1543 default 0xf1f02800 if DEBUG_SUNXI_R_UART 1544 + default 0xf4200000 if DEBUG_GEMINI 1552 1545 default 0xf6200000 if DEBUG_PXA_UART1 1553 1546 default 0xf4090000 if ARCH_LPC32XX 1554 - default 0xf4200000 if ARCH_GEMINI 1555 1547 default 0xf7000000 if DEBUG_SUN9I_UART0 1556 1548 default 0xf7000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \ 1557 1549 DEBUG_S3C2410_UART0) ··· 1645 1637 config DEBUG_UART_8250_FLOW_CONTROL 1646 1638 bool "Enable flow control for 8250 UART" 1647 1639 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250 1648 - default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_GEMINI || ARCH_RPC 1640 + default y if ARCH_EBSA110 || FOOTBRIDGE || DEBUG_GEMINI || ARCH_RPC 1649 1641 1650 1642 config DEBUG_UNCOMPRESS 1651 1643 bool