Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/evbarm/odroid Decouple sscom console choice from Ex...



details:   https://anonhg.NetBSD.org/src/rev/9cfe3eb745cb
branches:  trunk
changeset: 332534:9cfe3eb745cb
user:      reinoud <reinoud%NetBSD.org@localhost>
date:      Fri Sep 26 18:26:24 2014 +0000

description:
Decouple sscom console choice from Exynos SoC ID

diffstat:

 sys/arch/evbarm/odroid/odroid_start.S |  39 ++++++++++++++++++++++++++--------
 1 files changed, 30 insertions(+), 9 deletions(-)

diffs (67 lines):

diff -r 2bec75dd4382 -r 9cfe3eb745cb sys/arch/evbarm/odroid/odroid_start.S
--- a/sys/arch/evbarm/odroid/odroid_start.S     Fri Sep 26 17:11:05 2014 +0000
+++ b/sys/arch/evbarm/odroid/odroid_start.S     Fri Sep 26 18:26:24 2014 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: odroid_start.S,v 1.3 2014/08/04 18:14:43 reinoud Exp $ */
+/*     $NetBSD: odroid_start.S,v 1.4 2014/09/26 18:26:24 reinoud Exp $ */
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -46,7 +46,7 @@
 
 #include <evbarm/odroid/platform.h>
 
-RCSID("$NetBSD: odroid_start.S,v 1.3 2014/08/04 18:14:43 reinoud Exp $")
+RCSID("$NetBSD: odroid_start.S,v 1.4 2014/09/26 18:26:24 reinoud Exp $")
 
 
 #if defined(VERBOSE_INIT_ARM)
@@ -178,13 +178,20 @@
        str     r0, [r4]                                // save pop_id
 #endif
 
-       /* Pick uart address and initial MMU table for the SoC */
-       mov     r2, #0
-       ubfx    r1, r5, #24, #8
-       cmp     r1, #0xe5
-       movteq  r2, #:upper16:(EXYNOS_CORE_PBASE + EXYNOS5_UART2_OFFSET)
-       cmp     r1, #0xe4
-       movteq  r2, #:upper16:(EXYNOS_CORE_PBASE + EXYNOS4_UART1_OFFSET)
+       /* Pick uart address for the SoC */
+#ifdef EXYNOS4
+       adr     r1, .Lsscom_exynos4_table
+#endif
+#ifdef EXYNO55
+       adr     r1, .Lsscom_exynos5_table
+#endif
+#ifdef SSCOM0CONSOLE
+       ldr     r2, [r1, #0]
+#endif
+#ifdef SSCOM1CONSOLE
+       ldr     r2, [r1, #4]
+#endif
+       add     r2, r2, #EXYNOS_CORE_PBASE
        mcr     p15, 0, r2, c13, c0, 3          // TPIDRURO set (uart address)
 
        /*
@@ -237,6 +244,20 @@
 
        /* NOTREACHED */
 
+
+.Lsscom_exynos4_table:
+       .word   EXYNOS4_UART0_OFFSET
+       .word   EXYNOS4_UART1_OFFSET
+       .word   EXYNOS4_UART2_OFFSET
+       .word   EXYNOS4_UART3_OFFSET
+
+.Lsscom_exynos5_table:
+       .word   EXYNOS5_UART0_OFFSET
+       .word   EXYNOS5_UART1_OFFSET
+       .word   EXYNOS5_UART2_OFFSET
+       .word   EXYNOS5_UART3_OFFSET
+
+
 #if defined(VERBOSE_INIT_ARM)
        .align 0
        .global xputc



Home | Main Index | Thread Index | Old Index