Message ID | 20201018123106.14917-3-kholk11@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add support for the Sony Exmor-RS IMX300 camera sensor | expand |
On Sun, 18 Oct 2020 at 14:36, <kholk11@gmail.com> wrote: > > From: AngeloGioacchino Del Regno <kholk11@gmail.com> > > Add YAML device tree binding for IMX300 CMOS image sensor, and > the relevant MAINTAINERS entries. > > Signed-off-by: AngeloGioacchino Del Regno <kholk11@gmail.com> > --- > .../devicetree/bindings/media/i2c/imx300.yaml | 115 ++++++++++++++++++ > MAINTAINERS | 8 ++ > 2 files changed, 123 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/i2c/imx300.yaml > > diff --git a/Documentation/devicetree/bindings/media/i2c/imx300.yaml b/Documentation/devicetree/bindings/media/i2c/imx300.yaml > new file mode 100644 > index 000000000000..82fb19c5018c > --- /dev/null > +++ b/Documentation/devicetree/bindings/media/i2c/imx300.yaml > @@ -0,0 +1,115 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/media/i2c/imx300.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Sony 1/2.3-Inch 8Mpixel Stacked CMOS Digital Image Sensor > + > +maintainers: > + - AngeloGioacchino Del Regno <kholk11@gmail.com> > + > +description: |- > + The Sony IMX300 is a 1/2.3-inch Stacked CMOS (Exmor-RS) digital image > + sensor with a pixel size of 1.08um and an active array size of > + 5948H x 4140V. It is programmable through I2C interface at address 0x10. > + Image data is sent through MIPI CSI-2, which is configured as either 2 or > + 4 data lanes. > + > +properties: > + compatible: > + const: sony,imx300 > + > + reg: > + description: I2C device address Skip the description, it is obvious. > + maxItems: 1 > + > + clocks: > + maxItems: 1 > + > + VDIG-supply: > + description: > + Digital I/O voltage supply, 1.15-1.20 volts > + > + VANA-supply: > + description: > + Analog voltage supply, 2.2 volts > + > + VDDL-supply: Lower-case for all three supplies. > + description: > + Digital core voltage supply, 1.8 volts > + > + reset-gpios: > + description: |- > + Reference to the GPIO connected to the xclr pin, if any. > + Must be released (set high) after all supplies are applied. > + > + # See ../video-interfaces.txt for more details > + port: > + type: object > + properties: > + endpoint: > + type: object > + properties: > + data-lanes: > + description: |- > + The sensor supports either two-lane, or four-lane operation. > + If this property is omitted four-lane operation is assumed. > + For four-lane operation the property must be set to <0 1 2 3>. > + items: > + - const: 0 > + - const: 1 > + - const: 2 > + - const: 3 You miss here two-lane option (oneOf). Seems there is a default, so you could add here "default: <0 1 2 3> > + > + clock-noncontinuous: > + type: boolean > + description: |- > + MIPI CSI-2 clock is non-continuous if this property is present, > + otherwise it's continuous. > + > + link-frequencies: > + $ref: /schemas/types.yaml#/definitions/uint64-array > + description: > + Allowed data bus frequencies. > + > + required: > + - link-frequencies > + > +required: > + - compatible > + - reg > + - clocks > + - VANA-supply > + - VDIG-supply > + - VDDL-supply > + - port > + > +additionalProperties: false > + > +examples: > + - | > + i2c0 { > + #address-cells = <1>; > + #size-cells = <0>; > + > + imx300: sensor@10 { > + compatible = "sony,imx300"; > + reg = <0x10>; > + clocks = <&imx300_xclk>; > + VANA-supply = <&imx300_vana>; /* 2.2v */ > + VDIG-supply = <&imx300_vdig>; /* 1.2v */ > + VDDL-supply = <&imx300_vddl>; /* 1.8v */ > + > + port { > + imx300_0: endpoint { > + remote-endpoint = <&csi1_ep>; > + data-lanes = <0 1 2 3>; > + clock-noncontinuous; > + link-frequencies = /bits/ 64 <780000000 480000000>; > + }; > + }; > + }; > + }; > + > +... > diff --git a/MAINTAINERS b/MAINTAINERS > index c66710dd7e0a..231937d9d16a 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -16279,6 +16279,14 @@ T: git git://linuxtv.org/media_tree.git > F: Documentation/devicetree/bindings/media/i2c/imx290.txt > F: drivers/media/i2c/imx290.c > > +SONY IMX300 SENSOR DRIVER > +M: AngeloGioacchino Del Regno <kholk11@gmail.com> > +L: linux-media@vger.kernel.org > +S: Maintained > +T: git git://linuxtv.org/media_tree.git Skip the Git tree, unless you manage it. Best regards, Krzysztof
On Sun, Oct 18, 2020 at 02:31:06PM +0200, kholk11@gmail.com wrote: > From: AngeloGioacchino Del Regno <kholk11@gmail.com> > > Add YAML device tree binding for IMX300 CMOS image sensor, and > the relevant MAINTAINERS entries. > > Signed-off-by: AngeloGioacchino Del Regno <kholk11@gmail.com> > --- > .../devicetree/bindings/media/i2c/imx300.yaml | 115 ++++++++++++++++++ sony,imx300.yaml > MAINTAINERS | 8 ++ > 2 files changed, 123 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/i2c/imx300.yaml > > diff --git a/Documentation/devicetree/bindings/media/i2c/imx300.yaml b/Documentation/devicetree/bindings/media/i2c/imx300.yaml > new file mode 100644 > index 000000000000..82fb19c5018c > --- /dev/null > +++ b/Documentation/devicetree/bindings/media/i2c/imx300.yaml > @@ -0,0 +1,115 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/media/i2c/imx300.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Sony 1/2.3-Inch 8Mpixel Stacked CMOS Digital Image Sensor > + > +maintainers: > + - AngeloGioacchino Del Regno <kholk11@gmail.com> > + > +description: |- > + The Sony IMX300 is a 1/2.3-inch Stacked CMOS (Exmor-RS) digital image > + sensor with a pixel size of 1.08um and an active array size of > + 5948H x 4140V. It is programmable through I2C interface at address 0x10. > + Image data is sent through MIPI CSI-2, which is configured as either 2 or > + 4 data lanes. > + > +properties: > + compatible: > + const: sony,imx300 > + > + reg: > + description: I2C device address > + maxItems: 1 > + > + clocks: > + maxItems: 1 > + > + VDIG-supply: > + description: > + Digital I/O voltage supply, 1.15-1.20 volts > + > + VANA-supply: > + description: > + Analog voltage supply, 2.2 volts > + > + VDDL-supply: > + description: > + Digital core voltage supply, 1.8 volts > + > + reset-gpios: > + description: |- > + Reference to the GPIO connected to the xclr pin, if any. > + Must be released (set high) after all supplies are applied. > + > + # See ../video-interfaces.txt for more details > + port: > + type: object > + properties: > + endpoint: > + type: object > + properties: > + data-lanes: > + description: |- > + The sensor supports either two-lane, or four-lane operation. > + If this property is omitted four-lane operation is assumed. > + For four-lane operation the property must be set to <0 1 2 3>. > + items: > + - const: 0 > + - const: 1 > + - const: 2 > + - const: 3 > + > + clock-noncontinuous: > + type: boolean > + description: |- > + MIPI CSI-2 clock is non-continuous if this property is present, > + otherwise it's continuous. No need to redefine a common property. Just 'clock-noncontinuous: true' to indicate using it. > + > + link-frequencies: > + $ref: /schemas/types.yaml#/definitions/uint64-array > + description: > + Allowed data bus frequencies. Any constraints on frequencies? > + > + required: > + - link-frequencies > + > +required: > + - compatible > + - reg > + - clocks > + - VANA-supply > + - VDIG-supply > + - VDDL-supply > + - port > + > +additionalProperties: false > + > +examples: > + - | > + i2c0 { > + #address-cells = <1>; > + #size-cells = <0>; > + > + imx300: sensor@10 { > + compatible = "sony,imx300"; > + reg = <0x10>; > + clocks = <&imx300_xclk>; > + VANA-supply = <&imx300_vana>; /* 2.2v */ > + VDIG-supply = <&imx300_vdig>; /* 1.2v */ > + VDDL-supply = <&imx300_vddl>; /* 1.8v */ > + > + port { > + imx300_0: endpoint { > + remote-endpoint = <&csi1_ep>; > + data-lanes = <0 1 2 3>; > + clock-noncontinuous; > + link-frequencies = /bits/ 64 <780000000 480000000>; > + }; > + }; > + }; > + }; > + > +... > diff --git a/MAINTAINERS b/MAINTAINERS > index c66710dd7e0a..231937d9d16a 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -16279,6 +16279,14 @@ T: git git://linuxtv.org/media_tree.git > F: Documentation/devicetree/bindings/media/i2c/imx290.txt > F: drivers/media/i2c/imx290.c > > +SONY IMX300 SENSOR DRIVER > +M: AngeloGioacchino Del Regno <kholk11@gmail.com> > +L: linux-media@vger.kernel.org > +S: Maintained > +T: git git://linuxtv.org/media_tree.git > +F: Documentation/devicetree/bindings/media/i2c/imx300.yaml > +F: drivers/media/i2c/imx300.c > + > SONY IMX319 SENSOR DRIVER > M: Bingbu Cao <bingbu.cao@intel.com> > L: linux-media@vger.kernel.org > -- > 2.28.0 >
diff --git a/Documentation/devicetree/bindings/media/i2c/imx300.yaml b/Documentation/devicetree/bindings/media/i2c/imx300.yaml new file mode 100644 index 000000000000..82fb19c5018c --- /dev/null +++ b/Documentation/devicetree/bindings/media/i2c/imx300.yaml @@ -0,0 +1,115 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/i2c/imx300.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Sony 1/2.3-Inch 8Mpixel Stacked CMOS Digital Image Sensor + +maintainers: + - AngeloGioacchino Del Regno <kholk11@gmail.com> + +description: |- + The Sony IMX300 is a 1/2.3-inch Stacked CMOS (Exmor-RS) digital image + sensor with a pixel size of 1.08um and an active array size of + 5948H x 4140V. It is programmable through I2C interface at address 0x10. + Image data is sent through MIPI CSI-2, which is configured as either 2 or + 4 data lanes. + +properties: + compatible: + const: sony,imx300 + + reg: + description: I2C device address + maxItems: 1 + + clocks: + maxItems: 1 + + VDIG-supply: + description: + Digital I/O voltage supply, 1.15-1.20 volts + + VANA-supply: + description: + Analog voltage supply, 2.2 volts + + VDDL-supply: + description: + Digital core voltage supply, 1.8 volts + + reset-gpios: + description: |- + Reference to the GPIO connected to the xclr pin, if any. + Must be released (set high) after all supplies are applied. + + # See ../video-interfaces.txt for more details + port: + type: object + properties: + endpoint: + type: object + properties: + data-lanes: + description: |- + The sensor supports either two-lane, or four-lane operation. + If this property is omitted four-lane operation is assumed. + For four-lane operation the property must be set to <0 1 2 3>. + items: + - const: 0 + - const: 1 + - const: 2 + - const: 3 + + clock-noncontinuous: + type: boolean + description: |- + MIPI CSI-2 clock is non-continuous if this property is present, + otherwise it's continuous. + + link-frequencies: + $ref: /schemas/types.yaml#/definitions/uint64-array + description: + Allowed data bus frequencies. + + required: + - link-frequencies + +required: + - compatible + - reg + - clocks + - VANA-supply + - VDIG-supply + - VDDL-supply + - port + +additionalProperties: false + +examples: + - | + i2c0 { + #address-cells = <1>; + #size-cells = <0>; + + imx300: sensor@10 { + compatible = "sony,imx300"; + reg = <0x10>; + clocks = <&imx300_xclk>; + VANA-supply = <&imx300_vana>; /* 2.2v */ + VDIG-supply = <&imx300_vdig>; /* 1.2v */ + VDDL-supply = <&imx300_vddl>; /* 1.8v */ + + port { + imx300_0: endpoint { + remote-endpoint = <&csi1_ep>; + data-lanes = <0 1 2 3>; + clock-noncontinuous; + link-frequencies = /bits/ 64 <780000000 480000000>; + }; + }; + }; + }; + +... diff --git a/MAINTAINERS b/MAINTAINERS index c66710dd7e0a..231937d9d16a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -16279,6 +16279,14 @@ T: git git://linuxtv.org/media_tree.git F: Documentation/devicetree/bindings/media/i2c/imx290.txt F: drivers/media/i2c/imx290.c +SONY IMX300 SENSOR DRIVER +M: AngeloGioacchino Del Regno <kholk11@gmail.com> +L: linux-media@vger.kernel.org +S: Maintained +T: git git://linuxtv.org/media_tree.git +F: Documentation/devicetree/bindings/media/i2c/imx300.yaml +F: drivers/media/i2c/imx300.c + SONY IMX319 SENSOR DRIVER M: Bingbu Cao <bingbu.cao@intel.com> L: linux-media@vger.kernel.org