Message ID | 20201019170247.92002-1-krzk@kernel.org |
---|---|
State | Superseded |
Headers | show |
Series | [v5,1/4] dt-bindings: media: imx258: add bindings for IMX258 sensor | expand |
On Tue, 20 Oct 2020 at 12:38, Sakari Ailus <sakari.ailus@linux.intel.com> wrote: > > Hi Krzysztof, > > On Mon, Oct 19, 2020 at 07:02:44PM +0200, Krzysztof Kozlowski wrote: > > Add bindings for the IMX258 camera sensor. The bindings, just like the > > driver, are quite limited, e.g. do not support regulator supplies. > > > > Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> > > Reviewed-by: Rob Herring <robh@kernel.org> > > > > --- > > > > Changes since v4: > > 1. Add clock-lanes, > > 2. Add Rob's review, > > 3. Add one more example and extend existing one, > > 4. Add common clock properties (assigned-*). > > Using the assigned-* clock properties may be workable for this driver at > the moment. But using these properties does not guarantee the external > clock frequency intended to be used on the hardware. It guarantees it. The clock frequency will be as expected (except if someone misconfigures the DTS). > Using other > frequencies *is not* expected to work. That applies to this driver as well. This is the binding which is HW description. According to HW datasheet other frequencies from described range are accepted and expected to work. > This, instead of the clock-frequency property, effectively removes the > ability to set the correct frequency from the driver, at least with current > set of the used APIs. It seems you confuse DT bindings with some specific driver implementation. Bindings do not describe the driver behavior but the HW. The ability to set the correct frequency from the driver is not removed. It was never part of the bindings and never should. It is part of the driver. > > I suppose you could add a function to set the assigned clock frequency and > keep it, just as clk_set_rate_exclusive does? > > Cc the common clock framework list + maintainers. The bindings have Rob review which is the DT maintainer. His ack/review is needed for the bindings to be accepted. What more do you need? Shall I point to submitting-bindings document? I am really tired of discussing this. You raise some concerns about driver behavior in the wrong context - in the patch for device tree bindings. You use the arguments about the driver while we talk about bindings. This is clearly not correct. I am all the time repeating myself - the bindings describe the hardware, not the driver. Best regards, Krzysztof
Hi Krzysztof, On Tue, Oct 20, 2020 at 12:54:09PM +0200, Krzysztof Kozlowski wrote: > On Tue, 20 Oct 2020 at 12:38, Sakari Ailus <sakari.ailus@linux.intel.com> wrote: > > > > Hi Krzysztof, > > > > On Mon, Oct 19, 2020 at 07:02:44PM +0200, Krzysztof Kozlowski wrote: > > > Add bindings for the IMX258 camera sensor. The bindings, just like the > > > driver, are quite limited, e.g. do not support regulator supplies. > > > > > > Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> > > > Reviewed-by: Rob Herring <robh@kernel.org> > > > > > > --- > > > > > > Changes since v4: > > > 1. Add clock-lanes, > > > 2. Add Rob's review, > > > 3. Add one more example and extend existing one, > > > 4. Add common clock properties (assigned-*). > > > > Using the assigned-* clock properties may be workable for this driver at > > the moment. But using these properties does not guarantee the external > > clock frequency intended to be used on the hardware. > > It guarantees it. The clock frequency will be as expected (except if > someone misconfigures the DTS). Is that guaranteed? I'm not saying no to the approach, but if we change how camera sensor DT bindings are defined, I'd prefer an informed decision is made on the matter. > > > Using other > > frequencies *is not* expected to work. That applies to this driver as well. > > This is the binding which is HW description. According to HW datasheet > other frequencies from described range are accepted and expected to > work. As per datasheet, yes, different external clock frequencies can be used. But the link frequency is still not independent of the external clock frequency. The properties of the sensor's PLL tree determines what can be achieved given a certain external clock frequency. So picking a wrong external clock frequency quite possibly means that none of the designated link frequencies are available, rendering the sensor inoperable. > > > This, instead of the clock-frequency property, effectively removes the > > ability to set the correct frequency from the driver, at least with current > > set of the used APIs. > > It seems you confuse DT bindings with some specific driver > implementation. Bindings do not describe the driver behavior but the > HW. The ability to set the correct frequency from the driver is not > removed. It was never part of the bindings and never should. It is > part of the driver. > > > > > I suppose you could add a function to set the assigned clock frequency and > > keep it, just as clk_set_rate_exclusive does? > > > > Cc the common clock framework list + maintainers. > > The bindings have Rob review which is the DT maintainer. His > ack/review is needed for the bindings to be accepted. What more do you > need? Shall I point to submitting-bindings document? > > I am really tired of discussing this. You raise some concerns about > driver behavior in the wrong context - in the patch for device tree > bindings. You use the arguments about the driver while we talk about > bindings. This is clearly not correct. I am all the time repeating > myself - the bindings describe the hardware, not the driver. My concerns are not related to the current driver implementation nor the driver patches in this set.
On Tue, Oct 20, 2020 at 03:00:58PM +0300, Sakari Ailus wrote: > Hi Krzysztof, > > On Tue, Oct 20, 2020 at 12:54:09PM +0200, Krzysztof Kozlowski wrote: > > On Tue, 20 Oct 2020 at 12:38, Sakari Ailus <sakari.ailus@linux.intel.com> wrote: > > > > > > Hi Krzysztof, > > > > > > On Mon, Oct 19, 2020 at 07:02:44PM +0200, Krzysztof Kozlowski wrote: > > > > Add bindings for the IMX258 camera sensor. The bindings, just like the > > > > driver, are quite limited, e.g. do not support regulator supplies. > > > > > > > > Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> > > > > Reviewed-by: Rob Herring <robh@kernel.org> > > > > > > > > --- > > > > > > > > Changes since v4: > > > > 1. Add clock-lanes, > > > > 2. Add Rob's review, > > > > 3. Add one more example and extend existing one, > > > > 4. Add common clock properties (assigned-*). > > > > > > Using the assigned-* clock properties may be workable for this driver at > > > the moment. But using these properties does not guarantee the external > > > clock frequency intended to be used on the hardware. > > > > It guarantees it. The clock frequency will be as expected (except if > > someone misconfigures the DTS). > > Is that guaranteed? > > I'm not saying no to the approach, but if we change how camera sensor DT > bindings are defined, I'd prefer an informed decision is made on the > matter. > > > > > > Using other > > > frequencies *is not* expected to work. That applies to this driver as well. > > > > This is the binding which is HW description. According to HW datasheet > > other frequencies from described range are accepted and expected to > > work. > > As per datasheet, yes, different external clock frequencies can be used. > But the link frequency is still not independent of the external clock > frequency. > > The properties of the sensor's PLL tree determines what can be achieved > given a certain external clock frequency. So picking a wrong external clock > frequency quite possibly means that none of the designated link frequencies > are available, rendering the sensor inoperable. The driver then controls the HW and knows exactly what is needed. If link frequency (which has its own DT property) requires some clock frequency, the driver will configure the clock to that value. The same going other direction. Driver has the knowledge about both its input clock and link frequency, therefore it can make the best decision. If someone configures DT or the driver to wrong frequencies (making the link frequencies not available), the solution is not to add more properties. It would be a band aid. The solution is to configure it correctly. > > > > > > This, instead of the clock-frequency property, effectively removes the > > > ability to set the correct frequency from the driver, at least with current > > > set of the used APIs. > > > > It seems you confuse DT bindings with some specific driver > > implementation. Bindings do not describe the driver behavior but the > > HW. The ability to set the correct frequency from the driver is not > > removed. It was never part of the bindings and never should. It is > > part of the driver. > > > > > > > > I suppose you could add a function to set the assigned clock frequency and > > > keep it, just as clk_set_rate_exclusive does? I did not reply to this comment, so let me know. Of course, one could add such functions. It's not a job for DT bindings, though. > > > > > > Cc the common clock framework list + maintainers. > > > > The bindings have Rob review which is the DT maintainer. His > > ack/review is needed for the bindings to be accepted. What more do you > > need? Shall I point to submitting-bindings document? > > > > I am really tired of discussing this. You raise some concerns about > > driver behavior in the wrong context - in the patch for device tree > > bindings. You use the arguments about the driver while we talk about > > bindings. This is clearly not correct. I am all the time repeating > > myself - the bindings describe the hardware, not the driver. > > My concerns are not related to the current driver implementation nor the > driver patches in this set. Yet you refer to driver related tasks (configuring provided clock) while discussing the bindings. Best regards, Krzysztof
On Tue, Oct 20, 2020 at 02:26:21PM +0200, Krzysztof Kozlowski wrote: > On Tue, Oct 20, 2020 at 03:00:58PM +0300, Sakari Ailus wrote: > > Hi Krzysztof, > > > > On Tue, Oct 20, 2020 at 12:54:09PM +0200, Krzysztof Kozlowski wrote: > > > On Tue, 20 Oct 2020 at 12:38, Sakari Ailus <sakari.ailus@linux.intel.com> wrote: > > > > > > > > Hi Krzysztof, > > > > > > > > On Mon, Oct 19, 2020 at 07:02:44PM +0200, Krzysztof Kozlowski wrote: > > > > > Add bindings for the IMX258 camera sensor. The bindings, just like the > > > > > driver, are quite limited, e.g. do not support regulator supplies. > > > > > > > > > > Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> > > > > > Reviewed-by: Rob Herring <robh@kernel.org> > > > > > > > > > > --- > > > > > > > > > > Changes since v4: > > > > > 1. Add clock-lanes, > > > > > 2. Add Rob's review, > > > > > 3. Add one more example and extend existing one, > > > > > 4. Add common clock properties (assigned-*). > > > > > > > > Using the assigned-* clock properties may be workable for this driver at > > > > the moment. But using these properties does not guarantee the external > > > > clock frequency intended to be used on the hardware. > > > > > > It guarantees it. The clock frequency will be as expected (except if > > > someone misconfigures the DTS). > > > > Is that guaranteed? > > > > I'm not saying no to the approach, but if we change how camera sensor DT > > bindings are defined, I'd prefer an informed decision is made on the > > matter. > > > > > > > > > Using other > > > > frequencies *is not* expected to work. That applies to this driver as well. > > > > > > This is the binding which is HW description. According to HW datasheet > > > other frequencies from described range are accepted and expected to > > > work. > > > > As per datasheet, yes, different external clock frequencies can be used. > > But the link frequency is still not independent of the external clock > > frequency. > > > > The properties of the sensor's PLL tree determines what can be achieved > > given a certain external clock frequency. So picking a wrong external clock > > frequency quite possibly means that none of the designated link frequencies > > are available, rendering the sensor inoperable. > > The driver then controls the HW and knows exactly what is needed. If > link frequency (which has its own DT property) requires some clock > frequency, the driver will configure the clock to that value. The same Well it doesn't if it doesn't get that information from DT. The frequency is usually a range, and looking at these bindings, it's from 6 MHz to 27 MHz. That'd be a lot of frequencies for a driver to try. > going other direction. Driver has the knowledge about both its input > clock and link frequency, therefore it can make the best decision. Again you're assuming a particular driver implementation. Typically only a few frequencies are really available on platforms, so a in practice a driver would not be able to get any requested frequency. I wouldn't start hard-coding every possible frequency to camera sensor drivers. > > > > This, instead of the clock-frequency property, effectively removes the > > > > ability to set the correct frequency from the driver, at least with current > > > > set of the used APIs. > > > > > > It seems you confuse DT bindings with some specific driver > > > implementation. Bindings do not describe the driver behavior but the > > > HW. The ability to set the correct frequency from the driver is not > > > removed. It was never part of the bindings and never should. It is > > > part of the driver. > > > > > > > > > > > I suppose you could add a function to set the assigned clock frequency and > > > > keep it, just as clk_set_rate_exclusive does? > > I did not reply to this comment, so let me know. Of course, one could > add such functions. It's not a job for DT bindings, though. I'm not suggesting to add it to DT binding patch. What I'm saying that with this approach is looks like it may well be needed. -- Regards, Sakari Ailus
On Tue, Oct 20, 2020 at 03:46:54PM +0300, Sakari Ailus wrote: > On Tue, Oct 20, 2020 at 02:26:21PM +0200, Krzysztof Kozlowski wrote: > > On Tue, Oct 20, 2020 at 03:00:58PM +0300, Sakari Ailus wrote: > > > Hi Krzysztof, > > > > > > On Tue, Oct 20, 2020 at 12:54:09PM +0200, Krzysztof Kozlowski wrote: > > > > On Tue, 20 Oct 2020 at 12:38, Sakari Ailus <sakari.ailus@linux.intel.com> wrote: > > > > > > > > > > Hi Krzysztof, > > > > > > > > > > On Mon, Oct 19, 2020 at 07:02:44PM +0200, Krzysztof Kozlowski wrote: > > > > > > Add bindings for the IMX258 camera sensor. The bindings, just like the > > > > > > driver, are quite limited, e.g. do not support regulator supplies. > > > > > > > > > > > > Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> > > > > > > Reviewed-by: Rob Herring <robh@kernel.org> > > > > > > > > > > > > --- > > > > > > > > > > > > Changes since v4: > > > > > > 1. Add clock-lanes, > > > > > > 2. Add Rob's review, > > > > > > 3. Add one more example and extend existing one, > > > > > > 4. Add common clock properties (assigned-*). > > > > > > > > > > Using the assigned-* clock properties may be workable for this driver at > > > > > the moment. But using these properties does not guarantee the external > > > > > clock frequency intended to be used on the hardware. > > > > > > > > It guarantees it. The clock frequency will be as expected (except if > > > > someone misconfigures the DTS). > > > > > > Is that guaranteed? > > > > > > I'm not saying no to the approach, but if we change how camera sensor DT > > > bindings are defined, I'd prefer an informed decision is made on the > > > matter. > > > > > > > > > > > > Using other > > > > > frequencies *is not* expected to work. That applies to this driver as well. > > > > > > > > This is the binding which is HW description. According to HW datasheet > > > > other frequencies from described range are accepted and expected to > > > > work. > > > > > > As per datasheet, yes, different external clock frequencies can be used. > > > But the link frequency is still not independent of the external clock > > > frequency. > > > > > > The properties of the sensor's PLL tree determines what can be achieved > > > given a certain external clock frequency. So picking a wrong external clock > > > frequency quite possibly means that none of the designated link frequencies > > > are available, rendering the sensor inoperable. > > > > The driver then controls the HW and knows exactly what is needed. If > > link frequency (which has its own DT property) requires some clock > > frequency, the driver will configure the clock to that value. The same > > Well it doesn't if it doesn't get that information from DT. It will get it - via clk_get_rate(). You do not need DT for this. > The frequency is usually a range, and looking at these bindings, it's from > 6 MHz to 27 MHz. That'd be a lot of frequencies for a driver to try. It does not have to try all of them. Assuming link frequency is fixed, just use any matching (or hard-coded) input clock frequency. Since the input clock frequency most likely will be set with assigned-clock-rates, there will be no job to do for the driver at all. Unless the driver wants to do something more, of course. > > > going other direction. Driver has the knowledge about both its input > > clock and link frequency, therefore it can make the best decision. > > Again you're assuming a particular driver implementation. Actually not, I am talking about bindings as far away from the driver implementation as possible. This is why some specific frequency *is not* part of the bindings. > > Typically only a few frequencies are really available on platforms, so a in > practice a driver would not be able to get any requested frequency. I > wouldn't start hard-coding every possible frequency to camera sensor > drivers If the driver cannot get requested frequency which it apparently requires, there is nothing more to do. It's broken HW implementation. The input clock must be matching requirements, regardless of what property you put in DT. You can add "clock-frequency" property, you can even add "really-i-require-clock-frequency" but if the real HW input clock does not have, it won't work. IOW, adding "clock-frequency" property does not change the reality - the board (HW) must provide given frequency so the entire system works. > > > > > > This, instead of the clock-frequency property, effectively removes the > > > > > ability to set the correct frequency from the driver, at least with current > > > > > set of the used APIs. > > > > > > > > It seems you confuse DT bindings with some specific driver > > > > implementation. Bindings do not describe the driver behavior but the > > > > HW. The ability to set the correct frequency from the driver is not > > > > removed. It was never part of the bindings and never should. It is > > > > part of the driver. > > > > > > > > > > > > > > I suppose you could add a function to set the assigned clock frequency and > > > > > keep it, just as clk_set_rate_exclusive does? > > > > I did not reply to this comment, so let me know. Of course, one could > > add such functions. It's not a job for DT bindings, though. > > I'm not suggesting to add it to DT binding patch. What I'm saying that with > this approach is looks like it may well be needed. New properties can always be added to DT. However existing properties cannot be removed. Their meaning or values cannot be changed. Best regards, Krzysztof
On Tue, Oct 20, 2020 at 02:58:52PM +0200, Krzysztof Kozlowski wrote: > On Tue, Oct 20, 2020 at 03:46:54PM +0300, Sakari Ailus wrote: > > On Tue, Oct 20, 2020 at 02:26:21PM +0200, Krzysztof Kozlowski wrote: > > > On Tue, Oct 20, 2020 at 03:00:58PM +0300, Sakari Ailus wrote: > > > > Hi Krzysztof, > > > > > > > > On Tue, Oct 20, 2020 at 12:54:09PM +0200, Krzysztof Kozlowski wrote: > > > > > On Tue, 20 Oct 2020 at 12:38, Sakari Ailus <sakari.ailus@linux.intel.com> wrote: > > > > > > > > > > > > Hi Krzysztof, > > > > > > > > > > > > On Mon, Oct 19, 2020 at 07:02:44PM +0200, Krzysztof Kozlowski wrote: > > > > > > > Add bindings for the IMX258 camera sensor. The bindings, just like the > > > > > > > driver, are quite limited, e.g. do not support regulator supplies. > > > > > > > > > > > > > > Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> > > > > > > > Reviewed-by: Rob Herring <robh@kernel.org> > > > > > > > > > > > > > > --- > > > > > > > > > > > > > > Changes since v4: > > > > > > > 1. Add clock-lanes, > > > > > > > 2. Add Rob's review, > > > > > > > 3. Add one more example and extend existing one, > > > > > > > 4. Add common clock properties (assigned-*). > > > > > > > > > > > > Using the assigned-* clock properties may be workable for this driver at > > > > > > the moment. But using these properties does not guarantee the external > > > > > > clock frequency intended to be used on the hardware. > > > > > > > > > > It guarantees it. The clock frequency will be as expected (except if > > > > > someone misconfigures the DTS). > > > > > > > > Is that guaranteed? > > > > > > > > I'm not saying no to the approach, but if we change how camera sensor DT > > > > bindings are defined, I'd prefer an informed decision is made on the > > > > matter. > > > > > > > > > > > > > > > Using other > > > > > > frequencies *is not* expected to work. That applies to this driver as well. > > > > > > > > > > This is the binding which is HW description. According to HW datasheet > > > > > other frequencies from described range are accepted and expected to > > > > > work. > > > > > > > > As per datasheet, yes, different external clock frequencies can be used. > > > > But the link frequency is still not independent of the external clock > > > > frequency. > > > > > > > > The properties of the sensor's PLL tree determines what can be achieved > > > > given a certain external clock frequency. So picking a wrong external clock > > > > frequency quite possibly means that none of the designated link frequencies > > > > are available, rendering the sensor inoperable. > > > > > > The driver then controls the HW and knows exactly what is needed. If > > > link frequency (which has its own DT property) requires some clock > > > frequency, the driver will configure the clock to that value. The same > > > > Well it doesn't if it doesn't get that information from DT. > > It will get it - via clk_get_rate(). You do not need DT for this. > > > The frequency is usually a range, and looking at these bindings, it's from > > 6 MHz to 27 MHz. That'd be a lot of frequencies for a driver to try. > > It does not have to try all of them. Assuming link frequency is fixed, > just use any matching (or hard-coded) input clock frequency. Since the > input clock frequency most likely will be set with assigned-clock-rates, > there will be no job to do for the driver at all. Unless the driver > wants to do something more, of course. > > > > > > going other direction. Driver has the knowledge about both its input > > > clock and link frequency, therefore it can make the best decision. > > > > Again you're assuming a particular driver implementation. > > Actually not, I am talking about bindings as far away from the driver > implementation as possible. This is why some specific frequency *is > not* part of the bindings. > > > > > Typically only a few frequencies are really available on platforms, so a in > > practice a driver would not be able to get any requested frequency. I > > wouldn't start hard-coding every possible frequency to camera sensor > > drivers > > If the driver cannot get requested frequency which it apparently > requires, there is nothing more to do. It's broken HW implementation. > The input clock must be matching requirements, regardless of what > property you put in DT. You can add "clock-frequency" property, you can > even add "really-i-require-clock-frequency" but if the real HW input > clock does not have, it won't work. > > IOW, adding "clock-frequency" property does not change the reality - the > board (HW) must provide given frequency so the entire system works. > > > > > > > > > This, instead of the clock-frequency property, effectively removes the > > > > > > ability to set the correct frequency from the driver, at least with current > > > > > > set of the used APIs. > > > > > > > > > > It seems you confuse DT bindings with some specific driver > > > > > implementation. Bindings do not describe the driver behavior but the > > > > > HW. The ability to set the correct frequency from the driver is not > > > > > removed. It was never part of the bindings and never should. It is > > > > > part of the driver. > > > > > > > > > > > > > > > > > I suppose you could add a function to set the assigned clock frequency and > > > > > > keep it, just as clk_set_rate_exclusive does? > > > > > > I did not reply to this comment, so let me know. Of course, one could > > > add such functions. It's not a job for DT bindings, though. > > > > I'm not suggesting to add it to DT binding patch. What I'm saying that with > > this approach is looks like it may well be needed. > > New properties can always be added to DT. However existing properties > cannot be removed. Their meaning or values cannot be changed. Any more comments on the bindings or the patchset? Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/media/i2c/imx258.yaml b/Documentation/devicetree/bindings/media/i2c/imx258.yaml new file mode 100644 index 000000000000..4a3471fb88a1 --- /dev/null +++ b/Documentation/devicetree/bindings/media/i2c/imx258.yaml @@ -0,0 +1,140 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/i2c/imx258.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Sony IMX258 13 Mpixel CMOS Digital Image Sensor + +maintainers: + - Krzysztof Kozlowski <krzk@kernel.org> + +description: |- + IMX258 is a diagonal 5.867mm (Type 1/3.06) 13 Mega-pixel CMOS active pixel + type stacked image sensor with a square pixel array of size 4208 x 3120. It + is programmable through I2C interface. Image data is sent through MIPI + CSI-2. + +properties: + compatible: + const: sony,imx258 + + assigned-clocks: true + assigned-clock-parents: true + assigned-clock-rates: true + + clocks: + description: + Clock frequency from 6 to 27 MHz. + maxItems: 1 + + reg: + maxItems: 1 + + reset-gpios: + description: |- + Reference to the GPIO connected to the XCLR pin, if any. + + vana-supply: + description: + Analog voltage (VANA) supply, 2.7 V + + vdig-supply: + description: + Digital I/O voltage (VDIG) supply, 1.2 V + + vif-supply: + description: + Interface voltage (VIF) supply, 1.8 V + + # See ../video-interfaces.txt for more details + port: + type: object + properties: + endpoint: + type: object + properties: + clock-lanes: + const: 0 + + data-lanes: + oneOf: + - items: + - const: 1 + - const: 2 + - const: 3 + - const: 4 + - items: + - const: 1 + - const: 2 + + link-frequencies: + allOf: + - $ref: /schemas/types.yaml#/definitions/uint64-array + description: + Allowed data bus frequencies. + + required: + - clock-lanes + - data-lanes + - link-frequencies + +required: + - compatible + - reg + - port + +additionalProperties: false + +examples: + - | + i2c0 { + #address-cells = <1>; + #size-cells = <0>; + + sensor@6c { + compatible = "sony,imx258"; + reg = <0x6c>; + clocks = <&imx258_clk>; + + port { + endpoint { + remote-endpoint = <&csi1_ep>; + clock-lanes = <0>; + data-lanes = <1 2 3 4>; + link-frequencies = /bits/ 64 <320000000>; + }; + }; + }; + }; + + /* Oscillator on the camera board */ + imx258_clk: clk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <19200000>; + }; + + - | + i2c0 { + #address-cells = <1>; + #size-cells = <0>; + + sensor@6c { + compatible = "sony,imx258"; + reg = <0x6c>; + clocks = <&imx258_clk>; + + assigned-clocks = <&imx258_clk>; + assigned-clock-rates = <19200000>; + + port { + endpoint { + remote-endpoint = <&csi1_ep>; + clock-lanes = <0>; + data-lanes = <1 2 3 4>; + link-frequencies = /bits/ 64 <633600000>; + }; + }; + }; + }; diff --git a/MAINTAINERS b/MAINTAINERS index 5b9621ca2b31..68f30a283a2c 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -16262,6 +16262,7 @@ M: Sakari Ailus <sakari.ailus@linux.intel.com> L: linux-media@vger.kernel.org S: Maintained T: git git://linuxtv.org/media_tree.git +F: Documentation/devicetree/bindings/media/i2c/imx258.yaml F: drivers/media/i2c/imx258.c SONY IMX274 SENSOR DRIVER