From: Koen Martens <linuxarm@metro.cx>
To: linux-arm-kernel@lists.arm.linux.org.uk, ben@simtec.co.uk,
linux-kernel@vger.kernel.org
Subject: [patch 1/14] s3c2412/s3c2413 support
Date: Fri, 03 Mar 2006 11:58:52 +0100 [thread overview]
Message-ID: <4408216C.4020205@metro.cx> (raw)
Added s3c2412 detection.
Signed-off-by: Koen Martens <gmc@sonologic.nl>
--- linux-2.6.15.4/arch/arm/mach-s3c2410/cpu.c 2006-02-10
08:22:48.000000000 +0100
+++ golinux/arch/arm/mach-s3c2410/cpu.c 2006-03-03 11:30:43.000000000
+0100
@@ -41,6 +41,7 @@
#include "cpu.h"
#include "clock.h"
#include "s3c2410.h"
+#include "s3c2412.h"
#include "s3c2440.h"
struct cpu_table {
@@ -58,6 +59,7 @@
static const char name_s3c2410[] = "S3C2410";
static const char name_s3c2440[] = "S3C2440";
static const char name_s3c2410a[] = "S3C2410A";
+static const char name_s3c2412[] = "S3C2412";
static const char name_s3c2440a[] = "S3C2440A";
static struct cpu_table cpu_ids[] __initdata = {
@@ -99,6 +101,19 @@
}
};
+static struct cpu_table alternative_cpu_ids[] __initdata = {
+ {
+ .idcode = 0x32410002,
+ .idmask = 0xffffffff,
+ .map_io = s3c2412_map_io,
+ .init_clocks = s3c2412_init_clocks,
+ .init_uarts = s3c2412_init_uarts,
+ .init = s3c2412_init,
+ .name = name_s3c2412
+ }
+};
+
+
/* minimal IO mapping */
static struct map_desc s3c_iodesc[] __initdata = {
@@ -110,13 +125,16 @@
static struct cpu_table *
-s3c_lookup_cpu(unsigned long idcode)
+s3c_lookup_cpu(unsigned long idcode,int alt)
{
struct cpu_table *tab;
int count;
+ int size;
- tab = cpu_ids;
- for (count = 0; count < ARRAY_SIZE(cpu_ids); count++, tab++) {
+ tab = alt?alternative_cpu_ids:cpu_ids;
+ size = alt?ARRAY_SIZE(alternative_cpu_ids):ARRAY_SIZE(cpu_ids);
+
+ for (count = 0; count < size; count++, tab++) {
if ((idcode & tab->idmask) == tab->idcode)
return tab;
}
@@ -154,7 +172,11 @@
iotable_init(s3c_iodesc, ARRAY_SIZE(s3c_iodesc));
idcode = __raw_readl(S3C2410_GSTATUS1);
- cpu = s3c_lookup_cpu(idcode);
+ cpu = s3c_lookup_cpu(idcode,0);
+ if (cpu == NULL) {
+ idcode = __raw_readl(S3C2412_GSTATUS1);
+ cpu = s3c_lookup_cpu(idcode,1);
+ }
if (cpu == NULL) {
printk(KERN_ERR "Unknown CPU type 0x%08lx\n", idcode);
--
K.F.J. Martens, Sonologic, http://www.sonologic.nl/
Networking, hosting, embedded systems, unix, artificial intelligence.
Public PGP key: http://www.metro.cx/pubkey-gmc.asc
Wondering about the funny attachment your mail program
can't read? Visit http://www.openpgp.org/
reply other threads:[~2006-03-03 10:59 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4408216C.4020205@metro.cx \
--to=linuxarm@metro.cx \
--cc=ben@simtec.co.uk \
--cc=linux-arm-kernel@lists.arm.linux.org.uk \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.