On Wed, Aug 26, 2026 at 09:20:00AM +0200, Robert Bozik wrote: > Add a binding for the OmniVision OV32C4, a 32 megapixel RGBC CMOS image > sensor with on-chip 4-cell fusion, a 4-lane MIPI CSI-2 D-PHY transmitter > and the standard SCCB command interface. > > The sensor ships in laptops as an under-display camera, where it is > described by ACPI; the binding follows ovti,ov08x40.yaml, which covers > the closest relative already in tree. > > Signed-off-by: Robert Bozik > Assisted-by: Claude:claude-opus-5 sparse > Assisted-by: Claude:claude-fable-5 sparse > --- > .../bindings/media/i2c/ovti,ov32c4.yaml | 109 ++++++++++++++++++ > 1 file changed, 109 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/i2c/ovti,ov32c4.yaml > > diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov32c4.yaml b/Documentation/devicetree/bindings/media/i2c/ovti,ov32c4.yaml > new file mode 100644 > index 000000000..be6067c75 > --- /dev/null > +++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov32c4.yaml > @@ -0,0 +1,109 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/media/i2c/ovti,ov32c4.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: OmniVision OV32C4 Image Sensor > + > +maintainers: > + - Robert Bozik > + > +description: > + The OmniVision OV32C4 is a 32 megapixel RGBC (red, green, blue and clear) > + CMOS image sensor in a 4-cell arrangement, with on-chip 4-cell fusion and > + binning. It has a 6528x4896 active pixel array, a 4-lane MIPI CSI-2 D-PHY > + transmitter and the standard SCCB command interface. The driver supports > + 3264x1840 at 30 fps, 10-bit Bayer, at a link frequency of 400 MHz. > + > +allOf: > + - $ref: /schemas/media/video-interface-devices.yaml# > + > +properties: > + compatible: > + const: ovti,ov32c4 > + > + reg: > + maxItems: 1 > + > + clocks: > + maxItems: 1 > + description: Input clock (XVCLK), 19.2 MHz. Where do this name and frequency come from? pin name I presume for the former? Is 19.2 MHz a mandatory frequency? > + > + avdd-supply: > + description: Analogue circuit voltage supply. > + > + dovdd-supply: > + description: I/O circuit voltage supply. > + > + dvdd-supply: > + description: Digital core voltage supply. These 3 can just be :true, what they do should be obvious, provided they match the pin names of the device. Generally this looks fine to me though.. Cheers, Conor. > + > + reset-gpios: > + maxItems: 1 > + description: Active low GPIO connected to the XSHUTDOWN pad of the sensor. > + > + port: > + $ref: /schemas/graph.yaml#/$defs/port-base > + additionalProperties: false > + > + properties: > + endpoint: > + $ref: /schemas/media/video-interfaces.yaml# > + additionalProperties: false > + > + properties: > + data-lanes: > + items: > + - const: 1 > + - const: 2 > + - const: 3 > + - const: 4 > + link-frequencies: true > + remote-endpoint: true > + > + required: > + - data-lanes > + - link-frequencies > + - remote-endpoint > + > +required: > + - compatible > + - reg > + - clocks > + - port > + > +unevaluatedProperties: false > + > +examples: > + - | > + #include > + > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + camera@36 { > + compatible = "ovti,ov32c4"; > + reg = <0x36>; > + > + clocks = <&ov32c4_clk>; > + assigned-clocks = <&ov32c4_clk>; > + assigned-clock-rates = <19200000>; > + > + avdd-supply = <&vreg_2p8>; > + dovdd-supply = <&vreg_1p8>; > + dvdd-supply = <&vreg_1p1>; > + > + reset-gpios = <&tlmm 111 GPIO_ACTIVE_LOW>; > + > + port { > + ov32c4_ep: endpoint { > + remote-endpoint = <&csiphy0_ep>; > + data-lanes = <1 2 3 4>; > + link-frequencies = /bits/ 64 <400000000>; > + }; > + }; > + }; > + }; > +... > -- > 2.53.0 >