On Tue, Feb 21, 2023 at 01:46:06AM +0200, Laurent Pinchart wrote: > On Fri, May 13, 2022 at 12:33:01PM +0200, Jacopo Mondi wrote: > > On Tue, Feb 08, 2022 at 08:47:32PM +0200, Laurent Pinchart wrote: > > > On Tue, Feb 08, 2022 at 06:51:01PM +0200, Sakari Ailus wrote: > > > > On Mon, Feb 07, 2022 at 03:20:54AM +0200, Laurent Pinchart wrote: > > > > > Add device tree binding for the onsemi MT9M114 CMOS camera sensor. > > > > > > > > > > Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > > > > > --- > > > > > Changes since v1: > > > > > > > > > > - Use graph schema > > > > > - Drop unneeded properties > > > > > - Rename ON Semiconductor to onsemi > > > > > --- > > > > > .../bindings/media/i2c/onnn,mt9m114.yaml | 110 ++++++++++++++++++ > > > > > MAINTAINERS | 7 ++ > > > > > 2 files changed, 117 insertions(+) > > > > > create mode 100644 Documentation/devicetree/bindings/media/i2c/onnn,mt9m114.yaml > > > > > > > > > > diff --git a/Documentation/devicetree/bindings/media/i2c/onnn,mt9m114.yaml b/Documentation/devicetree/bindings/media/i2c/onnn,mt9m114.yaml > > > > > new file mode 100644 > > > > > index 000000000000..55b67833f9a1 > > > > > --- /dev/null > > > > > +++ b/Documentation/devicetree/bindings/media/i2c/onnn,mt9m114.yaml > > > > > @@ -0,0 +1,110 @@ > > > > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > > > > +%YAML 1.2 > > > > > +--- > > > > > +$id: http://devicetree.org/schemas/media/i2c/onnn,mt9m114.yaml# > > > > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > > > > + > > > > > +title: onsemi 1/6-inch 720p CMOS Digital Image Sensor > > > > > + > > > > > +maintainers: > > > > > + - Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > > > > > + > > > > > +description: |- > > > > > + The onsemi MT9M114 is a 1/6-inch 720p (1.26 Mp) CMOS digital image sensor > > > > > + with an active pixel-array size of 1296H x 976V. It is programmable through > > > > > + an I2C interface and outputs image data over a 8-bit parallel or 1-lane MIPI > > > > > + CSI-2 connection. > > > > > + > > > > > +properties: > > > > > + compatible: > > > > > + const: onnn,mt9m114 > > > > > + > > > > > + reg: > > > > > + description: I2C device address > > > > > + enum: > > > > > + - 0x48 > > > > > + - 0x5d > > > > > + > > > > > + clocks: > > > > > + description: EXTCLK clock signal > > > > > + maxItems: 1 > > > > > + > > > > > + vdd-supply: > > > > > + description: > > > > > + Core digital voltage supply, 1.8V > > > > > + > > > > > + vddio-supply: > > > > > + description: > > > > > + I/O digital voltage supply, 1.8V or 2.8V > > > > > + > > > > > + vaa-supply: > > > > > + description: > > > > > + Analog voltage supply, 2.8V > > > > > + > > > > > + reset-gpios: > > > > > + description: |- > > > > > + Reference to the GPIO connected to the RESET_BAR pin, if any (active > > > > > + low). > > > > > + > > > > > + port: > > > > > + $ref: /schemas/graph.yaml#/$defs/port-base > > > > > + additionalProperties: false > > > > > + > > > > > + properties: > > > > > + endpoint: > > > > > + $ref: /schemas/media/video-interfaces.yaml# > > > > > + additionalProperties: false > > > > > + > > > > > + properties: > > > > > + bus-type: > > > > > + enum: [4, 5, 6] > > > > > > > > With bus-type 5, shouldn't you have the parallel interface sync signal > > > > polarity properties? Possibly also others if the hardware supports them. > > > > > > As far as I can tell, the hardware has fixed polarities for all signals. > > > Both hsync and vsync (called LINE_VALID and FRAME_VALID here) are active > > > high. > > > > Although it seems the pixel clock polarity can be controlled ? > > Do you mean through register 0x0016 ? That indeed seems to be the case. > I can't easily test that though, as the development board I'm using at > the moment uses CSI-2, but I can add the property to the bindings. This being said, I realized that the only property we have to specify the pixel clock polarity is pclk-sample, which is defined as Sample data on falling (0), rising (1) or both (2) edges of the pixel clock signal. This is quite ill-defined for transmitters, and should be fixed. I'd rather not make that a dependency for this driver though. We can always add a new property later, with a default value for backward compatibility. > > > > > + > > > > > + remote-endpoint: true > > > > > + > > > > > + # The number and mapping of lanes (for CSI-2), and the bus width and > > > > > + # signal polarities (for parallel and BT.656) are fixed and must not > > > > > + # be specified. > > > > > + > > > > > + required: > > > > > + - bus-type > > > > > + > > > > > +required: > > > > > + - compatible > > > > > + - reg > > > > > + - clocks > > > > > + - vdd-supply > > > > > + - vddio-supply > > > > > + - vaa-supply > > > > > + - port > > > > > + > > > > > +additionalProperties: false > > > > > + > > > > > +examples: > > > > > + - | > > > > > + #include <dt-bindings/gpio/gpio.h> > > > > > + > > > > > + i2c0 { > > > > > + #address-cells = <1>; > > > > > + #size-cells = <0>; > > > > > + > > > > > + sensor@48 { > > > > > + compatible = "onnn,mt9m114"; > > > > > + reg = <0x48>; > > > > > + > > > > > + clocks = <&clk24m 0>; > > > > > + > > > > > + reset-gpios = <&gpio5 21 GPIO_ACTIVE_LOW>; > > > > > + > > > > > + vddio-supply = <®_cam_1v8>; > > > > > + vdd-supply = <®_cam_1v8>; > > > > > + vaa-supply = <®_2p8v>; > > > > > + > > > > > + port { > > > > > + endpoint { > > > > > + bus-type = <4>; > > > > > + remote-endpoint = <&mipi_csi_in>; > > > > > + }; > > > > > + }; > > > > > + }; > > > > > + }; > > > > > +... > > > > > diff --git a/MAINTAINERS b/MAINTAINERS > > > > > index f41088418aae..e9919a359c12 100644 > > > > > --- a/MAINTAINERS > > > > > +++ b/MAINTAINERS > > > > > @@ -13096,6 +13096,13 @@ T: git git://linuxtv.org/media_tree.git > > > > > F: drivers/media/i2c/mt9m032.c > > > > > F: include/media/i2c/mt9m032.h > > > > > > > > > > +MT9M114 ONSEMI SENSOR DRIVER > > > > > +M: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > > > > > +L: linux-media@xxxxxxxxxxxxxxx > > > > > +S: Maintained > > > > > +T: git git://linuxtv.org/media_tree.git > > > > > +F: Documentation/devicetree/bindings/media/i2c.onnn,mt9m114.yaml > > > > > + > > > > > MT9P031 APTINA CAMERA SENSOR > > > > > M: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > > > > > L: linux-media@xxxxxxxxxxxxxxx -- Regards, Laurent Pinchart