blob: 435507281f8958d86527e8a4c269bd65fdb47751 [file] [log] [blame]
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -07001/*
2 * Platform data definitions.
3 */
4#ifndef __ASM_ARCH_BOARD_H
5#define __ASM_ARCH_BOARD_H
6
7#include <linux/types.h>
8
9/* Add basic devices: system manager, interrupt controller, portmuxes, etc. */
10void at32_add_system_devices(void);
11
Haavard Skinnemoen73e27982006-10-04 16:02:04 +020012#define ATMEL_MAX_UART 4
13extern struct platform_device *atmel_default_console_device;
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070014
Haavard Skinnemoen75d35212006-10-04 16:02:08 +020015struct atmel_uart_data {
16 short use_dma_tx; /* use transmit DMA? */
17 short use_dma_rx; /* use receive DMA? */
18 void __iomem *regs; /* virtual base address, if any */
19};
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070020struct platform_device *at32_add_device_usart(unsigned int id);
21
22struct eth_platform_data {
23 u8 valid;
24 u8 mii_phy_addr;
25 u8 is_rmii;
26 u8 hw_addr[6];
27};
28struct platform_device *
29at32_add_device_eth(unsigned int id, struct eth_platform_data *data);
30
31struct platform_device *at32_add_device_spi(unsigned int id);
32
33struct lcdc_platform_data {
34 unsigned long fbmem_start;
35 unsigned long fbmem_size;
36};
37struct platform_device *
38at32_add_device_lcdc(unsigned int id, struct lcdc_platform_data *data);
39
40#endif /* __ASM_ARCH_BOARD_H */