File Index
Files and directories
Sign in
FILE

qcom,msm8939-camss.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/media/qcom,msm8939-camss.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/media/qcom,msm8939-camss.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Qualcomm MSM8939 Camera Subsystem (CAMSS)
  8
  9maintainers:
 10  - Vincent Knecht <vincent.knecht@mailoo.org>
 11
 12description:
 13  The CAMSS IP is a CSI decoder and ISP present on Qualcomm platforms
 14
 15properties:
 16  compatible:
 17    const: qcom,msm8939-camss
 18
 19  reg:
 20    maxItems: 11
 21
 22  reg-names:
 23    items:
 24      - const: csiphy0
 25      - const: csiphy0_clk_mux
 26      - const: csiphy1
 27      - const: csiphy1_clk_mux
 28      - const: csid0
 29      - const: csid1
 30      - const: ispif
 31      - const: csi_clk_mux
 32      - const: vfe0
 33      - const: csid2
 34      - const: vfe0_vbif
 35
 36  clocks:
 37    maxItems: 24
 38
 39  clock-names:
 40    items:
 41      - const: top_ahb
 42      - const: ispif_ahb
 43      - const: csiphy0_timer
 44      - const: csiphy1_timer
 45      - const: csi0_ahb
 46      - const: csi0
 47      - const: csi0_phy
 48      - const: csi0_pix
 49      - const: csi0_rdi
 50      - const: csi1_ahb
 51      - const: csi1
 52      - const: csi1_phy
 53      - const: csi1_pix
 54      - const: csi1_rdi
 55      - const: ahb
 56      - const: vfe0
 57      - const: csi_vfe0
 58      - const: vfe_ahb
 59      - const: vfe_axi
 60      - const: csi2_ahb
 61      - const: csi2
 62      - const: csi2_phy
 63      - const: csi2_pix
 64      - const: csi2_rdi
 65
 66  interrupts:
 67    maxItems: 7
 68
 69  interrupt-names:
 70    items:
 71      - const: csiphy0
 72      - const: csiphy1
 73      - const: csid0
 74      - const: csid1
 75      - const: ispif
 76      - const: vfe0
 77      - const: csid2
 78
 79  iommus:
 80    maxItems: 1
 81
 82  power-domains:
 83    items:
 84      - description: VFE GDSC - Video Front End, Global Distributed Switch
 85          Controller.
 86
 87  vdda-supply:
 88    description:
 89      Definition of the regulator used as 1.2V analog power supply.
 90
 91  ports:
 92    $ref: /schemas/graph.yaml#/properties/ports
 93
 94    description:
 95      CSI input ports.
 96
 97    patternProperties:
 98      "^port@[0-1]$":
 99        $ref: /schemas/graph.yaml#/$defs/port-base
