[PATCH v3 2/2] ARM: add lolevel debug support for asm9260
Oleksij Rempel
linux at rempel-privat.de
Tue Nov 4 23:13:35 PST 2014
Should i resend complete patchset, or it is enough to send only updated
patch?
Am 03.11.2014 um 15:46 schrieb Rob Herring:
> On Mon, Nov 3, 2014 at 10:14 PM, Oleksij Rempel <linux at rempel-privat.de> wrote:
>> Since there is no public documentation, this patch also provide register
>> offsets for different UART units on this SoC.
>>
>> Signed-off-by: Oleksij Rempel <linux at rempel-privat.de>
>> ---
>> arch/arm/Kconfig.debug | 31 ++++++++++++++++++++++++++++---
>> arch/arm/include/debug/asm9260.S | 31 +++++++++++++++++++++++++++++++
>> 2 files changed, 59 insertions(+), 3 deletions(-)
>> create mode 100644 arch/arm/include/debug/asm9260.S
>>
>> diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
>> index d8f6a2e..66c29db 100644
>> --- a/arch/arm/Kconfig.debug
>> +++ b/arch/arm/Kconfig.debug
>> @@ -93,6 +93,27 @@ choice
>> prompt "Kernel low-level debugging port"
>> depends on DEBUG_LL
>>
>> + config DEBUG_ASM9260_UART
>> + bool "Kernel low-level debugging via asm9260 UART"
>> + depends on MACH_ASM9260
>> + help
>> + Say Y here if you want the debug print routines to direct
>> + their output to an UART or USART port on asm9260 based
>> + machines.
>> +
>> + DEBUG_UART_PHYS | DEBUG_UART_VIRT
>> +
>> + 0x80000000 | 0xf0000000 | UART0
>> + 0x80004000 | 0xf0004000 | UART1
>> + 0x80008000 | 0xf0008000 | UART2
>> + 0x8000c000 | 0xf000c000 | UART3
>> + 0x80010000 | 0xf0010000 | UART4
>> + 0x80014000 | 0xf0014000 | UART5
>> + 0x80018000 | 0xf0018000 | UART6
>> + 0x8001c000 | 0xf001c000 | UART7
>> + 0x80020000 | 0xf0020000 | UART8
>> + 0x80024000 | 0xf0024000 | UART9
>> +
>> config AT91_DEBUG_LL_DBGU0
>> bool "Kernel low-level debugging on rm9200, 9260/9g20, 9261/9g10 and 9rl"
>> depends on HAVE_AT91_DBGU0
>> @@ -1042,6 +1063,7 @@ config DEBUG_STI_UART
>> config DEBUG_LL_INCLUDE
>> string
>> default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
>> + default "debug/asm9260.S" if DEBUG_ASM9260_UART
>> default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2
>> default "debug/meson.S" if DEBUG_MESON_UARTAO
>> default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
>> @@ -1135,6 +1157,7 @@ config DEBUG_UART_PHYS
>> default 0x78000000 if DEBUG_CNS3XXX
>> default 0x7c0003f8 if FOOTBRIDGE
>> default 0x78000000 if DEBUG_CNS3XXX
>> + default 0x80010000 if DEBUG_ASM9260_UART
>> default 0x80070000 if DEBUG_IMX23_UART
>> default 0x80074000 if DEBUG_IMX28_UART
>> default 0x80230000 if DEBUG_PICOXCELL_UART
>> @@ -1171,13 +1194,14 @@ config DEBUG_UART_PHYS
>> DEBUG_LL_UART_EFM32 || \
>> DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
>> DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
>> - DEBUG_UART_BCM63XX
>> + DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART
>>
>> config DEBUG_UART_VIRT
>> hex "Virtual base address of debug UART"
>> default 0xe0010fe0 if ARCH_RPC
>> default 0xe1000000 if DEBUG_MSM_UART
>> default 0xf0000be0 if ARCH_EBSA110
>> + default 0xf0010000 if DEBUG_ASM9260_UART
>> default 0xf01fb000 if DEBUG_NOMADIK_UART
>> default 0xf0201000 if DEBUG_BCM2835
>> default 0xf1000300 if DEBUG_BCM_5301X
>> @@ -1244,7 +1268,7 @@ config DEBUG_UART_VIRT
>> depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
>> DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
>> DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
>> - DEBUG_UART_BCM63XX
>> + DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART
>>
>> config DEBUG_UART_8250_SHIFT
>> int "Register offset shift for the 8250 debug UART"
>> @@ -1286,7 +1310,8 @@ config DEBUG_UNCOMPRESS
>> config UNCOMPRESS_INCLUDE
>> string
>> default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
>> - PLAT_SAMSUNG || ARCH_EFM32
>> + PLAT_SAMSUNG || ARCH_EFM32 || \
>> + MACH_ASM9260
>
> This should not be needed as multi-platform is enabled.
>
>> default "mach/uncompress.h"
>>
>> config EARLY_PRINTK
>> diff --git a/arch/arm/include/debug/asm9260.S b/arch/arm/include/debug/asm9260.S
>> new file mode 100644
>> index 0000000..c70d51f
>> --- /dev/null
>> +++ b/arch/arm/include/debug/asm9260.S
>> @@ -0,0 +1,31 @@
>> +/* arch/arm/mach-imx/include/mach/debug-macro.S
>
> Wrong filename. Just remove this.
>
>> + *
>> + * Debugging macro include header
>> + *
>> + * Copyright (C) 1994-1999 Russell King
>> + * Moved from linux/arch/arm/kernel/debug.S by Ben Dooks
>> + * Modified for ASM9260 by Oleksij Remepl <linux at rempel-privat.de>
>> + *
>> + * This program is free software; you can redistribute it and/or modify
>> + * it under the terms of the GNU General Public License version 2 as
>> + * published by the Free Software Foundation.
>> + *
>> + */
>> +
>> + .macro addruart, rp, rv, tmp
>> + ldr \rp, = CONFIG_DEBUG_UART_PHYS
>> + ldr \rv, = CONFIG_DEBUG_UART_VIRT
>> + .endm
>> +
>> + .macro waituart,rd,rx
>> + .endm
>> +
>> + .macro senduart,rd,rx
>> + str \rd, [\rx, #0x50] @ TXDATA
>> + .endm
>> +
>> + .macro busyuart,rd,rx
>> +1002: ldr \rd, [\rx, #0x60] @ STAT
>> + tst \rd, #1 << 27 @ TXEMPTY
>> + beq 1002b @ wait until transmit done
>> + .endm
>> --
>> 1.9.1
>>
--
Regards,
Oleksij
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 213 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20141105/4c410ee5/attachment.sig>
More information about the linux-arm-kernel
mailing list