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 10 #ifndef __GOODIX_BERLIN_H_ 11 #define __GOODIX_BERLIN_H_ 12 13 #include <linux/pm.h> 14 15 #define GOODIX_BERLIN_FW_VERSION_INFO_ADDR_A 0x1000C 16 #define GOODIX_BERLIN_FW_VERSION_INFO_ADDR_D 0x10014 17 18 #define GOODIX_BERLIN_IC_INFO_ADDR_A 0x10068 19 #define GOODIX_BERLIN_IC_INFO_ADDR_D 0x10070 20 21 struct goodix_berlin_ic_data { 22 int fw_version_info_addr; 23 int ic_info_addr; 24 ssize_t read_dummy_len; 25 ssize_t read_prefix_len; 26 }; 27 28 struct device; 29 struct input_id; 30 struct regmap; 31 32 int goodix_berlin_probe(struct device *dev, int irq, const struct input_id *id, 33 struct regmap *regmap, 34 const struct goodix_berlin_ic_data *ic_data); 35 36 extern const struct dev_pm_ops goodix_berlin_pm_ops; 37 extern const struct attribute_group *goodix_berlin_groups[]; 38 39 #endif 40