Google
  Web www.spinics.net

Re: [PATCH v4 05/12] ARM: EXYNOS: add support uart for EXYNOS4 and EXYNOS5

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


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@xxxxxxxxxxx>  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@xxxxxxxxxxx>
---

[...]

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


Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@xxxxxxxxxxx>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Home]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Video Projectors]     [PDAs]     [Free Online Dating]     [Hacking TiVo]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Devices]     [Big List of Linux Books]     [16.7MP]

Add to Google Powered by Linux