xref: /freebsd/sys/contrib/device-tree/Bindings/media/ti,j721e-csi2rx-shim.yaml (revision 5f62a964e9f8abc6a05d8338273fadd154f0a206)
184943d6fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
284943d6fSEmmanuel Vadot%YAML 1.2
384943d6fSEmmanuel Vadot---
484943d6fSEmmanuel Vadot$id: http://devicetree.org/schemas/media/ti,j721e-csi2rx-shim.yaml#
584943d6fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
684943d6fSEmmanuel Vadot
784943d6fSEmmanuel Vadottitle: TI J721E CSI2RX Shim
884943d6fSEmmanuel Vadot
984943d6fSEmmanuel Vadotdescription: |
1084943d6fSEmmanuel Vadot  The TI J721E CSI2RX Shim is a wrapper around Cadence CSI2RX bridge that
1184943d6fSEmmanuel Vadot  enables sending captured frames to memory over PSI-L DMA. In the J721E
1284943d6fSEmmanuel Vadot  Technical Reference Manual (SPRUIL1B) it is referred to as "SHIM" under the
1384943d6fSEmmanuel Vadot  CSI_RX_IF section.
1484943d6fSEmmanuel Vadot
1584943d6fSEmmanuel Vadotmaintainers:
16*5f62a964SEmmanuel Vadot  - Jai Luthra <jai.luthra@linux.dev>
1784943d6fSEmmanuel Vadot
1884943d6fSEmmanuel Vadotproperties:
1984943d6fSEmmanuel Vadot  compatible:
2084943d6fSEmmanuel Vadot    const: ti,j721e-csi2rx-shim
2184943d6fSEmmanuel Vadot
2284943d6fSEmmanuel Vadot  dmas:
2384943d6fSEmmanuel Vadot    maxItems: 1
2484943d6fSEmmanuel Vadot
2584943d6fSEmmanuel Vadot  dma-names:
2684943d6fSEmmanuel Vadot    items:
2784943d6fSEmmanuel Vadot      - const: rx0
2884943d6fSEmmanuel Vadot
2984943d6fSEmmanuel Vadot  reg:
3084943d6fSEmmanuel Vadot    maxItems: 1
3184943d6fSEmmanuel Vadot
3284943d6fSEmmanuel Vadot  power-domains:
3384943d6fSEmmanuel Vadot    maxItems: 1
3484943d6fSEmmanuel Vadot
3584943d6fSEmmanuel Vadot  ranges: true
3684943d6fSEmmanuel Vadot
3784943d6fSEmmanuel Vadot  "#address-cells": true
3884943d6fSEmmanuel Vadot
3984943d6fSEmmanuel Vadot  "#size-cells": true
4084943d6fSEmmanuel Vadot
4184943d6fSEmmanuel VadotpatternProperties:
4284943d6fSEmmanuel Vadot  "^csi-bridge@":
4384943d6fSEmmanuel Vadot    type: object
4484943d6fSEmmanuel Vadot    description: CSI2 bridge node.
4584943d6fSEmmanuel Vadot    $ref: cdns,csi2rx.yaml#
4684943d6fSEmmanuel Vadot
4784943d6fSEmmanuel Vadotrequired:
4884943d6fSEmmanuel Vadot  - compatible
4984943d6fSEmmanuel Vadot  - reg
5084943d6fSEmmanuel Vadot  - dmas
5184943d6fSEmmanuel Vadot  - dma-names
5284943d6fSEmmanuel Vadot  - power-domains
5384943d6fSEmmanuel Vadot  - ranges
5484943d6fSEmmanuel Vadot  - "#address-cells"
5584943d6fSEmmanuel Vadot  - "#size-cells"
5684943d6fSEmmanuel Vadot
5784943d6fSEmmanuel VadotadditionalProperties: false
5884943d6fSEmmanuel Vadot
5984943d6fSEmmanuel Vadotexamples:
6084943d6fSEmmanuel Vadot  - |
6184943d6fSEmmanuel Vadot    #include <dt-bindings/soc/ti,sci_pm_domain.h>
6284943d6fSEmmanuel Vadot
6384943d6fSEmmanuel Vadot    ti_csi2rx0: ticsi2rx@4500000 {
6484943d6fSEmmanuel Vadot        compatible = "ti,j721e-csi2rx-shim";
6584943d6fSEmmanuel Vadot        dmas = <&main_udmap 0x4940>;
6684943d6fSEmmanuel Vadot        dma-names = "rx0";
6784943d6fSEmmanuel Vadot        reg = <0x4500000 0x1000>;
6884943d6fSEmmanuel Vadot        power-domains = <&k3_pds 26 TI_SCI_PD_EXCLUSIVE>;
6984943d6fSEmmanuel Vadot        #address-cells = <1>;
7084943d6fSEmmanuel Vadot        #size-cells = <1>;
7184943d6fSEmmanuel Vadot        ranges;
7284943d6fSEmmanuel Vadot
7384943d6fSEmmanuel Vadot        cdns_csi2rx: csi-bridge@4504000 {
7484943d6fSEmmanuel Vadot            compatible = "ti,j721e-csi2rx", "cdns,csi2rx";
7584943d6fSEmmanuel Vadot            reg = <0x4504000 0x1000>;
7684943d6fSEmmanuel Vadot            clocks = <&k3_clks 26 2>, <&k3_clks 26 0>, <&k3_clks 26 2>,
7784943d6fSEmmanuel Vadot              <&k3_clks 26 2>, <&k3_clks 26 3>, <&k3_clks 26 3>;
7884943d6fSEmmanuel Vadot            clock-names = "sys_clk", "p_clk", "pixel_if0_clk",
7984943d6fSEmmanuel Vadot              "pixel_if1_clk", "pixel_if2_clk", "pixel_if3_clk";
8084943d6fSEmmanuel Vadot            phys = <&dphy0>;
8184943d6fSEmmanuel Vadot            phy-names = "dphy";
8284943d6fSEmmanuel Vadot
8384943d6fSEmmanuel Vadot            ports {
8484943d6fSEmmanuel Vadot                #address-cells = <1>;
8584943d6fSEmmanuel Vadot                #size-cells = <0>;
8684943d6fSEmmanuel Vadot
8784943d6fSEmmanuel Vadot                csi2_0: port@0 {
8884943d6fSEmmanuel Vadot
8984943d6fSEmmanuel Vadot                    reg = <0>;
9084943d6fSEmmanuel Vadot
9184943d6fSEmmanuel Vadot                    csi2rx0_in_sensor: endpoint {
9284943d6fSEmmanuel Vadot                        remote-endpoint = <&csi2_cam0>;
9384943d6fSEmmanuel Vadot                        bus-type = <4>; /* CSI2 DPHY. */
9484943d6fSEmmanuel Vadot                        clock-lanes = <0>;
9584943d6fSEmmanuel Vadot                        data-lanes = <1 2>;
9684943d6fSEmmanuel Vadot                    };
9784943d6fSEmmanuel Vadot                };
9884943d6fSEmmanuel Vadot            };
9984943d6fSEmmanuel Vadot        };
10084943d6fSEmmanuel Vadot    };
101