1
2
3
4
5
6
7
8
9
10
11
12
13#include <linux/kernel.h>
14#include <linux/init.h>
15#include <linux/irq.h>
16#include <asm/mach/arch.h>
17#include <mach/at91x40.h>
18#include <mach/at91_st.h>
19#include <mach/timex.h>
20#include "generic.h"
21
22
23
24
25
26int clk_enable(struct clk *clk)
27{
28 return 0;
29}
30
31void clk_disable(struct clk *clk)
32{
33}
34
35unsigned long clk_get_rate(struct clk *clk)
36{
37 return AT91X40_MASTER_CLOCK;
38}
39
40void __init at91x40_initialize(unsigned long main_clock)
41{
42 at91_extern_irq = (1 << AT91X40_ID_IRQ0) | (1 << AT91X40_ID_IRQ1)
43 | (1 << AT91X40_ID_IRQ2);
44}
45
46
47
48
49static unsigned int at91x40_default_irq_priority[NR_AIC_IRQS] __initdata = {
50 7,
51 0,
52 0,
53 0,
54 2,
55 2,
56 2,
57 0,
58 0,
59 0,
60 0,
61 0,
62 0,
63 0,
64 0,
65 0,
66 0,
67 0,
68 0,
69};
70
71void __init at91x40_init_interrupts(unsigned int priority[NR_AIC_IRQS])
72{
73 if (!priority)
74 priority = at91x40_default_irq_priority;
75
76 at91_aic_init(priority);
77}
78
79