board.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. /*
  2. * Platform data definitions.
  3. */
  4. #ifndef __ASM_ARCH_BOARD_H
  5. #define __ASM_ARCH_BOARD_H
  6. #include <linux/types.h>
  7. /* Add basic devices: system manager, interrupt controller, portmuxes, etc. */
  8. void at32_add_system_devices(void);
  9. #define ATMEL_MAX_UART 4
  10. extern struct platform_device *atmel_default_console_device;
  11. struct atmel_uart_data {
  12. short use_dma_tx; /* use transmit DMA? */
  13. short use_dma_rx; /* use receive DMA? */
  14. void __iomem *regs; /* virtual base address, if any */
  15. };
  16. void at32_map_usart(unsigned int hw_id, unsigned int line);
  17. struct platform_device *at32_add_device_usart(unsigned int id);
  18. struct eth_platform_data {
  19. u32 phy_mask;
  20. u8 is_rmii;
  21. };
  22. struct platform_device *
  23. at32_add_device_eth(unsigned int id, struct eth_platform_data *data);
  24. struct spi_board_info;
  25. struct platform_device *
  26. at32_add_device_spi(unsigned int id, struct spi_board_info *b, unsigned int n);
  27. struct atmel_lcdfb_info;
  28. struct platform_device *
  29. at32_add_device_lcdc(unsigned int id, struct atmel_lcdfb_info *data,
  30. unsigned long fbmem_start, unsigned long fbmem_len);
  31. #endif /* __ASM_ARCH_BOARD_H */