aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-sa1100/cpu-sa1110.c
diff options
context:
space:
mode:
authorMarcelo Roberto Jimenez <mroberto@cpti.cetuc.puc-rio.br>2010-12-16 14:51:30 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2010-12-21 09:53:34 -0500
commit9f15d2caca102c4b79e34562296bcbf982665cb2 (patch)
treed6f4d232eb242db0353d0cc311b949e5d05cb96c /arch/arm/mach-sa1100/cpu-sa1110.c
parent7decaa557a20f48aabef35f817ec16ef563567b0 (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.c33
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
37static struct cpufreq_driver sa1110_driver;
38
39struct sdram_params { 35struct 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
339static struct cpufreq_driver sa1110_driver = { 344/* sa1110_driver needs __refdata because it must remain after init registers
345 * it with cpufreq_register_driver() */
346static 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);