#!/bin/sh
# VL53L0X 激光测距初始化脚本
# GPIO 50=SCL, GPIO 51=SDA -> I2C2_SCL[1]/I2C2_SDA[1]

echo "[VL53L0X] === 检查/初始化激光测距 ==="

# 1. 检查设备节点是否已存在
if [ -c /dev/stmvl53l0x_ranging ]; then
    echo "[VL53L0X] /dev/stmvl53l0x_ranging 已存在"
else
    echo "[VL53L0X] /dev/stmvl53l0x_ranging 不存在，尝试加载驱动..."
    modprobe stmvl53l0x 2>/dev/null || modprobe vl53l0x 2>/dev/null
    if [ ! -c /dev/stmvl53l0x_ranging ]; then
        echo "[VL53L0X] 驱动未加载，需要检查内核配置或设备树"
    fi
fi

# 2. 设置 GPIO 50/51 为 I2C 功能（尝试通过 debugfs pinctrl）
PINMUX=/sys/kernel/debug/pinctrl/zx296718-pinctrl
if [ -d "$PINMUX" ]; then
    echo "[VL53L0X] pinctrl debugfs 可用: $PINMUX"
    ls "$PINMUX"/
else
    echo "[VL53L0X] pinctrl debugfs 不可用"
fi

# 3. 最终确认
if [ -c /dev/stmvl53l0x_ranging ]; then
    echo "[VL53L0X] OK — 设备就绪，可以使用"
else
    echo "[VL53L0X] FAIL — 需要先配置内核/设备树中的 I2C 引脚复用"
fi
