/*1* arch/arm/mach-at91/at91x40.c2*3* (C) Copyright 2007, Greg Ungerer <[email protected]>4* Copyright (C) 2005 SAN People5*6* This program is free software; you can redistribute it and/or modify7* it under the terms of the GNU General Public License as published by8* the Free Software Foundation; either version 2 of the License, or9* (at your option) any later version.10*/1112#include <linux/kernel.h>13#include <linux/init.h>14#include <linux/irq.h>15#include <asm/mach/arch.h>16#include <mach/at91x40.h>17#include <mach/at91_st.h>18#include <mach/timex.h>19#include "generic.h"2021/*22* Export the clock functions for the AT91X40. Some external code common23* to all AT91 family parts relys on this, like the gpio and serial support.24*/25int clk_enable(struct clk *clk)26{27return 0;28}2930void clk_disable(struct clk *clk)31{32}3334unsigned long clk_get_rate(struct clk *clk)35{36return AT91X40_MASTER_CLOCK;37}3839void __init at91x40_initialize(unsigned long main_clock)40{41at91_extern_irq = (1 << AT91X40_ID_IRQ0) | (1 << AT91X40_ID_IRQ1)42| (1 << AT91X40_ID_IRQ2);43}4445/*46* The default interrupt priority levels (0 = lowest, 7 = highest).47*/48static unsigned int at91x40_default_irq_priority[NR_AIC_IRQS] __initdata = {497, /* Advanced Interrupt Controller (FIQ) */500, /* System Peripherals */510, /* USART 0 */520, /* USART 1 */532, /* Timer Counter 0 */542, /* Timer Counter 1 */552, /* Timer Counter 2 */560, /* Watchdog timer */570, /* Parallel IO Controller A */580, /* Reserved */590, /* Reserved */600, /* Reserved */610, /* Reserved */620, /* Reserved */630, /* Reserved */640, /* Reserved */650, /* External IRQ0 */660, /* External IRQ1 */670, /* External IRQ2 */68};6970void __init at91x40_init_interrupts(unsigned int priority[NR_AIC_IRQS])71{72if (!priority)73priority = at91x40_default_irq_priority;7475at91_aic_init(priority);76}77787980