Message ID | 20210915120240.21572-11-p.yadav@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | CSI2RX support on J721E | expand |
On Wed, 15 Sep 2021 17:32:39 +0530, Pratyush Yadav wrote: > TI's J721E uses the Cadence CSI2RX and DPHY peripherals to facilitate > capture over a CSI-2 bus. The TI CSI2RX platform driver glues all the > parts together. > > Signed-off-by: Pratyush Yadav <p.yadav@ti.com> > > --- > > (no changes since v2) > > Changes in v2: > - Rename to ti,j721e-csi2rx.yaml > - Add an entry in MAINTAINERS. > - Add a description for the binding. > - Change compatible to ti,j721e-csi2rx to make it SoC specific. > - Remove description from dmas, reg, power-domains. > - Remove a limit of 2 from #address-cells and #size-cells. > - Fix add ^ to csi-bridge subnode regex. > - Make ranges mandatory. > - Add unit address in example. > - Add a reference to cdns,csi2rx in csi-bridge subnode. > - Expand the example to include the csi-bridge subnode as well. > - Re-order subject prefixes. > > .../bindings/media/ti,j721e-csi2rx.yaml | 101 ++++++++++++++++++ > MAINTAINERS | 1 + > 2 files changed, 102 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/ti,j721e-csi2rx.yaml > Reviewed-by: Rob Herring <robh@kernel.org>
Hi Pratyush, Thank you for the patch. On Wed, Sep 15, 2021 at 05:32:39PM +0530, Pratyush Yadav wrote: > TI's J721E uses the Cadence CSI2RX and DPHY peripherals to facilitate > capture over a CSI-2 bus. The TI CSI2RX platform driver glues all the > parts together. > > Signed-off-by: Pratyush Yadav <p.yadav@ti.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > > (no changes since v2) > > Changes in v2: > - Rename to ti,j721e-csi2rx.yaml > - Add an entry in MAINTAINERS. > - Add a description for the binding. > - Change compatible to ti,j721e-csi2rx to make it SoC specific. > - Remove description from dmas, reg, power-domains. > - Remove a limit of 2 from #address-cells and #size-cells. > - Fix add ^ to csi-bridge subnode regex. > - Make ranges mandatory. > - Add unit address in example. > - Add a reference to cdns,csi2rx in csi-bridge subnode. > - Expand the example to include the csi-bridge subnode as well. > - Re-order subject prefixes. > > .../bindings/media/ti,j721e-csi2rx.yaml | 101 ++++++++++++++++++ > MAINTAINERS | 1 + > 2 files changed, 102 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/ti,j721e-csi2rx.yaml > > diff --git a/Documentation/devicetree/bindings/media/ti,j721e-csi2rx.yaml b/Documentation/devicetree/bindings/media/ti,j721e-csi2rx.yaml > new file mode 100644 > index 000000000000..db87cfd65bed > --- /dev/null > +++ b/Documentation/devicetree/bindings/media/ti,j721e-csi2rx.yaml > @@ -0,0 +1,101 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/media/ti,j721e-csi2rx.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: TI J721E CSI2RX Wrapper Device Tree Bindings > + > +description: | > + The TI J721E CSI2RX Wrapper is a wrapper around Cadence CSI2RX bridge that > + enables sending captured frames to memory over PSI-L DMA. In the J721E > + Technical Reference Manual (SPRUIL1B) it is referred to as "SHIM" under the > + CSI_RX_IF section. > + > +maintainers: > + - Pratyush Yadav <p.yadav@ti.com> > + > +properties: > + compatible: > + items: > + - const: ti,j721e-csi2rx > + > + dmas: > + maxItems: 1 > + > + dma-names: > + items: > + - const: rx0 > + > + reg: > + maxItems: 1 > + > + power-domains: > + maxItems: 1 > + > + ranges: true > + > + "#address-cells": true > + > + "#size-cells": true > + > +patternProperties: > + "^csi-bridge@": > + type: object > + description: CSI2 bridge node. > + $ref: cdns,csi2rx.yaml# > + > +required: > + - compatible > + - reg > + - dmas > + - dma-names > + - power-domains > + - ranges > + - "#address-cells" > + - "#size-cells" > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/soc/ti,sci_pm_domain.h> > + > + ti_csi2rx0: ticsi2rx@4500000 { > + compatible = "ti,j721e-csi2rx"; > + dmas = <&main_udmap 0x4940>; > + dma-names = "rx0"; > + reg = <0x4500000 0x1000>; > + power-domains = <&k3_pds 26 TI_SCI_PD_EXCLUSIVE>; > + #address-cells = <1>; > + #size-cells = <1>; > + ranges; > + > + cdns_csi2rx: csi-bridge@4504000 { > + compatible = "cdns,csi2rx"; > + reg = <0x4504000 0x1000>; > + clocks = <&k3_clks 26 2>, <&k3_clks 26 0>, <&k3_clks 26 2>, > + <&k3_clks 26 2>, <&k3_clks 26 3>, <&k3_clks 26 3>; > + clock-names = "sys_clk", "p_clk", "pixel_if0_clk", > + "pixel_if1_clk", "pixel_if2_clk", "pixel_if3_clk"; > + phys = <&dphy0>; > + phy-names = "dphy"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + csi2_0: port@0 { > + > + reg = <0>; > + > + csi2rx0_in_sensor: endpoint { > + remote-endpoint = <&csi2_cam0>; > + bus-type = <4>; /* CSI2 DPHY. */ > + clock-lanes = <0>; > + data-lanes = <1 2>; > + }; > + }; > + }; > + }; > + }; > diff --git a/MAINTAINERS b/MAINTAINERS > index 7ee236cbd016..7b3e557c9d3b 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -18716,6 +18716,7 @@ TI J721E CSI2RX DRIVER > M: Pratyush Yadav <p.yadav@ti.com> > L: linux-media@vger.kernel.org > S: Supported > +F: Documentation/devicetree/bindings/media/ti,j721e-csi2rx.yaml > F: drivers/media/platform/ti/j721e-csi2rx/ > > TI DAVINCI MACHINE SUPPORT
diff --git a/Documentation/devicetree/bindings/media/ti,j721e-csi2rx.yaml b/Documentation/devicetree/bindings/media/ti,j721e-csi2rx.yaml new file mode 100644 index 000000000000..db87cfd65bed --- /dev/null +++ b/Documentation/devicetree/bindings/media/ti,j721e-csi2rx.yaml @@ -0,0 +1,101 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/ti,j721e-csi2rx.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: TI J721E CSI2RX Wrapper Device Tree Bindings + +description: | + The TI J721E CSI2RX Wrapper is a wrapper around Cadence CSI2RX bridge that + enables sending captured frames to memory over PSI-L DMA. In the J721E + Technical Reference Manual (SPRUIL1B) it is referred to as "SHIM" under the + CSI_RX_IF section. + +maintainers: + - Pratyush Yadav <p.yadav@ti.com> + +properties: + compatible: + items: + - const: ti,j721e-csi2rx + + dmas: + maxItems: 1 + + dma-names: + items: + - const: rx0 + + reg: + maxItems: 1 + + power-domains: + maxItems: 1 + + ranges: true + + "#address-cells": true + + "#size-cells": true + +patternProperties: + "^csi-bridge@": + type: object + description: CSI2 bridge node. + $ref: cdns,csi2rx.yaml# + +required: + - compatible + - reg + - dmas + - dma-names + - power-domains + - ranges + - "#address-cells" + - "#size-cells" + +additionalProperties: false + +examples: + - | + #include <dt-bindings/soc/ti,sci_pm_domain.h> + + ti_csi2rx0: ticsi2rx@4500000 { + compatible = "ti,j721e-csi2rx"; + dmas = <&main_udmap 0x4940>; + dma-names = "rx0"; + reg = <0x4500000 0x1000>; + power-domains = <&k3_pds 26 TI_SCI_PD_EXCLUSIVE>; + #address-cells = <1>; + #size-cells = <1>; + ranges; + + cdns_csi2rx: csi-bridge@4504000 { + compatible = "cdns,csi2rx"; + reg = <0x4504000 0x1000>; + clocks = <&k3_clks 26 2>, <&k3_clks 26 0>, <&k3_clks 26 2>, + <&k3_clks 26 2>, <&k3_clks 26 3>, <&k3_clks 26 3>; + clock-names = "sys_clk", "p_clk", "pixel_if0_clk", + "pixel_if1_clk", "pixel_if2_clk", "pixel_if3_clk"; + phys = <&dphy0>; + phy-names = "dphy"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + csi2_0: port@0 { + + reg = <0>; + + csi2rx0_in_sensor: endpoint { + remote-endpoint = <&csi2_cam0>; + bus-type = <4>; /* CSI2 DPHY. */ + clock-lanes = <0>; + data-lanes = <1 2>; + }; + }; + }; + }; + }; diff --git a/MAINTAINERS b/MAINTAINERS index 7ee236cbd016..7b3e557c9d3b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -18716,6 +18716,7 @@ TI J721E CSI2RX DRIVER M: Pratyush Yadav <p.yadav@ti.com> L: linux-media@vger.kernel.org S: Supported +F: Documentation/devicetree/bindings/media/ti,j721e-csi2rx.yaml F: drivers/media/platform/ti/j721e-csi2rx/ TI DAVINCI MACHINE SUPPORT
TI's J721E uses the Cadence CSI2RX and DPHY peripherals to facilitate capture over a CSI-2 bus. The TI CSI2RX platform driver glues all the parts together. Signed-off-by: Pratyush Yadav <p.yadav@ti.com> --- (no changes since v2) Changes in v2: - Rename to ti,j721e-csi2rx.yaml - Add an entry in MAINTAINERS. - Add a description for the binding. - Change compatible to ti,j721e-csi2rx to make it SoC specific. - Remove description from dmas, reg, power-domains. - Remove a limit of 2 from #address-cells and #size-cells. - Fix add ^ to csi-bridge subnode regex. - Make ranges mandatory. - Add unit address in example. - Add a reference to cdns,csi2rx in csi-bridge subnode. - Expand the example to include the csi-bridge subnode as well. - Re-order subject prefixes. .../bindings/media/ti,j721e-csi2rx.yaml | 101 ++++++++++++++++++ MAINTAINERS | 1 + 2 files changed, 102 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/ti,j721e-csi2rx.yaml