# # Lynx sensor device configuration registry script for the dev stage. # # 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 # ?+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 and filter_configs=500 60 500 30 500 90