virtex.c 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /*
  2. * Virtex-II Pro & Virtex-4 FX common infrastructure
  3. *
  4. * Maintainer: Grant Likely <grant.likely@secretlab.ca>
  5. *
  6. * Copyright 2005 Secret Lab Technologies Ltd.
  7. * Copyright 2005 General Dynamics Canada Ltd.
  8. * Copyright 2005 Freescale Semiconductor Inc.
  9. *
  10. * This program is free software; you can redistribute it and/or modify it
  11. * under the terms of the GNU General Public License as published by the
  12. * Free Software Foundation; either version 2 of the License, or (at your
  13. * option) any later version.
  14. */
  15. #include <linux/init.h>
  16. #include <linux/module.h>
  17. #include <linux/device.h>
  18. #include <linux/serial_8250.h>
  19. #include <asm/ppc_sys.h>
  20. #include <platforms/4xx/virtex.h>
  21. #include <platforms/4xx/xparameters/xparameters.h>
  22. #define XPAR_UART(num) { \
  23. .mapbase = XPAR_UARTNS550_##num##_BASEADDR + 3, \
  24. .irq = XPAR_INTC_0_UARTNS550_##num##_VEC_ID, \
  25. .iotype = UPIO_MEM, \
  26. .uartclk = XPAR_UARTNS550_##num##_CLOCK_FREQ_HZ, \
  27. .flags = UPF_BOOT_AUTOCONF, \
  28. .regshift = 2, \
  29. }
  30. struct plat_serial8250_port serial_platform_data[] = {
  31. #ifdef XPAR_UARTNS550_0_BASEADDR
  32. XPAR_UART(0),
  33. #endif
  34. #ifdef XPAR_UARTNS550_1_BASEADDR
  35. XPAR_UART(1),
  36. #endif
  37. #ifdef XPAR_UARTNS550_2_BASEADDR
  38. XPAR_UART(2),
  39. #endif
  40. #ifdef XPAR_UARTNS550_3_BASEADDR
  41. XPAR_UART(3),
  42. #endif
  43. { }, /* terminated by empty record */
  44. };
  45. struct platform_device ppc_sys_platform_devices[] = {
  46. [VIRTEX_UART] = {
  47. .name = "serial8250",
  48. .id = 0,
  49. .dev.platform_data = serial_platform_data,
  50. },
  51. };