Message ID | 20181122151834.6194-1-rui.silva@linaro.org |
---|---|
Headers | show |
Series | media: staging/imx7: add i.MX7 media driver | expand |
On 11/22/2018 04:18 PM, Rui Miguel Silva wrote: > Add bindings documentation for i.MX7 media drivers. > The imx7 MIPI CSI2 and imx7 CMOS Sensor Interface. > > Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org> > Reviewed-by: Rob Herring <robh@kernel.org> > Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com> Please move this patch to the beginning of the series to avoid checkpatch warnings: WARNING: DT compatible string "fsl,imx7-csi" appears un-documented -- check ./Documentation/devicetree/bindings/ #1378: FILE: drivers/staging/media/imx/imx7-media-csi.c:1336: + { .compatible = "fsl,imx7-csi" }, Thanks! Hans > --- > .../devicetree/bindings/media/imx7-csi.txt | 45 ++++++++++ > .../bindings/media/imx7-mipi-csi2.txt | 90 +++++++++++++++++++ > 2 files changed, 135 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/imx7-csi.txt > create mode 100644 Documentation/devicetree/bindings/media/imx7-mipi-csi2.txt > > diff --git a/Documentation/devicetree/bindings/media/imx7-csi.txt b/Documentation/devicetree/bindings/media/imx7-csi.txt > new file mode 100644 > index 000000000000..3c07bc676bc3 > --- /dev/null > +++ b/Documentation/devicetree/bindings/media/imx7-csi.txt > @@ -0,0 +1,45 @@ > +Freescale i.MX7 CMOS Sensor Interface > +===================================== > + > +csi node > +-------- > + > +This is device node for the CMOS Sensor Interface (CSI) which enables the chip > +to connect directly to external CMOS image sensors. > + > +Required properties: > + > +- compatible : "fsl,imx7-csi"; > +- reg : base address and length of the register set for the device; > +- interrupts : should contain CSI interrupt; > +- clocks : list of clock specifiers, see > + Documentation/devicetree/bindings/clock/clock-bindings.txt for details; > +- clock-names : must contain "axi", "mclk" and "dcic" entries, matching > + entries in the clock property; > + > +The device node shall contain one 'port' child node with one child 'endpoint' > +node, according to the bindings defined in: > +Documentation/devicetree/bindings/media/video-interfaces.txt. > + > +In the following example a remote endpoint is a video multiplexer. > + > +example: > + > + csi: csi@30710000 { > + #address-cells = <1>; > + #size-cells = <0>; > + > + compatible = "fsl,imx7-csi"; > + reg = <0x30710000 0x10000>; > + interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&clks IMX7D_CLK_DUMMY>, > + <&clks IMX7D_CSI_MCLK_ROOT_CLK>, > + <&clks IMX7D_CLK_DUMMY>; > + clock-names = "axi", "mclk", "dcic"; > + > + port { > + csi_from_csi_mux: endpoint { > + remote-endpoint = <&csi_mux_to_csi>; > + }; > + }; > + }; > diff --git a/Documentation/devicetree/bindings/media/imx7-mipi-csi2.txt b/Documentation/devicetree/bindings/media/imx7-mipi-csi2.txt > new file mode 100644 > index 000000000000..71fd74ed3ec8 > --- /dev/null > +++ b/Documentation/devicetree/bindings/media/imx7-mipi-csi2.txt > @@ -0,0 +1,90 @@ > +Freescale i.MX7 Mipi CSI2 > +========================= > + > +mipi_csi2 node > +-------------- > + > +This is the device node for the MIPI CSI-2 receiver core in i.MX7 SoC. It is > +compatible with previous version of Samsung D-phy. > + > +Required properties: > + > +- compatible : "fsl,imx7-mipi-csi2"; > +- reg : base address and length of the register set for the device; > +- interrupts : should contain MIPI CSIS interrupt; > +- clocks : list of clock specifiers, see > + Documentation/devicetree/bindings/clock/clock-bindings.txt for details; > +- clock-names : must contain "pclk", "wrap" and "phy" entries, matching > + entries in the clock property; > +- power-domains : a phandle to the power domain, see > + Documentation/devicetree/bindings/power/power_domain.txt for details. > +- reset-names : should include following entry "mrst"; > +- resets : a list of phandle, should contain reset entry of > + reset-names; > +- phy-supply : from the generic phy bindings, a phandle to a regulator that > + provides power to MIPI CSIS core; > + > +Optional properties: > + > +- clock-frequency : The IP's main (system bus) clock frequency in Hz, default > + value when this property is not specified is 166 MHz; > +- fsl,csis-hs-settle : differential receiver (HS-RX) settle time; > + > +The device node should contain two 'port' child nodes with one child 'endpoint' > +node, according to the bindings defined in: > + Documentation/devicetree/bindings/ media/video-interfaces.txt. > + The following are properties specific to those nodes. > + > +port node > +--------- > + > +- reg : (required) can take the values 0 or 1, where 0 shall be > + related to the sink port and port 1 shall be the source > + one; > + > +endpoint node > +------------- > + > +- data-lanes : (required) an array specifying active physical MIPI-CSI2 > + data input lanes and their mapping to logical lanes; this > + shall only be applied to port 0 (sink port), the array's > + content is unused only its length is meaningful, > + in this case the maximum length supported is 2; > + > +example: > + > + mipi_csi: mipi-csi@30750000 { > + #address-cells = <1>; > + #size-cells = <0>; > + > + compatible = "fsl,imx7-mipi-csi2"; > + reg = <0x30750000 0x10000>; > + interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&clks IMX7D_IPG_ROOT_CLK>, > + <&clks IMX7D_MIPI_CSI_ROOT_CLK>, > + <&clks IMX7D_MIPI_DPHY_ROOT_CLK>; > + clock-names = "pclk", "wrap", "phy"; > + clock-frequency = <166000000>; > + power-domains = <&pgc_mipi_phy>; > + phy-supply = <®_1p0d>; > + resets = <&src IMX7_RESET_MIPI_PHY_MRST>; > + reset-names = "mrst"; > + fsl,csis-hs-settle = <3>; > + > + port@0 { > + reg = <0>; > + > + mipi_from_sensor: endpoint { > + remote-endpoint = <&ov2680_to_mipi>; > + data-lanes = <1>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + > + mipi_vc0_to_csi_mux: endpoint { > + remote-endpoint = <&csi_mux_from_mipi_vc0>; > + }; > + }; > + }; >
Hi Hans, Thanks for the review. On Fri 07 Dec 2018 at 12:38, Hans Verkuil wrote: > On 11/22/2018 04:18 PM, Rui Miguel Silva wrote: >> Refactor and move media device initialization code to a new >> common >> module, so it can be used by other devices, this will allow for >> example >> a near to introduce imx7 CSI driver, to use this media device. >> >> Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org> >> --- >> drivers/staging/media/imx/Makefile | 1 + >> .../staging/media/imx/imx-media-dev-common.c | 102 >> ++++++++++++++++++ >> drivers/staging/media/imx/imx-media-dev.c | 88 >> ++++----------- >> drivers/staging/media/imx/imx-media-of.c | 6 +- >> drivers/staging/media/imx/imx-media.h | 15 +++ >> 5 files changed, 141 insertions(+), 71 deletions(-) >> create mode 100644 >> drivers/staging/media/imx/imx-media-dev-common.c >> >> diff --git a/drivers/staging/media/imx/Makefile >> b/drivers/staging/media/imx/Makefile >> index 698a4210316e..a30b3033f9a3 100644 >> --- a/drivers/staging/media/imx/Makefile >> +++ b/drivers/staging/media/imx/Makefile >> @@ -1,5 +1,6 @@ >> # SPDX-License-Identifier: GPL-2.0 >> imx-media-objs := imx-media-dev.o imx-media-internal-sd.o >> imx-media-of.o >> +imx-media-objs += imx-media-dev-common.o >> imx-media-common-objs := imx-media-utils.o imx-media-fim.o >> imx-media-ic-objs := imx-ic-common.o imx-ic-prp.o >> imx-ic-prpencvf.o >> >> diff --git a/drivers/staging/media/imx/imx-media-dev-common.c >> b/drivers/staging/media/imx/imx-media-dev-common.c >> new file mode 100644 >> index 000000000000..55fe94fb72f2 >> --- /dev/null >> +++ b/drivers/staging/media/imx/imx-media-dev-common.c >> @@ -0,0 +1,102 @@ >> +// SPDX-License-Identifier: GPL > > This is an invalid SPDX license identifier. You probably want to > use GPL-2.0. hrr... you are right, I will update it here and others. --- Cheers, Rui
Hi Hans and Dan, On Fri 07 Dec 2018 at 13:38, Dan Carpenter wrote: > On Fri, Dec 07, 2018 at 01:44:00PM +0100, Hans Verkuil wrote: >> CHECK: Alignment should match open parenthesis >> #936: FILE: drivers/staging/media/imx/imx7-mipi-csis.c:921: >> + ret = v4l2_async_register_fwnode_subdev(mipi_sd, >> + sizeof(struct >> v4l2_async_subdev), &sink_port, 1, >> >> Apparently the latest coding style is that alignment is more >> important than >> line length, although I personally do not agree. But since you >> need to >> respin in any case due to the wrong SPDX identifier you used >> you might as >> well take this into account. I added this in the cover letter: - some alignment parenthesis that were left as they are, to be more readable this ones were left as they are as they seem impossible to fit all rules. I hope you really do not mind about this checks. if you have a strong opinion about this let me know, otherwise I will leave this as it is. > > I'm pretty sure it complains about both equally. If you make > fix one > warning it will complain about the other. So you just have to > pick > which warning to not care about. Yeah, I agree with you, I normally like to avoid at all cost the line length issue. --- Cheers, Rui > > regards, > dan carpenter