Define user controls for mlx7502x driver, add its documentation and update MAINTAINERS Signed-off-by: Volodymyr Kharuk <vkh@xxxxxxxxxxx> --- .../userspace-api/media/drivers/index.rst | 1 + .../userspace-api/media/drivers/mlx7502x.rst | 28 +++++++++++++++++++ MAINTAINERS | 2 ++ include/uapi/linux/mlx7502x.h | 28 +++++++++++++++++++ 4 files changed, 59 insertions(+) create mode 100644 Documentation/userspace-api/media/drivers/mlx7502x.rst create mode 100644 include/uapi/linux/mlx7502x.h diff --git a/Documentation/userspace-api/media/drivers/index.rst b/Documentation/userspace-api/media/drivers/index.rst index 46a494e00b72..0eb707516b23 100644 --- a/Documentation/userspace-api/media/drivers/index.rst +++ b/Documentation/userspace-api/media/drivers/index.rst @@ -38,5 +38,6 @@ For more details see the file COPYING in the source distribution of Linux. imx-uapi max2175 meye-uapi + mlx7502x omap3isp-uapi uvcvideo diff --git a/Documentation/userspace-api/media/drivers/mlx7502x.rst b/Documentation/userspace-api/media/drivers/mlx7502x.rst new file mode 100644 index 000000000000..d68506c09f84 --- /dev/null +++ b/Documentation/userspace-api/media/drivers/mlx7502x.rst @@ -0,0 +1,28 @@ +.. SPDX-License-Identifier: GPL-2.0 + +Melexis mlx7502x ToF camera sensor driver +========================================= + +The mlx7502x driver implements the following driver-specific controls: + +``V4L2_CID_MLX7502X_OUTPUT_MODE (menu)`` +---------------------------------------- + The sensor has two taps, which gather reflected light: A and B. + The control sets the way data should be put in a buffer. The most + common output mode is A-B which provides the best sunlight robustness. + +.. flat-table:: + :header-rows: 0 + :stub-columns: 0 + :widths: 1 4 + + * - ``V4L2_MLX7502X_OUTPUT_MODE_A_MINUS_B`` + - tap A minus tap B + * - ``V4L2_MLX7502X_OUTPUT_MODE_A_PLUS_B`` + - tap A plus tap B + * - ``V4L2_MLX7502X_OUTPUT_MODE_A`` + - only tap A + * - ``V4L2_MLX7502X_OUTPUT_MODE_B`` + - only tap B + * - ``V4L2_MLX7502X_OUTPUT_MODE_A_AND_B`` + - tap A and tap B (this config will change PAD format) diff --git a/MAINTAINERS b/MAINTAINERS index 6f9072f3b1da..32e49523e9c0 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -13116,7 +13116,9 @@ M: Volodymyr Kharuk <vkh@xxxxxxxxxxx> L: linux-media@xxxxxxxxxxxxxxx S: Supported W: http://www.melexis.com +F: Documentation/userspace-api/media/drivers/mlx7502x.rst F: Documentation/userspace-api/media/v4l/ext-ctrls-tof.rst +F: include/uapi/linux/mlx7502x.h MELFAS MIP4 TOUCHSCREEN DRIVER M: Sangwon Jee <jeesw@xxxxxxxxxx> diff --git a/include/uapi/linux/mlx7502x.h b/include/uapi/linux/mlx7502x.h new file mode 100644 index 000000000000..80e9317ff0fc --- /dev/null +++ b/include/uapi/linux/mlx7502x.h @@ -0,0 +1,28 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Melexis 7502x ToF cameras driver. + * + * Copyright (C) 2021 Melexis N.V. + * + */ + +#ifndef __UAPI_MLX7502X_H_ +#define __UAPI_MLX7502X_H_ + +#include <linux/v4l2-controls.h> + +/* + * this is related to the taps in ToF cameras, + * usually A minus B is the best option + */ +enum v4l2_mlx7502x_output_mode { + V4L2_MLX7502X_OUTPUT_MODE_A_MINUS_B = 0, + V4L2_MLX7502X_OUTPUT_MODE_A_PLUS_B, + V4L2_MLX7502X_OUTPUT_MODE_A, + V4L2_MLX7502X_OUTPUT_MODE_B, + V4L2_MLX7502X_OUTPUT_MODE_A_AND_B, /* output frame size doubles */ +}; + +#define V4L2_CID_MLX7502X_OUTPUT_MODE (V4L2_CID_USER_MLX7502X_BASE + 0) + +#endif /* __UAPI_MLX7502X_H_ */ -- BR, Volodymyr Kharuk