54}; 55 56/* 57 * Standard priority levels for the system. 0 is lowest and 7 is highest. 58 * These values are the ones Atmel uses for its Linux port 59 */ 60static const int at91_irq_prio[32] = 61{ 62 7, /* Advanced Interrupt Controller (FIQ) */ 63 7, /* System Peripherals */ 64 1, /* Parallel IO Controller A and B */ 65 1, /* Parallel IO Controller C and D */ 66 4, /* Soft Modem */ 67 5, /* USART 0 */ 68 5, /* USART 1 */ 69 5, /* USART 2 */ 70 5, /* USART 3 */ 71 6, /* Two-Wire Interface 0 */ 72 6, /* Two-Wire Interface 1 */ 73 6, /* Two-Wire Interface 2 */ 74 0, /* Multimedia Card Interface 0 */ 75 5, /* Serial Peripheral Interface 0 */ 76 5, /* Serial Peripheral Interface 1 */ 77 5, /* UART 0 */ 78 5, /* UART 1 */ 79 0, /* Timer Counter 0, 1, 2, 3, 4 and 5 */ 80 0, /* Pulse Width Modulation Controller */ 81 0, /* ADC Controller */ 82 0, /* DMA Controller 0 */ 83 0, /* DMA Controller 1 */ 84 2, /* USB Host High Speed port */ 85 2, /* USB Device High speed port */ 86 3, /* Ethernet MAC 0 */ 87 3, /* LDC Controller or Image Sensor Interface */ 88 0, /* Multimedia Card Interface 1 */ 89 3, /* Ethernet MAC 1 */ 90 4, /* Synchronous Serial Interface */ 91 4, /* CAN Controller 0 */ 92 4, /* CAN Controller 1 */ 93 0, /* Advanced Interrupt Controller (IRQ0) */ 94}; 95 96#define DEVICE(_name, _id, _unit) \ 97 { \ 98 _name, _unit, \ 99 AT91SAM9X25_ ## _id ##_BASE, \ 100 AT91SAM9X25_ ## _id ## _SIZE, \ 101 AT91SAM9X25_IRQ_ ## _id \ 102 } 103 104static const struct cpu_devs at91_devs[] = 105{ 106 DEVICE("at91_pmc", PMC, 0), 107 DEVICE("at91_wdt", WDT, 0), 108 DEVICE("at91_rst", RSTC, 0), 109 DEVICE("at91_pit", PIT, 0), 110 DEVICE("at91_pio", PIOA, 0), 111 DEVICE("at91_pio", PIOB, 1), 112 DEVICE("at91_pio", PIOC, 2), 113 DEVICE("at91_pio", PIOD, 3), 114 DEVICE("at91_twi", TWI0, 0), 115 DEVICE("at91_twi", TWI1, 1), 116 DEVICE("at91_twi", TWI2, 2), 117 DEVICE("at91_mci", HSMCI0, 0), 118 DEVICE("at91_mci", HSMCI1, 1), 119 DEVICE("uart", DBGU, 0), 120 DEVICE("uart", USART0, 1), 121 DEVICE("uart", USART1, 2), 122 DEVICE("uart", USART2, 3), 123 DEVICE("uart", USART3, 4), 124 DEVICE("spi", SPI0, 0), 125 DEVICE("spi", SPI1, 1), 126 DEVICE("macb", EMAC0, 0), 127 DEVICE("macb", EMAC1, 0), 128 DEVICE("nand", NAND, 0), 129 DEVICE("ohci", OHCI, 0), 130 DEVICE("ehci", EHCI, 0), 131 { 0, 0, 0, 0, 0 } 132}; 133
| 52}; 53 54/* 55 * Standard priority levels for the system. 0 is lowest and 7 is highest. 56 * These values are the ones Atmel uses for its Linux port 57 */ 58static const int at91_irq_prio[32] = 59{ 60 7, /* Advanced Interrupt Controller (FIQ) */ 61 7, /* System Peripherals */ 62 1, /* Parallel IO Controller A and B */ 63 1, /* Parallel IO Controller C and D */ 64 4, /* Soft Modem */ 65 5, /* USART 0 */ 66 5, /* USART 1 */ 67 5, /* USART 2 */ 68 5, /* USART 3 */ 69 6, /* Two-Wire Interface 0 */ 70 6, /* Two-Wire Interface 1 */ 71 6, /* Two-Wire Interface 2 */ 72 0, /* Multimedia Card Interface 0 */ 73 5, /* Serial Peripheral Interface 0 */ 74 5, /* Serial Peripheral Interface 1 */ 75 5, /* UART 0 */ 76 5, /* UART 1 */ 77 0, /* Timer Counter 0, 1, 2, 3, 4 and 5 */ 78 0, /* Pulse Width Modulation Controller */ 79 0, /* ADC Controller */ 80 0, /* DMA Controller 0 */ 81 0, /* DMA Controller 1 */ 82 2, /* USB Host High Speed port */ 83 2, /* USB Device High speed port */ 84 3, /* Ethernet MAC 0 */ 85 3, /* LDC Controller or Image Sensor Interface */ 86 0, /* Multimedia Card Interface 1 */ 87 3, /* Ethernet MAC 1 */ 88 4, /* Synchronous Serial Interface */ 89 4, /* CAN Controller 0 */ 90 4, /* CAN Controller 1 */ 91 0, /* Advanced Interrupt Controller (IRQ0) */ 92}; 93 94#define DEVICE(_name, _id, _unit) \ 95 { \ 96 _name, _unit, \ 97 AT91SAM9X25_ ## _id ##_BASE, \ 98 AT91SAM9X25_ ## _id ## _SIZE, \ 99 AT91SAM9X25_IRQ_ ## _id \ 100 } 101 102static const struct cpu_devs at91_devs[] = 103{ 104 DEVICE("at91_pmc", PMC, 0), 105 DEVICE("at91_wdt", WDT, 0), 106 DEVICE("at91_rst", RSTC, 0), 107 DEVICE("at91_pit", PIT, 0), 108 DEVICE("at91_pio", PIOA, 0), 109 DEVICE("at91_pio", PIOB, 1), 110 DEVICE("at91_pio", PIOC, 2), 111 DEVICE("at91_pio", PIOD, 3), 112 DEVICE("at91_twi", TWI0, 0), 113 DEVICE("at91_twi", TWI1, 1), 114 DEVICE("at91_twi", TWI2, 2), 115 DEVICE("at91_mci", HSMCI0, 0), 116 DEVICE("at91_mci", HSMCI1, 1), 117 DEVICE("uart", DBGU, 0), 118 DEVICE("uart", USART0, 1), 119 DEVICE("uart", USART1, 2), 120 DEVICE("uart", USART2, 3), 121 DEVICE("uart", USART3, 4), 122 DEVICE("spi", SPI0, 0), 123 DEVICE("spi", SPI1, 1), 124 DEVICE("macb", EMAC0, 0), 125 DEVICE("macb", EMAC1, 0), 126 DEVICE("nand", NAND, 0), 127 DEVICE("ohci", OHCI, 0), 128 DEVICE("ehci", EHCI, 0), 129 { 0, 0, 0, 0, 0 } 130}; 131
|