xref: /linux/Documentation/devicetree/bindings/media/qcom,msm8916-camss.yaml (revision cdd5b5a9761fd66d17586e4f4ba6588c70e640ea)
1307600faSRobert Foss# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2307600faSRobert Foss
3307600faSRobert Foss%YAML 1.2
4307600faSRobert Foss---
5ab190665SRob Herring$id: http://devicetree.org/schemas/media/qcom,msm8916-camss.yaml#
6ab190665SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml#
7307600faSRobert Foss
8307600faSRobert Fosstitle: Qualcomm CAMSS ISP
9307600faSRobert Foss
10307600faSRobert Fossmaintainers:
11307600faSRobert Foss  - Robert Foss <robert.foss@linaro.org>
12307600faSRobert Foss  - Todor Tomov <todor.too@gmail.com>
13307600faSRobert Foss
14307600faSRobert Fossdescription: |
15307600faSRobert Foss  The CAMSS IP is a CSI decoder and ISP present on Qualcomm platforms
16307600faSRobert Foss
17307600faSRobert Fossproperties:
18307600faSRobert Foss  compatible:
19307600faSRobert Foss    const: qcom,msm8916-camss
20307600faSRobert Foss
21307600faSRobert Foss  clocks:
22307600faSRobert Foss    minItems: 19
23307600faSRobert Foss    maxItems: 19
24307600faSRobert Foss
25307600faSRobert Foss  clock-names:
26307600faSRobert Foss    items:
27307600faSRobert Foss      - const: top_ahb
28307600faSRobert Foss      - const: ispif_ahb
29307600faSRobert Foss      - const: csiphy0_timer
30307600faSRobert Foss      - const: csiphy1_timer
31307600faSRobert Foss      - const: csi0_ahb
32307600faSRobert Foss      - const: csi0
33307600faSRobert Foss      - const: csi0_phy
34307600faSRobert Foss      - const: csi0_pix
35307600faSRobert Foss      - const: csi0_rdi
36307600faSRobert Foss      - const: csi1_ahb
37307600faSRobert Foss      - const: csi1
38307600faSRobert Foss      - const: csi1_phy
39307600faSRobert Foss      - const: csi1_pix
40307600faSRobert Foss      - const: csi1_rdi
41307600faSRobert Foss      - const: ahb
42307600faSRobert Foss      - const: vfe0
43307600faSRobert Foss      - const: csi_vfe0
44307600faSRobert Foss      - const: vfe_ahb
45307600faSRobert Foss      - const: vfe_axi
46307600faSRobert Foss
47307600faSRobert Foss  interrupts:
48307600faSRobert Foss    minItems: 6
49307600faSRobert Foss    maxItems: 6
50307600faSRobert Foss
51307600faSRobert Foss  interrupt-names:
52307600faSRobert Foss    items:
53307600faSRobert Foss      - const: csiphy0
54307600faSRobert Foss      - const: csiphy1
55307600faSRobert Foss      - const: csid0
56307600faSRobert Foss      - const: csid1
57307600faSRobert Foss      - const: ispif
58307600faSRobert Foss      - const: vfe0
59307600faSRobert Foss
60307600faSRobert Foss  iommus:
61307600faSRobert Foss    maxItems: 1
62307600faSRobert Foss
63307600faSRobert Foss  power-domains:
64307600faSRobert Foss    items:
65307600faSRobert Foss      - description: VFE GDSC - Video Front End, Global Distributed Switch Controller.
66307600faSRobert Foss
67307600faSRobert Foss  ports:
68307600faSRobert Foss    $ref: /schemas/graph.yaml#/properties/ports
69307600faSRobert Foss
70307600faSRobert Foss    description:
71307600faSRobert Foss      CSI input ports.
72307600faSRobert Foss
73307600faSRobert Foss    properties:
74307600faSRobert Foss      port@0:
75307600faSRobert Foss        $ref: /schemas/graph.yaml#/$defs/port-base
76307600faSRobert Foss        unevaluatedProperties: false
77307600faSRobert Foss        description:
78307600faSRobert Foss          Input port for receiving CSI data.
79307600faSRobert Foss
80307600faSRobert Foss        properties:
81307600faSRobert Foss          endpoint:
82307600faSRobert Foss            $ref: video-interfaces.yaml#
83307600faSRobert Foss            unevaluatedProperties: false
84307600faSRobert Foss
85307600faSRobert Foss            properties:
86307600faSRobert Foss              data-lanes:
87307600faSRobert Foss                description:
88307600faSRobert Foss                  An array of physical data lanes indexes.
89307600faSRobert Foss                  Position of an entry determines the logical
90307600faSRobert Foss                  lane number, while the value of an entry
91307600faSRobert Foss                  indicates physical lane index. Lane swapping
92307600faSRobert Foss                  is supported. Physical lane indexes;
93307600faSRobert Foss                  0, 2, 3, 4.
94307600faSRobert Foss                minItems: 1
95307600faSRobert Foss                maxItems: 4
96307600faSRobert Foss
97307600faSRobert Foss            required:
98307600faSRobert Foss              - data-lanes
99307600faSRobert Foss
100307600faSRobert Foss      port@1:
101307600faSRobert Foss        $ref: /schemas/graph.yaml#/$defs/port-base
102307600faSRobert Foss        unevaluatedProperties: false
103307600faSRobert Foss        description:
104307600faSRobert Foss          Input port for receiving CSI data.
105307600faSRobert Foss
106307600faSRobert Foss        properties:
107307600faSRobert Foss          endpoint:
108307600faSRobert Foss            $ref: video-interfaces.yaml#
109307600faSRobert Foss            unevaluatedProperties: false
110307600faSRobert Foss
111307600faSRobert Foss            properties:
112307600faSRobert Foss              data-lanes:
113307600faSRobert Foss                minItems: 1
114307600faSRobert Foss                maxItems: 4
115307600faSRobert Foss
116307600faSRobert Foss            required:
117307600faSRobert Foss              - data-lanes
118307600faSRobert Foss
119307600faSRobert Foss  reg:
120307600faSRobert Foss    minItems: 9
121307600faSRobert Foss    maxItems: 9
122307600faSRobert Foss
123307600faSRobert Foss  reg-names:
124307600faSRobert Foss    items:
125307600faSRobert Foss      - const: csiphy0
126307600faSRobert Foss      - const: csiphy0_clk_mux
127307600faSRobert Foss      - const: csiphy1
128307600faSRobert Foss      - const: csiphy1_clk_mux
129307600faSRobert Foss      - const: csid0
130307600faSRobert Foss      - const: csid1
131307600faSRobert Foss      - const: ispif
132307600faSRobert Foss      - const: csi_clk_mux
133307600faSRobert Foss      - const: vfe0
134307600faSRobert Foss
135307600faSRobert Foss  vdda-supply:
136307600faSRobert Foss    description:
137307600faSRobert Foss      Definition of the regulator used as analog power supply.
138307600faSRobert Foss
139307600faSRobert Fossrequired:
140307600faSRobert Foss  - clock-names
141307600faSRobert Foss  - clocks
142307600faSRobert Foss  - compatible
143307600faSRobert Foss  - interrupt-names
144307600faSRobert Foss  - interrupts
145307600faSRobert Foss  - iommus
146307600faSRobert Foss  - power-domains
147307600faSRobert Foss  - reg
148307600faSRobert Foss  - reg-names
149307600faSRobert Foss  - vdda-supply
150307600faSRobert Foss
151307600faSRobert FossadditionalProperties: false
152307600faSRobert Foss
153307600faSRobert Fossexamples:
154307600faSRobert Foss  - |
155307600faSRobert Foss    #include <dt-bindings/interrupt-controller/arm-gic.h>
156307600faSRobert Foss    #include <dt-bindings/clock/qcom,gcc-msm8916.h>
157307600faSRobert Foss
158*8e4a5597SKrzysztof Kozlowski    camss: camss@1b0ac00 {
159307600faSRobert Foss      compatible = "qcom,msm8916-camss";
160307600faSRobert Foss
161307600faSRobert Foss      clocks = <&gcc GCC_CAMSS_TOP_AHB_CLK>,
162307600faSRobert Foss        <&gcc GCC_CAMSS_ISPIF_AHB_CLK>,
163307600faSRobert Foss        <&gcc GCC_CAMSS_CSI0PHYTIMER_CLK>,
164307600faSRobert Foss        <&gcc GCC_CAMSS_CSI1PHYTIMER_CLK>,
165307600faSRobert Foss        <&gcc GCC_CAMSS_CSI0_AHB_CLK>,
166307600faSRobert Foss        <&gcc GCC_CAMSS_CSI0_CLK>,
167307600faSRobert Foss        <&gcc GCC_CAMSS_CSI0PHY_CLK>,
168307600faSRobert Foss        <&gcc GCC_CAMSS_CSI0PIX_CLK>,
169307600faSRobert Foss        <&gcc GCC_CAMSS_CSI0RDI_CLK>,
170307600faSRobert Foss        <&gcc GCC_CAMSS_CSI1_AHB_CLK>,
171307600faSRobert Foss        <&gcc GCC_CAMSS_CSI1_CLK>,
172307600faSRobert Foss        <&gcc GCC_CAMSS_CSI1PHY_CLK>,
173307600faSRobert Foss        <&gcc GCC_CAMSS_CSI1PIX_CLK>,
174307600faSRobert Foss        <&gcc GCC_CAMSS_CSI1RDI_CLK>,
175307600faSRobert Foss        <&gcc GCC_CAMSS_AHB_CLK>,
176307600faSRobert Foss        <&gcc GCC_CAMSS_VFE0_CLK>,
177307600faSRobert Foss        <&gcc GCC_CAMSS_CSI_VFE0_CLK>,
178307600faSRobert Foss        <&gcc GCC_CAMSS_VFE_AHB_CLK>,
179307600faSRobert Foss        <&gcc GCC_CAMSS_VFE_AXI_CLK>;
180307600faSRobert Foss
181307600faSRobert Foss      clock-names = "top_ahb",
182307600faSRobert Foss        "ispif_ahb",
183307600faSRobert Foss        "csiphy0_timer",
184307600faSRobert Foss        "csiphy1_timer",
185307600faSRobert Foss        "csi0_ahb",
186307600faSRobert Foss        "csi0",
187307600faSRobert Foss        "csi0_phy",
188307600faSRobert Foss        "csi0_pix",
189307600faSRobert Foss        "csi0_rdi",
190307600faSRobert Foss        "csi1_ahb",
191307600faSRobert Foss        "csi1",
192307600faSRobert Foss        "csi1_phy",
193307600faSRobert Foss        "csi1_pix",
194307600faSRobert Foss        "csi1_rdi",
195307600faSRobert Foss        "ahb",
196307600faSRobert Foss        "vfe0",
197307600faSRobert Foss        "csi_vfe0",
198307600faSRobert Foss        "vfe_ahb",
199307600faSRobert Foss        "vfe_axi";
200307600faSRobert Foss
201307600faSRobert Foss      interrupts = <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>,
202307600faSRobert Foss        <GIC_SPI 79 IRQ_TYPE_EDGE_RISING>,
203307600faSRobert Foss        <GIC_SPI 51 IRQ_TYPE_EDGE_RISING>,
204307600faSRobert Foss        <GIC_SPI 52 IRQ_TYPE_EDGE_RISING>,
205307600faSRobert Foss        <GIC_SPI 55 IRQ_TYPE_EDGE_RISING>,
206307600faSRobert Foss        <GIC_SPI 57 IRQ_TYPE_EDGE_RISING>;
207307600faSRobert Foss
208307600faSRobert Foss      interrupt-names = "csiphy0",
209307600faSRobert Foss        "csiphy1",
210307600faSRobert Foss        "csid0",
211307600faSRobert Foss        "csid1",
212307600faSRobert Foss        "ispif",
213307600faSRobert Foss        "vfe0";
214307600faSRobert Foss
215307600faSRobert Foss      iommus = <&apps_iommu 3>;
216307600faSRobert Foss
217307600faSRobert Foss      power-domains = <&gcc VFE_GDSC>;
218307600faSRobert Foss
219307600faSRobert Foss      reg = <0x01b0ac00 0x200>,
220307600faSRobert Foss        <0x01b00030 0x4>,
221307600faSRobert Foss        <0x01b0b000 0x200>,
222307600faSRobert Foss        <0x01b00038 0x4>,
223307600faSRobert Foss        <0x01b08000 0x100>,
224307600faSRobert Foss        <0x01b08400 0x100>,
225307600faSRobert Foss        <0x01b0a000 0x500>,
226307600faSRobert Foss        <0x01b00020 0x10>,
227307600faSRobert Foss        <0x01b10000 0x1000>;
228307600faSRobert Foss
229307600faSRobert Foss      reg-names = "csiphy0",
230307600faSRobert Foss        "csiphy0_clk_mux",
231307600faSRobert Foss        "csiphy1",
232307600faSRobert Foss        "csiphy1_clk_mux",
233307600faSRobert Foss        "csid0",
234307600faSRobert Foss        "csid1",
235307600faSRobert Foss        "ispif",
236307600faSRobert Foss        "csi_clk_mux",
237307600faSRobert Foss        "vfe0";
238307600faSRobert Foss
239307600faSRobert Foss      vdda-supply = <&reg_2v8>;
240307600faSRobert Foss
241307600faSRobert Foss      ports {
242307600faSRobert Foss        #address-cells = <1>;
243307600faSRobert Foss        #size-cells = <0>;
244307600faSRobert Foss      };
245307600faSRobert Foss
246307600faSRobert Foss    };
247