1*11fadcfaSAmbresh K /* 2*11fadcfaSAmbresh K * DRA7xx Clock domains framework 3*11fadcfaSAmbresh K * 4*11fadcfaSAmbresh K * Copyright (C) 2009-2013 Texas Instruments, Inc. 5*11fadcfaSAmbresh K * Copyright (C) 2009-2011 Nokia Corporation 6*11fadcfaSAmbresh K * 7*11fadcfaSAmbresh K * Generated by code originally written by: 8*11fadcfaSAmbresh K * Abhijit Pagare (abhijitpagare@ti.com) 9*11fadcfaSAmbresh K * Benoit Cousson (b-cousson@ti.com) 10*11fadcfaSAmbresh K * Paul Walmsley (paul@pwsan.com) 11*11fadcfaSAmbresh K * 12*11fadcfaSAmbresh K * This file is automatically generated from the OMAP hardware databases. 13*11fadcfaSAmbresh K * We respectfully ask that any modifications to this file be coordinated 14*11fadcfaSAmbresh K * with the public linux-omap@vger.kernel.org mailing list and the 15*11fadcfaSAmbresh K * authors above to ensure that the autogeneration scripts are kept 16*11fadcfaSAmbresh K * up-to-date with the file contents. 17*11fadcfaSAmbresh K * 18*11fadcfaSAmbresh K * This program is free software; you can redistribute it and/or modify 19*11fadcfaSAmbresh K * it under the terms of the GNU General Public License version 2 as 20*11fadcfaSAmbresh K * published by the Free Software Foundation. 21*11fadcfaSAmbresh K */ 22*11fadcfaSAmbresh K 23*11fadcfaSAmbresh K #include <linux/kernel.h> 24*11fadcfaSAmbresh K #include <linux/io.h> 25*11fadcfaSAmbresh K 26*11fadcfaSAmbresh K #include "clockdomain.h" 27*11fadcfaSAmbresh K #include "cm1_7xx.h" 28*11fadcfaSAmbresh K #include "cm2_7xx.h" 29*11fadcfaSAmbresh K 30*11fadcfaSAmbresh K #include "cm-regbits-7xx.h" 31*11fadcfaSAmbresh K #include "prm7xx.h" 32*11fadcfaSAmbresh K #include "prcm44xx.h" 33*11fadcfaSAmbresh K #include "prcm_mpu7xx.h" 34*11fadcfaSAmbresh K 35*11fadcfaSAmbresh K /* Static Dependencies for DRA7xx Clock Domains */ 36*11fadcfaSAmbresh K 37*11fadcfaSAmbresh K static struct clkdm_dep cam_wkup_sleep_deps[] = { 38*11fadcfaSAmbresh K { .clkdm_name = "emif_clkdm" }, 39*11fadcfaSAmbresh K { NULL }, 40*11fadcfaSAmbresh K }; 41*11fadcfaSAmbresh K 42*11fadcfaSAmbresh K static struct clkdm_dep dma_wkup_sleep_deps[] = { 43*11fadcfaSAmbresh K { .clkdm_name = "dss_clkdm" }, 44*11fadcfaSAmbresh K { .clkdm_name = "emif_clkdm" }, 45*11fadcfaSAmbresh K { .clkdm_name = "ipu_clkdm" }, 46*11fadcfaSAmbresh K { .clkdm_name = "ipu1_clkdm" }, 47*11fadcfaSAmbresh K { .clkdm_name = "ipu2_clkdm" }, 48*11fadcfaSAmbresh K { .clkdm_name = "iva_clkdm" }, 49*11fadcfaSAmbresh K { .clkdm_name = "l3init_clkdm" }, 50*11fadcfaSAmbresh K { .clkdm_name = "l4cfg_clkdm" }, 51*11fadcfaSAmbresh K { .clkdm_name = "l4per_clkdm" }, 52*11fadcfaSAmbresh K { .clkdm_name = "l4per2_clkdm" }, 53*11fadcfaSAmbresh K { .clkdm_name = "l4per3_clkdm" }, 54*11fadcfaSAmbresh K { .clkdm_name = "l4sec_clkdm" }, 55*11fadcfaSAmbresh K { .clkdm_name = "pcie_clkdm" }, 56*11fadcfaSAmbresh K { .clkdm_name = "wkupaon_clkdm" }, 57*11fadcfaSAmbresh K { NULL }, 58*11fadcfaSAmbresh K }; 59*11fadcfaSAmbresh K 60*11fadcfaSAmbresh K static struct clkdm_dep dsp1_wkup_sleep_deps[] = { 61*11fadcfaSAmbresh K { .clkdm_name = "atl_clkdm" }, 62*11fadcfaSAmbresh K { .clkdm_name = "cam_clkdm" }, 63*11fadcfaSAmbresh K { .clkdm_name = "dsp2_clkdm" }, 64*11fadcfaSAmbresh K { .clkdm_name = "dss_clkdm" }, 65*11fadcfaSAmbresh K { .clkdm_name = "emif_clkdm" }, 66*11fadcfaSAmbresh K { .clkdm_name = "eve1_clkdm" }, 67*11fadcfaSAmbresh K { .clkdm_name = "eve2_clkdm" }, 68*11fadcfaSAmbresh K { .clkdm_name = "eve3_clkdm" }, 69*11fadcfaSAmbresh K { .clkdm_name = "eve4_clkdm" }, 70*11fadcfaSAmbresh K { .clkdm_name = "gmac_clkdm" }, 71*11fadcfaSAmbresh K { .clkdm_name = "gpu_clkdm" }, 72*11fadcfaSAmbresh K { .clkdm_name = "ipu_clkdm" }, 73*11fadcfaSAmbresh K { .clkdm_name = "ipu1_clkdm" }, 74*11fadcfaSAmbresh K { .clkdm_name = "ipu2_clkdm" }, 75*11fadcfaSAmbresh K { .clkdm_name = "iva_clkdm" }, 76*11fadcfaSAmbresh K { .clkdm_name = "l3init_clkdm" }, 77*11fadcfaSAmbresh K { .clkdm_name = "l4per_clkdm" }, 78*11fadcfaSAmbresh K { .clkdm_name = "l4per2_clkdm" }, 79*11fadcfaSAmbresh K { .clkdm_name = "l4per3_clkdm" }, 80*11fadcfaSAmbresh K { .clkdm_name = "l4sec_clkdm" }, 81*11fadcfaSAmbresh K { .clkdm_name = "pcie_clkdm" }, 82*11fadcfaSAmbresh K { .clkdm_name = "vpe_clkdm" }, 83*11fadcfaSAmbresh K { .clkdm_name = "wkupaon_clkdm" }, 84*11fadcfaSAmbresh K { NULL }, 85*11fadcfaSAmbresh K }; 86*11fadcfaSAmbresh K 87*11fadcfaSAmbresh K static struct clkdm_dep dsp2_wkup_sleep_deps[] = { 88*11fadcfaSAmbresh K { .clkdm_name = "atl_clkdm" }, 89*11fadcfaSAmbresh K { .clkdm_name = "cam_clkdm" }, 90*11fadcfaSAmbresh K { .clkdm_name = "dsp1_clkdm" }, 91*11fadcfaSAmbresh K { .clkdm_name = "dss_clkdm" }, 92*11fadcfaSAmbresh K { .clkdm_name = "emif_clkdm" }, 93*11fadcfaSAmbresh K { .clkdm_name = "eve1_clkdm" }, 94*11fadcfaSAmbresh K { .clkdm_name = "eve2_clkdm" }, 95*11fadcfaSAmbresh K { .clkdm_name = "eve3_clkdm" }, 96*11fadcfaSAmbresh K { .clkdm_name = "eve4_clkdm" }, 97*11fadcfaSAmbresh K { .clkdm_name = "gmac_clkdm" }, 98*11fadcfaSAmbresh K { .clkdm_name = "gpu_clkdm" }, 99*11fadcfaSAmbresh K { .clkdm_name = "ipu_clkdm" }, 100*11fadcfaSAmbresh K { .clkdm_name = "ipu1_clkdm" }, 101*11fadcfaSAmbresh K { .clkdm_name = "ipu2_clkdm" }, 102*11fadcfaSAmbresh K { .clkdm_name = "iva_clkdm" }, 103*11fadcfaSAmbresh K { .clkdm_name = "l3init_clkdm" }, 104*11fadcfaSAmbresh K { .clkdm_name = "l4per_clkdm" }, 105*11fadcfaSAmbresh K { .clkdm_name = "l4per2_clkdm" }, 106*11fadcfaSAmbresh K { .clkdm_name = "l4per3_clkdm" }, 107*11fadcfaSAmbresh K { .clkdm_name = "l4sec_clkdm" }, 108*11fadcfaSAmbresh K { .clkdm_name = "pcie_clkdm" }, 109*11fadcfaSAmbresh K { .clkdm_name = "vpe_clkdm" }, 110*11fadcfaSAmbresh K { .clkdm_name = "wkupaon_clkdm" }, 111*11fadcfaSAmbresh K { NULL }, 112*11fadcfaSAmbresh K }; 113*11fadcfaSAmbresh K 114*11fadcfaSAmbresh K static struct clkdm_dep dss_wkup_sleep_deps[] = { 115*11fadcfaSAmbresh K { .clkdm_name = "emif_clkdm" }, 116*11fadcfaSAmbresh K { .clkdm_name = "iva_clkdm" }, 117*11fadcfaSAmbresh K { NULL }, 118*11fadcfaSAmbresh K }; 119*11fadcfaSAmbresh K 120*11fadcfaSAmbresh K static struct clkdm_dep eve1_wkup_sleep_deps[] = { 121*11fadcfaSAmbresh K { .clkdm_name = "emif_clkdm" }, 122*11fadcfaSAmbresh K { .clkdm_name = "eve2_clkdm" }, 123*11fadcfaSAmbresh K { .clkdm_name = "eve3_clkdm" }, 124*11fadcfaSAmbresh K { .clkdm_name = "eve4_clkdm" }, 125*11fadcfaSAmbresh K { .clkdm_name = "iva_clkdm" }, 126*11fadcfaSAmbresh K { NULL }, 127*11fadcfaSAmbresh K }; 128*11fadcfaSAmbresh K 129*11fadcfaSAmbresh K static struct clkdm_dep eve2_wkup_sleep_deps[] = { 130*11fadcfaSAmbresh K { .clkdm_name = "emif_clkdm" }, 131*11fadcfaSAmbresh K { .clkdm_name = "eve1_clkdm" }, 132*11fadcfaSAmbresh K { .clkdm_name = "eve3_clkdm" }, 133*11fadcfaSAmbresh K { .clkdm_name = "eve4_clkdm" }, 134*11fadcfaSAmbresh K { .clkdm_name = "iva_clkdm" }, 135*11fadcfaSAmbresh K { NULL }, 136*11fadcfaSAmbresh K }; 137*11fadcfaSAmbresh K 138*11fadcfaSAmbresh K static struct clkdm_dep eve3_wkup_sleep_deps[] = { 139*11fadcfaSAmbresh K { .clkdm_name = "emif_clkdm" }, 140*11fadcfaSAmbresh K { .clkdm_name = "eve1_clkdm" }, 141*11fadcfaSAmbresh K { .clkdm_name = "eve2_clkdm" }, 142*11fadcfaSAmbresh K { .clkdm_name = "eve4_clkdm" }, 143*11fadcfaSAmbresh K { .clkdm_name = "iva_clkdm" }, 144*11fadcfaSAmbresh K { NULL }, 145*11fadcfaSAmbresh K }; 146*11fadcfaSAmbresh K 147*11fadcfaSAmbresh K static struct clkdm_dep eve4_wkup_sleep_deps[] = { 148*11fadcfaSAmbresh K { .clkdm_name = "emif_clkdm" }, 149*11fadcfaSAmbresh K { .clkdm_name = "eve1_clkdm" }, 150*11fadcfaSAmbresh K { .clkdm_name = "eve2_clkdm" }, 151*11fadcfaSAmbresh K { .clkdm_name = "eve3_clkdm" }, 152*11fadcfaSAmbresh K { .clkdm_name = "iva_clkdm" }, 153*11fadcfaSAmbresh K { NULL }, 154*11fadcfaSAmbresh K }; 155*11fadcfaSAmbresh K 156*11fadcfaSAmbresh K static struct clkdm_dep gmac_wkup_sleep_deps[] = { 157*11fadcfaSAmbresh K { .clkdm_name = "emif_clkdm" }, 158*11fadcfaSAmbresh K { .clkdm_name = "l4per2_clkdm" }, 159*11fadcfaSAmbresh K { NULL }, 160*11fadcfaSAmbresh K }; 161*11fadcfaSAmbresh K 162*11fadcfaSAmbresh K static struct clkdm_dep gpu_wkup_sleep_deps[] = { 163*11fadcfaSAmbresh K { .clkdm_name = "emif_clkdm" }, 164*11fadcfaSAmbresh K { .clkdm_name = "iva_clkdm" }, 165*11fadcfaSAmbresh K { NULL }, 166*11fadcfaSAmbresh K }; 167*11fadcfaSAmbresh K 168*11fadcfaSAmbresh K static struct clkdm_dep ipu1_wkup_sleep_deps[] = { 169*11fadcfaSAmbresh K { .clkdm_name = "atl_clkdm" }, 170*11fadcfaSAmbresh K { .clkdm_name = "dsp1_clkdm" }, 171*11fadcfaSAmbresh K { .clkdm_name = "dsp2_clkdm" }, 172*11fadcfaSAmbresh K { .clkdm_name = "dss_clkdm" }, 173*11fadcfaSAmbresh K { .clkdm_name = "emif_clkdm" }, 174*11fadcfaSAmbresh K { .clkdm_name = "eve1_clkdm" }, 175*11fadcfaSAmbresh K { .clkdm_name = "eve2_clkdm" }, 176*11fadcfaSAmbresh K { .clkdm_name = "eve3_clkdm" }, 177*11fadcfaSAmbresh K { .clkdm_name = "eve4_clkdm" }, 178*11fadcfaSAmbresh K { .clkdm_name = "gmac_clkdm" }, 179*11fadcfaSAmbresh K { .clkdm_name = "gpu_clkdm" }, 180*11fadcfaSAmbresh K { .clkdm_name = "ipu_clkdm" }, 181*11fadcfaSAmbresh K { .clkdm_name = "ipu2_clkdm" }, 182*11fadcfaSAmbresh K { .clkdm_name = "iva_clkdm" }, 183*11fadcfaSAmbresh K { .clkdm_name = "l3init_clkdm" }, 184*11fadcfaSAmbresh K { .clkdm_name = "l3main1_clkdm" }, 185*11fadcfaSAmbresh K { .clkdm_name = "l4cfg_clkdm" }, 186*11fadcfaSAmbresh K { .clkdm_name = "l4per_clkdm" }, 187*11fadcfaSAmbresh K { .clkdm_name = "l4per2_clkdm" }, 188*11fadcfaSAmbresh K { .clkdm_name = "l4per3_clkdm" }, 189*11fadcfaSAmbresh K { .clkdm_name = "l4sec_clkdm" }, 190*11fadcfaSAmbresh K { .clkdm_name = "pcie_clkdm" }, 191*11fadcfaSAmbresh K { .clkdm_name = "vpe_clkdm" }, 192*11fadcfaSAmbresh K { .clkdm_name = "wkupaon_clkdm" }, 193*11fadcfaSAmbresh K { NULL }, 194*11fadcfaSAmbresh K }; 195*11fadcfaSAmbresh K 196*11fadcfaSAmbresh K static struct clkdm_dep ipu2_wkup_sleep_deps[] = { 197*11fadcfaSAmbresh K { .clkdm_name = "atl_clkdm" }, 198*11fadcfaSAmbresh K { .clkdm_name = "dsp1_clkdm" }, 199*11fadcfaSAmbresh K { .clkdm_name = "dsp2_clkdm" }, 200*11fadcfaSAmbresh K { .clkdm_name = "dss_clkdm" }, 201*11fadcfaSAmbresh K { .clkdm_name = "emif_clkdm" }, 202*11fadcfaSAmbresh K { .clkdm_name = "eve1_clkdm" }, 203*11fadcfaSAmbresh K { .clkdm_name = "eve2_clkdm" }, 204*11fadcfaSAmbresh K { .clkdm_name = "eve3_clkdm" }, 205*11fadcfaSAmbresh K { .clkdm_name = "eve4_clkdm" }, 206*11fadcfaSAmbresh K { .clkdm_name = "gmac_clkdm" }, 207*11fadcfaSAmbresh K { .clkdm_name = "gpu_clkdm" }, 208*11fadcfaSAmbresh K { .clkdm_name = "ipu_clkdm" }, 209*11fadcfaSAmbresh K { .clkdm_name = "ipu1_clkdm" }, 210*11fadcfaSAmbresh K { .clkdm_name = "iva_clkdm" }, 211*11fadcfaSAmbresh K { .clkdm_name = "l3init_clkdm" }, 212*11fadcfaSAmbresh K { .clkdm_name = "l3main1_clkdm" }, 213*11fadcfaSAmbresh K { .clkdm_name = "l4cfg_clkdm" }, 214*11fadcfaSAmbresh K { .clkdm_name = "l4per_clkdm" }, 215*11fadcfaSAmbresh K { .clkdm_name = "l4per2_clkdm" }, 216*11fadcfaSAmbresh K { .clkdm_name = "l4per3_clkdm" }, 217*11fadcfaSAmbresh K { .clkdm_name = "l4sec_clkdm" }, 218*11fadcfaSAmbresh K { .clkdm_name = "pcie_clkdm" }, 219*11fadcfaSAmbresh K { .clkdm_name = "vpe_clkdm" }, 220*11fadcfaSAmbresh K { .clkdm_name = "wkupaon_clkdm" }, 221*11fadcfaSAmbresh K { NULL }, 222*11fadcfaSAmbresh K }; 223*11fadcfaSAmbresh K 224*11fadcfaSAmbresh K static struct clkdm_dep iva_wkup_sleep_deps[] = { 225*11fadcfaSAmbresh K { .clkdm_name = "emif_clkdm" }, 226*11fadcfaSAmbresh K { NULL }, 227*11fadcfaSAmbresh K }; 228*11fadcfaSAmbresh K 229*11fadcfaSAmbresh K static struct clkdm_dep l3init_wkup_sleep_deps[] = { 230*11fadcfaSAmbresh K { .clkdm_name = "emif_clkdm" }, 231*11fadcfaSAmbresh K { .clkdm_name = "iva_clkdm" }, 232*11fadcfaSAmbresh K { .clkdm_name = "l4cfg_clkdm" }, 233*11fadcfaSAmbresh K { .clkdm_name = "l4per_clkdm" }, 234*11fadcfaSAmbresh K { .clkdm_name = "l4per3_clkdm" }, 235*11fadcfaSAmbresh K { .clkdm_name = "l4sec_clkdm" }, 236*11fadcfaSAmbresh K { .clkdm_name = "wkupaon_clkdm" }, 237*11fadcfaSAmbresh K { NULL }, 238*11fadcfaSAmbresh K }; 239*11fadcfaSAmbresh K 240*11fadcfaSAmbresh K static struct clkdm_dep l4per2_wkup_sleep_deps[] = { 241*11fadcfaSAmbresh K { .clkdm_name = "dsp1_clkdm" }, 242*11fadcfaSAmbresh K { .clkdm_name = "dsp2_clkdm" }, 243*11fadcfaSAmbresh K { .clkdm_name = "ipu1_clkdm" }, 244*11fadcfaSAmbresh K { .clkdm_name = "ipu2_clkdm" }, 245*11fadcfaSAmbresh K { NULL }, 246*11fadcfaSAmbresh K }; 247*11fadcfaSAmbresh K 248*11fadcfaSAmbresh K static struct clkdm_dep l4sec_wkup_sleep_deps[] = { 249*11fadcfaSAmbresh K { .clkdm_name = "emif_clkdm" }, 250*11fadcfaSAmbresh K { .clkdm_name = "l4per_clkdm" }, 251*11fadcfaSAmbresh K { NULL }, 252*11fadcfaSAmbresh K }; 253*11fadcfaSAmbresh K 254*11fadcfaSAmbresh K static struct clkdm_dep mpu_wkup_sleep_deps[] = { 255*11fadcfaSAmbresh K { .clkdm_name = "cam_clkdm" }, 256*11fadcfaSAmbresh K { .clkdm_name = "dsp1_clkdm" }, 257*11fadcfaSAmbresh K { .clkdm_name = "dsp2_clkdm" }, 258*11fadcfaSAmbresh K { .clkdm_name = "dss_clkdm" }, 259*11fadcfaSAmbresh K { .clkdm_name = "emif_clkdm" }, 260*11fadcfaSAmbresh K { .clkdm_name = "eve1_clkdm" }, 261*11fadcfaSAmbresh K { .clkdm_name = "eve2_clkdm" }, 262*11fadcfaSAmbresh K { .clkdm_name = "eve3_clkdm" }, 263*11fadcfaSAmbresh K { .clkdm_name = "eve4_clkdm" }, 264*11fadcfaSAmbresh K { .clkdm_name = "gmac_clkdm" }, 265*11fadcfaSAmbresh K { .clkdm_name = "gpu_clkdm" }, 266*11fadcfaSAmbresh K { .clkdm_name = "ipu_clkdm" }, 267*11fadcfaSAmbresh K { .clkdm_name = "ipu1_clkdm" }, 268*11fadcfaSAmbresh K { .clkdm_name = "ipu2_clkdm" }, 269*11fadcfaSAmbresh K { .clkdm_name = "iva_clkdm" }, 270*11fadcfaSAmbresh K { .clkdm_name = "l3init_clkdm" }, 271*11fadcfaSAmbresh K { .clkdm_name = "l3main1_clkdm" }, 272*11fadcfaSAmbresh K { .clkdm_name = "l4cfg_clkdm" }, 273*11fadcfaSAmbresh K { .clkdm_name = "l4per_clkdm" }, 274*11fadcfaSAmbresh K { .clkdm_name = "l4per2_clkdm" }, 275*11fadcfaSAmbresh K { .clkdm_name = "l4per3_clkdm" }, 276*11fadcfaSAmbresh K { .clkdm_name = "l4sec_clkdm" }, 277*11fadcfaSAmbresh K { .clkdm_name = "pcie_clkdm" }, 278*11fadcfaSAmbresh K { .clkdm_name = "vpe_clkdm" }, 279*11fadcfaSAmbresh K { .clkdm_name = "wkupaon_clkdm" }, 280*11fadcfaSAmbresh K { NULL }, 281*11fadcfaSAmbresh K }; 282*11fadcfaSAmbresh K 283*11fadcfaSAmbresh K static struct clkdm_dep pcie_wkup_sleep_deps[] = { 284*11fadcfaSAmbresh K { .clkdm_name = "atl_clkdm" }, 285*11fadcfaSAmbresh K { .clkdm_name = "cam_clkdm" }, 286*11fadcfaSAmbresh K { .clkdm_name = "dsp1_clkdm" }, 287*11fadcfaSAmbresh K { .clkdm_name = "dsp2_clkdm" }, 288*11fadcfaSAmbresh K { .clkdm_name = "dss_clkdm" }, 289*11fadcfaSAmbresh K { .clkdm_name = "emif_clkdm" }, 290*11fadcfaSAmbresh K { .clkdm_name = "eve1_clkdm" }, 291*11fadcfaSAmbresh K { .clkdm_name = "eve2_clkdm" }, 292*11fadcfaSAmbresh K { .clkdm_name = "eve3_clkdm" }, 293*11fadcfaSAmbresh K { .clkdm_name = "eve4_clkdm" }, 294*11fadcfaSAmbresh K { .clkdm_name = "gmac_clkdm" }, 295*11fadcfaSAmbresh K { .clkdm_name = "gpu_clkdm" }, 296*11fadcfaSAmbresh K { .clkdm_name = "ipu_clkdm" }, 297*11fadcfaSAmbresh K { .clkdm_name = "ipu1_clkdm" }, 298*11fadcfaSAmbresh K { .clkdm_name = "iva_clkdm" }, 299*11fadcfaSAmbresh K { .clkdm_name = "l3init_clkdm" }, 300*11fadcfaSAmbresh K { .clkdm_name = "l4cfg_clkdm" }, 301*11fadcfaSAmbresh K { .clkdm_name = "l4per_clkdm" }, 302*11fadcfaSAmbresh K { .clkdm_name = "l4per2_clkdm" }, 303*11fadcfaSAmbresh K { .clkdm_name = "l4per3_clkdm" }, 304*11fadcfaSAmbresh K { .clkdm_name = "l4sec_clkdm" }, 305*11fadcfaSAmbresh K { .clkdm_name = "vpe_clkdm" }, 306*11fadcfaSAmbresh K { NULL }, 307*11fadcfaSAmbresh K }; 308*11fadcfaSAmbresh K 309*11fadcfaSAmbresh K static struct clkdm_dep vpe_wkup_sleep_deps[] = { 310*11fadcfaSAmbresh K { .clkdm_name = "emif_clkdm" }, 311*11fadcfaSAmbresh K { .clkdm_name = "l4per3_clkdm" }, 312*11fadcfaSAmbresh K { NULL }, 313*11fadcfaSAmbresh K }; 314*11fadcfaSAmbresh K 315*11fadcfaSAmbresh K static struct clockdomain l4per3_7xx_clkdm = { 316*11fadcfaSAmbresh K .name = "l4per3_clkdm", 317*11fadcfaSAmbresh K .pwrdm = { .name = "l4per_pwrdm" }, 318*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_PARTITION, 319*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_L4PER_INST, 320*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_L4PER_L4PER3_CDOFFS, 321*11fadcfaSAmbresh K .dep_bit = DRA7XX_L4PER3_STATDEP_SHIFT, 322*11fadcfaSAmbresh K .flags = CLKDM_CAN_HWSUP_SWSUP, 323*11fadcfaSAmbresh K }; 324*11fadcfaSAmbresh K 325*11fadcfaSAmbresh K static struct clockdomain l4per2_7xx_clkdm = { 326*11fadcfaSAmbresh K .name = "l4per2_clkdm", 327*11fadcfaSAmbresh K .pwrdm = { .name = "l4per_pwrdm" }, 328*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_PARTITION, 329*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_L4PER_INST, 330*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_L4PER_L4PER2_CDOFFS, 331*11fadcfaSAmbresh K .dep_bit = DRA7XX_L4PER2_STATDEP_SHIFT, 332*11fadcfaSAmbresh K .wkdep_srcs = l4per2_wkup_sleep_deps, 333*11fadcfaSAmbresh K .sleepdep_srcs = l4per2_wkup_sleep_deps, 334*11fadcfaSAmbresh K .flags = CLKDM_CAN_HWSUP_SWSUP, 335*11fadcfaSAmbresh K }; 336*11fadcfaSAmbresh K 337*11fadcfaSAmbresh K static struct clockdomain mpu0_7xx_clkdm = { 338*11fadcfaSAmbresh K .name = "mpu0_clkdm", 339*11fadcfaSAmbresh K .pwrdm = { .name = "cpu0_pwrdm" }, 340*11fadcfaSAmbresh K .prcm_partition = DRA7XX_MPU_PRCM_PARTITION, 341*11fadcfaSAmbresh K .cm_inst = DRA7XX_MPU_PRCM_CM_C0_INST, 342*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_MPU_PRCM_CM_C0_CPU0_CDOFFS, 343*11fadcfaSAmbresh K .flags = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP, 344*11fadcfaSAmbresh K }; 345*11fadcfaSAmbresh K 346*11fadcfaSAmbresh K static struct clockdomain iva_7xx_clkdm = { 347*11fadcfaSAmbresh K .name = "iva_clkdm", 348*11fadcfaSAmbresh K .pwrdm = { .name = "iva_pwrdm" }, 349*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_PARTITION, 350*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_IVA_INST, 351*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_IVA_IVA_CDOFFS, 352*11fadcfaSAmbresh K .dep_bit = DRA7XX_IVA_STATDEP_SHIFT, 353*11fadcfaSAmbresh K .wkdep_srcs = iva_wkup_sleep_deps, 354*11fadcfaSAmbresh K .sleepdep_srcs = iva_wkup_sleep_deps, 355*11fadcfaSAmbresh K .flags = CLKDM_CAN_HWSUP_SWSUP, 356*11fadcfaSAmbresh K }; 357*11fadcfaSAmbresh K 358*11fadcfaSAmbresh K static struct clockdomain coreaon_7xx_clkdm = { 359*11fadcfaSAmbresh K .name = "coreaon_clkdm", 360*11fadcfaSAmbresh K .pwrdm = { .name = "coreaon_pwrdm" }, 361*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_PARTITION, 362*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_COREAON_INST, 363*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_COREAON_COREAON_CDOFFS, 364*11fadcfaSAmbresh K .flags = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP, 365*11fadcfaSAmbresh K }; 366*11fadcfaSAmbresh K 367*11fadcfaSAmbresh K static struct clockdomain ipu1_7xx_clkdm = { 368*11fadcfaSAmbresh K .name = "ipu1_clkdm", 369*11fadcfaSAmbresh K .pwrdm = { .name = "ipu_pwrdm" }, 370*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_AON_PARTITION, 371*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_AON_IPU_INST, 372*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_AON_IPU_IPU1_CDOFFS, 373*11fadcfaSAmbresh K .dep_bit = DRA7XX_IPU1_STATDEP_SHIFT, 374*11fadcfaSAmbresh K .wkdep_srcs = ipu1_wkup_sleep_deps, 375*11fadcfaSAmbresh K .sleepdep_srcs = ipu1_wkup_sleep_deps, 376*11fadcfaSAmbresh K .flags = CLKDM_CAN_HWSUP_SWSUP, 377*11fadcfaSAmbresh K }; 378*11fadcfaSAmbresh K 379*11fadcfaSAmbresh K static struct clockdomain ipu2_7xx_clkdm = { 380*11fadcfaSAmbresh K .name = "ipu2_clkdm", 381*11fadcfaSAmbresh K .pwrdm = { .name = "core_pwrdm" }, 382*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_PARTITION, 383*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_CORE_INST, 384*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_CORE_IPU2_CDOFFS, 385*11fadcfaSAmbresh K .dep_bit = DRA7XX_IPU2_STATDEP_SHIFT, 386*11fadcfaSAmbresh K .wkdep_srcs = ipu2_wkup_sleep_deps, 387*11fadcfaSAmbresh K .sleepdep_srcs = ipu2_wkup_sleep_deps, 388*11fadcfaSAmbresh K .flags = CLKDM_CAN_HWSUP_SWSUP, 389*11fadcfaSAmbresh K }; 390*11fadcfaSAmbresh K 391*11fadcfaSAmbresh K static struct clockdomain l3init_7xx_clkdm = { 392*11fadcfaSAmbresh K .name = "l3init_clkdm", 393*11fadcfaSAmbresh K .pwrdm = { .name = "l3init_pwrdm" }, 394*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_PARTITION, 395*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_L3INIT_INST, 396*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_L3INIT_L3INIT_CDOFFS, 397*11fadcfaSAmbresh K .dep_bit = DRA7XX_L3INIT_STATDEP_SHIFT, 398*11fadcfaSAmbresh K .wkdep_srcs = l3init_wkup_sleep_deps, 399*11fadcfaSAmbresh K .sleepdep_srcs = l3init_wkup_sleep_deps, 400*11fadcfaSAmbresh K .flags = CLKDM_CAN_HWSUP_SWSUP, 401*11fadcfaSAmbresh K }; 402*11fadcfaSAmbresh K 403*11fadcfaSAmbresh K static struct clockdomain l4sec_7xx_clkdm = { 404*11fadcfaSAmbresh K .name = "l4sec_clkdm", 405*11fadcfaSAmbresh K .pwrdm = { .name = "l4per_pwrdm" }, 406*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_PARTITION, 407*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_L4PER_INST, 408*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_L4PER_L4SEC_CDOFFS, 409*11fadcfaSAmbresh K .dep_bit = DRA7XX_L4SEC_STATDEP_SHIFT, 410*11fadcfaSAmbresh K .wkdep_srcs = l4sec_wkup_sleep_deps, 411*11fadcfaSAmbresh K .sleepdep_srcs = l4sec_wkup_sleep_deps, 412*11fadcfaSAmbresh K .flags = CLKDM_CAN_HWSUP_SWSUP, 413*11fadcfaSAmbresh K }; 414*11fadcfaSAmbresh K 415*11fadcfaSAmbresh K static struct clockdomain l3main1_7xx_clkdm = { 416*11fadcfaSAmbresh K .name = "l3main1_clkdm", 417*11fadcfaSAmbresh K .pwrdm = { .name = "core_pwrdm" }, 418*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_PARTITION, 419*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_CORE_INST, 420*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_CORE_L3MAIN1_CDOFFS, 421*11fadcfaSAmbresh K .dep_bit = DRA7XX_L3MAIN1_STATDEP_SHIFT, 422*11fadcfaSAmbresh K .flags = CLKDM_CAN_HWSUP, 423*11fadcfaSAmbresh K }; 424*11fadcfaSAmbresh K 425*11fadcfaSAmbresh K static struct clockdomain vpe_7xx_clkdm = { 426*11fadcfaSAmbresh K .name = "vpe_clkdm", 427*11fadcfaSAmbresh K .pwrdm = { .name = "vpe_pwrdm" }, 428*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_AON_PARTITION, 429*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_AON_VPE_INST, 430*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_AON_VPE_VPE_CDOFFS, 431*11fadcfaSAmbresh K .dep_bit = DRA7XX_VPE_STATDEP_SHIFT, 432*11fadcfaSAmbresh K .wkdep_srcs = vpe_wkup_sleep_deps, 433*11fadcfaSAmbresh K .sleepdep_srcs = vpe_wkup_sleep_deps, 434*11fadcfaSAmbresh K .flags = CLKDM_CAN_HWSUP_SWSUP, 435*11fadcfaSAmbresh K }; 436*11fadcfaSAmbresh K 437*11fadcfaSAmbresh K static struct clockdomain mpu_7xx_clkdm = { 438*11fadcfaSAmbresh K .name = "mpu_clkdm", 439*11fadcfaSAmbresh K .pwrdm = { .name = "mpu_pwrdm" }, 440*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_AON_PARTITION, 441*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_AON_MPU_INST, 442*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_AON_MPU_MPU_CDOFFS, 443*11fadcfaSAmbresh K .wkdep_srcs = mpu_wkup_sleep_deps, 444*11fadcfaSAmbresh K .sleepdep_srcs = mpu_wkup_sleep_deps, 445*11fadcfaSAmbresh K .flags = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP, 446*11fadcfaSAmbresh K }; 447*11fadcfaSAmbresh K 448*11fadcfaSAmbresh K static struct clockdomain custefuse_7xx_clkdm = { 449*11fadcfaSAmbresh K .name = "custefuse_clkdm", 450*11fadcfaSAmbresh K .pwrdm = { .name = "custefuse_pwrdm" }, 451*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_PARTITION, 452*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_CUSTEFUSE_INST, 453*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_CUSTEFUSE_CUSTEFUSE_CDOFFS, 454*11fadcfaSAmbresh K .flags = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP, 455*11fadcfaSAmbresh K }; 456*11fadcfaSAmbresh K 457*11fadcfaSAmbresh K static struct clockdomain ipu_7xx_clkdm = { 458*11fadcfaSAmbresh K .name = "ipu_clkdm", 459*11fadcfaSAmbresh K .pwrdm = { .name = "ipu_pwrdm" }, 460*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_AON_PARTITION, 461*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_AON_IPU_INST, 462*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_AON_IPU_IPU_CDOFFS, 463*11fadcfaSAmbresh K .dep_bit = DRA7XX_IPU_STATDEP_SHIFT, 464*11fadcfaSAmbresh K .flags = CLKDM_CAN_HWSUP_SWSUP, 465*11fadcfaSAmbresh K }; 466*11fadcfaSAmbresh K 467*11fadcfaSAmbresh K static struct clockdomain mpu1_7xx_clkdm = { 468*11fadcfaSAmbresh K .name = "mpu1_clkdm", 469*11fadcfaSAmbresh K .pwrdm = { .name = "cpu1_pwrdm" }, 470*11fadcfaSAmbresh K .prcm_partition = DRA7XX_MPU_PRCM_PARTITION, 471*11fadcfaSAmbresh K .cm_inst = DRA7XX_MPU_PRCM_CM_C1_INST, 472*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_MPU_PRCM_CM_C1_CPU1_CDOFFS, 473*11fadcfaSAmbresh K .flags = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP, 474*11fadcfaSAmbresh K }; 475*11fadcfaSAmbresh K 476*11fadcfaSAmbresh K static struct clockdomain gmac_7xx_clkdm = { 477*11fadcfaSAmbresh K .name = "gmac_clkdm", 478*11fadcfaSAmbresh K .pwrdm = { .name = "l3init_pwrdm" }, 479*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_PARTITION, 480*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_L3INIT_INST, 481*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_L3INIT_GMAC_CDOFFS, 482*11fadcfaSAmbresh K .dep_bit = DRA7XX_GMAC_STATDEP_SHIFT, 483*11fadcfaSAmbresh K .wkdep_srcs = gmac_wkup_sleep_deps, 484*11fadcfaSAmbresh K .sleepdep_srcs = gmac_wkup_sleep_deps, 485*11fadcfaSAmbresh K .flags = CLKDM_CAN_HWSUP_SWSUP, 486*11fadcfaSAmbresh K }; 487*11fadcfaSAmbresh K 488*11fadcfaSAmbresh K static struct clockdomain l4cfg_7xx_clkdm = { 489*11fadcfaSAmbresh K .name = "l4cfg_clkdm", 490*11fadcfaSAmbresh K .pwrdm = { .name = "core_pwrdm" }, 491*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_PARTITION, 492*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_CORE_INST, 493*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_CORE_L4CFG_CDOFFS, 494*11fadcfaSAmbresh K .dep_bit = DRA7XX_L4CFG_STATDEP_SHIFT, 495*11fadcfaSAmbresh K .flags = CLKDM_CAN_HWSUP, 496*11fadcfaSAmbresh K }; 497*11fadcfaSAmbresh K 498*11fadcfaSAmbresh K static struct clockdomain dma_7xx_clkdm = { 499*11fadcfaSAmbresh K .name = "dma_clkdm", 500*11fadcfaSAmbresh K .pwrdm = { .name = "core_pwrdm" }, 501*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_PARTITION, 502*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_CORE_INST, 503*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_CORE_DMA_CDOFFS, 504*11fadcfaSAmbresh K .wkdep_srcs = dma_wkup_sleep_deps, 505*11fadcfaSAmbresh K .sleepdep_srcs = dma_wkup_sleep_deps, 506*11fadcfaSAmbresh K .flags = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP, 507*11fadcfaSAmbresh K }; 508*11fadcfaSAmbresh K 509*11fadcfaSAmbresh K static struct clockdomain rtc_7xx_clkdm = { 510*11fadcfaSAmbresh K .name = "rtc_clkdm", 511*11fadcfaSAmbresh K .pwrdm = { .name = "rtc_pwrdm" }, 512*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_AON_PARTITION, 513*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_AON_RTC_INST, 514*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_AON_RTC_RTC_CDOFFS, 515*11fadcfaSAmbresh K .flags = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP, 516*11fadcfaSAmbresh K }; 517*11fadcfaSAmbresh K 518*11fadcfaSAmbresh K static struct clockdomain pcie_7xx_clkdm = { 519*11fadcfaSAmbresh K .name = "pcie_clkdm", 520*11fadcfaSAmbresh K .pwrdm = { .name = "l3init_pwrdm" }, 521*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_PARTITION, 522*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_L3INIT_INST, 523*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_L3INIT_PCIE_CDOFFS, 524*11fadcfaSAmbresh K .dep_bit = DRA7XX_PCIE_STATDEP_SHIFT, 525*11fadcfaSAmbresh K .wkdep_srcs = pcie_wkup_sleep_deps, 526*11fadcfaSAmbresh K .sleepdep_srcs = pcie_wkup_sleep_deps, 527*11fadcfaSAmbresh K .flags = CLKDM_CAN_HWSUP_SWSUP, 528*11fadcfaSAmbresh K }; 529*11fadcfaSAmbresh K 530*11fadcfaSAmbresh K static struct clockdomain atl_7xx_clkdm = { 531*11fadcfaSAmbresh K .name = "atl_clkdm", 532*11fadcfaSAmbresh K .pwrdm = { .name = "core_pwrdm" }, 533*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_PARTITION, 534*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_CORE_INST, 535*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_CORE_ATL_CDOFFS, 536*11fadcfaSAmbresh K .dep_bit = DRA7XX_ATL_STATDEP_SHIFT, 537*11fadcfaSAmbresh K .flags = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP, 538*11fadcfaSAmbresh K }; 539*11fadcfaSAmbresh K 540*11fadcfaSAmbresh K static struct clockdomain l3instr_7xx_clkdm = { 541*11fadcfaSAmbresh K .name = "l3instr_clkdm", 542*11fadcfaSAmbresh K .pwrdm = { .name = "core_pwrdm" }, 543*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_PARTITION, 544*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_CORE_INST, 545*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_CORE_L3INSTR_CDOFFS, 546*11fadcfaSAmbresh K }; 547*11fadcfaSAmbresh K 548*11fadcfaSAmbresh K static struct clockdomain dss_7xx_clkdm = { 549*11fadcfaSAmbresh K .name = "dss_clkdm", 550*11fadcfaSAmbresh K .pwrdm = { .name = "dss_pwrdm" }, 551*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_PARTITION, 552*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_DSS_INST, 553*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_DSS_DSS_CDOFFS, 554*11fadcfaSAmbresh K .dep_bit = DRA7XX_DSS_STATDEP_SHIFT, 555*11fadcfaSAmbresh K .wkdep_srcs = dss_wkup_sleep_deps, 556*11fadcfaSAmbresh K .sleepdep_srcs = dss_wkup_sleep_deps, 557*11fadcfaSAmbresh K .flags = CLKDM_CAN_HWSUP_SWSUP, 558*11fadcfaSAmbresh K }; 559*11fadcfaSAmbresh K 560*11fadcfaSAmbresh K static struct clockdomain emif_7xx_clkdm = { 561*11fadcfaSAmbresh K .name = "emif_clkdm", 562*11fadcfaSAmbresh K .pwrdm = { .name = "core_pwrdm" }, 563*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_PARTITION, 564*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_CORE_INST, 565*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_CORE_EMIF_CDOFFS, 566*11fadcfaSAmbresh K .dep_bit = DRA7XX_EMIF_STATDEP_SHIFT, 567*11fadcfaSAmbresh K .flags = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP, 568*11fadcfaSAmbresh K }; 569*11fadcfaSAmbresh K 570*11fadcfaSAmbresh K static struct clockdomain emu_7xx_clkdm = { 571*11fadcfaSAmbresh K .name = "emu_clkdm", 572*11fadcfaSAmbresh K .pwrdm = { .name = "emu_pwrdm" }, 573*11fadcfaSAmbresh K .prcm_partition = DRA7XX_PRM_PARTITION, 574*11fadcfaSAmbresh K .cm_inst = DRA7XX_PRM_EMU_CM_INST, 575*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_PRM_EMU_CM_EMU_CDOFFS, 576*11fadcfaSAmbresh K .flags = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP, 577*11fadcfaSAmbresh K }; 578*11fadcfaSAmbresh K 579*11fadcfaSAmbresh K static struct clockdomain dsp2_7xx_clkdm = { 580*11fadcfaSAmbresh K .name = "dsp2_clkdm", 581*11fadcfaSAmbresh K .pwrdm = { .name = "dsp2_pwrdm" }, 582*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_AON_PARTITION, 583*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_AON_DSP2_INST, 584*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_AON_DSP2_DSP2_CDOFFS, 585*11fadcfaSAmbresh K .dep_bit = DRA7XX_DSP2_STATDEP_SHIFT, 586*11fadcfaSAmbresh K .wkdep_srcs = dsp2_wkup_sleep_deps, 587*11fadcfaSAmbresh K .sleepdep_srcs = dsp2_wkup_sleep_deps, 588*11fadcfaSAmbresh K .flags = CLKDM_CAN_HWSUP_SWSUP, 589*11fadcfaSAmbresh K }; 590*11fadcfaSAmbresh K 591*11fadcfaSAmbresh K static struct clockdomain dsp1_7xx_clkdm = { 592*11fadcfaSAmbresh K .name = "dsp1_clkdm", 593*11fadcfaSAmbresh K .pwrdm = { .name = "dsp1_pwrdm" }, 594*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_AON_PARTITION, 595*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_AON_DSP1_INST, 596*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_AON_DSP1_DSP1_CDOFFS, 597*11fadcfaSAmbresh K .dep_bit = DRA7XX_DSP1_STATDEP_SHIFT, 598*11fadcfaSAmbresh K .wkdep_srcs = dsp1_wkup_sleep_deps, 599*11fadcfaSAmbresh K .sleepdep_srcs = dsp1_wkup_sleep_deps, 600*11fadcfaSAmbresh K .flags = CLKDM_CAN_HWSUP_SWSUP, 601*11fadcfaSAmbresh K }; 602*11fadcfaSAmbresh K 603*11fadcfaSAmbresh K static struct clockdomain cam_7xx_clkdm = { 604*11fadcfaSAmbresh K .name = "cam_clkdm", 605*11fadcfaSAmbresh K .pwrdm = { .name = "cam_pwrdm" }, 606*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_PARTITION, 607*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_CAM_INST, 608*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_CAM_CAM_CDOFFS, 609*11fadcfaSAmbresh K .dep_bit = DRA7XX_CAM_STATDEP_SHIFT, 610*11fadcfaSAmbresh K .wkdep_srcs = cam_wkup_sleep_deps, 611*11fadcfaSAmbresh K .sleepdep_srcs = cam_wkup_sleep_deps, 612*11fadcfaSAmbresh K .flags = CLKDM_CAN_HWSUP_SWSUP, 613*11fadcfaSAmbresh K }; 614*11fadcfaSAmbresh K 615*11fadcfaSAmbresh K static struct clockdomain l4per_7xx_clkdm = { 616*11fadcfaSAmbresh K .name = "l4per_clkdm", 617*11fadcfaSAmbresh K .pwrdm = { .name = "l4per_pwrdm" }, 618*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_PARTITION, 619*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_L4PER_INST, 620*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_L4PER_L4PER_CDOFFS, 621*11fadcfaSAmbresh K .dep_bit = DRA7XX_L4PER_STATDEP_SHIFT, 622*11fadcfaSAmbresh K .flags = CLKDM_CAN_HWSUP_SWSUP, 623*11fadcfaSAmbresh K }; 624*11fadcfaSAmbresh K 625*11fadcfaSAmbresh K static struct clockdomain gpu_7xx_clkdm = { 626*11fadcfaSAmbresh K .name = "gpu_clkdm", 627*11fadcfaSAmbresh K .pwrdm = { .name = "gpu_pwrdm" }, 628*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_PARTITION, 629*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_GPU_INST, 630*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_GPU_GPU_CDOFFS, 631*11fadcfaSAmbresh K .dep_bit = DRA7XX_GPU_STATDEP_SHIFT, 632*11fadcfaSAmbresh K .wkdep_srcs = gpu_wkup_sleep_deps, 633*11fadcfaSAmbresh K .sleepdep_srcs = gpu_wkup_sleep_deps, 634*11fadcfaSAmbresh K .flags = CLKDM_CAN_HWSUP_SWSUP, 635*11fadcfaSAmbresh K }; 636*11fadcfaSAmbresh K 637*11fadcfaSAmbresh K static struct clockdomain eve4_7xx_clkdm = { 638*11fadcfaSAmbresh K .name = "eve4_clkdm", 639*11fadcfaSAmbresh K .pwrdm = { .name = "eve4_pwrdm" }, 640*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_AON_PARTITION, 641*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_AON_EVE4_INST, 642*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_AON_EVE4_EVE4_CDOFFS, 643*11fadcfaSAmbresh K .dep_bit = DRA7XX_EVE4_STATDEP_SHIFT, 644*11fadcfaSAmbresh K .wkdep_srcs = eve4_wkup_sleep_deps, 645*11fadcfaSAmbresh K .sleepdep_srcs = eve4_wkup_sleep_deps, 646*11fadcfaSAmbresh K .flags = CLKDM_CAN_HWSUP_SWSUP, 647*11fadcfaSAmbresh K }; 648*11fadcfaSAmbresh K 649*11fadcfaSAmbresh K static struct clockdomain eve2_7xx_clkdm = { 650*11fadcfaSAmbresh K .name = "eve2_clkdm", 651*11fadcfaSAmbresh K .pwrdm = { .name = "eve2_pwrdm" }, 652*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_AON_PARTITION, 653*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_AON_EVE2_INST, 654*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_AON_EVE2_EVE2_CDOFFS, 655*11fadcfaSAmbresh K .dep_bit = DRA7XX_EVE2_STATDEP_SHIFT, 656*11fadcfaSAmbresh K .wkdep_srcs = eve2_wkup_sleep_deps, 657*11fadcfaSAmbresh K .sleepdep_srcs = eve2_wkup_sleep_deps, 658*11fadcfaSAmbresh K .flags = CLKDM_CAN_HWSUP_SWSUP, 659*11fadcfaSAmbresh K }; 660*11fadcfaSAmbresh K 661*11fadcfaSAmbresh K static struct clockdomain eve3_7xx_clkdm = { 662*11fadcfaSAmbresh K .name = "eve3_clkdm", 663*11fadcfaSAmbresh K .pwrdm = { .name = "eve3_pwrdm" }, 664*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_AON_PARTITION, 665*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_AON_EVE3_INST, 666*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_AON_EVE3_EVE3_CDOFFS, 667*11fadcfaSAmbresh K .dep_bit = DRA7XX_EVE3_STATDEP_SHIFT, 668*11fadcfaSAmbresh K .wkdep_srcs = eve3_wkup_sleep_deps, 669*11fadcfaSAmbresh K .sleepdep_srcs = eve3_wkup_sleep_deps, 670*11fadcfaSAmbresh K .flags = CLKDM_CAN_HWSUP_SWSUP, 671*11fadcfaSAmbresh K }; 672*11fadcfaSAmbresh K 673*11fadcfaSAmbresh K static struct clockdomain wkupaon_7xx_clkdm = { 674*11fadcfaSAmbresh K .name = "wkupaon_clkdm", 675*11fadcfaSAmbresh K .pwrdm = { .name = "wkupaon_pwrdm" }, 676*11fadcfaSAmbresh K .prcm_partition = DRA7XX_PRM_PARTITION, 677*11fadcfaSAmbresh K .cm_inst = DRA7XX_PRM_WKUPAON_CM_INST, 678*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_PRM_WKUPAON_CM_WKUPAON_CDOFFS, 679*11fadcfaSAmbresh K .dep_bit = DRA7XX_WKUPAON_STATDEP_SHIFT, 680*11fadcfaSAmbresh K .flags = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP, 681*11fadcfaSAmbresh K }; 682*11fadcfaSAmbresh K 683*11fadcfaSAmbresh K static struct clockdomain eve1_7xx_clkdm = { 684*11fadcfaSAmbresh K .name = "eve1_clkdm", 685*11fadcfaSAmbresh K .pwrdm = { .name = "eve1_pwrdm" }, 686*11fadcfaSAmbresh K .prcm_partition = DRA7XX_CM_CORE_AON_PARTITION, 687*11fadcfaSAmbresh K .cm_inst = DRA7XX_CM_CORE_AON_EVE1_INST, 688*11fadcfaSAmbresh K .clkdm_offs = DRA7XX_CM_CORE_AON_EVE1_EVE1_CDOFFS, 689*11fadcfaSAmbresh K .dep_bit = DRA7XX_EVE1_STATDEP_SHIFT, 690*11fadcfaSAmbresh K .wkdep_srcs = eve1_wkup_sleep_deps, 691*11fadcfaSAmbresh K .sleepdep_srcs = eve1_wkup_sleep_deps, 692*11fadcfaSAmbresh K .flags = CLKDM_CAN_HWSUP_SWSUP, 693*11fadcfaSAmbresh K }; 694*11fadcfaSAmbresh K 695*11fadcfaSAmbresh K /* As clockdomains are added or removed above, this list must also be changed */ 696*11fadcfaSAmbresh K static struct clockdomain *clockdomains_dra7xx[] __initdata = { 697*11fadcfaSAmbresh K &l4per3_7xx_clkdm, 698*11fadcfaSAmbresh K &l4per2_7xx_clkdm, 699*11fadcfaSAmbresh K &mpu0_7xx_clkdm, 700*11fadcfaSAmbresh K &iva_7xx_clkdm, 701*11fadcfaSAmbresh K &coreaon_7xx_clkdm, 702*11fadcfaSAmbresh K &ipu1_7xx_clkdm, 703*11fadcfaSAmbresh K &ipu2_7xx_clkdm, 704*11fadcfaSAmbresh K &l3init_7xx_clkdm, 705*11fadcfaSAmbresh K &l4sec_7xx_clkdm, 706*11fadcfaSAmbresh K &l3main1_7xx_clkdm, 707*11fadcfaSAmbresh K &vpe_7xx_clkdm, 708*11fadcfaSAmbresh K &mpu_7xx_clkdm, 709*11fadcfaSAmbresh K &custefuse_7xx_clkdm, 710*11fadcfaSAmbresh K &ipu_7xx_clkdm, 711*11fadcfaSAmbresh K &mpu1_7xx_clkdm, 712*11fadcfaSAmbresh K &gmac_7xx_clkdm, 713*11fadcfaSAmbresh K &l4cfg_7xx_clkdm, 714*11fadcfaSAmbresh K &dma_7xx_clkdm, 715*11fadcfaSAmbresh K &rtc_7xx_clkdm, 716*11fadcfaSAmbresh K &pcie_7xx_clkdm, 717*11fadcfaSAmbresh K &atl_7xx_clkdm, 718*11fadcfaSAmbresh K &l3instr_7xx_clkdm, 719*11fadcfaSAmbresh K &dss_7xx_clkdm, 720*11fadcfaSAmbresh K &emif_7xx_clkdm, 721*11fadcfaSAmbresh K &emu_7xx_clkdm, 722*11fadcfaSAmbresh K &dsp2_7xx_clkdm, 723*11fadcfaSAmbresh K &dsp1_7xx_clkdm, 724*11fadcfaSAmbresh K &cam_7xx_clkdm, 725*11fadcfaSAmbresh K &l4per_7xx_clkdm, 726*11fadcfaSAmbresh K &gpu_7xx_clkdm, 727*11fadcfaSAmbresh K &eve4_7xx_clkdm, 728*11fadcfaSAmbresh K &eve2_7xx_clkdm, 729*11fadcfaSAmbresh K &eve3_7xx_clkdm, 730*11fadcfaSAmbresh K &wkupaon_7xx_clkdm, 731*11fadcfaSAmbresh K &eve1_7xx_clkdm, 732*11fadcfaSAmbresh K NULL 733*11fadcfaSAmbresh K }; 734*11fadcfaSAmbresh K 735*11fadcfaSAmbresh K void __init dra7xx_clockdomains_init(void) 736*11fadcfaSAmbresh K { 737*11fadcfaSAmbresh K clkdm_register_platform_funcs(&omap4_clkdm_operations); 738*11fadcfaSAmbresh K clkdm_register_clkdms(clockdomains_dra7xx); 739*11fadcfaSAmbresh K clkdm_complete_init(); 740*11fadcfaSAmbresh K } 741