Skip to content

Commit c415388

Browse files
Sowjanya Komatinenithierryreding
authored andcommitted
arm64: tegra: Add Tegra VI CSI support in device tree
Tegra210 contains VI controller for video input capture from MIPI CSI camera sensors and also supports built-in test pattern generator. CSI ports can be one-to-one mapped to VI channels for capturing from an external sensor or from built-in test pattern generator. This patch adds support for VI and CSI and enables them in Tegra210 device tree. Signed-off-by: Sowjanya Komatineni <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
1 parent 2eb8e1a commit c415388

File tree

2 files changed

+55
-1
lines changed

2 files changed

+55
-1
lines changed

arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,16 @@
1414
status = "okay";
1515
};
1616

17+
vi@54080000 {
18+
status = "okay";
19+
20+
avdd-dsi-csi-supply = <&vdd_dsi_csi>;
21+
22+
csi@838 {
23+
status = "okay";
24+
};
25+
};
26+
1727
sor@54580000 {
1828
status = "okay";
1929

arch/arm64/boot/dts/nvidia/tegra210.dtsi

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,9 +137,44 @@
137137

138138
vi@54080000 {
139139
compatible = "nvidia,tegra210-vi";
140-
reg = <0x0 0x54080000 0x0 0x00040000>;
140+
reg = <0x0 0x54080000 0x0 0x700>;
141141
interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
142142
status = "disabled";
143+
assigned-clocks = <&tegra_car TEGRA210_CLK_VI>;
144+
assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>;
145+
146+
clocks = <&tegra_car TEGRA210_CLK_VI>;
147+
power-domains = <&pd_venc>;
148+
149+
#address-cells = <1>;
150+
#size-cells = <1>;
151+
152+
ranges = <0x0 0x0 0x54080000 0x2000>;
153+
154+
csi@838 {
155+
compatible = "nvidia,tegra210-csi";
156+
reg = <0x838 0x1300>;
157+
status = "disabled";
158+
assigned-clocks = <&tegra_car TEGRA210_CLK_CILAB>,
159+
<&tegra_car TEGRA210_CLK_CILCD>,
160+
<&tegra_car TEGRA210_CLK_CILE>,
161+
<&tegra_car TEGRA210_CLK_CSI_TPG>;
162+
assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_P>,
163+
<&tegra_car TEGRA210_CLK_PLL_P>,
164+
<&tegra_car TEGRA210_CLK_PLL_P>;
165+
assigned-clock-rates = <102000000>,
166+
<102000000>,
167+
<102000000>,
168+
<972000000>;
169+
170+
clocks = <&tegra_car TEGRA210_CLK_CSI>,
171+
<&tegra_car TEGRA210_CLK_CILAB>,
172+
<&tegra_car TEGRA210_CLK_CILCD>,
173+
<&tegra_car TEGRA210_CLK_CILE>,
174+
<&tegra_car TEGRA210_CLK_CSI_TPG>;
175+
clock-names = "csi", "cilab", "cilcd", "cile", "csi_tpg";
176+
power-domains = <&pd_sor>;
177+
};
143178
};
144179

145180
tsec@54100000 {
@@ -839,6 +874,15 @@
839874
reset-names = "vic";
840875
#power-domain-cells = <0>;
841876
};
877+
878+
pd_venc: venc {
879+
clocks = <&tegra_car TEGRA210_CLK_VI>,
880+
<&tegra_car TEGRA210_CLK_CSI>;
881+
resets = <&mc TEGRA210_MC_RESET_VI>,
882+
<&tegra_car 20>,
883+
<&tegra_car 52>;
884+
#power-domain-cells = <0>;
885+
};
842886
};
843887

844888
sdmmc1_3v3: sdmmc1-3v3 {

0 commit comments

Comments
 (0)