board.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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. u8 valid;
  20. u8 mii_phy_addr;
  21. u8 is_rmii;
  22. u8 hw_addr[6];
  23. };
  24. struct platform_device *
  25. at32_add_device_eth(unsigned int id, struct eth_platform_data *data);
  26. struct platform_device *at32_add_device_spi(unsigned int id);
  27. struct lcdc_platform_data {
  28. unsigned long fbmem_start;
  29. unsigned long fbmem_size;
  30. };
  31. struct platform_device *
  32. at32_add_device_lcdc(unsigned int id, struct lcdc_platform_data *data);
  33. #endif /* __ASM_ARCH_BOARD_H */