blob: fc33bf883df3e9819105a2a6034de5e3095fcce3 [file] [log] [blame]
/* 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