Re: [RFC PATCH v3 1/2] dt-bindings: media: i2c: Add onsemi AR0234 image sensor binding

Laurent Pinchart
2026-05-05T10:15:15Z

Hi Alexander,

Thank you for the patch.

On Fri, Mar 06, 2026 at 01:36:13PM +0300, Alexander Shiyan wrote:
> Add devicetree binding for the onsemi AR0234 CMOS image sensor.
>
> Signed-off-by: Alexander Shiyan <eagle.alexander923@gmail.com>
> ---
> .../bindings/media/i2c/onnn,ar0234.yaml | 109 ++++++++++++++++++
> 1 file changed, 109 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/media/i2c/onnn,ar0234.yaml
>
> diff --git a/Documentation/devicetree/bindings/media/i2c/onnn,ar0234.yaml b/Documentation/devicetree/bindings/media/i2c/onnn,ar0234.yaml
> new file mode 100644
> index 000000000000..d93fa99e6535
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/i2c/onnn,ar0234.yaml
> @@ -0,0 +1,109 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/media/i2c/onnn,ar0234.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: ON Semiconductor AR0234 1/2.6-inch CMOS Digital Image Sensor
> +
> +description:
> + The AR0234 is a 1/2.6-inch CMOS digital image sensor with a pixel
> + array of 1940x1220 pixels, capable of 1920x1200 resolution at up
> + to 120 fps. It supports MIPI CSI-2 output with 1, 2, or 4 data lanes,
> + and raw Bayer (8/10-bit) or monochrome output.
> +
> +properties:
> + compatible:
> + const: onnn,ar0234cs

Should we define separate compatible strings for the mono and colour
variants ? I know you identify the variant at runtime in the driver, but
avoid I2C communication at boot time can be beneficial (to reduce boot
time, and also to avoid flashing the privacy LED on systems that have
one, albeit the latter is probably less applicable to the AR0234).

> +
> + reg:
> + description: I2C device address
> + maxItems: 1
> +
> + clocks:
> + description: Reference clock (external clock) input
> + maxItems: 1
> +
> + reset-gpios:
> + description: Reset pin, usually active low (if needed)
> + maxItems: 1
> +
> + vaa-supply:
> + description: Analog (2.8V) supply regulator
> +
> + vdd-supply:
> + description: Digital Core (1.2V) supply regulator
> +
> + vddio-supply:
> + description: I/O (1.8V-2.8V) supply regulator
> +
> + port:
> + $ref: /schemas/graph.yaml#/$defs/port-base
> + description: CSI-2 transmitter port
> + additionalProperties: false
> + properties:
> + endpoint:
> + $ref: /schemas/media/video-interfaces.yaml#
> + unevaluatedProperties: false
> + properties:
> + data-lanes:
> + description:
> + Number of MIPI CSI-2 data lanes. Supported values: 2, 4.
> + minItems: 2
> + maxItems: 4
> + items:
> + enum: [1, 2, 3, 4]
> +
> + link-frequencies:
> + description:
> + Allowed MIPI link frequencies in Hz. The driver expects two
> + frequencies: one for 8-bit and one for 10-bit modes,
> + typically 360 MHz and 450 MHz, but any frequency supported
> + by the sensor may be used.

What the driver supports isn't relevant for the DT bindings. The
frequencies should only be limited here to the range supported by the
device, regardless of the current driver implementation.

> + minItems: 2
> + maxItems: 2
> + items:
> + minimum: 360000000
> + maximum: 450000000
> +
> + required:
> + - data-lanes
> + - link-frequencies
> +
> + required:
> + - endpoint
> +
> +required:
> + - compatible
> + - reg
> + - clocks
> + - port
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + camera@10 {
> + compatible = "onnn,ar0234cs";
> + reg = <0x10>;
> + clocks = <&clk_ext_camera>;
> +
> + vaa-supply = <&reg_cam_vaa>;
> + vdd-supply = <&reg_cam_vdd>;
> + vddio-supply = <&reg_cam_vddio>;
> +
> + reset-gpios = <&gpio 42 GPIO_ACTIVE_LOW>;
> +
> + port {
> + ar0234_ep: endpoint {
> + data-lanes = <1 2 3 4>;
> + link-frequencies = /bits/ 64 <360000000 450000000>;
> + };
> + };
> + };
> + };
> +...

--
Regards,

Laurent Pinchart