Re: [PATCH 1/4] dt-bindings: media: i2c: Add Sony IMX471 CMOS Image Sensor

Sakari Ailus <[email protected]> Thu, 6 Aug 2026 13:33:38 +0300
Newsgroups org.kernel.vger.linux-media,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel
Organization Intel Finland Oy - BIC 0357606-4 - c/o Alberga Business Park, 6 krs, Bertel Jungin Aukio 5, 02600 Espoo
Message-ID <[email protected]>
Hi Danila,

Thanks for the set.

On Wed, Aug 05, 2026 at 10:54:24PM +0300, Danila Tikhonov wrote:
> Document the Sony IMX471 CMOS Image Sensor.
> 
> Signed-off-by: Danila Tikhonov <[email protected]>
> ---
>  .../devicetree/bindings/media/i2c/sony,imx471.yaml | 123 +++++++++++++++++++++
>  1 file changed, 123 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/media/i2c/sony,imx471.yaml b/Documentation/devicetree/bindings/media/i2c/sony,imx471.yaml
> new file mode 100644
> index 000000000000..9c6c7c55746f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/i2c/sony,imx471.yaml
> @@ -0,0 +1,123 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/media/i2c/sony,imx471.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Sony IMX471 CMOS Image Sensor
> +
> +maintainers:
> +  - Danila Tikhonov <[email protected]>
> +
> +description: |-

I believe you can drop ' |-'.

> +  The Sony IMX471 is a diagonal 5.822 mm (Type 1/3.09) 16-megapixel
> +  back-illuminated stacked CMOS active pixel image sensor with a 4656 x 3496
> +  active pixel array and 1.0 um square pixels. It uses a Quad Bayer color filter
> +  array, is programmable through an I2C interface, and outputs image data
> +  through MIPI CSI-2.
> +
> +allOf:
> +  - $ref: /schemas/media/video-interface-devices.yaml#
> +
> +properties:
> +  compatible:
> +    const: sony,imx471
> +
> +  reg:
> +    maxItems: 1
> +
> +  clocks:
> +    description: External input clock (19.2 MHz)
> +    maxItems: 1
> +
> +  vana-supply:
> +    description: Analog power supply (2.8 V)
> +
> +  vdig-supply:
> +    description: Digital core power supply (1.05 V)
> +
> +  vif-supply:
> +    description: I/O interface power supply (1.8 V)
> +
> +  reset-gpios:
> +    description: Sensor reset (XCLR) GPIO
> +    maxItems: 1
> +
> +  port:
> +    $ref: /schemas/graph.yaml#/$defs/port-base
> +    unevaluatedProperties: false
> +
> +    properties:
> +      endpoint:
> +        $ref: /schemas/media/video-interfaces.yaml#
> +        unevaluatedProperties: false
> +
> +        properties:
> +          data-lanes:
> +            items:
> +              - const: 1
> +              - const: 2
> +              - const: 3
> +              - const: 4

The sensor also supports two-lane operation.

> +
> +          link-frequencies:
> +            maxItems: 1
> +            items:
> +              const: 200000000

The sensor isn't limited to 200 MHz, is it? I just wouldn't specify it at
all.

> +
> +        required:
> +          - data-lanes
> +          - link-frequencies
> +
> +    required:
> +      - endpoint
> +
> +required:
> +  - compatible
> +  - reg
> +  - clocks
> +  - vana-supply
> +  - vdig-supply
> +  - vif-supply
> +  - port
> +
> +unevaluatedProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/qcom,camcc-sc7280.h>
> +    #include <dt-bindings/gpio/gpio.h>
> +
> +    i2c {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        camf_imx471: camera@1a {
> +            compatible = "sony,imx471";
> +            reg = <0x1a>;
> +
> +            vana-supply = <&vreg_camf_vana_2p8>;
> +            vdig-supply = <&vreg_camf_vdig_1p1>;
> +            vif-supply = <&vreg_cam_vio_1p8>;
> +
> +            clocks = <&camcc CAM_CC_MCLK0_CLK>;
> +            assigned-clocks = <&camcc CAM_CC_MCLK0_CLK>;
> +            assigned-clock-rates = <19200000>;
> +
> +            reset-gpios = <&tlmm 20 GPIO_ACTIVE_LOW>;
> +            pinctrl-0 = <&cam_mclk0_default>;
> +            pinctrl-names = "default";
> +
> +            orientation = <0>;
> +            rotation = <270>;
> +
> +            port {
> +                camera_imx471_ep: endpoint {
> +                    data-lanes = <1 2 3 4>;
> +                    link-frequencies = /bits/ 64 <200000000>;
> +                    remote-endpoint = <&csiphy0_ep>;
> +                };
> +            };
> +        };
> +    };
> +...
> 

-- 
Regards,

Sakari Ailus