lynx: Regenerate vendor blobs

Signed-off-by: HeroBuxx <me@herobuxx.me>
This commit is contained in:
HeroBuxx
2026-07-11 13:00:21 +00:00
commit bfe5ab4cfe
2769 changed files with 65782 additions and 0 deletions
+86
View File
@@ -0,0 +1,86 @@
#!/system/bin/sh
#
# Copyright 2021 Google LLC. All Rights Reserved.
#
# Lynx Calibration Sub-Script.
#
# Contains L10-specific sensor information for sensor_cal.
# Sensors supported for calibration.
SUPPORTED_SENSORS="accel als baro gyro imu_temp prox"
NON_CAL_PHYSICAL_SENSORS="mag"
#######################################
# Converts a sensor name to its path.
# Globals:
# CAL_PARAMS
# SENSOR
# SENSOR_NAME
# SENSOR_PATH
# Arguments:
# None
# Outputs:
# Saves the sensor path in SENSOR_PATH.
# Logging based on set VERBOSITY level.
#######################################
sensor_cal::sensor_to_path() {
if [[ "${SENSOR}" == "accel" ]]; then
SENSOR_PATH="/fac_cal/dev/lsm6dsv/0/accel"
SENSOR_NAME="lsm6dsv"
LIST_NAME="LSM6DSV Accelerometer"
# Add "avg_odr_30" in addition to the original parameters.
CAL_PARAMS+=" avg_odr_30"
elif [[ "${SENSOR}" == "als" ]]; then
SENSOR_PATH="/fac_cal/dev/tmd3719/0/als"
SENSOR_NAME="tmd3719"
LIST_NAME="TMD3719 Ambient Light"
CAL_PARAMS=" \
clear_gain6_ratio clear_gain7_ratio clear_gain8_ratio clear_gain9_ratio \
clear_gain10_ratio clear_gain11_ratio \
red_gain6_ratio red_gain7_ratio red_gain8_ratio red_gain9_ratio \
red_gain10_ratio red_gain11_ratio red_clear_ratio \
green_gain6_ratio green_gain7_ratio green_gain8_ratio green_gain9_ratio \
green_gain10_ratio green_gain11_ratio green_clear_ratio \
blue_gain6_ratio blue_gain7_ratio blue_gain8_ratio blue_gain9_ratio \
blue_gain10_ratio blue_gain11_ratio blue_clear_ratio \
disp_leak lux_scale panel_serial \
sync_delay_ns sync_delay_2_ns"
elif [[ "${SENSOR}" == "baro" ]]; then
SENSOR_PATH="/fac_cal/dev/icp20100/0/baro"
SENSOR_NAME="icp20100"
LIST_NAME="ICP20100 Pressure Sensor"
# Add "temp_intercept" in addition to the original parameters.
CAL_PARAMS+=" temp_intercept"
elif [[ "${SENSOR}" == "gyro" ]]; then
SENSOR_PATH="/fac_cal/dev/lsm6dsv/0/gyro"
SENSOR_NAME="lsm6dsv"
LIST_NAME="LSM6DSV Gyroscope"
# Add "avg_odr_30" in addition to the original parameters.
CAL_PARAMS+=" avg_odr_30"
elif [[ "${SENSOR}" == "imu_temp" ]]; then
SENSOR_PATH="/fac_cal/dev/lsm6dsv/0/temp"
SENSOR_NAME="lsm6dsv"
LIST_NAME="LSM6DSV Temperature"
elif [[ "${SENSOR}" == "prox" ]]; then
SENSOR_PATH="/fac_cal/dev/tmd3719/0/prox"
SENSOR_NAME="tmd3719"
LIST_NAME="TMD3719 Proximity"
CAL_PARAMS=" \
hp_pdata0_baseline hp_pdata1_baseline hp_pdata0_offset hp_pdata1_offset \
hp_pdata0_scale hp_pdata1_scale \
pdata0_baseline pdata1_baseline pdata0_scale pdata1_scale vcsel_ma"
###############################
## Non cal physical sensors. ##
###############################
elif [[ "${SENSOR}" == "mag" ]]; then
LIST_NAME="MMC56X3X Magnetometer"
else
sensor_cal::ERROR "Unknown or unimplemented sensor: ${SENSOR}"
sensor_cal::exit_badparam
fi
sensor_cal::DEBUG "Registry path: ${SENSOR_PATH}"
}
+2
View File
@@ -0,0 +1,2 @@
sensors.dynamic_sensor_hal.so
sensors.usf.so
@@ -0,0 +1,3 @@
# MOTIONSTATE
+/dev/motionstate/0
name=Motion State
@@ -0,0 +1,9 @@
#
# Common power configuration registry script.
#
+/power
mips_vote_per_sampling_rate=0.4
mips_max_vote=350
+/power/mips_voter
enable=1
+286
View File
@@ -0,0 +1,286 @@
#
# Lynx sensor device configuration registry script for the dev stage.
#
# Source of truth: go/pixel-sensor-list
#
#
# CDT Filter <CDT>:<mask>
# CDT format: <0xPPPPSJIV> (P:Product, S:Stage, J:Major, I:Minor, V:Variant)
# go/pixel-cdt-whi-pro
#
?+0x51000:0xFFFFF000
#
# Record reg_script.
#
+/
reg_script=lynx_dev.reg
#
# Buses
#
# I2C
+/dev/i2c/0
bus_name=i2c0
bus_index=0
# I3C
+/dev/i3c/2
bus_name=i3c2
bus_index=2
# SPI
+/dev/spi/0
bus_name=spi0
bus_index=0
# PDM
+/dev/pdm
base_clk_hz=24576000
#
# Sensors
#
# IMU (LSM6DSV)
+/dev/lsm6dsv/0
bus_name=i3c2
bus_freq_hz=400000
i3c_freq_hz=1230000
bus_addr=0x6a
i3c_addr=0xa
intr_id=47
trigger_type=2
fifo_enabled=1
md_threshold_m_per_s_sq=1.2264
md_window_ms=20
sd_window_ms=5000
fifo_max_odr=4000
fifo_max_wm=245
fifo_min_wm=1
+/dev/lsm6dsv/0/accel
orientation_transform=-2 1 3
+/dev/lsm6dsv/0/gyro
orientation_transform=-2 1 3
+/dev/lsm6dsv/0/temp
+/dev/lsm6dsv/0/motion_detect
+/dev/lsm6dsv/0/stationary_detect
+/dev/lsm6dsv/0/free_fall_detect
name=LSM6DSV FreeFall Detect
# MAG 0 (MMC5633NJ)
+/dev/mmc56x3x/0
bus_name=i3c2
bus_freq_hz=400000
i3c_freq_hz=1230000
bus_addr=0x30
i3c_addr=0x14
priority=0
+/dev/mmc56x3x/0/mag
orientation_transform=-1 -2 3
name=MMC56X3X Magnetometer 0
# MAG 1 (MMC5633NJ)
+/dev/mmc56x3x/1
bus_name=i2c0
bus_freq_hz=400000
bus_addr=0x30
priority=1
+/dev/mmc56x3x/1/mag
orientation_transform=2 -1 3
name=MMC56X3X Magnetometer 1
# BARO (ICP20100)
+/dev/icp20100/0
bus_name=i2c0
bus_freq_hz=400000
bus_addr=0x63
intr_id=37
min_period_us=25000
+/dev/icp20100/0/baro
+/dev/icp20100/0/temp
# ALSP1 (TMD37193)
+/dev/tmd3719/0
bus_name=i2c0
bus_freq_hz=400000
bus_addr=0x39
intr_id=15
sync_delay_ns=0
# falling edge = 0, rising edge = 1
te2_alignment=0
anti_aliasing=1
+/dev/tmd3719/0/als
lux_scale=1.0
c_coef=1
r_coef=-0.674221
g_coef=1.615560
b_coef=-1.941339
itime_table_brightness=96 206 316 401 2048
itime_table=1999240 1497400 998270 610360 181750
max_gain_table=11 10 10 10 9
fast_filter_size=10
slow_filter_size=100
aod_fast_filter_size=2
aod_slow_filter_size=2
max_lux=160000
# Number of EM cycles in a 60Hz frame.
EM_cycle_count_60Hz=6
# Step-size (in EM slots) for each rotation.
rotation_step_size=1
new_gain_ratio=1
clear_gain11_ratio=0.125
red_gain11_ratio=0.125
green_gain11_ratio=0.125
blue_gain11_ratio=0.125
clear_gain10_ratio=0.25
red_gain10_ratio=0.25
green_gain10_ratio=0.25
blue_gain10_ratio=0.25
clear_gain9_ratio=0.5
red_gain9_ratio=0.5
green_gain9_ratio=0.5
blue_gain9_ratio=0.5
clear_gain8_ratio=1.0
red_gain8_ratio=1.0
green_gain8_ratio=1.0
blue_gain8_ratio=1.0
clear_gain7_ratio=2
red_gain7_ratio=2
green_gain7_ratio=2
blue_gain7_ratio=2
clear_gain6_ratio=4
red_gain6_ratio=4
green_gain6_ratio=4
blue_gain6_ratio=4
# Histogram Configuration.
# Flag that controls whether the histogram is enabled.
histo_enable=1
# Display coordinates go from top left to bottom right.
histo_roi_left=420
histo_roi_top=300
histo_roi_right=560
histo_roi_bottom=430
# Weights applied to the RBG color samples to calculate luma.
# luma values:
# luma = W_R * R + W_G * G + WB * B
# with W_R + W_G + W_B = 1024
histo_weight_r=428
histo_weight_g=408
histo_weight_b=188
#
# Leakage calculator configuration. The general format is:
# leakage = luma_term(luma, dbv) * dbv_term(dbv)
# The luma_term maps luma into a value and different equations may be used
# depending on the current DBV value.
# Similar, the dbv_term maps DBV into a value and may also use different
# equations.
# Each line represents one equation, and is of the format:
# start-dbv end-dbv equation-type {coefficients}
# This means the equation applies to the DBV range [start-dbv .. end-dbv].
# There are two equation types currently:
# 0: Polynominal: c0 + c1*L + c2*L^2 + .. + ci*L^i
# 1: Natural Log: c0 + c1*ln(L + c2)
histo_luma_eq0=0 2047 0 0 3.9E-3
histo_dbv_eq0=0 2047 0 4.5000009E-1 1.03805E-3
# The maximum brightness (DBV) value up to which histogram is active.
# This value should match one of the itime_table_brightness values.
histo_max_brightness=2047
# Minimum change needed for a leakage value to be reported, i.e.,
# min_change = MAX(min_change_value, current_leakage_val * min_change_rate)
histo_min_change_value=0.01
histo_min_change_rate=0.01
# Histogram polling interval in ms.
histo_polling_interval=50
# Fallback luma value to use when histogram returns error (e.g., due to DRM).
histo_fallback_luma=128.0
# TMD3719 proximity sensor.
+/dev/tmd3719/0/prox
auto_baseline=1
burst_delay_60hz=160
burst_delay_90hz=160
burst_delay_aod=0
hxtalk=1
pulse_count=1
vcsel_ma=10
pd0_far_threshold=100
pd0_near_threshold=100
pd1_far_threshold=80
pd1_near_threshold=120
# "Low power" operating parameters.
pulse_len_us=32
filter_len=4
skip_count=0
pdata0_scale=1.90
pdata1_scale=2.11
gain0=4
gain1=8
# "High power" operating parameters.
hp_pulse_len_us=128
hp_filter_len=1
hp_skip_count=0
hp_pdata0_scale=1.96
hp_pdata1_scale=2.32
hp_pdata0_offset=0
hp_pdata1_offset=0
hp_gain0=1
hp_gain1=2
high_power_mode_only=1
# Display Info
+/dev/display_info/0
# Maximum panel refresh rate.
panel_max_rr=90
# Link to ALS attached to this display.
attached_alsp=/dev/tmd3719/0
# Camera VSYNC
+/dev/camera_vsync/0 # rear telephoto
intr_id=56
intr_trigger_type=2
+/dev/camera_vsync/1 # rear ultra-wide-angle
intr_id=57
intr_trigger_type=2
+/dev/camera_vsync/2 # front
intr_id=58
intr_trigger_type=2
+/dev/camera_vsync/3 # rear
intr_id=59
intr_trigger_type=2
# TOUCH (NOT SUPPORTED)
# TBN
+/tbn
tbn_mode=1
ap2aoc_intr_id=44
ap2aoc_intr_type=4
ap2aoc_gpio_id=gpio87
aoc2ap_gpio_id=gpio74
# VSC.
+/vsc
quick_pick_up_enable=1
+/vsc/auto_brightness
# float[3]={LuxToEnter, LuxToExit, RemappedLux}
lux_remap=-1.0 -1.0 -1.0
# float[3]={MinDelta, MaxDelta, LuxRatio}
lux_debounce_up=1 5000 0.15
lux_debounce_down=0.1 5000 0.1
# ALS[2], RLS[2], Fusion[2], each containing <maxSampleAgeMsec> and <maxNumOfSamples>
filter_configs=500 60 500 30 500 90
+314
View File
@@ -0,0 +1,314 @@
#
# Lynx sensor device configuration registry script for the dvt stage or later.
#
# Source of truth: go/pixel-sensor-list
#
#
# CDT Filter <CDT>:<mask>
# CDT format: <0xPPPPSJIV> (P:Product, S:Stage, J:Major, I:Minor, V:Variant)
# go/pixel-cdt-whi-pro
#
?+0x54100 0x54101 0x54110
#
# Record reg_script.
#
+/
reg_script=lynx_dvt.reg
#
# Buses
#
# I2C
+/dev/i2c/0
bus_name=i2c0
bus_index=0
# I3C
+/dev/i3c/2
bus_name=i3c2
bus_index=2
# SPI
+/dev/spi/0
bus_name=spi0
bus_index=0
# PDM
+/dev/pdm
base_clk_hz=24576000
#
# Sensors
#
# IMU (LSM6DSV)
+/dev/lsm6dsv/0
bus_name=i3c2
bus_freq_hz=400000
i3c_freq_hz=1230000
bus_addr=0x6a
i3c_addr=0xa
intr_id=47
trigger_type=2
fifo_enabled=1
md_threshold_m_per_s_sq=1.2264
md_window_ms=20
sd_window_ms=5000
fifo_max_odr=4000
fifo_max_wm=245
fifo_min_wm=1
+/dev/lsm6dsv/0/accel
orientation_transform=-2 1 3
+/dev/lsm6dsv/0/gyro
orientation_transform=-2 1 3
+/dev/lsm6dsv/0/temp
+/dev/lsm6dsv/0/motion_detect
+/dev/lsm6dsv/0/stationary_detect
+/dev/lsm6dsv/0/free_fall_detect
name=LSM6DSV FreeFall Detect
# MAG (MMC5633NJ)
+/dev/mmc56x3x/0
bus_name=i3c2
bus_freq_hz=400000
i3c_freq_hz=1230000
bus_addr=0x30
i3c_addr=0x14
priority=0
+/dev/mmc56x3x/0/mag
orientation_transform=-1 -2 3
fac_cal_transform=1.0460 0.0253 0.0225 0.0259 0.8451 0.0114 -0.0223 0.0688 1.1816 0 0 0
# BARO (ICP20100)
+/dev/icp20100/0
bus_name=i2c0
bus_freq_hz=400000
bus_addr=0x63
intr_id=37
min_period_us=25000
+/dev/icp20100/0/baro
+/dev/icp20100/0/temp
# ALSP1 (TMD37193)
+/dev/tmd3719/0
bus_name=i2c0
bus_freq_hz=400000
bus_addr=0x39
intr_id=15
sync_delay_ns=1766535
# falling edge = 0, rising edge = 1
te2_alignment=0
anti_aliasing=1
+/dev/tmd3719/0/als
lux_scale=1.934868
c_coef=1
r_coef=-0.674221
g_coef=1.615560
b_coef=-1.941339
itime_table_brightness=70 160 256 368 2048
itime_table=1923290 1494680 1036240 504560 181750
max_gain_table=11 10 10 9 8
fast_filter_size=10
slow_filter_size=100
aod_fast_filter_size=2
aod_slow_filter_size=2
max_lux=160000
# Number of EM cycles in a 60Hz frame.
EM_cycle_count_60Hz=6
# Step-size (in EM slots) for each rotation.
rotation_step_size=1
new_gain_ratio=1
clear_gain11_ratio=0.114538
red_gain11_ratio=0.113578
green_gain11_ratio=0.112715
blue_gain11_ratio=0.112578
clear_gain10_ratio=0.241402
red_gain10_ratio=0.240592
green_gain10_ratio=0.239849
blue_gain10_ratio=0.239748
clear_gain9_ratio=0.494349
red_gain9_ratio=0.493746
green_gain9_ratio=0.493260
blue_gain9_ratio=0.493168
clear_gain8_ratio=1.0
red_gain8_ratio=1.0
green_gain8_ratio=1.0
blue_gain8_ratio=1.0
clear_gain7_ratio=2.009510
red_gain7_ratio=2.011340
green_gain7_ratio=2.012440
blue_gain7_ratio=2.012773
clear_gain6_ratio=4.020600
red_gain6_ratio=4.028348
green_gain6_ratio=4.028735
blue_gain6_ratio=4.029882
# Histogram Configuration.
# Flag that controls whether the histogram is enabled.
histo_enable=1
# Display coordinates go from top left to bottom right.
histo_roi_left=420
histo_roi_top=300
histo_roi_right=560
histo_roi_bottom=430
# Weights applied to the RBG color samples to calculate luma.
# luma values:
# luma = W_R * R + W_G * G + WB * B
# with W_R + W_G + W_B = 1024
histo_weight_r=428
histo_weight_g=408
histo_weight_b=188
#
# Leakage calculator configuration. The general format is:
# leakage = luma_term(luma, dbv) * dbv_term(dbv)
# The luma_term maps luma into a value and different equations may be used
# depending on the current DBV value.
# Similar, the dbv_term maps DBV into a value and may also use different
# equations.
# Each line represents one equation, and is of the format:
# start-dbv end-dbv equation-type {coefficients}
# This means the equation applies to the DBV range [start-dbv .. end-dbv].
# There are two equation types currently:
# 0: Polynominal: c0 + c1*L + c2*L^2 + .. + ci*L^i
# 1: Natural Log: c0 + c1*ln(L + c2)
histo_luma_eq0=0 2047 0 0 3.9E-3
histo_dbv_eq0=0 2047 0 9.000003E-1 1.03805E-3
# The maximum brightness (DBV) value up to which histogram is active.
# This value should match one of the itime_table_brightness values.
histo_max_brightness=2047
# Minimum change needed for a leakage value to be reported, i.e.,
# min_change = MAX(min_change_value, current_leakage_val * min_change_rate)
histo_min_change_value=0.01
histo_min_change_rate=0.01
# Histogram polling interval in ms.
histo_polling_interval=50
# Fallback luma value to use when histogram returns error (e.g., due to DRM).
histo_fallback_luma=128.0
# TMD3719 proximity sensor.
+/dev/tmd3719/0/prox
auto_baseline=1
burst_delay_60hz=160
burst_delay_90hz=160
burst_delay_aod=0
hxtalk=1
pulse_count=1
vcsel_ma=10
pd0_far_threshold=50
pd0_near_threshold=50
pd1_far_threshold=40
pd1_near_threshold=60
# "Low power" operating parameters.
pulse_len_us=64
filter_len=4
skip_count=0
pdata0_scale=1.195138
pdata1_scale=1.204765
gain0=2
gain1=4
# "High power" operating parameters.
hp_pulse_len_us=128
hp_filter_len=1
hp_skip_count=0
hp_pdata0_scale=1.318246
hp_pdata1_scale=1.320505
hp_pdata0_offset=2.245979
hp_pdata1_offset=7.747921
hp_gain0=1
hp_gain1=2
high_power_mode_only=1
# Display Info
+/dev/display_info/0
# Maximum panel refresh rate.
panel_max_rr=90
# Link to ALS attached to this display.
attached_alsp=/dev/tmd3719/0
# Camera VSYNC
+/dev/camera_vsync/0 # rear telephoto
intr_id=56
intr_trigger_type=2
+/dev/camera_vsync/1 # rear ultra-wide-angle
intr_id=57
intr_trigger_type=2
+/dev/camera_vsync/2 # front
intr_id=58
intr_trigger_type=2
+/dev/camera_vsync/3 # rear
intr_id=59
intr_trigger_type=2
# TOUCH (GT9895)
+/dev/gt9895/0
bus_name=spi0
bus_freq_hz=10000000
spi_mode=0
spi_word_size=8
cs_gpio=52
cs_clock_delay_us=1
gesture_type=4
intr_id=17
intr_type=3
panel_height_pixel=2400
panel_height_mm=142
single_tap_min_x=92
single_tap_max_x=987
single_tap_min_y=184
single_tap_max_y=2215
single_tap_min_frame_count=3
single_tap_max_frame_count=31
single_press_motion_tolerance=255
single_press_max_touch_size=50
long_press_min_x=438
long_press_max_x=642
long_press_min_y=1615
long_press_max_y=1819
long_press_min_frame_count=1
long_press_max_touch_size=50
long_press_marginal_min_x=396
long_press_marginal_max_x=684
long_press_marginal_min_y=1573
long_press_marginal_max_y=1861
long_press_monitor_channel_min_tx=6
long_press_monitor_channel_max_tx=9
long_press_monitor_channel_min_rx=22
long_press_monitor_channel_max_rx=25
long_press_min_node_count=8
long_press_motion_tolerance_inner=255
long_press_motion_tolerance_outer=539
# TBN
+/tbn
tbn_mode=1
ap2aoc_intr_id=44
ap2aoc_intr_type=4
ap2aoc_gpio_id=gpio87
aoc2ap_gpio_id=gpio74
# VSC.
+/vsc
quick_pick_up_enable=1
single_tap_enable=1
long_press_enable=1
+/vsc/auto_brightness
# float[3]={LuxToEnter, LuxToExit, RemappedLux}
lux_remap=-1.0 -1.0 -1.0
# float[3]={MinDelta, MaxDelta, LuxRatio}
lux_debounce_up=1 5000 0.15
lux_debounce_down=0.1 5000 0.1
# ALS[2], RLS[2], Fusion[2], each containing <maxSampleAgeMsec> and <maxNumOfSamples>
filter_configs=500 60 500 30 500 90
+314
View File
@@ -0,0 +1,314 @@
#
# Lynx sensor device configuration registry script for the evt stage or later.
#
# Source of truth: go/pixel-sensor-list
#
#
# CDT Filter <CDT>:<mask>
# CDT format: <0xPPPPSJIV> (P:Product, S:Stage, J:Major, I:Minor, V:Variant)
# go/pixel-cdt-whi-pro
#
?+0x53100:0xFFFFFFF0 # EVT1.0
#
# Record reg_script.
#
+/
reg_script=lynx_evt_1_0.reg
#
# Buses
#
# I2C
+/dev/i2c/0
bus_name=i2c0
bus_index=0
# I3C
+/dev/i3c/2
bus_name=i3c2
bus_index=2
# SPI
+/dev/spi/0
bus_name=spi0
bus_index=0
# PDM
+/dev/pdm
base_clk_hz=24576000
#
# Sensors
#
# IMU (LSM6DSV)
+/dev/lsm6dsv/0
bus_name=i3c2
bus_freq_hz=400000
i3c_freq_hz=1230000
bus_addr=0x6a
i3c_addr=0xa
intr_id=47
trigger_type=2
fifo_enabled=1
md_threshold_m_per_s_sq=1.2264
md_window_ms=20
sd_window_ms=5000
fifo_max_odr=4000
fifo_max_wm=245
fifo_min_wm=1
+/dev/lsm6dsv/0/accel
orientation_transform=-2 1 3
+/dev/lsm6dsv/0/gyro
orientation_transform=-2 1 3
+/dev/lsm6dsv/0/temp
+/dev/lsm6dsv/0/motion_detect
+/dev/lsm6dsv/0/stationary_detect
+/dev/lsm6dsv/0/free_fall_detect
name=LSM6DSV FreeFall Detect
# MAG (MMC5633NJ)
+/dev/mmc56x3x/0
bus_name=i3c2
bus_freq_hz=400000
i3c_freq_hz=1230000
bus_addr=0x30
i3c_addr=0x14
priority=0
+/dev/mmc56x3x/0/mag
orientation_transform=-1 -2 3
fac_cal_transform=1.0460 0.0253 0.0225 0.0259 0.8451 0.0114 -0.0223 0.0688 1.1816 0 0 0
# BARO (ICP20100)
+/dev/icp20100/0
bus_name=i2c0
bus_freq_hz=400000
bus_addr=0x63
intr_id=37
min_period_us=25000
+/dev/icp20100/0/baro
+/dev/icp20100/0/temp
# ALSP1 (TMD37193)
+/dev/tmd3719/0
bus_name=i2c0
bus_freq_hz=400000
bus_addr=0x39
intr_id=15
sync_delay_ns=1766377
# falling edge = 0, rising edge = 1
te2_alignment=0
anti_aliasing=1
+/dev/tmd3719/0/als
lux_scale=1.97685
c_coef=1
r_coef=-0.674221
g_coef=1.615560
b_coef=-1.941339
itime_table_brightness=96 206 316 401 2048
itime_table=1999240 1497400 998270 610360 181750
max_gain_table=11 10 10 10 9
fast_filter_size=10
slow_filter_size=100
aod_fast_filter_size=2
aod_slow_filter_size=2
max_lux=160000
# Number of EM cycles in a 60Hz frame.
EM_cycle_count_60Hz=6
# Step-size (in EM slots) for each rotation.
rotation_step_size=1
new_gain_ratio=1
clear_gain11_ratio=0.11412
red_gain11_ratio=0.11280
green_gain11_ratio=0.11222
blue_gain11_ratio=0.11232
clear_gain10_ratio=0.24103
red_gain10_ratio=0.23990
green_gain10_ratio=0.23941
blue_gain10_ratio=0.23952
clear_gain9_ratio=0.49411
red_gain9_ratio=0.49329
green_gain9_ratio=0.49297
blue_gain9_ratio=0.49302
clear_gain8_ratio=1.0
red_gain8_ratio=1.0
green_gain8_ratio=1.0
blue_gain8_ratio=1.0
clear_gain7_ratio=2.01004
red_gain7_ratio=2.01221
green_gain7_ratio=2.01296
blue_gain7_ratio=2.01285
clear_gain6_ratio=4.02689
red_gain6_ratio=4.03596
green_gain6_ratio=4.03553
blue_gain6_ratio=4.03527
# Histogram Configuration.
# Flag that controls whether the histogram is enabled.
histo_enable=1
# Display coordinates go from top left to bottom right.
histo_roi_left=420
histo_roi_top=300
histo_roi_right=560
histo_roi_bottom=430
# Weights applied to the RBG color samples to calculate luma.
# luma values:
# luma = W_R * R + W_G * G + WB * B
# with W_R + W_G + W_B = 1024
histo_weight_r=428
histo_weight_g=408
histo_weight_b=188
#
# Leakage calculator configuration. The general format is:
# leakage = luma_term(luma, dbv) * dbv_term(dbv)
# The luma_term maps luma into a value and different equations may be used
# depending on the current DBV value.
# Similar, the dbv_term maps DBV into a value and may also use different
# equations.
# Each line represents one equation, and is of the format:
# start-dbv end-dbv equation-type {coefficients}
# This means the equation applies to the DBV range [start-dbv .. end-dbv].
# There are two equation types currently:
# 0: Polynominal: c0 + c1*L + c2*L^2 + .. + ci*L^i
# 1: Natural Log: c0 + c1*ln(L + c2)
histo_luma_eq0=0 2047 0 0 3.9E-3
histo_dbv_eq0=0 2047 0 4.5000009E-1 1.03805E-3
# The maximum brightness (DBV) value up to which histogram is active.
# This value should match one of the itime_table_brightness values.
histo_max_brightness=2047
# Minimum change needed for a leakage value to be reported, i.e.,
# min_change = MAX(min_change_value, current_leakage_val * min_change_rate)
histo_min_change_value=0.01
histo_min_change_rate=0.01
# Histogram polling interval in ms.
histo_polling_interval=50
# Fallback luma value to use when histogram returns error (e.g., due to DRM).
histo_fallback_luma=128.0
# TMD3719 proximity sensor.
+/dev/tmd3719/0/prox
auto_baseline=1
burst_delay_60hz=160
burst_delay_90hz=160
burst_delay_aod=0
hxtalk=1
pulse_count=1
vcsel_ma=10
pd0_far_threshold=50
pd0_near_threshold=50
pd1_far_threshold=40
pd1_near_threshold=60
# "Low power" operating parameters.
pulse_len_us=64
filter_len=4
skip_count=0
pdata0_scale=1.22204
pdata1_scale=1.23226
gain0=2
gain1=4
# "High power" operating parameters.
hp_pulse_len_us=128
hp_filter_len=1
hp_skip_count=0
hp_pdata0_scale=1.38955
hp_pdata1_scale=1.39344
hp_pdata0_offset=2.19583
hp_pdata1_offset=7.71369
hp_gain0=1
hp_gain1=2
high_power_mode_only=1
# Display Info
+/dev/display_info/0
# Maximum panel refresh rate.
panel_max_rr=90
# Link to ALS attached to this display.
attached_alsp=/dev/tmd3719/0
# Camera VSYNC
+/dev/camera_vsync/0 # rear telephoto
intr_id=56
intr_trigger_type=2
+/dev/camera_vsync/1 # rear ultra-wide-angle
intr_id=57
intr_trigger_type=2
+/dev/camera_vsync/2 # front
intr_id=58
intr_trigger_type=2
+/dev/camera_vsync/3 # rear
intr_id=59
intr_trigger_type=2
# TOUCH (GT9895)
+/dev/gt9895/0
bus_name=spi0
bus_freq_hz=10000000
spi_mode=0
spi_word_size=8
cs_gpio=52
cs_clock_delay_us=1
gesture_type=4
intr_id=17
intr_type=3
panel_height_pixel=2400
panel_height_mm=142
single_tap_min_x=92
single_tap_max_x=987
single_tap_min_y=184
single_tap_max_y=2215
single_tap_min_frame_count=3
single_tap_max_frame_count=31
single_press_motion_tolerance=255
single_press_max_touch_size=50
long_press_min_x=438
long_press_max_x=642
long_press_min_y=1615
long_press_max_y=1819
long_press_min_frame_count=1
long_press_max_touch_size=50
long_press_marginal_min_x=396
long_press_marginal_max_x=684
long_press_marginal_min_y=1573
long_press_marginal_max_y=1861
long_press_monitor_channel_min_tx=6
long_press_monitor_channel_max_tx=9
long_press_monitor_channel_min_rx=22
long_press_monitor_channel_max_rx=25
long_press_min_node_count=8
long_press_motion_tolerance_inner=255
long_press_motion_tolerance_outer=539
# TBN
+/tbn
tbn_mode=1
ap2aoc_intr_id=44
ap2aoc_intr_type=4
ap2aoc_gpio_id=gpio87
aoc2ap_gpio_id=gpio74
# VSC.
+/vsc
quick_pick_up_enable=1
single_tap_enable=1
long_press_enable=1
+/vsc/auto_brightness
# float[3]={LuxToEnter, LuxToExit, RemappedLux}
lux_remap=-1.0 -1.0 -1.0
# float[3]={MinDelta, MaxDelta, LuxRatio}
lux_debounce_up=1 5000 0.15
lux_debounce_down=0.1 5000 0.1
# ALS[2], RLS[2], Fusion[2], each containing <maxSampleAgeMsec> and <maxNumOfSamples>
filter_configs=500 60 500 30 500 90
+314
View File
@@ -0,0 +1,314 @@
#
# Lynx sensor device configuration registry script for the evt1.1 to dvt stage.
#
# Source of truth: go/pixel-sensor-list
#
#
# CDT Filter <CDT>:<mask>
# CDT format: <0xPPPPSJIV> (P:Product, S:Stage, J:Major, I:Minor, V:Variant)
# go/pixel-cdt-whi-pro
#
?+0x53110 0x53120
#
# Record reg_script.
#
+/
reg_script=lynx_evt_1_1.reg
#
# Buses
#
# I2C
+/dev/i2c/0
bus_name=i2c0
bus_index=0
# I3C
+/dev/i3c/2
bus_name=i3c2
bus_index=2
# SPI
+/dev/spi/0
bus_name=spi0
bus_index=0
# PDM
+/dev/pdm
base_clk_hz=24576000
#
# Sensors
#
# IMU (LSM6DSV)
+/dev/lsm6dsv/0
bus_name=i3c2
bus_freq_hz=400000
i3c_freq_hz=1230000
bus_addr=0x6a
i3c_addr=0xa
intr_id=47
trigger_type=2
fifo_enabled=1
md_threshold_m_per_s_sq=1.2264
md_window_ms=20
sd_window_ms=5000
fifo_max_odr=4000
fifo_max_wm=245
fifo_min_wm=1
+/dev/lsm6dsv/0/accel
orientation_transform=-2 1 3
+/dev/lsm6dsv/0/gyro
orientation_transform=-2 1 3
+/dev/lsm6dsv/0/temp
+/dev/lsm6dsv/0/motion_detect
+/dev/lsm6dsv/0/stationary_detect
+/dev/lsm6dsv/0/free_fall_detect
name=LSM6DSV FreeFall Detect
# MAG (MMC5633NJ)
+/dev/mmc56x3x/0
bus_name=i3c2
bus_freq_hz=400000
i3c_freq_hz=1230000
bus_addr=0x30
i3c_addr=0x14
priority=0
+/dev/mmc56x3x/0/mag
orientation_transform=-1 -2 3
fac_cal_transform=1.0460 0.0253 0.0225 0.0259 0.8451 0.0114 -0.0223 0.0688 1.1816 0 0 0
# BARO (ICP20100)
+/dev/icp20100/0
bus_name=i2c0
bus_freq_hz=400000
bus_addr=0x63
intr_id=37
min_period_us=25000
+/dev/icp20100/0/baro
+/dev/icp20100/0/temp
# ALSP1 (TMD37193)
+/dev/tmd3719/0
bus_name=i2c0
bus_freq_hz=400000
bus_addr=0x39
intr_id=15
sync_delay_ns=1766377
# falling edge = 0, rising edge = 1
te2_alignment=0
anti_aliasing=1
+/dev/tmd3719/0/als
lux_scale=1.97685
c_coef=1
r_coef=-0.674221
g_coef=1.615560
b_coef=-1.941339
itime_table_brightness=70 160 256 368 2048
itime_table=1923290 1494680 1036240 504560 181750
max_gain_table=11 10 10 9 8
fast_filter_size=10
slow_filter_size=100
aod_fast_filter_size=2
aod_slow_filter_size=2
max_lux=160000
# Number of EM cycles in a 60Hz frame.
EM_cycle_count_60Hz=6
# Step-size (in EM slots) for each rotation.
rotation_step_size=1
new_gain_ratio=1
clear_gain11_ratio=0.11412
red_gain11_ratio=0.11280
green_gain11_ratio=0.11222
blue_gain11_ratio=0.11232
clear_gain10_ratio=0.24103
red_gain10_ratio=0.23990
green_gain10_ratio=0.23941
blue_gain10_ratio=0.23952
clear_gain9_ratio=0.49411
red_gain9_ratio=0.49329
green_gain9_ratio=0.49297
blue_gain9_ratio=0.49302
clear_gain8_ratio=1.0
red_gain8_ratio=1.0
green_gain8_ratio=1.0
blue_gain8_ratio=1.0
clear_gain7_ratio=2.01004
red_gain7_ratio=2.01221
green_gain7_ratio=2.01296
blue_gain7_ratio=2.01285
clear_gain6_ratio=4.02689
red_gain6_ratio=4.03596
green_gain6_ratio=4.03553
blue_gain6_ratio=4.03527
# Histogram Configuration.
# Flag that controls whether the histogram is enabled.
histo_enable=1
# Display coordinates go from top left to bottom right.
histo_roi_left=420
histo_roi_top=300
histo_roi_right=560
histo_roi_bottom=430
# Weights applied to the RBG color samples to calculate luma.
# luma values:
# luma = W_R * R + W_G * G + WB * B
# with W_R + W_G + W_B = 1024
histo_weight_r=428
histo_weight_g=408
histo_weight_b=188
#
# Leakage calculator configuration. The general format is:
# leakage = luma_term(luma, dbv) * dbv_term(dbv)
# The luma_term maps luma into a value and different equations may be used
# depending on the current DBV value.
# Similar, the dbv_term maps DBV into a value and may also use different
# equations.
# Each line represents one equation, and is of the format:
# start-dbv end-dbv equation-type {coefficients}
# This means the equation applies to the DBV range [start-dbv .. end-dbv].
# There are two equation types currently:
# 0: Polynominal: c0 + c1*L + c2*L^2 + .. + ci*L^i
# 1: Natural Log: c0 + c1*ln(L + c2)
histo_luma_eq0=0 2047 0 0 3.9E-3
histo_dbv_eq0=0 2047 0 9.000003E-1 1.03805E-3
# The maximum brightness (DBV) value up to which histogram is active.
# This value should match one of the itime_table_brightness values.
histo_max_brightness=2047
# Minimum change needed for a leakage value to be reported, i.e.,
# min_change = MAX(min_change_value, current_leakage_val * min_change_rate)
histo_min_change_value=0.01
histo_min_change_rate=0.01
# Histogram polling interval in ms.
histo_polling_interval=50
# Fallback luma value to use when histogram returns error (e.g., due to DRM).
histo_fallback_luma=128.0
# TMD3719 proximity sensor.
+/dev/tmd3719/0/prox
auto_baseline=1
burst_delay_60hz=160
burst_delay_90hz=160
burst_delay_aod=0
hxtalk=1
pulse_count=1
vcsel_ma=10
pd0_far_threshold=50
pd0_near_threshold=50
pd1_far_threshold=40
pd1_near_threshold=60
# "Low power" operating parameters.
pulse_len_us=64
filter_len=4
skip_count=0
pdata0_scale=1.22204
pdata1_scale=1.23226
gain0=2
gain1=4
# "High power" operating parameters.
hp_pulse_len_us=128
hp_filter_len=1
hp_skip_count=0
hp_pdata0_scale=1.38955
hp_pdata1_scale=1.39344
hp_pdata0_offset=2.19583
hp_pdata1_offset=7.71369
hp_gain0=1
hp_gain1=2
high_power_mode_only=1
# Display Info
+/dev/display_info/0
# Maximum panel refresh rate.
panel_max_rr=90
# Link to ALS attached to this display.
attached_alsp=/dev/tmd3719/0
# Camera VSYNC
+/dev/camera_vsync/0 # rear telephoto
intr_id=56
intr_trigger_type=2
+/dev/camera_vsync/1 # rear ultra-wide-angle
intr_id=57
intr_trigger_type=2
+/dev/camera_vsync/2 # front
intr_id=58
intr_trigger_type=2
+/dev/camera_vsync/3 # rear
intr_id=59
intr_trigger_type=2
# TOUCH (GT9895)
+/dev/gt9895/0
bus_name=spi0
bus_freq_hz=10000000
spi_mode=0
spi_word_size=8
cs_gpio=52
cs_clock_delay_us=1
gesture_type=4
intr_id=17
intr_type=3
panel_height_pixel=2400
panel_height_mm=142
single_tap_min_x=92
single_tap_max_x=987
single_tap_min_y=184
single_tap_max_y=2215
single_tap_min_frame_count=3
single_tap_max_frame_count=31
single_press_motion_tolerance=255
single_press_max_touch_size=50
long_press_min_x=438
long_press_max_x=642
long_press_min_y=1615
long_press_max_y=1819
long_press_min_frame_count=1
long_press_max_touch_size=50
long_press_marginal_min_x=396
long_press_marginal_max_x=684
long_press_marginal_min_y=1573
long_press_marginal_max_y=1861
long_press_monitor_channel_min_tx=6
long_press_monitor_channel_max_tx=9
long_press_monitor_channel_min_rx=22
long_press_monitor_channel_max_rx=25
long_press_min_node_count=8
long_press_motion_tolerance_inner=255
long_press_motion_tolerance_outer=539
# TBN
+/tbn
tbn_mode=1
ap2aoc_intr_id=44
ap2aoc_intr_type=4
ap2aoc_gpio_id=gpio87
aoc2ap_gpio_id=gpio74
# VSC.
+/vsc
quick_pick_up_enable=1
single_tap_enable=1
long_press_enable=1
+/vsc/auto_brightness
# float[3]={LuxToEnter, LuxToExit, RemappedLux}
lux_remap=-1.0 -1.0 -1.0
# float[3]={MinDelta, MaxDelta, LuxRatio}
lux_debounce_up=1 5000 0.15
lux_debounce_down=0.1 5000 0.1
# ALS[2], RLS[2], Fusion[2], each containing <maxSampleAgeMsec> and <maxNumOfSamples>
filter_configs=500 60 500 30 500 90
+324
View File
@@ -0,0 +1,324 @@
#
# Lynx sensor device configuration registry script for the proto stage.
#
# Source of truth: go/pixel-sensor-list
#
#
# CDT Filter <CDT>:<mask>
# CDT format: <0xPPPPSJIV> (P:Product, S:Stage, J:Major, I:Minor, V:Variant)
# go/pixel-cdt-whi-pro
#
?+0x52000:0xFFFFF000
#
# Record reg_script.
#
+/
reg_script=lynx_proto.reg
#
# Buses
#
# I2C
+/dev/i2c/0
bus_name=i2c0
bus_index=0
# I3C
+/dev/i3c/2
bus_name=i3c2
bus_index=2
# SPI
+/dev/spi/0
bus_name=spi0
bus_index=0
# PDM
+/dev/pdm
base_clk_hz=24576000
#
# Sensors
#
# IMU (LSM6DSV)
+/dev/lsm6dsv/0
bus_name=i3c2
bus_freq_hz=400000
i3c_freq_hz=1230000
bus_addr=0x6a
i3c_addr=0xa
intr_id=47
trigger_type=2
fifo_enabled=1
md_threshold_m_per_s_sq=1.2264
md_window_ms=20
sd_window_ms=5000
fifo_max_odr=4000
fifo_max_wm=245
fifo_min_wm=1
+/dev/lsm6dsv/0/accel
orientation_transform=-2 1 3
+/dev/lsm6dsv/0/gyro
orientation_transform=-2 1 3
+/dev/lsm6dsv/0/temp
+/dev/lsm6dsv/0/motion_detect
+/dev/lsm6dsv/0/stationary_detect
+/dev/lsm6dsv/0/free_fall_detect
name=LSM6DSV FreeFall Detect
# MAG 0 (MMC5633NJ)
+/dev/mmc56x3x/0
bus_name=i3c2
bus_freq_hz=400000
i3c_freq_hz=1230000
bus_addr=0x30
i3c_addr=0x14
priority=0
+/dev/mmc56x3x/0/mag
orientation_transform=-1 -2 3
name=MMC56X3X Magnetometer 0
# MAG 1 (MMC5633NJ)
+/dev/mmc56x3x/1
bus_name=i2c0
bus_freq_hz=400000
bus_addr=0x30
priority=1
+/dev/mmc56x3x/1/mag
orientation_transform=2 -1 3
name=MMC56X3X Magnetometer 1
# BARO (ICP20100)
+/dev/icp20100/0
bus_name=i2c0
bus_freq_hz=400000
bus_addr=0x63
intr_id=37
min_period_us=25000
+/dev/icp20100/0/baro
+/dev/icp20100/0/temp
# ALSP1 (TMD37193)
+/dev/tmd3719/0
bus_name=i2c0
bus_freq_hz=400000
bus_addr=0x39
intr_id=15
sync_delay_ns=0
# falling edge = 0, rising edge = 1
te2_alignment=0
anti_aliasing=1
+/dev/tmd3719/0/als
lux_scale=1.0
c_coef=1
r_coef=-0.674221
g_coef=1.615560
b_coef=-1.941339
itime_table_brightness=96 206 316 401 2048
itime_table=1999240 1497400 998270 610360 181750
max_gain_table=11 10 10 10 9
fast_filter_size=10
slow_filter_size=100
aod_fast_filter_size=2
aod_slow_filter_size=2
max_lux=160000
# Number of EM cycles in a 60Hz frame.
EM_cycle_count_60Hz=6
# Step-size (in EM slots) for each rotation.
rotation_step_size=1
new_gain_ratio=1
clear_gain11_ratio=0.125
red_gain11_ratio=0.125
green_gain11_ratio=0.125
blue_gain11_ratio=0.125
clear_gain10_ratio=0.25
red_gain10_ratio=0.25
green_gain10_ratio=0.25
blue_gain10_ratio=0.25
clear_gain9_ratio=0.5
red_gain9_ratio=0.5
green_gain9_ratio=0.5
blue_gain9_ratio=0.5
clear_gain8_ratio=1.0
red_gain8_ratio=1.0
green_gain8_ratio=1.0
blue_gain8_ratio=1.0
clear_gain7_ratio=2
red_gain7_ratio=2
green_gain7_ratio=2
blue_gain7_ratio=2
clear_gain6_ratio=4
red_gain6_ratio=4
green_gain6_ratio=4
blue_gain6_ratio=4
# Histogram Configuration.
# Flag that controls whether the histogram is enabled.
histo_enable=1
# Display coordinates go from top left to bottom right.
histo_roi_left=420
histo_roi_top=300
histo_roi_right=560
histo_roi_bottom=430
# Weights applied to the RBG color samples to calculate luma.
# luma values:
# luma = W_R * R + W_G * G + WB * B
# with W_R + W_G + W_B = 1024
histo_weight_r=428
histo_weight_g=408
histo_weight_b=188
#
# Leakage calculator configuration. The general format is:
# leakage = luma_term(luma, dbv) * dbv_term(dbv)
# The luma_term maps luma into a value and different equations may be used
# depending on the current DBV value.
# Similar, the dbv_term maps DBV into a value and may also use different
# equations.
# Each line represents one equation, and is of the format:
# start-dbv end-dbv equation-type {coefficients}
# This means the equation applies to the DBV range [start-dbv .. end-dbv].
# There are two equation types currently:
# 0: Polynominal: c0 + c1*L + c2*L^2 + .. + ci*L^i
# 1: Natural Log: c0 + c1*ln(L + c2)
histo_luma_eq0=0 2047 0 0 3.9E-3
histo_dbv_eq0=0 2047 0 4.5000009E-1 1.03805E-3
# The maximum brightness (DBV) value up to which histogram is active.
# This value should match one of the itime_table_brightness values.
histo_max_brightness=2047
# Minimum change needed for a leakage value to be reported, i.e.,
# min_change = MAX(min_change_value, current_leakage_val * min_change_rate)
histo_min_change_value=0.01
histo_min_change_rate=0.01
# Histogram polling interval in ms.
histo_polling_interval=50
# Fallback luma value to use when histogram returns error (e.g., due to DRM).
histo_fallback_luma=128.0
# TMD3719 proximity sensor.
+/dev/tmd3719/0/prox
auto_baseline=1
burst_delay_60hz=160
burst_delay_90hz=160
burst_delay_aod=0
hxtalk=1
pulse_count=1
vcsel_ma=10
pd0_far_threshold=100
pd0_near_threshold=100
pd1_far_threshold=80
pd1_near_threshold=120
# "Low power" operating parameters.
pulse_len_us=32
filter_len=4
skip_count=0
pdata0_scale=1.90
pdata1_scale=2.11
gain0=4
gain1=8
# "High power" operating parameters.
hp_pulse_len_us=128
hp_filter_len=1
hp_skip_count=0
hp_pdata0_scale=1.96
hp_pdata1_scale=2.32
hp_pdata0_offset=0
hp_pdata1_offset=0
hp_gain0=1
hp_gain1=2
high_power_mode_only=1
# Display Info
+/dev/display_info/0
# Maximum panel refresh rate.
panel_max_rr=90
# Link to ALS attached to this display.
attached_alsp=/dev/tmd3719/0
# Camera VSYNC
+/dev/camera_vsync/0 # rear telephoto
intr_id=56
intr_trigger_type=2
+/dev/camera_vsync/1 # rear ultra-wide-angle
intr_id=57
intr_trigger_type=2
+/dev/camera_vsync/2 # front
intr_id=58
intr_trigger_type=2
+/dev/camera_vsync/3 # rear
intr_id=59
intr_trigger_type=2
# TOUCH (GT9895)
+/dev/gt9895/0
bus_name=spi0
bus_freq_hz=10000000
spi_mode=0
spi_word_size=8
cs_gpio=52
cs_clock_delay_us=1
gesture_type=4
intr_id=17
intr_type=3
panel_height_pixel=2400
panel_height_mm=142
single_tap_min_x=92
single_tap_max_x=987
single_tap_min_y=184
single_tap_max_y=2215
single_tap_min_frame_count=3
single_tap_max_frame_count=31
single_press_motion_tolerance=255
single_press_max_touch_size=50
long_press_min_x=438
long_press_max_x=642
long_press_min_y=1615
long_press_max_y=1819
long_press_min_frame_count=1
long_press_max_touch_size=50
long_press_marginal_min_x=396
long_press_marginal_max_x=684
long_press_marginal_min_y=1573
long_press_marginal_max_y=1861
long_press_monitor_channel_min_tx=6
long_press_monitor_channel_max_tx=9
long_press_monitor_channel_min_rx=22
long_press_monitor_channel_max_rx=25
long_press_min_node_count=8
long_press_motion_tolerance_inner=255
long_press_motion_tolerance_outer=539
# TBN
+/tbn
tbn_mode=1
ap2aoc_intr_id=44
ap2aoc_intr_type=4
ap2aoc_gpio_id=gpio87
aoc2ap_gpio_id=gpio74
# VSC.
+/vsc
quick_pick_up_enable=1
single_tap_enable=1
long_press_enable=1
+/vsc/auto_brightness
# float[3]={LuxToEnter, LuxToExit, RemappedLux}
lux_remap=-1.0 -1.0 -1.0
# float[3]={MinDelta, MaxDelta, LuxRatio}
lux_debounce_up=1 5000 0.15
lux_debounce_down=0.1 5000 0.1
# ALS[2], RLS[2], Fusion[2], each containing <maxSampleAgeMsec> and <maxNumOfSamples>
filter_configs=500 60 500 30 500 90
+320
View File
@@ -0,0 +1,320 @@
#
# Lynx sensor device configuration registry script for the pvt stage or later.
#
# Source of truth: go/pixel-sensor-list
#
#
# CDT Filter <CDT>:<mask>
# CDT format: <0xPPPPSJIV> (P:Product, S:Stage, J:Major, I:Minor, V:Variant)
# go/pixel-cdt-whi-pro
#
?+0x50000:0xFFFF0000
# Exclude
?-0x51000:0xFFFFF000 # Dev
?-0x52000:0xFFFFF000 # Proto
?-0x53000:0xFFFFF000 # EVT
?-0x54000:0xFFFFF000 # DVT
#
# Record reg_script.
#
+/
reg_script=lynx_pvt.reg
#
# Buses
#
# I2C
+/dev/i2c/0
bus_name=i2c0
bus_index=0
# I3C
+/dev/i3c/2
bus_name=i3c2
bus_index=2
# SPI
+/dev/spi/0
bus_name=spi0
bus_index=0
# PDM
+/dev/pdm
base_clk_hz=24576000
#
# Sensors
#
# IMU (LSM6DSV)
+/dev/lsm6dsv/0
bus_name=i3c2
bus_freq_hz=400000
i3c_freq_hz=1230000
bus_addr=0x6a
i3c_addr=0xa
intr_id=47
trigger_type=2
fifo_enabled=1
md_threshold_m_per_s_sq=1.2264
md_window_ms=20
sd_window_ms=5000
fifo_max_odr=4000
fifo_max_wm=245
fifo_min_wm=1
+/dev/lsm6dsv/0/accel
orientation_transform=-2 1 3
+/dev/lsm6dsv/0/gyro
orientation_transform=-2 1 3
+/dev/lsm6dsv/0/temp
+/dev/lsm6dsv/0/motion_detect
+/dev/lsm6dsv/0/stationary_detect
+/dev/lsm6dsv/0/free_fall_detect
name=LSM6DSV FreeFall Detect
# MAG (MMC5633NJ)
+/dev/mmc56x3x/0
bus_name=i3c2
bus_freq_hz=400000
i3c_freq_hz=1230000
bus_addr=0x30
i3c_addr=0x14
priority=0
+/dev/mmc56x3x/0/mag
orientation_transform=-1 -2 3
fac_cal_transform=1.0288 0.0292 0.0028 0.0154 0.8620 0.0382 -0.0005 0.0781 1.1740 0 0 0
# BARO (ICP20100)
+/dev/icp20100/0
bus_name=i2c0
bus_freq_hz=400000
bus_addr=0x63
intr_id=37
min_period_us=25000
+/dev/icp20100/0/baro
+/dev/icp20100/0/temp
# ALSP1 (TMD37193)
+/dev/tmd3719/0
bus_name=i2c0
bus_freq_hz=400000
bus_addr=0x39
intr_id=15
sync_delay_ns=1766535
# falling edge = 0, rising edge = 1
te2_alignment=0
anti_aliasing=1
+/dev/tmd3719/0/als
lux_scale=1.934868
c_coef=1
r_coef=-0.674221
g_coef=1.615560
b_coef=-1.941339
itime_table_brightness=70 160 256 368 2048
itime_table=1923290 1494680 1036240 504560 181750
max_gain_table=11 10 10 9 8
fast_filter_size=10
slow_filter_size=100
aod_fast_filter_size=2
aod_slow_filter_size=2
max_lux=160000
# Number of EM cycles in a 60Hz frame.
EM_cycle_count_60Hz=6
# Step-size (in EM slots) for each rotation.
rotation_step_size=1
new_gain_ratio=1
clear_gain11_ratio=0.114538
red_gain11_ratio=0.113578
green_gain11_ratio=0.112715
blue_gain11_ratio=0.112578
clear_gain10_ratio=0.241402
red_gain10_ratio=0.240592
green_gain10_ratio=0.239849
blue_gain10_ratio=0.239748
clear_gain9_ratio=0.494349
red_gain9_ratio=0.493746
green_gain9_ratio=0.493260
blue_gain9_ratio=0.493168
clear_gain8_ratio=1.0
red_gain8_ratio=1.0
green_gain8_ratio=1.0
blue_gain8_ratio=1.0
clear_gain7_ratio=2.009510
red_gain7_ratio=2.011340
green_gain7_ratio=2.012440
blue_gain7_ratio=2.012773
clear_gain6_ratio=4.020600
red_gain6_ratio=4.028348
green_gain6_ratio=4.028735
blue_gain6_ratio=4.029882
# Histogram Configuration.
# Flag that controls whether the histogram is enabled.
histo_enable=1
# Display coordinates go from top left to bottom right.
histo_roi_left=420
histo_roi_top=300
histo_roi_right=560
histo_roi_bottom=430
# Weights applied to the RBG color samples to calculate luma.
# luma values:
# luma = W_R * R + W_G * G + WB * B
# with W_R + W_G + W_B = 1024
histo_weight_r=428
histo_weight_g=408
histo_weight_b=188
#
# Leakage calculator configuration. The general format is:
# leakage = luma_term(luma, dbv) * dbv_term(dbv)
# The luma_term maps luma into a value and different equations may be used
# depending on the current DBV value.
# Similar, the dbv_term maps DBV into a value and may also use different
# equations.
# Each line represents one equation, and is of the format:
# start-dbv end-dbv equation-type {coefficients}
# This means the equation applies to the DBV range [start-dbv .. end-dbv].
# There are two equation types currently:
# 0: Polynominal: c0 + c1*L + c2*L^2 + .. + ci*L^i
# 1: Natural Log: c0 + c1*ln(L + c2)
histo_luma_eq0=0 2047 0 0 3.9E-3
histo_dbv_eq0=0 2047 0 9.000003E-1 1.03805E-3
# The maximum brightness (DBV) value up to which histogram is active.
# This value should match one of the itime_table_brightness values.
histo_max_brightness=2047
# Minimum change needed for a leakage value to be reported, i.e.,
# min_change = MAX(min_change_value, current_leakage_val * min_change_rate)
histo_min_change_value=0.01
histo_min_change_rate=0.01
# Histogram polling interval in ms.
histo_polling_interval=50
# Fallback luma value to use when histogram returns error (e.g., due to DRM).
histo_fallback_luma=128.0
# TMD3719 proximity sensor.
+/dev/tmd3719/0/prox
auto_baseline=1
burst_delay_normal=160
burst_delay_60hz=160
burst_delay_90hz=160
burst_delay_aod=0
hxtalk=1
pulse_count=1
vcsel_ma=10
pd0_far_threshold=50
pd0_near_threshold=50
pd1_far_threshold=40
pd1_near_threshold=60
# "Low power" operating parameters.
pulse_len_us=64
filter_len=4
skip_count=0
pdata0_scale=1.195138
pdata1_scale=1.204765
gain0=2
gain1=4
# "High power" operating parameters.
hp_pulse_len_us=128
hp_filter_len=1
hp_skip_count=0
hp_pdata0_scale=1.318246
hp_pdata1_scale=1.320505
hp_pdata0_offset=2.245979
hp_pdata1_offset=7.747921
hp_gain0=1
hp_gain1=2
high_power_mode_only=1
# Display Info
+/dev/display_info/0
# Maximum panel refresh rate.
panel_max_rr=90
# Link to ALS attached to this display.
attached_alsp=/dev/tmd3719/0
# Camera VSYNC
+/dev/camera_vsync/0 # rear telephoto
intr_id=56
intr_trigger_type=2
+/dev/camera_vsync/1 # rear ultra-wide-angle
intr_id=57
intr_trigger_type=2
+/dev/camera_vsync/2 # front
intr_id=58
intr_trigger_type=2
+/dev/camera_vsync/3 # rear
intr_id=59
intr_trigger_type=2
# TOUCH (GT9895)
+/dev/gt9895/0
bus_name=spi0
bus_freq_hz=10000000
spi_mode=0
spi_word_size=8
cs_gpio=52
cs_clock_delay_us=1
gesture_type=4
intr_id=17
intr_type=3
panel_height_pixel=2400
panel_height_mm=142
single_tap_min_x=92
single_tap_max_x=987
single_tap_min_y=184
single_tap_max_y=2215
single_tap_min_frame_count=3
single_tap_max_frame_count=31
single_press_motion_tolerance=255
single_press_max_touch_size=50
long_press_min_x=438
long_press_max_x=642
long_press_min_y=1615
long_press_max_y=1819
long_press_min_frame_count=1
long_press_max_touch_size=50
long_press_marginal_min_x=396
long_press_marginal_max_x=684
long_press_marginal_min_y=1573
long_press_marginal_max_y=1861
long_press_monitor_channel_min_tx=6
long_press_monitor_channel_max_tx=9
long_press_monitor_channel_min_rx=22
long_press_monitor_channel_max_rx=25
long_press_min_node_count=8
long_press_motion_tolerance_inner=255
long_press_motion_tolerance_outer=539
# TBN
+/tbn
tbn_mode=1
ap2aoc_intr_id=44
ap2aoc_intr_type=4
ap2aoc_gpio_id=gpio87
aoc2ap_gpio_id=gpio74
# VSC.
+/vsc
quick_pick_up_enable=1
single_tap_enable=1
long_press_enable=1
+/vsc/auto_brightness
# float[3]={LuxToEnter, LuxToExit, RemappedLux}
lux_remap=-1.0 -1.0 -1.0
# float[3]={MinDelta, MaxDelta, LuxRatio}
lux_debounce_up=1 5000 0.15
lux_debounce_down=0.1 5000 0.1
# ALS[2], RLS[2], Fusion[2], each containing <maxSampleAgeMsec> and <maxNumOfSamples>
filter_configs=500 60 500 30 500 90