lkml.org 
[lkml]   [2021]   [Jan]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v4 2/2] media: dt-bindings: media: i2c: Add IMX300 CMOS sensor binding
Hi AngeloGioacchino,

On Wed, Jan 13, 2021 at 07:29:34PM +0100, AngeloGioacchino Del Regno wrote:
> Add YAML device tree binding for IMX300 CMOS image sensor, and
> the relevant MAINTAINERS entries.
>
> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
> ---
> .../bindings/media/i2c/sony,imx300.yaml | 112 ++++++++++++++++++
> MAINTAINERS | 7 ++
> 2 files changed, 119 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/media/i2c/sony,imx300.yaml
>
> diff --git a/Documentation/devicetree/bindings/media/i2c/sony,imx300.yaml b/Documentation/devicetree/bindings/media/i2c/sony,imx300.yaml
> new file mode 100644
> index 000000000000..4fa767feea80
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/i2c/sony,imx300.yaml
> @@ -0,0 +1,112 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/media/i2c/sony,imx300.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Sony 1/2.3-Inch 25Mpixel Stacked CMOS Digital Image Sensor
> +
> +maintainers:
> + - AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
> +
> +description: |-
> + The Sony IMX300 is a 1/2.3-inch Stacked CMOS (Exmor-RS) digital image
> + sensor with a pixel size of 1.08um and an active array size of
> + 5948H x 4140V. It is programmable through I2C interface at address 0x10.
> + Image data is sent through MIPI CSI-2, which is configured as either 2 or
> + 4 data lanes.
> +
> +properties:
> + compatible:
> + const: sony,imx300
> +
> + reg:
> + maxItems: 1
> +
> + clocks:
> + maxItems: 1

Please add assigned clock related properties; see
Documentation/driver-api/media/camera-sensor.rst .

> +
> + vdig-supply:
> + description:
> + Digital I/O voltage supply, 1.15-1.20 volts
> +
> + vana-supply:
> + description:
> + Analog voltage supply, 2.2 volts
> +
> + vddl-supply:
> + description:
> + Digital core voltage supply, 1.8 volts
> +
> + reset-gpios:
> + description: |-
> + Reference to the GPIO connected to the xclr pin, if any.
> + Must be released (set high) after all supplies are applied.
> +
> + # See ../video-interfaces.txt for more details
> + port:
> + type: object
> + properties:
> + endpoint:
> + type: object
> +
> + properties:
> + data-lanes:
> + description: |-
> + The driver only supports four-lane operation.

This can be removed as bindings describe hardware, not driver operation.

> + items:
> + - const: 0
> + - const: 1
> + - const: 2
> + - const: 3

Two lanes here, too?

> +
> + clock-noncontinuous: true
> +
> + link-frequencies:
> + $ref: /schemas/types.yaml#/definitions/uint64-array
> + description:
> + Allowed data bus frequencies. The driver currently needs
> + to switch between 780000000 and 480000000 Hz in order to
> + guarantee functionality of all modes.

You can omit this description, too.

> +
> + required:
> + - data-lanes
> + - link-frequencies
> +
> +required:
> + - compatible
> + - reg
> + - clocks
> + - vana-supply
> + - vdig-supply
> + - vddl-supply

Are the regulators really required? I'm not quite sure about the
established practices; still the common case is that one or two of these
are hard-wired.

> + - port
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + i2c0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + imx300: sensor@10 {
> + compatible = "sony,imx300";
> + reg = <0x10>;
> + clocks = <&imx300_xclk>;
> + vana-supply = <&imx300_vana>; /* 2.2v */
> + vdig-supply = <&imx300_vdig>; /* 1.2v */
> + vddl-supply = <&imx300_vddl>; /* 1.8v */
> +
> + port {
> + imx300_0: endpoint {
> + remote-endpoint = <&csi1_ep>;
> + data-lanes = <0 1 2 3>;
> + clock-noncontinuous;
> + link-frequencies = /bits/ 64 <780000000 480000000>;
> + };
> + };
> + };
> + };
> +
> +...
> diff --git a/MAINTAINERS b/MAINTAINERS
> index ad9abb42f852..5e0f08f48d48 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -16633,6 +16633,13 @@ T: git git://linuxtv.org/media_tree.git
> F: Documentation/devicetree/bindings/media/i2c/imx290.txt
> F: drivers/media/i2c/imx290.c
>
> +SONY IMX300 SENSOR DRIVER
> +M: AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
> +L: linux-media@vger.kernel.org

Please also add the git tree.

Ideally also the MAINTAINERS change comes with the first patch adding the
files, which should be the DT bindings. I.e. just reverse the order of the
patches.

> +S: Maintained
> +F: Documentation/devicetree/bindings/media/i2c/sony,imx300.yaml
> +F: drivers/media/i2c/imx300.c
> +
> SONY IMX319 SENSOR DRIVER
> M: Bingbu Cao <bingbu.cao@intel.com>
> L: linux-media@vger.kernel.org

--
Kind regards,

Sakari Ailus

\
 
 \ /
  Last update: 2021-01-17 00:48    [W:1.137 / U:0.228 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site