Message ID | cover.1669978791.git.vkh@melexis.com |
---|---|
Headers | show |
Series | media: i2c: mlx7502x ToF camera support | expand |
Hi All, This is a gentle reminder about the patch series for ToF camera. Thanks. On Fri, Dec 02, 2022 at 06:07:30PM +0200, Volodymyr Kharuk wrote: > Hello, > > This series adds support for the Melexis 75026 and 75027 Time of Flight > camera sensors, with DT bindings in patch 7/8 and a driver in patch 8/8. > In patches 1/8, 2/8 and 3/8, I've add ToF controls as separate > ToF control class. > > v4: > - fix output mode > - forbid array for menu and warn if validate_new return an error > - add enums to custom control OUTPUT_MODE > - update doc > - minor fixes > > v3: > - move FMOD, TINT, PHASE_SEQ to common V4L2 as ToF common controls > - FMOD and TINT became dynamic arrays > - remove PHASE_NUM, use dynamic_array for PHASE_SEQ, > ctrl->new_elems pass number of phases > - remove leden-gpios, will be used gpio explicitly in library for now > - remade probe: use probe_new, no power on during probe > - remove autodetect and wildcard > - make all supplies to be required > - remove trigger ioctl, will add in separate patch series > - remove temperature ioctl, will add in separate patch series > - add documentation about custom ioctl > - style: 80 cols > - minor fixes device tree > > v2: > - added external clock to the sensor > - added all regulators required by the sensor > - added posibility to choose sensor type in device tree > - added prefixes to all custom types in device tree and driver as well > - style fixes > > Volodymyr Kharuk (8): > media: uapi: ctrls: Add Time of Flight class controls > media: v4l: ctrls: Fill V4L2_CID_TOF_CLASS controls > media: Documentation: v4l: Add TOF class controls > media: v4l: ctrls-api: Allow array update in __v4l2_ctrl_modify_range > media: v4l: ctrls: Add user control base for mlx7502x > media: uapi: Add mlx7502x header file > media: dt-bindings: Add mlx7502x camera sensor > media: i2c: Add driver for mlx7502x ToF sensor > > .../bindings/media/i2c/melexis,mlx7502x.yaml | 126 ++ > .../userspace-api/media/drivers/index.rst | 1 + > .../userspace-api/media/drivers/mlx7502x.rst | 28 + > .../userspace-api/media/v4l/common.rst | 1 + > .../userspace-api/media/v4l/ext-ctrls-tof.rst | 56 + > MAINTAINERS | 11 + > drivers/media/i2c/Kconfig | 13 + > drivers/media/i2c/Makefile | 1 + > drivers/media/i2c/mlx7502x.c | 1747 +++++++++++++++++ > drivers/media/v4l2-core/v4l2-ctrls-api.c | 25 +- > drivers/media/v4l2-core/v4l2-ctrls-defs.c | 20 + > include/uapi/linux/mlx7502x.h | 28 + > include/uapi/linux/v4l2-controls.h | 14 + > 13 files changed, 2059 insertions(+), 12 deletions(-) > create mode 100644 Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml > create mode 100644 Documentation/userspace-api/media/drivers/mlx7502x.rst > create mode 100644 Documentation/userspace-api/media/v4l/ext-ctrls-tof.rst > create mode 100644 drivers/media/i2c/mlx7502x.c > create mode 100644 include/uapi/linux/mlx7502x.h > > > base-commit: a7bab6f8b73fe15a6181673149734a2756845dae > -- > BR, > Volodymyr Kharuk >
Hi Volodomyr, I'm not sure I'm relevant, but since we discussed a bit about controls in the first version feel free to add my tag for patch 1, 2, and 3: Acked-By: Benjamin Mugnier <benjamin.mugnier@foss.st.com> Thank you for your work. On 1/2/23 14:27, Volodymyr Kharuk wrote: > Hi All, > > This is a gentle reminder about the patch series for ToF camera. > > Thanks. > > On Fri, Dec 02, 2022 at 06:07:30PM +0200, Volodymyr Kharuk wrote: >> Hello, >> >> This series adds support for the Melexis 75026 and 75027 Time of Flight >> camera sensors, with DT bindings in patch 7/8 and a driver in patch 8/8. >> In patches 1/8, 2/8 and 3/8, I've add ToF controls as separate >> ToF control class. >> >> v4: >> - fix output mode >> - forbid array for menu and warn if validate_new return an error >> - add enums to custom control OUTPUT_MODE >> - update doc >> - minor fixes >> >> v3: >> - move FMOD, TINT, PHASE_SEQ to common V4L2 as ToF common controls >> - FMOD and TINT became dynamic arrays >> - remove PHASE_NUM, use dynamic_array for PHASE_SEQ, >> ctrl->new_elems pass number of phases >> - remove leden-gpios, will be used gpio explicitly in library for now >> - remade probe: use probe_new, no power on during probe >> - remove autodetect and wildcard >> - make all supplies to be required >> - remove trigger ioctl, will add in separate patch series >> - remove temperature ioctl, will add in separate patch series >> - add documentation about custom ioctl >> - style: 80 cols >> - minor fixes device tree >> >> v2: >> - added external clock to the sensor >> - added all regulators required by the sensor >> - added posibility to choose sensor type in device tree >> - added prefixes to all custom types in device tree and driver as well >> - style fixes >> >> Volodymyr Kharuk (8): >> media: uapi: ctrls: Add Time of Flight class controls >> media: v4l: ctrls: Fill V4L2_CID_TOF_CLASS controls >> media: Documentation: v4l: Add TOF class controls >> media: v4l: ctrls-api: Allow array update in __v4l2_ctrl_modify_range >> media: v4l: ctrls: Add user control base for mlx7502x >> media: uapi: Add mlx7502x header file >> media: dt-bindings: Add mlx7502x camera sensor >> media: i2c: Add driver for mlx7502x ToF sensor >> >> .../bindings/media/i2c/melexis,mlx7502x.yaml | 126 ++ >> .../userspace-api/media/drivers/index.rst | 1 + >> .../userspace-api/media/drivers/mlx7502x.rst | 28 + >> .../userspace-api/media/v4l/common.rst | 1 + >> .../userspace-api/media/v4l/ext-ctrls-tof.rst | 56 + >> MAINTAINERS | 11 + >> drivers/media/i2c/Kconfig | 13 + >> drivers/media/i2c/Makefile | 1 + >> drivers/media/i2c/mlx7502x.c | 1747 +++++++++++++++++ >> drivers/media/v4l2-core/v4l2-ctrls-api.c | 25 +- >> drivers/media/v4l2-core/v4l2-ctrls-defs.c | 20 + >> include/uapi/linux/mlx7502x.h | 28 + >> include/uapi/linux/v4l2-controls.h | 14 + >> 13 files changed, 2059 insertions(+), 12 deletions(-) >> create mode 100644 Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml >> create mode 100644 Documentation/userspace-api/media/drivers/mlx7502x.rst >> create mode 100644 Documentation/userspace-api/media/v4l/ext-ctrls-tof.rst >> create mode 100644 drivers/media/i2c/mlx7502x.c >> create mode 100644 include/uapi/linux/mlx7502x.h >> >> >> base-commit: a7bab6f8b73fe15a6181673149734a2756845dae >> -- >> BR, >> Volodymyr Kharuk >> >
Hi Benjamin, > By the way, was the mailing list dropped from cc by mistake ? No, I just wanted to send a remind about the patch to Sakari and Laurent. Now it looks that this thread became more technical, so I am adding cc again. > >> I took a glance already and the driver seems reasonably good but I'm > >> concerned of the interface. How generic is it? I can't say to be an expert > >> on these devices and we don't have any other ToF cameras yet. Is the > >> precision (8 bits) of the control values enough? > > Fairly, that it is an interesting question. > > The frequency modulation defines the maximum range of object detection. > > 1 MHz precision is what we need usually, as the maximum range is from > > 1.5m(100Mhz) till 150(1MHz) meters then. > > Usually, user applications use 60-80MHz(max range is 1.8 - 2.5meters). > > Also, it is possible to have smaller step then 1 MHz, but it is not that practical. > > I am ok switch to Hz and use u32. In that case we will not be limited for generic case. > > > > Benjamin, what precision is better for frequency modulation in your case? > > Good catch, we do require Hz precision for some frequencies we use. > In other systems we use floats expressed as Mhz for this. As Linux only > supports integers, switching it to u32 and express it as Hz is a good idea. Ok, then I'll redo in next version.