root/arch/arm/mach-omap2/clockdomains7xx_data.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. dra7xx_clockdomains_init

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

/* [<][>][^][v][top][bottom][index][help] */