diff options
author | Marcelo Roberto Jimenez <mroberto@cpti.cetuc.puc-rio.br> | 2010-12-16 14:51:30 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-12-21 09:53:34 -0500 |
commit | 9f15d2caca102c4b79e34562296bcbf982665cb2 (patch) | |
tree | d6f4d232eb242db0353d0cc311b949e5d05cb96c /arch/arm/mach-sa1100/cpu-sa1110.c | |
parent | 7decaa557a20f48aabef35f817ec16ef563567b0 (diff) |
ARM: 6447/3: sa1100: Put nanoEngine support back in the kernel
Adds Bright Star Engineering's nanoEngine board support to the kernel.
Also:
- Adds the nanoEngine memory chip to arch/arm/mach-sa1100/cpu-sa1110.c
(Micron MT48LC8M16A2TG-75).
- Increase in the sdram_params->name[] field length to accomodate the
name of the memory chip.
- Clean up of header content and order of
arch/arm/mach-sa1100/cpu-sa1110.c
Signed-off-by: Marcelo Roberto Jimenez <mroberto@cpti.cetuc.puc-rio.br>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-sa1100/cpu-sa1110.c')
-rw-r--r-- | arch/arm/mach-sa1100/cpu-sa1110.c | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/arch/arm/mach-sa1100/cpu-sa1110.c b/arch/arm/mach-sa1100/cpu-sa1110.c index 7252874d328b..8251af277c1a 100644 --- a/arch/arm/mach-sa1100/cpu-sa1110.c +++ b/arch/arm/mach-sa1100/cpu-sa1110.c | |||
@@ -16,28 +16,24 @@ | |||
16 | * | 16 | * |
17 | * The SDRAM type can be passed on the command line as cpu_sa1110.sdram=type | 17 | * The SDRAM type can be passed on the command line as cpu_sa1110.sdram=type |
18 | */ | 18 | */ |
19 | #include <linux/moduleparam.h> | ||
20 | #include <linux/types.h> | ||
21 | #include <linux/kernel.h> | ||
22 | #include <linux/sched.h> | ||
23 | #include <linux/cpufreq.h> | 19 | #include <linux/cpufreq.h> |
24 | #include <linux/delay.h> | 20 | #include <linux/delay.h> |
25 | #include <linux/init.h> | 21 | #include <linux/init.h> |
26 | #include <linux/io.h> | 22 | #include <linux/kernel.h> |
23 | #include <linux/moduleparam.h> | ||
24 | #include <linux/types.h> | ||
27 | 25 | ||
28 | #include <mach/hardware.h> | ||
29 | #include <asm/cputype.h> | 26 | #include <asm/cputype.h> |
30 | #include <asm/mach-types.h> | 27 | #include <asm/mach-types.h> |
31 | #include <asm/system.h> | 28 | |
29 | #include <mach/hardware.h> | ||
32 | 30 | ||
33 | #include "generic.h" | 31 | #include "generic.h" |
34 | 32 | ||
35 | #undef DEBUG | 33 | #undef DEBUG |
36 | 34 | ||
37 | static struct cpufreq_driver sa1110_driver; | ||
38 | |||
39 | struct sdram_params { | 35 | struct sdram_params { |
40 | const char name[16]; | 36 | const char name[20]; |
41 | u_char rows; /* bits */ | 37 | u_char rows; /* bits */ |
42 | u_char cas_latency; /* cycles */ | 38 | u_char cas_latency; /* cycles */ |
43 | u_char tck; /* clock cycle time (ns) */ | 39 | u_char tck; /* clock cycle time (ns) */ |
@@ -107,6 +103,15 @@ static struct sdram_params sdram_tbl[] __initdata = { | |||
107 | .twr = 8, | 103 | .twr = 8, |
108 | .refresh = 64000, | 104 | .refresh = 64000, |
109 | .cas_latency = 3, | 105 | .cas_latency = 3, |
106 | }, { /* Micron MT48LC8M16A2TG-75 */ | ||
107 | .name = "MT48LC8M16A2TG-75", | ||
108 | .rows = 12, | ||
109 | .tck = 8, | ||
110 | .trcd = 20, | ||
111 | .trp = 20, | ||
112 | .twr = 8, | ||
113 | .refresh = 64000, | ||
114 | .cas_latency = 3, | ||
110 | }, | 115 | }, |
111 | }; | 116 | }; |
112 | 117 | ||
@@ -336,7 +341,9 @@ static int __init sa1110_cpu_init(struct cpufreq_policy *policy) | |||
336 | return 0; | 341 | return 0; |
337 | } | 342 | } |
338 | 343 | ||
339 | static struct cpufreq_driver sa1110_driver = { | 344 | /* sa1110_driver needs __refdata because it must remain after init registers |
345 | * it with cpufreq_register_driver() */ | ||
346 | static struct cpufreq_driver sa1110_driver __refdata = { | ||
340 | .flags = CPUFREQ_STICKY, | 347 | .flags = CPUFREQ_STICKY, |
341 | .verify = sa11x0_verify_speed, | 348 | .verify = sa11x0_verify_speed, |
342 | .target = sa1110_target, | 349 | .target = sa1110_target, |
@@ -369,14 +376,14 @@ static int __init sa1110_clk_init(void) | |||
369 | if (!name[0]) { | 376 | if (!name[0]) { |
370 | if (machine_is_assabet()) | 377 | if (machine_is_assabet()) |
371 | name = "TC59SM716-CL3"; | 378 | name = "TC59SM716-CL3"; |
372 | |||
373 | if (machine_is_pt_system3()) | 379 | if (machine_is_pt_system3()) |
374 | name = "K4S641632D"; | 380 | name = "K4S641632D"; |
375 | |||
376 | if (machine_is_h3100()) | 381 | if (machine_is_h3100()) |
377 | name = "KM416S4030CT"; | 382 | name = "KM416S4030CT"; |
378 | if (machine_is_jornada720()) | 383 | if (machine_is_jornada720()) |
379 | name = "K4S281632B-1H"; | 384 | name = "K4S281632B-1H"; |
385 | if (machine_is_nanoengine()) | ||
386 | name = "MT48LC8M16A2TG-75"; | ||
380 | } | 387 | } |
381 | 388 | ||
382 | sdram = sa1110_find_sdram(name); | 389 | sdram = sa1110_find_sdram(name); |