kernel-brax3-ubuntu-touch/drivers/input/touchscreen/focaltech_ft8725_spi/focaltech_config.h
erascape f319b992b1 kernel-5.15: Initial import brax3 UT kernel
* halium configs enabled

Signed-off-by: erascape <erascape@proton.me>
2025-09-23 15:17:10 +00:00

366 lines
12 KiB
C
Executable file

/*
*
* FocalTech TouchScreen driver.
*
* Copyright (c) 2012-2020, FocalTech Systems, Ltd., all rights reserved.
*
* 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.
*
*/
/************************************************************************
*
* File Name: focaltech_config.h
*
* Author: Focaltech Driver Team
*
* Created: 2016-08-08
*
* Abstract: global configurations
*
* Version: v1.0
*
************************************************************************/
#ifndef _LINUX_FOCLATECH_CONFIG_H_
#define _LINUX_FOCLATECH_CONFIG_H_
/**************************************************/
/****** G: A, I: B, S: C, U: D ******************/
/****** chip type defines, do not modify *********/
#define _FT8716 0x87160805
#define _FT8736 0x87360806
#define _FT8607 0x86070809
#define _FT8006U 0x8006D80B
#define _FT8006S 0x8006A80B
#define _FT8613 0x8613080C
#define _FT8719 0x8719080D
#define _FT8739 0x8739080E
#define _FT8615 0x8615080F
#define _FT8201 0x82010810
#define _FT8201AA 0x8201A810
#define _FT8006P 0x86220811
#define _FT8613S 0x8613C814
#define _FT8756 0x87560815
#define _FT8656 0x86560815
#define _FT8756M 0x8756A815
#define _FT8302 0x83020816
#define _FT8009 0x80090817
#define _FT8006S_AA 0x86320819
#define _FT7250 0x7250081A
#define _FT7120 0x7120081B
#define _FT8720 0x8720081C
#define _FT8726 0x8726081C
#define _FT8720H 0x8720E81C
#define _FT8720M 0x8720F81C
#define _FT8016 0x8016081D
#define _FT8006S_AB 0x8642081F
#define _FT8722 0x87220820
#define _FT8201AB 0x8201B821
#define _FT8203 0x82030821
#define _FT8201M 0x8201C821
#define _FT8006S_AN 0x8006B822
#define _FT7131 0x71310823
#define _FT7250AB 0x7250B824
#define _FT7130 0x71300825
#define _FT8205 0x82050826
#define _FT2389 0x23890827
#define _FT8057 0x80570828
#define _FT8057S 0x8057C828
#define _FT8725 0x87250829
#define _FT7135 0x71350829
#define _FT8206 0x8206082A
#define _FT8057P 0x8057082B
#define _FT7133 0x7133082B
#define _FT8205P 0x8205082C
#define _FT8201P 0x8201082C
#define _FT8201S 0x8201C82C
#define _FT7250P 0x7250082C
#define _FT5426 0x54260402
#define _FT5436 0x54360402
#define _FT5526 0x55260402
#define _FT5446 0x54460402
#define _FT5346 0x53460402
#define _FT7661 0x76610402
#define _FT7511 0x75110402
#define _FT7421 0x74210402
#define _FT7681 0x76810402
#define _FT3417 0x34170402
#define _FT3517 0x35170402
#define _FT3327 0x33270402
#define _FT3427 0x34270402
#define _FT7311 0x73110402
#define _FT5526_V00 0x5526C402
#define _FT5726 0x57260401
#define _FT5826S 0x5826C401
#define _FT7811 0x78110401
#define _FT3617 0x36170401
#define _FT3717 0x37170401
#define _FT6236U 0x6236D003
#define _FT6336G 0x6336A003
#define _FT6336U 0x6336D003
#define _FT6436U 0x6436D003
#define _FT6436T 0x6436E003
#define _FT3267 0x32670004
#define _FT3367 0x33670004
#define _FT5446_Q03 0x5446C482
#define _FT5446_P03 0x5446A481
#define _FT5446_N03 0x5446A489
#define _FT5426_003 0x5426D482
#define _FT5526_003 0x5526D482
#define _FT3437_003 0x34370482
#define _FT3518 0x35180481
#define _FT3518U 0x3518D481
#define _FT3558 0x35580481
#define _FT3528 0x35280481
#define _FT5536 0x55360481
#define _FT3418 0x34180481
#define _FT5536G 0x5536A481
#define _FT5446U 0x5446D083
#define _FT5456U 0x5456D083
#define _FT5426U 0x5426D083
#define _FT7302 0x73020084
#define _FT7202 0x72020084
#define _FT3308 0x33080084
#define _FT6446 0x64460084
#define _FT6346U 0x6346D085
#define _FT6346G 0x6346A085
#define _FT3067 0x30670085
#define _FT3068 0x30680085
#define _FT3168 0x31680085
#define _FT3268 0x32680085
#define _FT6146 0x61460085
#define _FT3168G 0x3168A085
#define _FT6347 0x63470085
#define _FT5726_003 0x5726D486
#define _FT5726_V03 0x5726C486
#define _FT3617_003 0x3617D486
#define _FT3618 0x36180487
#define _FT5646 0x56460487
#define _FT3A58 0x3A580487
#define _FT3B58 0x3B580487
#define _FT3D58 0x3D580487
#define _FT3D59 0x3D590487
#define _FT5936 0x59360487
#define _FT5A36 0x5A360487
#define _FT5B36 0x5B360487
#define _FT5D36 0x5D360487
#define _FT5946 0x59460487
#define _FT5A46 0x5A460487
#define _FT5B46 0x5B460487
#define _FT5D46 0x5D460487
#define _FT3658U 0x3658D488
#define _FT3658G 0x3658A488
#define _FT3519 0x35190489
#define _FT3519T 0x3519E489
#define _FT3519U 0x3519D489
#define _FT3419 0x34190489
#define _FT5536U_003 0x5536D489
#define _FT5426G 0x5426A489
#define _FT3437_N03 0x34370489
#define _FT7411 0x74110489
#define _FT7411A 0x7411A489
#define _FT7511A 0x7511A489
#define _FT7511U 0x7511D489
#define _FT3680 0x3680008A
#define _FT368A 0x368A008A
#define _FT3681 0x3681008A
#define _FT3881 0x3881008A
#define _FT3169 0x3169008B
#define _FT3269 0x3269008B
#define _FT3658S 0x3658C48C
#define _FT3A81 0x3A81048D
#define _FT3B81 0x3B81048D
#define _FT3D81 0x3D81048D
#define _FT5B36U 0x5B36D48E
#define _FT3682 0x3682008F
#define _FT3C82 0x3C82008F
#define _FT3683G 0x56720090
#define _FT3683U 0x3683D090
#define _FT7510 0x75100090
#define _FT7512 0x75120090
#define _FT3683 0x36830092
#define _FT3D81_003 0x3D81B491
#define _FT3510 0x35100093
#define _FT3610 0x36100093
#define _FT3383 0x33830093
/*************************************************/
/*
* choose your ic chip type of focaltech
*/
#define FTS_CHIP_TYPE _FT8725
/******************* Enables *********************/
/*********** 1 to enable, 0 to disable ***********/
/*
* show debug log info
* enable it for debug, disable it for release
*/
#define FTS_DEBUG_EN 0
/*
* Linux MultiTouch Protocol
* 1: Protocol B(default), 0: Protocol A
*/
#define FTS_MT_PROTOCOL_B_EN 1
/*
* Report Pressure in multitouch
* 1:enable(default),0:disable
*/
#define FTS_REPORT_PRESSURE_EN 0
/*
* Stylus PEN enable
* 1:enable(default),0:disable
*/
#define FTS_PEN_EN 0
/*
* Proximity function enable
* default: disable
*/
#define FTS_PSENSOR_EN 0
/*
* FOD function enable
* default: disable
*/
#define FTS_FOD_EN 0
/*
* ESD check & protection
* default: disable
*/
#define FTS_ESDCHECK_EN 0
/*
* Pinctrl enable
* default: disable
*/
#define FTS_PINCTRL_EN 0
/* power policy:
* FTS_POWER_SOURCE_CUST_EN,FTS_POWER_SUSPEND_OFF_EN
* 0,0:typically for IDC chip,not control power when probing and suspending.
* 0,1:only for IDC,LCD driver sets IDC power to off when suspending,so need
* set tp_rst pin to low in tp driver.
* 1,0:typically for OLED touch chip, not set power to off when suspending.
* 1,1:typically for touch chip,control power when probing and suspending.
*/
/*
* Customer power enable
* enable it when customer need control TP power
* default: disable
*/
#define FTS_POWER_SOURCE_CUST_EN 0
/* Set power to off state when entering into suspend
* default:disable
*/
#define FTS_POWER_SUSPEND_OFF_EN 0
/****************************************************/
/********************** Upgrade ****************************/
/*
* auto upgrade
*/
#define FTS_AUTO_UPGRADE_EN 1
/* for none flash project, set it to be the using FW number */
#define FTS_MULTI_FW_NUM 0
/*
* charger mode
*/
#define FTS_CHARGER_MODE_EN 1
/*
* auto upgrade for lcd cfg
*/
#define FTS_AUTO_LIC_UPGRADE_EN 0
/*
* Numbers of modules support
*/
#define FTS_GET_MODULE_NUM 0
/*
* module_id: mean vendor_id generally, also maybe gpio or lcm_id...
* If means vendor_id, the FTS_MODULE_ID = PANEL_ID << 8 + VENDOR_ID
* FTS_GET_MODULE_NUM == 0/1, no check module id, you may ignore them
* FTS_GET_MODULE_NUM >= 2, compatible with FTS_MODULE2_ID
* FTS_GET_MODULE_NUM >= 3, compatible with FTS_MODULE3_ID
*/
#define FTS_MODULE_ID 0x0000
#define FTS_MODULE2_ID 0x0000
#define FTS_MODULE3_ID 0x0000
/*
* Need set the following when get firmware via firmware_request()
* For example: if module'vendor is tianma,
* #define FTS_MODULE_NAME "tianma"
* then file_name will be "focaltech_ts_fw_tianma"
* You should rename fw to "focaltech_ts_fw_tianma", and push it into
* etc/firmware or by customers
*/
#define FTS_MODULE_NAME ""
#define FTS_MODULE2_NAME ""
#define FTS_MODULE3_NAME ""
/*
* FW.i file for auto upgrade, you must replace it with your own
* define your own fw_file, the sample one to be replaced is invalid
* NOTE: if FTS_GET_MODULE_NUM > 1, it's the fw corresponding with FTS_MODULE_ID
*/
#define FTS_UPGRADE_FW_FILE "include/firmware/FT8725_BOE_6P58_V0e_D00_20241022_app.i"
/*
* if FTS_GET_MODULE_NUM >= 2, fw corrsponding with FTS_MODULE2_ID
* define your own fw_file, the sample one is invalid
*/
#define FTS_UPGRADE_FW2_FILE "include/firmware/FT8725_BOE_6P58_V0e_D00_20241022_app.i"
/*
* if FTS_GET_MODULE_NUM >= 3, fw corrsponding with FTS_MODULE3_ID
* define your own fw_file, the sample one is invalid
*/
#define FTS_UPGRADE_FW3_FILE "include/firmware/FT8725_BOE_6P58_V0e_D00_20241022_app.i"
/*********************************************************/
#endif /* _LINUX_FOCLATECH_CONFIG_H_ */