Skip to content

Commit 2525ab2

Browse files
committed
arm64: dts: qcom: msm8939: Add camss and cci
Add the camera subsystem and CCI used to interface with cameras on the Snapdragon 615. Signed-off-by: Vincent Knecht <[email protected]>
1 parent 06fce80 commit 2525ab2

File tree

2 files changed

+156
-0
lines changed

2 files changed

+156
-0
lines changed

arch/arm64/boot/dts/qcom/msm8939-pm8916.dtsi

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@
1111
#include "msm8939.dtsi"
1212
#include "pm8916.dtsi"
1313

14+
&camss {
15+
vdda-supply = <&pm8916_l2>;
16+
};
17+
1418
&mdss_dsi0 {
1519
vdda-supply = <&pm8916_l2>;
1620
vddio-supply = <&pm8916_l6>;

arch/arm64/boot/dts/qcom/msm8939.dtsi

Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1431,6 +1431,151 @@
14311431
};
14321432
};
14331433

1434+
camss: camss@1b0ac00 {
1435+
compatible = "qcom,msm8939-camss";
1436+
reg = <0x01b0ac00 0x200>,
1437+
<0x01b00030 0x4>,
1438+
<0x01b0b000 0x200>,
1439+
<0x01b00038 0x4>,
1440+
<0x01b08000 0x100>,
1441+
<0x01b08400 0x100>,
1442+
<0x01b08800 0x100>,
1443+
<0x01b0a000 0x500>,
1444+
<0x01b00020 0x10>,
1445+
<0x01b10000 0x1000>,
1446+
<0x01b40000 0x200>;
1447+
reg-names = "csiphy0",
1448+
"csiphy0_clk_mux",
1449+
"csiphy1",
1450+
"csiphy1_clk_mux",
1451+
"csid0",
1452+
"csid1",
1453+
"csid2",
1454+
"ispif",
1455+
"csi_clk_mux",
1456+
"vfe0",
1457+
"vfe0_vbif";
1458+
1459+
interrupts = <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>,
1460+
<GIC_SPI 79 IRQ_TYPE_EDGE_RISING>,
1461+
<GIC_SPI 51 IRQ_TYPE_EDGE_RISING>,
1462+
<GIC_SPI 52 IRQ_TYPE_EDGE_RISING>,
1463+
<GIC_SPI 153 IRQ_TYPE_EDGE_RISING>,
1464+
<GIC_SPI 55 IRQ_TYPE_EDGE_RISING>,
1465+
<GIC_SPI 57 IRQ_TYPE_EDGE_RISING>;
1466+
interrupt-names = "csiphy0",
1467+
"csiphy1",
1468+
"csid0",
1469+
"csid1",
1470+
"csid2",
1471+
"ispif",
1472+
"vfe0";
1473+
1474+
power-domains = <&gcc VFE_GDSC>;
1475+
1476+
clocks = <&gcc GCC_CAMSS_TOP_AHB_CLK>,
1477+
<&gcc GCC_CAMSS_ISPIF_AHB_CLK>,
1478+
<&gcc GCC_CAMSS_CSI0PHYTIMER_CLK>,
1479+
<&gcc GCC_CAMSS_CSI1PHYTIMER_CLK>,
1480+
<&gcc GCC_CAMSS_CSI0_AHB_CLK>,
1481+
<&gcc GCC_CAMSS_CSI0_CLK>,
1482+
<&gcc GCC_CAMSS_CSI0PHY_CLK>,
1483+
<&gcc GCC_CAMSS_CSI0PIX_CLK>,
1484+
<&gcc GCC_CAMSS_CSI0RDI_CLK>,
1485+
<&gcc GCC_CAMSS_CSI1_AHB_CLK>,
1486+
<&gcc GCC_CAMSS_CSI1_CLK>,
1487+
<&gcc GCC_CAMSS_CSI1PHY_CLK>,
1488+
<&gcc GCC_CAMSS_CSI1PIX_CLK>,
1489+
<&gcc GCC_CAMSS_CSI1RDI_CLK>,
1490+
<&gcc GCC_CAMSS_CSI2_AHB_CLK>,
1491+
<&gcc GCC_CAMSS_CSI2_CLK>,
1492+
<&gcc GCC_CAMSS_CSI2PHY_CLK>,
1493+
<&gcc GCC_CAMSS_CSI2PIX_CLK>,
1494+
<&gcc GCC_CAMSS_CSI2RDI_CLK>,
1495+
<&gcc GCC_CAMSS_AHB_CLK>,
1496+
<&gcc GCC_CAMSS_VFE0_CLK>,
1497+
<&gcc GCC_CAMSS_CSI_VFE0_CLK>,
1498+
<&gcc GCC_CAMSS_VFE_AHB_CLK>,
1499+
<&gcc GCC_CAMSS_VFE_AXI_CLK>;
1500+
clock-names = "top_ahb",
1501+
"ispif_ahb",
1502+
"csiphy0_timer",
1503+
"csiphy1_timer",
1504+
"csi0_ahb",
1505+
"csi0",
1506+
"csi0_phy",
1507+
"csi0_pix",
1508+
"csi0_rdi",
1509+
"csi1_ahb",
1510+
"csi1",
1511+
"csi1_phy",
1512+
"csi1_pix",
1513+
"csi1_rdi",
1514+
"csi2_ahb",
1515+
"csi2",
1516+
"csi2_phy",
1517+
"csi2_pix",
1518+
"csi2_rdi",
1519+
"ahb",
1520+
"vfe0",
1521+
"csi_vfe0",
1522+
"vfe_ahb",
1523+
"vfe_axi";
1524+
1525+
iommus = <&apps_iommu 3>;
1526+
1527+
status = "disabled";
1528+
1529+
ports {
1530+
#address-cells = <1>;
1531+
#size-cells = <0>;
1532+
1533+
port@0 {
1534+
reg = <0>;
1535+
};
1536+
1537+
port@1 {
1538+
reg = <1>;
1539+
};
1540+
};
1541+
};
1542+
1543+
cci: cci@1b0c000 {
1544+
compatible = "qcom,msm8916-cci", "qcom,msm8226-cci";
1545+
#address-cells = <1>;
1546+
#size-cells = <0>;
1547+
reg = <0x01b0c000 0x1000>;
1548+
interrupts = <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>;
1549+
1550+
clocks = <&gcc GCC_CAMSS_ISPIF_AHB_CLK>,
1551+
<&gcc GCC_CAMSS_TOP_AHB_CLK>,
1552+
<&gcc GCC_CAMSS_CCI_AHB_CLK>,
1553+
<&gcc GCC_CAMSS_CCI_CLK>,
1554+
<&gcc GCC_CAMSS_AHB_CLK>;
1555+
clock-names = "ispif_ahb",
1556+
"camss_top_ahb",
1557+
"cci_ahb",
1558+
"cci",
1559+
"camss_ahb";
1560+
1561+
assigned-clocks = <&gcc GCC_CAMSS_ISPIF_AHB_CLK>,
1562+
<&gcc GCC_CAMSS_CCI_CLK>;
1563+
assigned-clock-rates = <80000000>,
1564+
<19200000>;
1565+
1566+
pinctrl-names = "default";
1567+
pinctrl-0 = <&cci0_default>;
1568+
1569+
status = "disabled";
1570+
1571+
cci_i2c0: i2c-bus@0 {
1572+
reg = <0>;
1573+
clock-frequency = <400000>;
1574+
#address-cells = <1>;
1575+
#size-cells = <0>;
1576+
};
1577+
};
1578+
14341579
gpu: gpu@1c00000 {
14351580
compatible = "qcom,adreno-405.0", "qcom,adreno";
14361581
reg = <0x01c00000 0x10000>;
@@ -1495,6 +1640,13 @@
14951640
#iommu-cells = <1>;
14961641
qcom,iommu-secure-id = <17>;
14971642

1643+
/* vfe */
1644+
iommu-ctx@3000 {
1645+
compatible = "qcom,msm-iommu-v1-sec";
1646+
reg = <0x3000 0x1000>;
1647+
interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
1648+
};
1649+
14981650
/* mdp_0: */
14991651
iommu-ctx@4000 {
15001652
compatible = "qcom,msm-iommu-v1-ns";

0 commit comments

Comments
 (0)