Skip to content

Commit fabf00f

Browse files
Merge pull request #199 from wenmliu/qcom-6.18.y
Add support for Talos EVK camera
2 parents 4578adf + deb0d35 commit fabf00f

23 files changed

Lines changed: 2992 additions & 540 deletions

Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ properties:
1515
oneOf:
1616
- enum:
1717
- qcom,msm8226-cci
18+
- qcom,msm8953-cci
1819
- qcom,msm8974-cci
1920
- qcom,msm8996-cci
2021

@@ -33,11 +34,13 @@ properties:
3334
- qcom,sc8280xp-cci
3435
- qcom,sdm670-cci
3536
- qcom,sdm845-cci
37+
- qcom,sm6150-cci
3638
- qcom,sm6350-cci
3739
- qcom,sm8250-cci
3840
- qcom,sm8450-cci
3941
- qcom,sm8550-cci
4042
- qcom,sm8650-cci
43+
- qcom,sm8750-cci
4144
- qcom,x1e80100-cci
4245
- const: qcom,msm8996-cci # CCI v2
4346

@@ -133,6 +136,7 @@ allOf:
133136
- qcom,kaanapali-cci
134137
- qcom,qcm2290-cci
135138
- qcom,qcs8300-cci
139+
- qcom,sm8750-cci
136140
then:
137141
properties:
138142
clocks:
@@ -150,6 +154,7 @@ allOf:
150154
- contains:
151155
enum:
152156
- qcom,msm8916-cci
157+
- qcom,msm8953-cci
153158

154159
- const: qcom,msm8996-cci
155160
then:
@@ -247,6 +252,7 @@ allOf:
247252
contains:
248253
enum:
249254
- qcom,sa8775p-cci
255+
- qcom,sm6150-cci
250256
- qcom,sm8550-cci
251257
- qcom,sm8650-cci
252258
- qcom,x1e80100-cci
Lines changed: 254 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,254 @@
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+
7+
title: Qualcomm MSM8939 Camera Subsystem (CAMSS)
8+
9+
maintainers:
10+
- Vincent Knecht <vincent.knecht@mailoo.org>
11+
12+
description:
13+
The CAMSS IP is a CSI decoder and ISP present on Qualcomm platforms
14+
15+
properties:
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+
122+
required:
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+
135+
additionalProperties: false
136+
137+
examples:
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+
};

0 commit comments

Comments
 (0)