Message ID | 20220207012055.15158-2-laurent.pinchart@ideasonboard.com |
---|---|
State | Superseded |
Headers | show |
Series | [v2,1/2] media: dt-bindings: media: i2c: Add MT9M114 camera sensor binding | expand |
Hi Laurent, 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@ideasonboard.com> > --- > 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@ideasonboard.com> > + > +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. > + > + 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@ideasonboard.com> > +L: linux-media@vger.kernel.org > +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@ideasonboard.com> > L: linux-media@vger.kernel.org
Hi Laurent, On Tue, Feb 08, 2022 at 08:47:32PM +0200, Laurent Pinchart wrote: > Hi Sakari, > > 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@ideasonboard.com> > > > --- > > > 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@ideasonboard.com> > > > + > > > +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. Right, then you won't need these. What about the link-frequencies property? > > > > + > > > + 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@ideasonboard.com> > > > +L: linux-media@vger.kernel.org > > > +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@ideasonboard.com> > > > L: linux-media@vger.kernel.org > > -- > Regards, > > Laurent Pinchart
Hi Sakari, On Sat, Feb 12, 2022 at 10:33:44PM +0200, Sakari Ailus 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@ideasonboard.com> > > > > --- > > > > 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@ideasonboard.com> > > > > + > > > > +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. > > Right, then you won't need these. > > What about the link-frequencies property? That's something I've meant to ask, should the link-frequencies property be specified for parallel buses too, or only CSI-2 ? We also need to document how a DT writer should select the link frequencies. The process is complicated, saying that the property is required without explaining how the values can be computed (EMC constraints aside, just from a functional point of view) isn't nice. If you explain this to me, I can put it in a patch :-) > > > > + > > > > + 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@ideasonboard.com> > > > > +L: linux-media@vger.kernel.org > > > > +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@ideasonboard.com> > > > > L: linux-media@vger.kernel.org
Hi Laurent On Tue, Feb 08, 2022 at 08:47:32PM +0200, Laurent Pinchart wrote: > Hi Sakari, > > 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@ideasonboard.com> > > > --- > > > 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@ideasonboard.com> > > > + > > > +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 ? > > > + > > > + 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@ideasonboard.com> > > > +L: linux-media@vger.kernel.org > > > +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@ideasonboard.com> > > > L: linux-media@vger.kernel.org > > -- > Regards, > > Laurent Pinchart
Hi Jacopo, 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@ideasonboard.com> > > > > --- > > > > 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@ideasonboard.com> > > > > + > > > > +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. > > > > + > > > > + 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@ideasonboard.com> > > > > +L: linux-media@vger.kernel.org > > > > +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@ideasonboard.com> > > > > L: linux-media@vger.kernel.org
Hi Sakari, On Sun, Feb 13, 2022 at 12:12:10AM +0200, Laurent Pinchart wrote: > On Sat, Feb 12, 2022 at 10:33:44PM +0200, Sakari Ailus 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@ideasonboard.com> > > > > > --- > > > > > 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@ideasonboard.com> > > > > > + > > > > > +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. > > > > Right, then you won't need these. > > > > What about the link-frequencies property? > > That's something I've meant to ask, should the link-frequencies property > be specified for parallel buses too, or only CSI-2 ? Any feedback on this ? > We also need to document how a DT writer should select the link > frequencies. The process is complicated, saying that the property is > required without explaining how the values can be computed (EMC > constraints aside, just from a functional point of view) isn't nice. If > you explain this to me, I can put it in a patch :-) Or on this ? :-) > > > > > + > > > > > + 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@ideasonboard.com> > > > > > +L: linux-media@vger.kernel.org > > > > > +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@ideasonboard.com> > > > > > L: linux-media@vger.kernel.org
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@ideasonboard.com> > > > > > --- > > > > > 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@ideasonboard.com> > > > > > + > > > > > +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@ideasonboard.com> > > > > > +L: linux-media@vger.kernel.org > > > > > +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@ideasonboard.com> > > > > > L: linux-media@vger.kernel.org
Hi Sakari, On Tue, Feb 21, 2023 at 02:42:31PM +0200, Sakari Ailus wrote: > On Tue, Feb 21, 2023 at 01:52:46AM +0200, Laurent Pinchart wrote: > > > > > > > + 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. > > > > > > > > Right, then you won't need these. > > > > > > > > What about the link-frequencies property? > > > > > > That's something I've meant to ask, should the link-frequencies property > > > be specified for parallel buses too, or only CSI-2 ? > > > > Any feedback on this ? > > Yes. > > It very likely matters there as well but probably less so than on CSI-2. > > link-frequencies isn't specific to CSI-2 either. > > > > We also need to document how a DT writer should select the link > > > frequencies. The process is complicated, saying that the property is > > > required without explaining how the values can be computed (EMC > > > constraints aside, just from a functional point of view) isn't nice. If > > > you explain this to me, I can put it in a patch :-) > > > > Or on this ? :-) > > Generally the hardware people will tell you this when it matters. :-) But > on a development board you can probably have anything the hardware > supports. > > I guess we could add a few words on this to e.g. > Documentation/driver-api/media/camera-sensor.rst . Please :-) When the sensor driver supports multiple link frequencies, and in particular a continuous range of frequencies, I want a document I can point people to precisely answer the "I have no idea about those stuff, what value do I put in my device tree?" question. It should include a clear procedure to calculate a value, not just a generic statement along the lines of "pick a value that is suitable for you". > Most drivers will support a few frequencies only and sometimes the vendor, > due to someone needing it, provides another configuration with a different > frequency. Many sensors also have datasheets that are precise enough to > calculate this yourself.
Hi Sakari, On Tue, Feb 21, 2023 at 02:48:19PM +0200, Laurent Pinchart wrote: > On Tue, Feb 21, 2023 at 02:42:31PM +0200, Sakari Ailus wrote: > > On Tue, Feb 21, 2023 at 01:52:46AM +0200, Laurent Pinchart wrote: > > > > > > > > + 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. > > > > > > > > > > Right, then you won't need these. > > > > > > > > > > What about the link-frequencies property? > > > > > > > > That's something I've meant to ask, should the link-frequencies property > > > > be specified for parallel buses too, or only CSI-2 ? > > > > > > Any feedback on this ? > > > > Yes. > > > > It very likely matters there as well but probably less so than on CSI-2. > > > > link-frequencies isn't specific to CSI-2 either. > > > > > > We also need to document how a DT writer should select the link > > > > frequencies. The process is complicated, saying that the property is > > > > required without explaining how the values can be computed (EMC > > > > constraints aside, just from a functional point of view) isn't nice. If > > > > you explain this to me, I can put it in a patch :-) > > > > > > Or on this ? :-) > > > > Generally the hardware people will tell you this when it matters. :-) But > > on a development board you can probably have anything the hardware > > supports. > > > > I guess we could add a few words on this to e.g. > > Documentation/driver-api/media/camera-sensor.rst . > > Please :-) When the sensor driver supports multiple link frequencies, > and in particular a continuous range of frequencies, I want a document I > can point people to precisely answer the "I have no idea about those > stuff, what value do I put in my device tree?" question. It should > include a clear procedure to calculate a value, not just a generic > statement along the lines of "pick a value that is suitable for you". Could you help me with this ? :-) > > Most drivers will support a few frequencies only and sometimes the vendor, > > due to someone needing it, provides another configuration with a different > > frequency. Many sensors also have datasheets that are precise enough to > > calculate this yourself.
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@ideasonboard.com> + +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] + + 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@ideasonboard.com> +L: linux-media@vger.kernel.org +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@ideasonboard.com> L: linux-media@vger.kernel.org
Add device tree binding for the onsemi MT9M114 CMOS camera sensor. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> --- 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