goodix_berlin.h 941 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. /* SPDX-License-Identifier: GPL-2.0-or-later */
  2. /*
  3. * Goodix Touchscreen Driver
  4. * Copyright (C) 2020 - 2021 Goodix, Inc.
  5. * Copyright (C) 2023 Linaro Ltd.
  6. *
  7. * Based on goodix_berlin_berlin driver.
  8. */
  9. #ifndef __GOODIX_BERLIN_H_
  10. #define __GOODIX_BERLIN_H_
  11. #include <linux/pm.h>
  12. #define GOODIX_BERLIN_FW_VERSION_INFO_ADDR_A 0x1000C
  13. #define GOODIX_BERLIN_FW_VERSION_INFO_ADDR_D 0x10014
  14. #define GOODIX_BERLIN_IC_INFO_ADDR_A 0x10068
  15. #define GOODIX_BERLIN_IC_INFO_ADDR_D 0x10070
  16. struct goodix_berlin_ic_data {
  17. int fw_version_info_addr;
  18. int ic_info_addr;
  19. ssize_t read_dummy_len;
  20. ssize_t read_prefix_len;
  21. };
  22. struct device;
  23. struct input_id;
  24. struct regmap;
  25. int goodix_berlin_probe(struct device *dev, int irq, const struct input_id *id,
  26. struct regmap *regmap,
  27. const struct goodix_berlin_ic_data *ic_data);
  28. extern const struct dev_pm_ops goodix_berlin_pm_ops;
  29. extern const struct attribute_group *goodix_berlin_groups[];
  30. #endif