100        unevaluatedProperties: false
101
102        description:
103          Input port for receiving CSI data.
104
105        properties:
106          endpoint:
107            $ref: video-interfaces.yaml#
108            unevaluatedProperties: false
109
110            properties:
111              data-lanes:
112                minItems: 1
113                maxItems: 4
114
115              bus-type:
116                enum:
117                  - 4 # MEDIA_BUS_TYPE_CSI2_DPHY
118
119            required:
120              - data-lanes
121
122required:
123  - compatible
124  - reg
125  - reg-names
126  - clocks
127  - clock-names
128  - interrupts
129  - interrupt-names
130  - iommus
131  - power-domains
132  - vdda-supply
133  - ports
134
135additionalProperties: false
136
137examples:
138  - |
139    #include <dt-bindings/interrupt-controller/arm-gic.h>
140    #include <dt-bindings/clock/qcom,gcc-msm8939.h>
141
142    isp@1b0ac00 {
143        compatible = "qcom,msm8939-camss";
144
145        reg = <0x01b0ac00 0x200>,
146              <0x01b00030 0x4>,
147              <0x01b0b000 0x200>,
148              <0x01b00038 0x4>,
149              <0x01b08000 0x100>,
150              <0x01b08400 0x100>,
151              <0x01b0a000 0x500>,
152              <0x01b00020 0x10>,
153              <0x01b10000 0x1000>,
154              <0x01b08800 0x100>,
155              <0x01b40000 0x200>;
156
157        reg-names = "csiphy0",
158                    "csiphy0_clk_mux",
159                    "csiphy1",
160                    "csiphy1_clk_mux",
161                    "csid0",
162                    "csid1",
163                    "ispif",
164                    "csi_clk_mux",
165                    "vfe0",
166                    "csid2",
167                    "vfe0_vbif";
168
169        clocks = <&gcc GCC_CAMSS_TOP_AHB_CLK>,
170                 <&gcc GCC_CAMSS_ISPIF_AHB_CLK>,
171                 <&gcc GCC_CAMSS_CSI0PHYTIMER_CLK>,
172                 <&gcc GCC_CAMSS_CSI1PHYTIMER_CLK>,
173                 <&gcc GCC_CAMSS_CSI0_AHB_CLK>,
174                 <&gcc GCC_CAMSS_CSI0_CLK>,
175                 <&gcc GCC_CAMSS_CSI0PHY_CLK>,
176                 <&gcc GCC_CAMSS_CSI0PIX_CLK>,
177                 <&gcc GCC_CAMSS_CSI0RDI_CLK>,
178                 <&gcc GCC_CAMSS_CSI1_AHB_CLK>,
179                 <&gcc GCC_CAMSS_CSI1_CLK>,
180                 <&gcc GCC_CAMSS_CSI1PHY_CLK>,
181                 <&gcc GCC_CAMSS_CSI1PIX_CLK>,
182                 <&gcc GCC_CAMSS_CSI1RDI_CLK>,
183                 <&gcc GCC_CAMSS_AHB_CLK>,
184                 <&gcc GCC_CAMSS_VFE0_CLK>,
185                 <&gcc GCC_CAMSS_CSI_VFE0_CLK>,
186                 <&gcc GCC_CAMSS_VFE_AHB_CLK>,
187                 <&gcc GCC_CAMSS_VFE_AXI_CLK>,
188                 <&gcc GCC_CAMSS_CSI2_AHB_CLK>,
189                 <&gcc GCC_CAMSS_CSI2_CLK>,
190                 <&gcc GCC_CAMSS_CSI2PHY_CLK>,
191                 <&gcc GCC_CAMSS_CSI2PIX_CLK>,
192                 <&gcc GCC_CAMSS_CSI2RDI_CLK>;
193
194        clock-names = "top_ahb",
195                      "ispif_ahb",
196                      "csiphy0_timer",
197                      "csiphy1_timer",
198                      "csi0_ahb",
199                      "csi0",
200                      "csi0_phy",
201                      "csi0_pix",
202                      "csi0_rdi",
203                      "csi1_ahb",
204                      "csi1",
205                      "csi1_phy",
206                      "csi1_pix",
207                      "csi1_rdi",
208                      "ahb",
209                      "vfe0",
210                      "csi_vfe0",
211                      "vfe_ahb",
212                      "vfe_axi",
213                      "csi2_ahb",
214                      "csi2",
215                      "csi2_phy",
216                      "csi2_pix",
217                      "csi2_rdi";
218
219        interrupts = <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>,
220                     <GIC_SPI 79 IRQ_TYPE_EDGE_RISING>,
221                     <GIC_SPI 51 IRQ_TYPE_EDGE_RISING>,
222                     <GIC_SPI 52 IRQ_TYPE_EDGE_RISING>,
223                     <GIC_SPI 55 IRQ_TYPE_EDGE_RISING>,
224                     <GIC_SPI 57 IRQ_TYPE_EDGE_RISING>,
225                     <GIC_SPI 153 IRQ_TYPE_EDGE_RISING>;
226
227        interrupt-names = "csiphy0",
228                          "csiphy1",
229                          "csid0",
230                          "csid1",
231                          "ispif",
232                          "vfe0",
233                          "csid2";
234
235        iommus = <&apps_iommu 3>;
236
237        power-domains = <&gcc VFE_GDSC>;
238
239        vdda-supply = <&reg_1v2>;
240
241        ports {
242            #address-cells = <1>;
243            #size-cells = <0>;
244
245            port@1 {
246                reg = <1>;
247
248                csiphy1_ep: endpoint {
249                    data-lanes = <0 2>;
250                    remote-endpoint = <&sensor_ep>;
251                };
252            };
253        };
254    };
~/ Read-only file preview.