Skip to content

Commit ed63eff

Browse files
vknechtAndré Apitzsch
authored andcommitted
FROMLIST: 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 b9e8227 commit ed63eff

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
@@ -1462,6 +1462,151 @@
14621462
};
14631463
};
14641464

1465+
camss: camss@1b0ac00 {
1466+
compatible = "qcom,msm8939-camss";
1467+
reg = <0x01b0ac00 0x200>,
1468+
<0x01b00030 0x4>,
1469+
<0x01b0b000 0x200>,
1470+
<0x01b00038 0x4>,
1471+
<0x01b08000 0x100>,
1472+
<0x01b08400 0x100>,
1473+
<0x01b08800 0x100>,
1474+
<0x01b0a000 0x500>,
1475+
<0x01b00020 0x10>,
1476+
<0x01b10000 0x1000>,
1477+
<0x01b40000 0x200>;
1478+
reg-names = "csiphy0",
1479+
"csiphy0_clk_mux",
1480+
"csiphy1",
1481+
"csiphy1_clk_mux",
1482+
"csid0",
1483+
"csid1",
1484+
"csid2",
1485+
"ispif",
1486+
"csi_clk_mux",
1487+
"vfe0",
1488+
"vfe0_vbif";
1489+
1490+
interrupts = <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>,
1491+
<GIC_SPI 79 IRQ_TYPE_EDGE_RISING>,
1492+
<GIC_SPI 51 IRQ_TYPE_EDGE_RISING>,
1493+
<GIC_SPI 52 IRQ_TYPE_EDGE_RISING>,
1494+
<GIC_SPI 153 IRQ_TYPE_EDGE_RISING>,
1495+
<GIC_SPI 55 IRQ_TYPE_EDGE_RISING>,
1496+
<GIC_SPI 57 IRQ_TYPE_EDGE_RISING>;
1497+
interrupt-names = "csiphy0",
1498+
"csiphy1",
1499+
"csid0",
1500+
"csid1",
1501+
"csid2",
1502+
"ispif",
1503+
"vfe0";
1504+
1505+
power-domains = <&gcc VFE_GDSC>;
1506+
1507+
clocks = <&gcc GCC_CAMSS_TOP_AHB_CLK>,
1508+
<&gcc GCC_CAMSS_ISPIF_AHB_CLK>,
1509+
<&gcc GCC_CAMSS_CSI0PHYTIMER_CLK>,
1510+
<&gcc GCC_CAMSS_CSI1PHYTIMER_CLK>,
1511+
<&gcc GCC_CAMSS_CSI0_AHB_CLK>,
1512+
<&gcc GCC_CAMSS_CSI0_CLK>,
1513+
<&gcc GCC_CAMSS_CSI0PHY_CLK>,
1514+
<&gcc GCC_CAMSS_CSI0PIX_CLK>,
1515+
<&gcc GCC_CAMSS_CSI0RDI_CLK>,
1516+
<&gcc GCC_CAMSS_CSI1_AHB_CLK>,
1517+
<&gcc GCC_CAMSS_CSI1_CLK>,
1518+
<&gcc GCC_CAMSS_CSI1PHY_CLK>,
1519+
<&gcc GCC_CAMSS_CSI1PIX_CLK>,
1520+
<&gcc GCC_CAMSS_CSI1RDI_CLK>,
1521+
<&gcc GCC_CAMSS_CSI2_AHB_CLK>,
1522+
<&gcc GCC_CAMSS_CSI2_CLK>,
1523+
<&gcc GCC_CAMSS_CSI2PHY_CLK>,
1524+
<&gcc GCC_CAMSS_CSI2PIX_CLK>,
1525+
<&gcc GCC_CAMSS_CSI2RDI_CLK>,
1526+
<&gcc GCC_CAMSS_AHB_CLK>,
1527+
<&gcc GCC_CAMSS_VFE0_CLK>,
1528+
<&gcc GCC_CAMSS_CSI_VFE0_CLK>,
1529+
<&gcc GCC_CAMSS_VFE_AHB_CLK>,
1530+
<&gcc GCC_CAMSS_VFE_AXI_CLK>;
1531+
clock-names = "top_ahb",
1532+
"ispif_ahb",
1533+
"csiphy0_timer",
1534+
"csiphy1_timer",
1535+
"csi0_ahb",
1536+
"csi0",
1537+
"csi0_phy",
1538+
"csi0_pix",
1539+
"csi0_rdi",
1540+
"csi1_ahb",
1541+
"csi1",
1542+
"csi1_phy",
1543+
"csi1_pix",
1544+
"csi1_rdi",
1545+
"csi2_ahb",
1546+
"csi2",
1547+
"csi2_phy",
1548+
"csi2_pix",
1549+
"csi2_rdi",
1550+
"ahb",
1551+
"vfe0",
1552+
"csi_vfe0",
1553+
"vfe_ahb",
1554+
"vfe_axi";
1555+
1556+
iommus = <&apps_iommu 3>;
1557+
1558+
status = "disabled";
1559+
1560+
ports {
1561+
#address-cells = <1>;
1562+
#size-cells = <0>;
1563+
1564+
port@0 {
1565+
reg = <0>;
1566+
};
1567+
1568+
port@1 {
1569+
reg = <1>;
1570+
};
1571+
};
1572+
};
1573+
1574+
cci: cci@1b0c000 {
1575+
compatible = "qcom,msm8916-cci", "qcom,msm8226-cci";
1576+
#address-cells = <1>;
1577+
#size-cells = <0>;
1578+
reg = <0x01b0c000 0x1000>;
1579+
interrupts = <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>;
1580+
1581+
clocks = <&gcc GCC_CAMSS_ISPIF_AHB_CLK>,
1582+
<&gcc GCC_CAMSS_TOP_AHB_CLK>,
1583+
<&gcc GCC_CAMSS_CCI_AHB_CLK>,
1584+
<&gcc GCC_CAMSS_CCI_CLK>,
1585+
<&gcc GCC_CAMSS_AHB_CLK>;
1586+
clock-names = "ispif_ahb",
1587+
"camss_top_ahb",
1588+
"cci_ahb",
1589+
"cci",
1590+
"camss_ahb";
1591+
1592+
assigned-clocks = <&gcc GCC_CAMSS_ISPIF_AHB_CLK>,
1593+
<&gcc GCC_CAMSS_CCI_CLK>;
1594+
assigned-clock-rates = <80000000>,
1595+
<19200000>;
1596+
1597+
pinctrl-names = "default";
1598+
pinctrl-0 = <&cci0_default>;
1599+
1600+
status = "disabled";
1601+
1602+
cci_i2c0: i2c-bus@0 {
1603+
reg = <0>;
1604+
clock-frequency = <400000>;
1605+
#address-cells = <1>;
1606+
#size-cells = <0>;
1607+
};
1608+
};
1609+
14651610
gpu: gpu@1c00000 {
14661611
compatible = "qcom,adreno-405.0", "qcom,adreno";
14671612
reg = <0x01c00000 0x10000>;
@@ -1526,6 +1671,13 @@
15261671
#iommu-cells = <1>;
15271672
qcom,iommu-secure-id = <17>;
15281673

1674+
/* vfe */
1675+
iommu-ctx@3000 {
1676+
compatible = "qcom,msm-iommu-v1-sec";
1677+
reg = <0x3000 0x1000>;
1678+
interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
1679+
};
1680+
15291681
/* mdp_0: */
15301682
iommu-ctx@4000 {
15311683
compatible = "qcom,msm-iommu-v1-ns";

0 commit comments

Comments
 (0)