drv_interface.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. /* drv_interface.h
  2. *
  3. * Raydium TouchScreen driver.
  4. *
  5. * Copyright (c) 2021 Raydium tech Ltd.
  6. *
  7. * This program is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU General Public License as published by
  9. * the Free Software Foundation; either version 2 of the License, or
  10. * (at your option) any later version.
  11. *
  12. * This program is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU General Public License for more details.
  16. *
  17. */
  18. #include "Config.h"
  19. #include "raydium_driver.h"
  20. #define DEBUGOUT pr_info
  21. #define delay_ms msleep
  22. #define I2C_INTERFACE 0
  23. #define SPI_INTERFACE 1
  24. #define M_RX_BUF 1
  25. #define M_TX_BUF 0
  26. #define __I volatile
  27. #define __O volatile
  28. #define __IO volatile
  29. #define WORD 4
  30. #define RAD_CMD_START_BURN 0x01
  31. #define RAD_CMD_LOAD_TESTFW 0x04
  32. #define RAD_CMD_UPDATE_BIN 0x80
  33. #define RAD_CMD_UPDATE_END 0x81
  34. #define RAD_CMD_BURN_FINISH 0x82
  35. #define WEARABLE_FT_TEST_RESULT_AUO_JIG_NG WEARABLE_FT_TEST_RESULT_SYSFS_NG
  36. extern unsigned char g_u8_m_buf[2][128];
  37. extern struct timeval timer;
  38. extern unsigned char g_rad_fw_flash[32768], g_rad_testfw_flash[32768];
  39. extern unsigned char g_u8_ini_flash[0x400];
  40. extern unsigned long g_u32_save_config[64];
  41. extern unsigned char g_u8_mute_i2c_err_log;
  42. extern short g_i16_raw_data_frame_buffer[101][50];
  43. extern unsigned char g_u8_test_log_burn_times;
  44. extern unsigned char read_flash_data(unsigned int u32_addr, unsigned short u16_lenth);
  45. extern unsigned int get_system_time(void);
  46. extern unsigned char sysfs_mode_control(unsigned char u8_type);
  47. //extern unsigned char sysfs_read_int_flag(unsigned char *p_u8_flag, unsigned char u8_is_clear_flag);
  48. extern unsigned char sysfs_write_int_flag(char *p_cmd);
  49. //extern unsigned char sysfs_i2c_read(char *p_u8_addr, char u8_len, unsigned char *p_u8_data);
  50. //extern unsigned char sysfs_i2c_write(char *p_u8_addr, char u8_len, unsigned char *p_u8_data);
  51. extern unsigned char sysfs_do_cal(void);
  52. extern unsigned char sysfs_burn_cc_bl(void);
  53. extern void gpio_touch_reset_pin_control(unsigned char u8_high);
  54. extern void gpio_touch_hw_reset(void);
  55. extern unsigned char fw_upgrade(unsigned char type);
  56. extern unsigned char gpio_touch_int_access(unsigned char u8_is_clear_flag);
  57. extern unsigned char gpio_touch_int_pin_state_access(void);
  58. extern unsigned char handle_read_word(unsigned int addr, unsigned int *p_data);
  59. extern unsigned char handle_write_word(unsigned int u32_addr, unsigned int u32_data);
  60. extern unsigned char handle_read_pda(unsigned int u32_addr, unsigned char u8_read_len, unsigned char *p_u8_output_buf);
  61. extern unsigned char handle_write_pda(unsigned int u32_addr, unsigned char u8_write_len, unsigned char *bValue, unsigned char u8_trans_mode);
  62. extern unsigned char handle_ic_read(unsigned int u32_addr, unsigned short u8_read_len, unsigned char *p_u8_output_buf, unsigned char u8_interface, unsigned char u8_trans_mode);
  63. extern unsigned char handle_ic_write(unsigned int u32_addr, unsigned char u8_write_len, unsigned char *bValue, unsigned char u8_interface, unsigned char u8_trans_mode);
  64. extern unsigned char raydium_upgrade_test_fw(unsigned long ul_fw_addr);
  65. extern unsigned char raydium_upgrade_test_fw_3x(unsigned long ul_fw_addr);
  66. extern unsigned char raydium_upgrade_test_fw_2x(unsigned long ul_fw_addr);
  67. extern void set_raydium_ts_data(struct raydium_ts_data *ts_old);