Files
android/drivers/misc/mediatek/lens/main2/common/bu64748af/bu64748_function.h
T
threeeye bc1d038eac REVVL 6 Pro kernel bring-up: full working tree snapshot (2026-09-12)
Squashed backup commit (no shallow-clone history issues) of
xiaomi-mt6833-dev/kernel_xiaomi_mt6833 (lineage-23.2 branch, upstream
commit 9eece662e) plus all fixes applied to get everpal_defconfig building
clean against a modern (GCC 15.2.0) toolchain -- see the previous commit
message on the lineage-23.2 branch (also in this repo history is not
available here since this is a squashed snapshot; full incremental history
lives in the local DL380 checkout and the upstream GitHub remote).

Upstream: https://github.com/xiaomi-mt6833-dev/kernel_xiaomi_mt6833 (lineage-23.2)
2026-09-12 13:36:46 +00:00

210 lines
5.4 KiB
C

/*
* Copyright (C) 2015 MediaTek Inc.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* 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 __BU64748_FUNCTION_H
#define __BU64748_FUNCTION_H
#define _SLV_FBAF_ 0x76
#define ADJ_OK 0
#define ADJ_ERR -1
#define PROG_DL_ERR -2
#define COEF_DL_ERR -3
#define _OP_FIRM_DWNLD 0x80
#define _OP_Periphe_RW 0x82
#define _OP_Memory__RW 0x84
#define _OP_COEF_DWNLD 0x88
#define _OP_SpecialCMD 0x8C
#define _cmd_8C_EI 0x0001
#define _cmd_8C_DI 0x0002
#define _cmd_8C_STRB 0x0004
#define _cmd_8C_TRI_SHT 0x0008
#define _cmd_8C_TRI_con 0x0010
#define _P_31_CURRENT_ADC__ 0x31
#define _P_37_OTHER___ADC__ 0x37
#define _P_2C_BTL_DAC__DATA 0x2C
#define _P_30_HALL_CurntDAC 0x30
#define _P_31_HALL___PREDAC 0x31
#define _P_34_CURAMP_OFSDAC 0x34
#define _P_39_HALL__POSTDAC 0x39
#define _P_3C_HALL__GAIN__1 0x3C
#define _P_3F_HALL__GAIN__2 0x3F
#define _P_41_ADC_Averaging 0x41
#define _P_51_AF_SLP_Trimng 0x51
#define _P_5A_ADC_MPX_FIX__ 0x5A
#define _P_72_BTL_____RANGE 0x72
#define _P_73_BTL____Enable 0x73
#define _P_75_BTL_ExtendBit 0x75
#define _M_FIRMVER 0xF6
#define _M_00_Kg00 0x00
#define _M_01_Kg01 0x01
#define _M_02_Kg02 0x02
#define _M_03_Kg03 0x03
#define _M_04_wD04 0x04
#define _M_05_wDEQH 0x05
#define _M_06_TRILMT 0x06
#define _M_07_KgWv 0x07
#define _M_08_Kg08 0x08
#define _M_09_Kg09 0x09
#define _M_0A_Kg0A 0x0A
#define _M_0B_Kg0B 0x0B
#define _M_0C_wD0C 0x0C
#define _M_0D_wDEQ1 0x0D
#define _M_0E_C_LMT 0x0E
#define _M_0F_C_LMO 0x0F
#define _M_10_Kg10 0x10
#define _M_11_Kg11 0x11
#define _M_12_Kg12 0x12
#define _M_13_Kg13 0x13
#define _M_14_wD14 0x14
#define _M_15_wDEQL 0x15
#define _M_16_CUROFS 0x16
#define _M_17_Kf0A 0x17
#define _M_18_Kg18 0x18
#define _M_19_Kg19 0x19
#define _M_1A_Kg1A 0x1A
#define _M_1B_Kg1B 0x1B
#define _M_1C_Kg1C 0x1C
#define _M_1D_wD1D 0x1D
#define _M_1E_wD1E 0x1E
#define _M_1F_BPFOUT 0x1F
#define _M_20_HOFS 0x20
#define _M_21_KgHG 0x21
#define _M_22_wTRGT 0x22
#define _M_23_wGIN 0x23
#define _M_24_wGOUT 0x24
#define _M_25_KgLPG 0x25
#define _M_26_wEQIN 0x26
#define _M_27_wGAS 0x27
#define _M_28_wDgEQA 0x28
#define _M_29_Kf0C 0x29
#define _M_2A_wDf0X 0x2A
#define _M_2B_wDg09 0x2B
#define _M_2C_NRMHAL 0x2C
#define _M_2D_Kg2D 0x2D
#define _M_2E__tmp0 0x2E
#define _M_2F_Kg2F 0x2F
#define _M_30_EQCTL 0x30
#define _EQ_ALL_OFF 0x0000
#define _EQ_ALL__ON 0x0004
#define _EQ_CUR_FBK 0x0004
#define _EQ_POS_SRV_SR_fil__O 0x000C
#define _EQ_POS_SRV_SR_fil_of 0x000D
/* -- _EQ_C_FB_CL = 0x0004 */
/* -- _EQ_C_FB_OP = 0x0005 */
/*-- _EQ_C_FBOFF = 0x0014 */
#define _M_31_PRFCNT 0x31
#define _M_32_PRFNUM 0x32
#define _M_33_SO_ADR 0x33
#define _M_34_PRESFT 0x34
#define _M_35_PSTSFT 0x35
#define _M_36_fs_mod 0x36
#define _M_37_CURSFT 0x37
#define _M_38_PRFCEF 0x38
#define _M_39_CURSET 0x39
#define _M_3A_AXSOFS 0x3A
#define _M_3B_CURDET 0x3B
#define _M_3C_STRCNT 0x3C
#define _M_3D_Kwvat 0x3D
#define _M_3E_CNVTRG 0x3E
#define _M_3F_TRIDAT 0x3F
#define _M_40_COEF__00 0x40
#define _M_41_COEF__01 0x41
#define _M_42_COEF__02 0x42
#define _M_43_COEF__03 0x43
#define _M_44_COEF__04 0x44
#define _M_45_COEF__05 0x45
#define _M_46_COEF__06 0x46
#define _M_47_SETTRGT 0x47
#define _M_48_Kg48 0x48
#define _M_49_Kg49 0x49
#define _M_4A_Kg4A 0x4A
#define _M_4B_Kg4B 0x4B
#define _M_4C_Kg4C 0x4C
#define _M_4D_wD4D 0x4D
#define _M_4E_wD4E 0x4E
#define _M_4F_2ndOUT 0x4F
#define _M_50_POS_SFT_1 0x50
#define _M_51_POS_SFT_2 0x51
#define _M_52_POS_SFT_3 0x52
#define _M_53_POS_SFT_4 0x53
#define _M_54_POS_SFT_5 0x54
#define _M_55_POS_SFT_6 0x55
#define _M_56_POS_SFT_7 0x56
#define _M_57_POS_SFT_C 0x57
#define _M_58_POS_SFT11 0x58
#define _M_59_POS_SFT12 0x59
#define _M_5A_POS_SFT13 0x5A
#define _M_5B_POS_SFT14 0x5B
#define _M_5C_POS_SFT15 0x5C
#define _M_5D_POS_SFT16 0x5D
#define _M_5E_POS_SFT17 0x5E
#define _M_5F_HALIN 0x5F
#define _M_CD_CEFTYP 0xCD
#define _M_CF_tmpTRGT 0xCF
#define _M_D0_Hall_0 0xD0
#define _M_D1_Hall_1 0xD1
#define _M_D2_Hall_2 0xD2
#define _M_D3_Hall_3 0xD3
#define _M_D4_Hall_4 0xD4
#define _M_D5_Hall_5 0xD5
#define _M_D6_Hall_6 0xD6
#define _M_D7_Hall_7 0xD7
#define _M_D8_Hall_8 0xD8
#define _M_D9_Hall_9 0xD9
#define _M_DA_Hall_A 0xDA
#define _M_DB_Hall_B 0xDB
#define _M_DC_Hall_C 0xDC
#define _M_DD_Hall_D 0xDD
#define _M_DE_Hall_E 0xDE
#define _M_DF_Hall_F 0xDF
#define _M_E0_Hall10 0xE0
#define _M_E1_Hall11 0xE1
#define _M_E2_Hall12 0xE2
#define _M_E3_Hall13 0xE3
#define _M_E4_Hall14 0xE4
#define _M_E5_Hall15 0xE5
#define _M_E6_Hall16 0xE6
#define _M_E7_Hall17 0xE7
#define _M_E8_Hall18 0xE8
#define _M_E9_Hall19 0xE9
#define _M_EA_Hall1A 0xEA
#define _M_EB_Hall1B 0xEB
#define _M_EC_Hall1C 0xEC
#define _M_ED_Hall1D 0xED
#define _M_EE_Hall1E 0xEE
#define _M_EF_Hall1F 0xEF
#define _M_F0_CUR_IN 0xF0
#define _M_F6_FIRMVER 0xF6
#define _M_F7_FBAF_STS 0xF7
extern int main2_SOutEx(unsigned char slaveAddress,
unsigned char *dat, int size);
extern int main2_SInEx(unsigned char slaveAddress,
unsigned char *dat, int size,
unsigned char *ret, int ret_size);
void main2_AF_TARGET(unsigned short target);
int BU64748_main2_Initial(void);
unsigned short bu64748_main2_af_cur_pos(void);
void BU64748_main2_soft_power_ctrl(int On);
#endif