1
▸
请说明 V4L2 框架中 struct video_device 的作用,以及它在内核中的注册流程(从驱动 probe 到用户空间 /dev/videoX 可用)。
2
▸
什么是 v4l2_subdev?它和普通 video_device 有什么区别?为什么 sensor 通常是 subdev 而不是 video_device?
3
▸
设备树(DTS)中一个典型的 camera sensor 节点通常包含哪些关键属性?请结合 remote-endpoint、clocks、regulator、reset-gpios 说明。
4
▸
camera sensor 上电时序(power-on sequence)一般包含哪些步骤?为什么必须严格遵守 datasheet 规定的顺序与时延?
5
▸
Media Controller 中的 entity、pad、link 分别是什么?它们如何描述 camera pipeline?
6
▸
在 camera 驱动中,regulator、clock、gpio 各承担什么角色?它们通常如何被获取和释放?
7
▸
在 Linux 内核侧调试 camera 驱动,你常用哪些工具/手段?请说明 kernel log、v4l2-ctl、media-ctl、debugfs 各自的用途。
8
▸
camera 系统中 I2C 与 SPI 分别承担什么职责?为什么 sensor 配置走 I2C,而 VCM/OIS/部分 flash 常用 SPI?
9
▸
videobuf2(vb2)支持哪几种内存模式(memory type)?请说明 V4L2_MEMORY_MMAP、USERPTR、DMABUF 各自的适用场景与驱动关注点。
10
▸
描述一个 sensor 驱动 probe 函数的典型执行流程(从 of_match 到 subdev 注册完成)。
11
▸
MIPI CSI-2 接收端在内核里需要配置哪些关键参数?请说明 lane 数、时钟(byte/lane clock)、DPHY/CPHY 与 virtual channel 的含义。
12
▸
如何在驱动中动态建立 media link?请说明 media_create_pad_link 的参数含义与 link 校验的常见注意点。
13
▸
camera 中帧率(frame rate)在内核侧是如何控制和传递的?请说明 VIDIOC_S_PARM / s_frame_interval 的调用链与限制。
14
▸
曝光(exposure)与增益(gain)在内核侧的控制路径是怎样的?说明 V4L2_CID_EXPOSURE / V4L2_CID_GAIN 与 v4l2_ctrl 机制。
15
▸
camera 子系统如何处理系统 suspend / resume?驱动需要注意哪些坑?
16
▸
dma-buf 在 camera 驱动里是如何被使用的?它解决了什么问题?简述从 alloc 到 map 再到 buffer done 的流程。
17
▸
新 sensor 的 bring-up(移植)流程一般怎么走?列举常见“踩坑”点。
18
▸
车载/安防场景中 GMSL/SerDes(如 Maxim/TI FPD-Link III 类方案)链路由哪几部分构成?解串器(deserializer)在驱动侧如何被抽象?
19
▸
EEPROM / OTP 在 camera 中的作用是什么?内核驱动如何读取并使用校准数据(如镜头阴影、AWB、AF 参数)?
20
▸
FFmpeg / GStreamer 在 camera 采集后处理与推流中扮演什么角色?内核驱动侧需要为其提供哪些保障?