diff mbox series

[v4,10/11] media: dt-bindings: Add DT bindings for TI J721E CSI2RX driver

Message ID 20210915120240.21572-11-p.yadav@ti.com
State Superseded
Headers show
Series CSI2RX support on J721E | expand

Commit Message

Pratyush Yadav Sept. 15, 2021, 12:02 p.m. UTC
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

Comments

Rob Herring (Arm) Sept. 21, 2021, 9:32 p.m. UTC | #1
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>
Laurent Pinchart Oct. 6, 2021, 11:49 p.m. UTC | #2
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


-- 
Regards,

Laurent Pinchart
diff mbox series

Patch

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