xref: /freebsd/sys/contrib/device-tree/Bindings/media/amlogic,c3-mipi-adapter.yaml (revision 9978553d0199e7ec0bdd1c44fc7f6c7b0c11e43b)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/media/amlogic,c3-mipi-adapter.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Amlogic C3 MIPI adapter receiver
8
9maintainers:
10  - Keke Li <keke.li@amlogic.com>
11
12description:
13  MIPI adapter is used to convert the MIPI CSI-2 data
14  into an ISP supported data format.
15
16properties:
17  compatible:
18    enum:
19      - amlogic,c3-mipi-adapter
20
21  reg:
22    maxItems: 3
23
24  reg-names:
25    items:
26      - const: top
27      - const: fd
28      - const: rd
29
30  power-domains:
31    maxItems: 1
32
33  clocks:
34    maxItems: 2
35
36  clock-names:
37    items:
38      - const: vapb
39      - const: isp0
40
41  ports:
42    $ref: /schemas/graph.yaml#/properties/ports
43
44    properties:
45      port@0:
46        $ref: /schemas/graph.yaml#/properties/port
47        description: input port node.
48
49      port@1:
50        $ref: /schemas/graph.yaml#/properties/port
51        description: output port node.
52
53    required:
54      - port@0
55      - port@1
56
57required:
58  - compatible
59  - reg
60  - reg-names
61  - power-domains
62  - clocks
63  - clock-names
64  - ports
65
66additionalProperties: false
67
68examples:
69  - |
70    #include <dt-bindings/clock/amlogic,c3-peripherals-clkc.h>
71    #include <dt-bindings/power/amlogic,c3-pwrc.h>
72
73    soc {
74        #address-cells = <2>;
75        #size-cells = <2>;
76
77        adap: adap@ff010000 {
78            compatible = "amlogic,c3-mipi-adapter";
79            reg = <0x0 0xff010000 0x0 0x100>,
80                  <0x0 0xff01b000 0x0 0x100>,
81                  <0x0 0xff01d000 0x0 0x200>;
82            reg-names = "top", "fd", "rd";
83            power-domains = <&pwrc PWRC_C3_ISP_TOP_ID>;
84            clocks = <&clkc_periphs CLKID_VAPB>,
85                     <&clkc_periphs CLKID_ISP0>;
86            clock-names = "vapb", "isp0";
87            assigned-clocks = <&clkc_periphs CLKID_VAPB>,
88                              <&clkc_periphs CLKID_ISP0>;
89            assigned-clock-rates = <0>, <400000000>;
90
91            ports {
92                #address-cells = <1>;
93                #size-cells = <0>;
94
95                port@0 {
96                    reg = <0>;
97                    c3_adap_in: endpoint {
98                        remote-endpoint = <&c3_mipi_csi_out>;
99                    };
100                };
101
102                port@1 {
103                    reg = <1>;
104                    c3_adap_out: endpoint {
105                        remote-endpoint = <&c3_isp_in>;
106                    };
107                };
108            };
109        };
110    };
111...
112