msm: clock-8974: Add kgsl and kgsl IOMMU clock support.
The kgsl driver needs to control certain clocks on the
3D graphics core and this core's IOMMU. Add these clocks
and device names to the lookup table.
Also add the dependency that allows the graphics AXI
clock to turn on whenever the graphics core clock
is turned on.
Change-Id: I02da539f43197f0b759c39db8650c9dd2f6d4d3a
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
diff --git a/arch/arm/mach-msm/clock-8974.c b/arch/arm/mach-msm/clock-8974.c
index a81343a..6c9a566 100644
--- a/arch/arm/mach-msm/clock-8974.c
+++ b/arch/arm/mach-msm/clock-8974.c
@@ -3775,6 +3775,18 @@
},
};
+static struct branch_clk oxilicx_axi_clk = {
+ .cbcr_reg = OXILICX_AXI_CBCR,
+ .parent = &axi_clk_src.c,
+ .has_sibling = 1,
+ .base = &virt_bases[MMSS_BASE],
+ .c = {
+ .dbg_name = "oxilicx_axi_clk",
+ .ops = &clk_ops_branch,
+ CLK_INIT(oxilicx_axi_clk.c),
+ },
+};
+
static struct branch_clk oxili_gfx3d_clk = {
.cbcr_reg = OXILI_GFX3D_CBCR,
.has_sibling = 1,
@@ -3783,6 +3795,7 @@
.dbg_name = "oxili_gfx3d_clk",
.ops = &clk_ops_branch,
CLK_INIT(oxili_gfx3d_clk.c),
+ .depends = &oxilicx_axi_clk.c,
},
};
@@ -3797,18 +3810,6 @@
},
};
-static struct branch_clk oxilicx_axi_clk = {
- .cbcr_reg = OXILICX_AXI_CBCR,
- .parent = &axi_clk_src.c,
- .has_sibling = 1,
- .base = &virt_bases[MMSS_BASE],
- .c = {
- .dbg_name = "oxilicx_axi_clk",
- .ops = &clk_ops_branch,
- CLK_INIT(oxilicx_axi_clk.c),
- },
-};
-
static struct clk_freq_tbl ftbl_audio_core_slimbus_core_clock[] = {
F_LPASS(28800000, lpapll0, 1, 15, 256),
F_END
@@ -4744,9 +4745,10 @@
CLK_LOOKUP("iface_clk", mdss_ahb_clk.c, "fd928000.qcom,iommu"),
CLK_LOOKUP("core_clk", mdss_axi_clk.c, "fd928000.qcom,iommu"),
CLK_LOOKUP("bus_clk", mdss_axi_clk.c, "mdp.0"),
- CLK_LOOKUP("core_clk", oxili_gfx3d_clk.c, ""),
- CLK_LOOKUP("iface_clk", oxilicx_ahb_clk.c, ""),
- CLK_LOOKUP("bus_clk", oxilicx_axi_clk.c, ""),
+ CLK_LOOKUP("core_clk", oxili_gfx3d_clk.c, "fdb00000.qcom,kgsl-3d0"),
+ CLK_LOOKUP("iface_clk", oxilicx_ahb_clk.c, "fdb00000.qcom,kgsl-3d0"),
+ CLK_LOOKUP("core_clk", oxilicx_axi_clk.c, "fdb10000.qcom,iommu"),
+ CLK_LOOKUP("iface_clk", oxilicx_ahb_clk.c, "fdb10000.qcom,iommu"),
CLK_LOOKUP("iface_clk", venus0_ahb_clk.c, "fdc84000.qcom,iommu"),
CLK_LOOKUP("core_clk", venus0_axi_clk.c, "fdc84000.qcom,iommu"),
CLK_LOOKUP("bus_clk", venus0_axi_clk.c, ""),