# # Lynx sensor device configuration registry script for the pvt stage or later. # # Source of truth: go/pixel-sensor-list # # # CDT Filter : # 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 and filter_configs=500 60 500 30 500 90