Blame view
arch/arm/mach-at91/board-eb9200.c
3.32 KB
6902f523a
|
1 |
/* |
9d0412680
|
2 |
* linux/arch/arm/mach-at91/board-eb9200.c |
6902f523a
|
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
* * Copyright (C) 2005 SAN People, adapted for ATEB9200 from Embest * by Andrew Patrikalakis * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ |
6902f523a
|
21 |
#include <linux/types.h> |
2f8163baa
|
22 |
#include <linux/gpio.h> |
6902f523a
|
23 24 25 26 |
#include <linux/init.h> #include <linux/mm.h> #include <linux/module.h> #include <linux/device.h> |
a09e64fbc
|
27 |
#include <mach/hardware.h> |
6902f523a
|
28 29 30 31 32 33 34 |
#include <asm/setup.h> #include <asm/mach-types.h> #include <asm/irq.h> #include <asm/mach/arch.h> #include <asm/mach/map.h> #include <asm/mach/irq.h> |
a09e64fbc
|
35 |
#include <mach/board.h> |
6902f523a
|
36 37 |
#include "generic.h" |
6902f523a
|
38 |
|
1b021a3b2
|
39 |
static void __init eb9200_init_early(void) |
6902f523a
|
40 |
{ |
2eeaaa21d
|
41 |
/* Initialize processor: 18.432 MHz crystal */ |
21d08b9d5
|
42 |
at91_initialize(18432000); |
6902f523a
|
43 |
|
19750336d
|
44 45 46 47 48 49 50 51 52 53 54 55 56 |
/* DBGU on ttyS0. (Rx & Tx only) */ at91_register_uart(0, 0, 0); /* USART1 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ at91_register_uart(AT91RM9200_ID_US1, 1, ATMEL_UART_CTS | ATMEL_UART_RTS | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD | ATMEL_UART_RI); /* USART2 on ttyS2. (Rx, Tx) - IRDA */ at91_register_uart(AT91RM9200_ID_US2, 2, 0); /* set serial console to ttyS0 (ie, DBGU) */ at91_set_serial_console(0); |
6902f523a
|
57 |
} |
84e0cdb0a
|
58 |
static struct macb_platform_data __initdata eb9200_eth_data = { |
6902f523a
|
59 60 61 62 63 64 |
.phy_irq_pin = AT91_PIN_PC4, .is_rmii = 1, }; static struct at91_usbh_data __initdata eb9200_usbh_data = { .ports = 2, |
63b4c2967
|
65 66 |
.vbus_pin = {-EINVAL, -EINVAL}, .overcurrent_pin= {-EINVAL, -EINVAL}, |
6902f523a
|
67 68 69 70 71 72 73 74 |
}; static struct at91_udc_data __initdata eb9200_udc_data = { .vbus_pin = AT91_PIN_PD4, .pullup_pin = AT91_PIN_PD5, }; static struct at91_cf_data __initdata eb9200_cf_data = { |
63b4c2967
|
75 |
.irq_pin = -EINVAL, |
6902f523a
|
76 |
.det_pin = AT91_PIN_PB0, |
63b4c2967
|
77 |
.vcc_pin = -EINVAL, |
6902f523a
|
78 |
.rst_pin = AT91_PIN_PC5, |
6902f523a
|
79 80 81 |
}; static struct at91_mmc_data __initdata eb9200_mmc_data = { |
c019d49b6
|
82 |
.slot_b = 0, |
6902f523a
|
83 |
.wire4 = 1, |
63b4c2967
|
84 85 86 |
.det_pin = -EINVAL, .wp_pin = -EINVAL, .vcc_pin = -EINVAL, |
6902f523a
|
87 |
}; |
f230d3f53
|
88 89 |
static struct i2c_board_info __initdata eb9200_i2c_devices[] = { { |
3760f7367
|
90 |
I2C_BOARD_INFO("24c512", 0x50), |
f230d3f53
|
91 92 |
}, }; |
6902f523a
|
93 94 95 96 97 98 99 100 101 102 103 |
static void __init eb9200_board_init(void) { /* Serial */ at91_add_device_serial(); /* Ethernet */ at91_add_device_eth(&eb9200_eth_data); /* USB Host */ at91_add_device_usbh(&eb9200_usbh_data); /* USB Device */ at91_add_device_udc(&eb9200_udc_data); /* I2C */ |
f230d3f53
|
104 |
at91_add_device_i2c(eb9200_i2c_devices, ARRAY_SIZE(eb9200_i2c_devices)); |
6902f523a
|
105 106 107 108 109 110 |
/* Compact Flash */ at91_add_device_cf(&eb9200_cf_data); /* SPI */ at91_add_device_spi(NULL, 0); /* MMC */ /* only supports 1 or 4 bit interface, not wired through to SPI */ |
d0760b3bc
|
111 |
at91_add_device_mmc(0, &eb9200_mmc_data); |
6902f523a
|
112 113 114 |
} MACHINE_START(ATEB9200, "Embest ATEB9200") |
6902f523a
|
115 |
.timer = &at91rm9200_timer, |
21d08b9d5
|
116 |
.map_io = at91_map_io, |
1b021a3b2
|
117 |
.init_early = eb9200_init_early, |
92100c12c
|
118 |
.init_irq = at91_init_irq_default, |
6902f523a
|
119 120 |
.init_machine = eb9200_board_init, MACHINE_END |