serial.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. #ifndef __SERIAL_H__
  2. #define __SERIAL_H__
  3. #define NAMESIZE 16
  4. #define CTLRSIZE 8
  5. struct serial_device {
  6. char name[NAMESIZE];
  7. char ctlr[CTLRSIZE];
  8. int (*init) (void);
  9. int (*uninit) (void);
  10. void (*setbrg) (void);
  11. int (*getc) (void);
  12. int (*tstc) (void);
  13. void (*putc) (const char c);
  14. void (*puts) (const char *s);
  15. struct serial_device *next;
  16. };
  17. extern struct serial_device serial_smc_device;
  18. extern struct serial_device serial_scc_device;
  19. extern struct serial_device * default_serial_console (void);
  20. #if defined(CONFIG_405GP) || defined(CONFIG_405CR) || defined(CONFIG_440) || \
  21. defined(CONFIG_405EP) || defined(CONFIG_405EZ) || defined(CONFIG_405EX) || \
  22. defined(CONFIG_MB86R0x) || defined(CONFIG_MPC5xxx) || \
  23. defined(CONFIG_MPC83xx) || defined(CONFIG_MPC85xx) || \
  24. defined(CONFIG_MPC86xx) || defined(CONFIG_SYS_SC520)
  25. extern struct serial_device serial0_device;
  26. extern struct serial_device serial1_device;
  27. #if defined(CONFIG_SYS_NS16550_SERIAL)
  28. extern struct serial_device eserial1_device;
  29. extern struct serial_device eserial2_device;
  30. extern struct serial_device eserial3_device;
  31. extern struct serial_device eserial4_device;
  32. #endif /* CONFIG_SYS_NS16550_SERIAL */
  33. #endif
  34. #if defined(CONFIG_MPC512X)
  35. extern struct serial_device serial1_device;
  36. extern struct serial_device serial3_device;
  37. extern struct serial_device serial4_device;
  38. extern struct serial_device serial6_device;
  39. #endif
  40. #if defined(CONFIG_S3C2410)
  41. extern struct serial_device s3c24xx_serial0_device;
  42. extern struct serial_device s3c24xx_serial1_device;
  43. extern struct serial_device s3c24xx_serial2_device;
  44. #endif
  45. #if defined(CONFIG_S5P)
  46. extern struct serial_device s5p_serial0_device;
  47. extern struct serial_device s5p_serial1_device;
  48. extern struct serial_device s5p_serial2_device;
  49. extern struct serial_device s5p_serial3_device;
  50. #endif
  51. #if defined(CONFIG_OMAP3_ZOOM2)
  52. extern struct serial_device zoom2_serial_device0;
  53. extern struct serial_device zoom2_serial_device1;
  54. extern struct serial_device zoom2_serial_device2;
  55. extern struct serial_device zoom2_serial_device3;
  56. #endif
  57. extern struct serial_device serial_ffuart_device;
  58. extern struct serial_device serial_btuart_device;
  59. extern struct serial_device serial_stuart_device;
  60. extern void serial_initialize(void);
  61. extern void serial_stdio_init(void);
  62. extern int serial_assign(char * name);
  63. extern void serial_reinit_all(void);
  64. /* For usbtty */
  65. #ifdef CONFIG_USB_TTY
  66. extern int usbtty_getc(void);
  67. extern void usbtty_putc(const char c);
  68. extern void usbtty_puts(const char *str);
  69. extern int usbtty_tstc(void);
  70. #else
  71. /* stubs */
  72. #define usbtty_getc() 0
  73. #define usbtty_putc(a)
  74. #define usbtty_puts(a)
  75. #define usbtty_tstc() 0
  76. #endif /* CONFIG_USB_TTY */
  77. #if defined(CONFIG_MPC512X) && defined(CONFIG_SERIAL_MULTI)
  78. extern struct stdio_dev *open_port(int num, int baudrate);
  79. extern int close_port(int num);
  80. extern int write_port(struct stdio_dev *port, char *buf);
  81. extern int read_port(struct stdio_dev *port, char *buf, int size);
  82. #endif
  83. #endif