浏览代码

[ARM] S3C64XX: Common init code for S3C6400 and S3C6410

Add the common initialisation code for both the
S3C6400 and S3C6410, the UART registration.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks 16 年之前
父节点
当前提交
aa64ea3f78

+ 1 - 0
arch/arm/mach-s3c6410/Kconfig

@@ -9,6 +9,7 @@
 
 config CPU_S3C6410
 	bool
+	select CPU_S3C6400_INIT
 	help
 	  Enable S3C6410 CPU support
 

+ 6 - 0
arch/arm/plat-s3c64xx/Kconfig

@@ -21,4 +21,10 @@ if PLAT_S3C64XX
 
 # Configuration options shared by all S3C64XX implementations
 
+config CPU_S3C6400_INIT
+	bool
+	help
+	  Common initialisation code for the S3C6400 that is shared
+	  by other CPUs in the series, such as the S3C6410.
+
 endif

+ 4 - 0
arch/arm/plat-s3c64xx/Makefile

@@ -15,3 +15,7 @@ obj-				:=
 obj-y				+= dev-uart.o
 obj-y				+= cpu.o
 obj-y				+= irq.o
+
+# CPU support
+
+obj-$(CONFIG_CPU_S3C6400_INIT)	+= s3c6400-init.o

+ 29 - 0
arch/arm/plat-s3c64xx/s3c6400-init.c

@@ -0,0 +1,29 @@
+/* linux/arch/arm/plat-s3c64xx/s3c6400-init.c
+ *
+ * Copyright 2008 Openmoko, Inc.
+ * Copyright 2008 Simtec Electronics
+ *      Ben Dooks <ben@simtec.co.uk>
+ *      http://armlinux.simtec.co.uk/
+ *
+ * S3C6400 - CPU initialisation (common with other S3C64XX chips)
+ *
+ * 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.
+ */
+
+#include <linux/kernel.h>
+#include <linux/types.h>
+#include <linux/init.h>
+
+#include <plat/cpu.h>
+#include <plat/devs.h>
+#include <plat/s3c6400.h>
+#include <plat/s3c6410.h>
+
+/* uart registration process */
+
+void __init s3c6400_common_init_uarts(struct s3c2410_uartcfg *cfg, int no)
+{
+	s3c24xx_init_uartdevs("s3c6400-uart", s3c64xx_uart_resources, cfg, no);
+}