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
40struct clk *clk_get(struct device *dev, const char *id)
41{
42 return NULL;
43}
44
45void __init at91x40_initialize(unsigned long main_clock)
46{
47 at91_extern_irq = (1 << AT91X40_ID_IRQ0) | (1 << AT91X40_ID_IRQ1)
48 | (1 << AT91X40_ID_IRQ2);
49}
50
51
52
53
54static unsigned int at91x40_default_irq_priority[NR_AIC_IRQS] __initdata = {
55 7,
56 0,
57 0,
58 0,
59 2,
60 2,
61 2,
62 0,
63 0,
64 0,
65 0,
66 0,
67 0,
68 0,
69 0,
70 0,
71 0,
72 0,
73 0,
74};
75
76void __init at91x40_init_interrupts(unsigned int priority[NR_AIC_IRQS])
77{
78 if (!priority)
79 priority = at91x40_default_irq_priority;
80
81 at91_aic_init(priority);
82}
83
84