mirror of
https://github.com/fail0verflow/switch-linux.git
synced 2025-05-04 02:34:21 -04:00
[ARM] 3286/2: S3C2400 - adds to the table of supported CPUs
Patch from Lucas Correia Villa Real Oops, sorry for the typo on name_s3c2400, a new patch is attached. About GSTATUS1, S3C2400 doesn't have that register, so it's not safe to use that memory address to identify its CPU. Signed-off-by: Lucas Correia Villa Real <lucasvr@gobolinux.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
0ca5bc3de7
commit
83f755f5a6
1 changed files with 16 additions and 2 deletions
|
@ -40,6 +40,7 @@
|
||||||
|
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "clock.h"
|
#include "clock.h"
|
||||||
|
#include "s3c2400.h"
|
||||||
#include "s3c2410.h"
|
#include "s3c2410.h"
|
||||||
#include "s3c2440.h"
|
#include "s3c2440.h"
|
||||||
|
|
||||||
|
@ -55,6 +56,7 @@ struct cpu_table {
|
||||||
|
|
||||||
/* table of supported CPUs */
|
/* table of supported CPUs */
|
||||||
|
|
||||||
|
static const char name_s3c2400[] = "S3C2400";
|
||||||
static const char name_s3c2410[] = "S3C2410";
|
static const char name_s3c2410[] = "S3C2410";
|
||||||
static const char name_s3c2440[] = "S3C2440";
|
static const char name_s3c2440[] = "S3C2440";
|
||||||
static const char name_s3c2410a[] = "S3C2410A";
|
static const char name_s3c2410a[] = "S3C2410A";
|
||||||
|
@ -96,7 +98,16 @@ static struct cpu_table cpu_ids[] __initdata = {
|
||||||
.init_uarts = s3c2440_init_uarts,
|
.init_uarts = s3c2440_init_uarts,
|
||||||
.init = s3c2440_init,
|
.init = s3c2440_init,
|
||||||
.name = name_s3c2440a
|
.name = name_s3c2440a
|
||||||
}
|
},
|
||||||
|
{
|
||||||
|
.idcode = 0x0, /* S3C2400 doesn't have an idcode */
|
||||||
|
.idmask = 0xffffffff,
|
||||||
|
.map_io = s3c2400_map_io,
|
||||||
|
.init_clocks = s3c2400_init_clocks,
|
||||||
|
.init_uarts = s3c2400_init_uarts,
|
||||||
|
.init = s3c2400_init,
|
||||||
|
.name = name_s3c2400
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
/* minimal IO mapping */
|
/* minimal IO mapping */
|
||||||
|
@ -148,12 +159,15 @@ static struct cpu_table *cpu;
|
||||||
|
|
||||||
void __init s3c24xx_init_io(struct map_desc *mach_desc, int size)
|
void __init s3c24xx_init_io(struct map_desc *mach_desc, int size)
|
||||||
{
|
{
|
||||||
unsigned long idcode;
|
unsigned long idcode = 0x0;
|
||||||
|
|
||||||
/* initialise the io descriptors we need for initialisation */
|
/* initialise the io descriptors we need for initialisation */
|
||||||
iotable_init(s3c_iodesc, ARRAY_SIZE(s3c_iodesc));
|
iotable_init(s3c_iodesc, ARRAY_SIZE(s3c_iodesc));
|
||||||
|
|
||||||
|
#ifndef CONFIG_CPU_S3C2400
|
||||||
idcode = __raw_readl(S3C2410_GSTATUS1);
|
idcode = __raw_readl(S3C2410_GSTATUS1);
|
||||||
|
#endif
|
||||||
|
|
||||||
cpu = s3c_lookup_cpu(idcode);
|
cpu = s3c_lookup_cpu(idcode);
|
||||||
|
|
||||||
if (cpu == NULL) {
|
if (cpu == NULL) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue