]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/clk/qcom/mmcc-msm8996.c
Merge tag 'linux-kselftest-4.10-rc1-update' of git://git.kernel.org/pub/scm/linux...
[karo-tx-linux.git] / drivers / clk / qcom / mmcc-msm8996.c
index ca97e11517976cbe81e895f8586d540283441591..9b97246287a7305f6b54ff9e4809fda1e748abc7 100644 (file)
@@ -2945,6 +2945,7 @@ static struct gdsc venus_core0_gdsc = {
                .name = "venus_core0",
        },
        .pwrsts = PWRSTS_OFF_ON,
+       .flags = HW_CTRL,
 };
 
 static struct gdsc venus_core1_gdsc = {
@@ -2955,6 +2956,7 @@ static struct gdsc venus_core1_gdsc = {
                .name = "venus_core1",
        },
        .pwrsts = PWRSTS_OFF_ON,
+       .flags = HW_CTRL,
 };
 
 static struct gdsc camss_gdsc = {
@@ -3034,6 +3036,28 @@ static struct gdsc mdss_gdsc = {
        .pwrsts = PWRSTS_OFF_ON,
 };
 
+static struct gdsc gpu_gdsc = {
+       .gdscr = 0x4034,
+       .gds_hw_ctrl = 0x4038,
+       .pd = {
+               .name = "gpu",
+       },
+       .pwrsts = PWRSTS_OFF_ON,
+       .flags = VOTABLE,
+};
+
+static struct gdsc gpu_gx_gdsc = {
+       .gdscr = 0x4024,
+       .clamp_io_ctrl = 0x4300,
+       .cxcs = (unsigned int []){ 0x4028 },
+       .cxc_count = 1,
+       .pd = {
+               .name = "gpu_gx",
+       },
+       .pwrsts = PWRSTS_OFF_ON,
+       .flags = CLAMP_IO,
+};
+
 static struct clk_regmap *mmcc_msm8996_clocks[] = {
        [MMPLL0_EARLY] = &mmpll0_early.clkr,
        [MMPLL0_PLL] = &mmpll0.clkr,
@@ -3223,6 +3247,8 @@ static struct gdsc *mmcc_msm8996_gdscs[] = {
        [CPP_GDSC] = &cpp_gdsc,
        [FD_GDSC] = &fd_gdsc,
        [MDSS_GDSC] = &mdss_gdsc,
+       [GPU_GDSC] = &gpu_gdsc,
+       [GPU_GX_GDSC] = &gpu_gx_gdsc,
 };
 
 static const struct qcom_reset_map mmcc_msm8996_resets[] = {