6 #include <linux/device.h>
29 #include <mach/irqs.h>
42 static void __init ct_ca9x4_map_io(
void)
47 #ifdef CONFIG_HAVE_ARM_TWD
54 pr_err(
"twd_local_timer_register failed %d\n", err);
57 #define ca9x4_twd_init() do {} while(0)
60 static void __init ct_ca9x4_init_irq(
void)
67 static void ct_ca9x4_clcd_enable(
struct clcd_fb *
fb)
80 static int ct_ca9x4_clcd_setup(
struct clcd_fb *fb)
82 unsigned long framesize = 1024 * 768 * 2;
91 static struct clcd_board ct_ca9x4_clcd_data = {
94 .check = clcdfb_check,
95 .decode = clcdfb_decode,
96 .enable = ct_ca9x4_clcd_enable,
97 .setup = ct_ca9x4_clcd_setup,
107 static struct amba_device *ct_ca9x4_amba_devs[] __initdata = {
115 static struct v2m_osc ct_osc1 = {
117 .rate_min = 10000000,
118 .rate_max = 80000000,
119 .rate_default = 23750000,
122 static struct resource pmu_resources[] = {
149 .resource = pmu_resources,
152 static void __init ct_ca9x4_init(
void)
157 #ifdef CONFIG_CACHE_L2X0
164 l2x0_init(l2x0_base, 0x00400000, 0xfe0fffff);
171 for (i = 0; i <
ARRAY_SIZE(ct_ca9x4_amba_devs); i++)
180 static void __init ct_ca9x4_init_cpu_map(
void)
185 if (
WARN_ON(!ct_ca9x4_scu_base))
190 if (ncores > nr_cpu_ids) {
191 pr_warn(
"SMP: %u cores greater than maximum (%u), clipping\n",
196 for (i = 0; i < ncores; ++
i)
202 static void __init ct_ca9x4_smp_enable(
unsigned int max_cpus)
211 .map_io = ct_ca9x4_map_io,
212 .init_irq = ct_ca9x4_init_irq,
213 .init_tile = ct_ca9x4_init,
215 .init_cpu_map = ct_ca9x4_init_cpu_map,
216 .smp_enable = ct_ca9x4_smp_enable,