[PATCH v4 05/12] ARM: EXYNOS: add support uart for EXYNOS4 and EXYNOS5
Thomas Abraham
thomas.abraham at linaro.org
Mon Mar 26 10:12:12 EDT 2012
2012/3/22 Kukjin Kim <kgene.kim at samsung.com>:
> On 03/21/12 03:45, Marek Szyprowski wrote:
>>
>> Hello,
>>
>> On Wednesday, March 21, 2012 10:14 AM Thomas Abraham wrote:
>>
>>> On 14 March 2012 20:12, Kukjin Kim<kgene.kim at samsung.com> wrote:
>>>>
>>>> Actually, the base address of uart is different between EXYNOS4
>>>> and EXYNOS5 and this patch enables to support uart for EXYNOS4
>>>> and EXYNOS5 SoCs at runtime.
>>>>
>>>> Signed-off-by: Kukjin Kim<kgene.kim at samsung.com>
>>>> ---
>>>
>>>
>>> [...]
>>>
>>>> diff --git a/arch/arm/mach-exynos/include/mach/debug-macro.S
>>>> b/arch/arm/mach-
>>>
>>> exynos/include/mach/debug-macro.S
>>>>
>>>> index 6cacf16..6c857ff 100644
>>>> --- a/arch/arm/mach-exynos/include/mach/debug-macro.S
>>>> +++ b/arch/arm/mach-exynos/include/mach/debug-macro.S
>>>> @@ -21,8 +21,13 @@
>>>> */
>>>>
>>>> .macro addruart, rp, rv, tmp
>>>> - ldr \rp, = S3C_PA_UART
>>>> - ldr \rv, = S3C_VA_UART
>>>> + mov \rp, #0x10000000
>>>
>>>
>>> This is physical address of Exynos4/5 CPUID register which cannot be
>>> used here. And virtual address S5P_VA_CPUID also cannot be used here
>>> since this will be called before paging_init when earlyprintk boot
>>> param is used. So, with this change, earlyprintk does not work for
>>> both Exynos4 and Exynos5.
>>
>>
>> I confirm, printascii freeze the system on EXYNOS4 after that patch,
>> tested on Exynos4210 Nuri board.
>>
> Hi,
>
> I think, it can be solved with following and if no problems, it will be
> fixed during v3.4-rcX.
>
> diff --git a/arch/arm/mach-exynos/include/mach/debug-macro.S
> b/arch/arm/mach-exynos/in
> index 6c857ff..a865417 100644
> --- a/arch/arm/mach-exynos/include/mach/debug-macro.S
> +++ b/arch/arm/mach-exynos/include/mach/debug-macro.S
> @@ -21,10 +21,10 @@
>
> */
>
> .macro addruart, rp, rv, tmp
> - mov \rp, #0x10000000
> - ldr \rp, [\rp, #0x0]
> - and \rp, \rp, #0xf00000
> - teq \rp, #0x500000 @@ EXYNOS5
> + mrc p15, 0, \tmp, c0, c0, 0
> + and \tmp, \tmp, #0xf0
> + teq \tmp, #0xf0 @@ A15
> +
> ldreq \rp, =EXYNOS5_PA_UART
>
> movne \rp, #EXYNOS4_PA_UART @@ EXYNOS4
> ldr \rv, =S3C_VA_UART
>
Dear Mr. Kim,
I have tested the above patch on Exynos5. Thanks.
Tested-by: Thomas Abraham <thomas.abraham at linaro.org>
More information about the linux-arm-kernel
mailing list