[RESEND][PATCH] ARM: debug: add support for Palmchip 16550-like UART
slash.tmp at free.fr
Wed Nov 4 07:59:05 PST 2015
On 04/11/2015 16:47, Måns Rullgård wrote:
> Mason writes:
>> On 27/10/2015 13:57, Mans Rullgard wrote:
>>> Some SoCs have a Palmchip UART with a non-standard register layout.
>>> This allows the debug console to work with these.
>>> Signed-off-by: Mans Rullgard <mans at mansr.com>
>>> arch/arm/Kconfig.debug | 8 ++++++++
>>> arch/arm/include/debug/8250.S | 12 ++++++++++++
>>> 2 files changed, 20 insertions(+)
>>> diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
>>> index 0cfd7f9..9039fff 100644
>>> --- a/arch/arm/Kconfig.debug
>>> +++ b/arch/arm/Kconfig.debug
>>> @@ -1597,6 +1597,14 @@ config DEBUG_UART_8250_WORD
>>> DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2 || \
>>> +config DEBUG_UART_8250_PALMCHIP
>>> + bool "8250 UART is Palmchip variant"
>>> + depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
>> I am 100% clueless about the UART sequence in Linux.
>> There's earlyprintk, the boot console (polled?), the "full-blown"
>> console (with IRQs)...
>> If I want earlyprintk, I have to enable DEBUG_LL (?) so I'll have
>> DEBUG_LL_UART_8250, right? There's no way to pick DEBUG_UART_8250
>> in menuconfig, is there?
>> So I picked the following options:
>> # CONFIG_DEBUG_ICEDCC is not set
>> # CONFIG_DEBUG_SEMIHOSTING is not set
>> # CONFIG_DEBUG_LL_UART_PL01X is not set
>> # CONFIG_DEBUG_UART_8250 is not set
>> # CONFIG_DEBUG_UART_BCM63XX is not set
>> # CONFIG_DEBUG_UART_8250_FLOW_CONTROL is not set
> Those are the settings I use.
>> I suppose I have to provide DEBUG_UART_PHYS because it needs
>> the address before it can parse the DT? But how am I supposed
>> to know the virtual address? Isn't that from iomap(UART_PHYS)?
> The decompression code and early setup don't have that luxury.
But how am I supposed to compute the virtual address?
Can I set DEBUG_UART_VIRT to 0xdeadbeef? :-)
Also is it expected that setting DEBUG_LL forces make to recompile
every source file in the source tree?
More information about the linux-arm-kernel