From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Will Whang <will@willwhang.com>
Cc: Sakari Ailus <sakari.ailus@linux.intel.com>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
"open list:SONY IMX585 SENSOR DRIVER"
<linux-media@vger.kernel.org>,
open list <linux-kernel@vger.kernel.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@vger.kernel.org>
Subject: Re: [PATCH v1 1/4] dt-bindings: media: Add Sony IMX585 CMOS image sensor
Date: Wed, 2 Jul 2025 12:28:58 +0300 [thread overview]
Message-ID: <20250702092858.GA15241@pendragon.ideasonboard.com> (raw)
In-Reply-To: <20250702063836.3984-2-will@willwhang.com>
Hi Will,
Thank you for the patch.
On Wed, Jul 02, 2025 at 07:38:33AM +0100, Will Whang wrote:
> Document the devicetree binding for the Sony IMX585. The schema
> covers the CSI-2 data-lanes, the optional 'mono-mode' flag,
> and the internal-sync properties used by the driver.
>
> Signed-off-by: Will Whang <will@willwhang.com>
> ---
> .../bindings/media/i2c/sony,imx585.yaml | 120 ++++++++++++++++++
> MAINTAINERS | 8 ++
> 2 files changed, 128 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/media/i2c/sony,imx585.yaml
>
> diff --git a/Documentation/devicetree/bindings/media/i2c/sony,imx585.yaml b/Documentation/devicetree/bindings/media/i2c/sony,imx585.yaml
> new file mode 100644
> index 000000000..d050d1642
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/i2c/sony,imx585.yaml
> @@ -0,0 +1,120 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +# Copyright (C) 2024 Ideas on Board Oy
Unless there's something I'm not aware of, I don't think Ideas on Board
wrote this. You can use your own copyright.
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/media/i2c/sony,imx585.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Sony IMX585 Sensor
> +
> +maintainers:
> + - Will Whang <will@willwhang.com>
> +
> +description:
> + IMX585 sensor is a Sony CMOS sensor with 4K and FHD outputs.
> +
You should add
allOf:
- $ref: /schemas/media/video-interface-devices.yaml#
here to support generic sensor properties. You will need to replace
additionalProperties: false
with
unevaluatedProperties: false
below.
> +properties:
> + compatible:
> + const: sony,imx585
> +
> + clocks:
> + maxItems: 1
> +
> + clock-names:
> + const: xclk
When there's a single clock you can drop clock-names.
> +
> + clock-frequency:
> + enum: [ 74250000, 37125000, 72000000, 27000000, 24000000 ]
The clock-frequency property is frowned upon for sensors in DT. If the
aim is to set the frequency of the clock, it should be done through
assigned-clocks and assigned-clock-rates. If the aim is to convey the
clock frequency to the driver, it should be done by calling
clk_get_rate() in the driver.
> +
> + reg:
> + maxItems: 1
> + description: I2C Address for IMX585
You can drop the description, it's always the same for I2C devices.
> +
> + VANA-supply:
> + description: Analog power supply (3.3V)
> +
> + VDDL-supply:
> + description: Interface power supply (1.8V)
> +
> + VDIG-supply:
> + description: Digital power supply (1.1V)
> +
> + reset-gpios:
> + description: Sensor reset (XCLR) GPIO
> + maxItems: 1
> +
> + port:
> + $ref: /schemas/graph.yaml#/$defs/port-base
> + additionalProperties: false
> +
> + properties:
> + endpoint:
> + $ref: /schemas/media/video-interfaces.yaml#
> + unevaluatedProperties: false
> +
> + properties:
> + data-lanes:
> + anyOf:
> + - items:
> + - const: 1
> + - const: 2
> + - const: 3
> + - const: 4
Does that mean that the sensor supports data lane remapping ? I don't
see it implemented by the driver. If it's not supported by the hardware,
you should use
properties:
data-lanes:
minItems: 1
items:
- const: 1
- const: 2
- const: 3
- const: 4
To guarantee the order.
> +
> + sync-mode:
> + description: |
> + Select the synchronisation mode of the sensor
> + 0 – internal sync, leader (default)
> + 1 – internal sync, follower
> + 2 – external sync
> + $ref: /schemas/types.yaml#/definitions/uint8
> + enum: [ 0, 1, 2 ]
This seems to be a sensor-level property, not an endpoint property. As
it's not standard, it should also have a vendor prefix, i.e.
sony,sync-mode. I'm wondering, though, if we shouldn't try to
standardize it in video-interface-devices.yaml.
> +
> + link-frequencies:
> + description: Select the MIPI-CSI2 link speed in Mhz
You can drop the description, it's already described in
video-interfaces.yaml.
> + items:
> + enum: [ 297000000, 360000000, 445500000, 594000000,
> + 720000000, 891000000, 1039500000 ]
Are those frequencies the only ones the hardware can support, or do they
come from the driver only supporting a fixed set of sensor PLL
configurations ? In the latter case I would drop the enumeration.
> +
> + required:
> + - data-lanes
> + - link-frequencies
> +
> + required:
> + - endpoint
> +
> +required:
> + - compatible
> + - reg
> + - clocks
> + - clock-frequency
> + - port
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + imx585@1a {
> + compatible = "sony,imx585";
> + reg = <0x1a>;
> + clocks = <&imx585_clk>;
> + clock-frequency = <24000000>;
> +
> + VANA-supply = <&camera_vadd_3v3>;
> + VDDL-supply = <&camera_vdd1_1v8>;
> + VDIG-supply = <&camera_vdd2_1v1>;
> +
> + port {
> + imx585: endpoint {
> + remote-endpoint = <&cam>;
> + data-lanes = <1 2 3 4>;
> + link-frequencies = /bits/ 64 <720000000>;
> + };
> + };
> + };
> + };
> +...
> diff --git a/MAINTAINERS b/MAINTAINERS
> index da34c7227..9cc404790 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -23150,6 +23150,14 @@ T: git git://linuxtv.org/media.git
> F: Documentation/devicetree/bindings/media/i2c/sony,imx415.yaml
> F: drivers/media/i2c/imx415.c
>
> +SONY IMX585 SENSOR DRIVER
> +M: Will Whang <will@willwhang.com>
> +L: linux-media@vger.kernel.org
> +S: Maintained
> +T: git git://linuxtv.org/media.git
> +F: Documentation/devicetree/bindings/media/i2c/sony,imx585.yaml
> +F: drivers/media/i2c/imx585.c
> +
> SONY MEMORYSTICK SUBSYSTEM
> M: Maxim Levitsky <maximlevitsky@gmail.com>
> M: Alex Dubov <oakad@yahoo.com>
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2025-07-02 9:29 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-02 6:38 [PATCH v1 0/4] media: Add Sony IMX585 image sensor support Will Whang
2025-07-02 6:38 ` [PATCH v1 1/4] dt-bindings: media: Add Sony IMX585 CMOS image sensor Will Whang
2025-07-02 9:28 ` Laurent Pinchart [this message]
[not found] ` <CAFoNnrxquDp_yx_HSOe00cVDMcw2G+rTZs8x8RgOD3RO=tq-XA@mail.gmail.com>
2025-07-06 19:45 ` Laurent Pinchart
2025-07-04 8:08 ` Krzysztof Kozlowski
[not found] ` <CAFoNnry_BDeH9ERiDsncdpaH-f_qKqXyyM3e=M=j5ogJidU68g@mail.gmail.com>
2025-07-06 7:30 ` Krzysztof Kozlowski
2025-07-02 6:38 ` [PATCH v1 2/4] media: uapi: Add custom IMX585 control IDs Will Whang
2025-07-02 6:38 ` [PATCH v1 3/4] media: i2c: imx585: Add Sony IMX585 image-sensor driver Will Whang
2025-07-03 17:51 ` Laurent Pinchart
2025-07-03 17:54 ` Laurent Pinchart
[not found] ` <CAFoNnrx-YpQwY6_908x=8LK1uwWw0y5zKxsv+aTsW1fxX554vg@mail.gmail.com>
2025-07-06 20:30 ` Laurent Pinchart
2025-07-02 6:38 ` [PATCH v1 4/4] media: docs: Add userspace-API guide for the IMX585 driver Will Whang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250702092858.GA15241@pendragon.ideasonboard.com \
--to=laurent.pinchart@ideasonboard.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=robh@kernel.org \
--cc=sakari.ailus@linux.intel.com \
--cc=will@willwhang.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.