/* SPDX-License-Identifier: GPL-2.0 */ /* Himax Android Driver Sample Code for modularize functions * * Copyright (C) 2019 Himax Corporation. * * This software is licensed under the terms of the GNU General Public * License version 2, as published by the Free Software Foundation, and * may be copied, distributed, and modified under those terms. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ #ifndef __HIMAX_IC_USAGE_H__ #define __HIMAX_IC_USAGE_H__ #if defined(CONFIG_TOUCHSCREEN_HIMAX_IC_HX852xH) extern bool _hx852xH_init(void); #endif #if defined(CONFIG_TOUCHSCREEN_HIMAX_IC_HX852xG) extern bool _hx852xG_init(void); #endif #if defined(CONFIG_TOUCHSCREEN_HIMAX_IC_HX852xJ) extern bool _hx852xJ_init(void); #endif #if defined(CONFIG_TOUCHSCREEN_HIMAX_IC_HX83102) extern bool _hx83102_init(void); #endif #if defined(CONFIG_TOUCHSCREEN_HIMAX_IC_HX83103) extern bool _hx83103_init(void); #endif #if defined(CONFIG_TOUCHSCREEN_HIMAX_IC_HX83106) extern bool _hx83106_init(void); #endif #if defined(CONFIG_TOUCHSCREEN_HIMAX_IC_HX83108) extern bool _hx83108_init(void); #endif #if defined(CONFIG_TOUCHSCREEN_HIMAX_IC_HX83111) extern bool _hx83111_init(void); #endif #if defined(CONFIG_TOUCHSCREEN_HIMAX_IC_HX83112) extern bool _hx83112_init(void); #endif #if defined(CONFIG_TOUCHSCREEN_HIMAX_IC_HX83113) extern bool _hx83113_init(void); #endif #if defined(CONFIG_TOUCHSCREEN_HIMAX_IC_HX83121) extern bool _hx83121_init(void); #endif #if defined(CONFIG_TOUCHSCREEN_HIMAX_IC_HX83191) extern bool _hx83191_init(void); #endif #if defined(CONFIG_TOUCHSCREEN_HIMAX_IC_HX83192) extern bool _hx83192_init(void); #endif #if !defined(__HIMAX_HX852xH_MOD__) && !defined(__HIMAX_HX852xG_MOD__) #if !defined(__HIMAX_HX852xJ_MOD__) extern struct fw_operation *pfw_op; extern struct ic_operation *pic_op; extern struct flash_operation *pflash_op; extern struct driver_operation *pdriver_op; #endif #endif #if defined(HX_ZERO_FLASH) && defined(CONFIG_TOUCHSCREEN_HIMAX_INCELL) extern struct zf_operation *pzf_op; extern int G_POWERONOF; #endif extern unsigned char IC_CHECKSUM; #if defined(HX_EXCP_RECOVERY) extern u8 HX_EXCP_RESET_ACTIVATE; #endif #if defined(HX_ZERO_FLASH) && defined(HX_CODE_OVERLAY) #if defined(CONFIG_TOUCHSCREEN_HIMAX_INCELL) extern uint8_t *ovl_idx; #endif #endif extern unsigned long FW_VER_MAJ_FLASH_ADDR; extern unsigned long FW_VER_MIN_FLASH_ADDR; extern unsigned long CFG_VER_MAJ_FLASH_ADDR; extern unsigned long CFG_VER_MIN_FLASH_ADDR; extern unsigned long CID_VER_MAJ_FLASH_ADDR; extern unsigned long CID_VER_MIN_FLASH_ADDR; extern uint32_t CFG_TABLE_FLASH_ADDR; extern uint32_t CFG_TABLE_FLASH_ADDR_T; #if defined(HX_TP_PROC_2T2R) // static bool Is_2T2R; #endif #if defined(HX_USB_DETECT_GLOBAL) extern void (himax_cable_detect_func)(bool force_renew); #endif #if defined(HX_RST_PIN_FUNC) extern void (himax_rst_gpio_set)(int pinnum, uint8_t value); #endif extern struct himax_ts_data *private_ts; extern struct himax_core_fp g_core_fp; extern struct himax_ic_data *ic_data; #if !defined(__HIMAX_HX852xH_MOD__) && !defined(__HIMAX_HX852xG_MOD__) #if !defined(__HIMAX_HX852xJ_MOD__) extern void himax_mcu_in_cmd_init(void); extern int himax_mcu_in_cmd_struct_init(void); #else extern struct on_driver_operation *on_pdriver_op; extern struct on_flash_operation *on_pflash_op; extern void himax_mcu_on_cmd_init(void); extern int himax_mcu_on_cmd_struct_init(void); #endif #else extern struct on_driver_operation *on_pdriver_op; extern struct on_flash_operation *on_pflash_op; extern void himax_mcu_on_cmd_init(void); extern int himax_mcu_on_cmd_struct_init(void); #endif extern void himax_parse_assign_cmd(uint32_t addr, uint8_t *cmd, int len); extern int himax_bus_read(uint8_t command, uint8_t *data, uint32_t length); extern int himax_bus_write(uint8_t command, uint8_t *data, uint32_t length); extern void himax_int_enable(int enable); #endif