UART.h 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /*****************************************************************
  2. *
  3. * UART.h
  4. * UART Packet Handler
  5. *
  6. *
  7. *****************************************************************/
  8. #ifndef UART_H
  9. #define UART_H
  10. /*** Macro Definitions **/
  11. #define AST_UART_CHANNEL_NUM 4
  12. #define AST_UART4_IRQ 34
  13. #define BMC_UART4_DEV "/dev/ttyS3"
  14. #define BMC_UART1_DEV "/dev/ttyS0"
  15. #define BMC_UART2_DEV "/dev/ttyS1"
  16. #define AST_UART1_BASE 0x1E783000
  17. #define AST_UART2_BASE 0x1E78D000
  18. #define AST_UART3_BASE 0x1E78E000
  19. #define AST_UART4_BASE 0x1E78F000
  20. #define AST_UART5_BASE 0x1E784000
  21. /*--------------- Virtual address of the IO Registers Region ------------*/
  22. #define AST_UART1_VA_BASE IO_ADDRESS(AST_UART1_BASE)
  23. #define AST_UART2_VA_BASE IO_ADDRESS(AST_UART2_BASE)
  24. #define AST_UART3_VA_BASE IO_ADDRESS(AST_UART3_BASE)
  25. #define AST_UART4_VA_BASE IO_ADDRESS(AST_UART4_BASE)
  26. #define AST_UART5_VA_BASE IO_ADDRESS(AST_UART5_BASE)
  27. typedef struct
  28. {
  29. unsigned char (*num_uart_ch) (void);
  30. void (*enable_uart_interrupt) (unsigned char ch_num);
  31. void (*disable_uart_interrupt) (unsigned char ch_num);
  32. void (*read_uart_status) (unsigned char ch_num, unsigned char *status_value);
  33. void (*write_uart_status) (unsigned char ch_num, unsigned char status_value);
  34. void (*read_uart_data_in) (unsigned char ch_num, unsigned char *data_value);
  35. void (*write_uart_data_out) (unsigned char ch_num, unsigned char data_value);
  36. void (*uart_interrupt_enable_user) (unsigned char ch_num);
  37. void (*uart_interrupt_disable_user) (unsigned char ch_num);
  38. } uart_hal_operations_t;
  39. typedef struct
  40. {
  41. int (*process_uart_intr) (int dev_id, unsigned char ch_num);
  42. int (*is_hw_test_mode) (void);
  43. } uart_core_funcs_t;
  44. extern int UART_Open_Port(char *port) ;
  45. extern int UART_Set_Port(int fd, int speed, int flow_ctrl, int databits, int stopbits, int parity);
  46. extern int UART_Recv_data(int fd, char *rx_buff, int data_len);
  47. extern int URT_Send_data(int fd, unsigned char *tx_buff, int data_len);
  48. extern void* OEMSERIAL_TASK(void *pArg);
  49. #endif /* UART_H */