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

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

DEFINITIONS

This source file includes following definitions.
  1. omap44xx_clockdomains_init

   1 // SPDX-License-Identifier: GPL-2.0-only
   2 /*
   3  * OMAP4 Clock domains framework
   4  *
   5  * Copyright (C) 2009-2011 Texas Instruments, Inc.
   6  * Copyright (C) 2009-2011 Nokia Corporation
   7  *
   8  * Abhijit Pagare (abhijitpagare@ti.com)
   9  * Benoit Cousson (b-cousson@ti.com)
  10  * Paul Walmsley (paul@pwsan.com)
  11  *
  12  * This file is automatically generated from the OMAP hardware databases.
  13  * We respectfully ask that any modifications to this file be coordinated
  14  * with the public linux-omap@vger.kernel.org mailing list and the
  15  * authors above to ensure that the autogeneration scripts are kept
  16  * up-to-date with the file contents.
  17  */
  18 
  19 #include <linux/kernel.h>
  20 #include <linux/io.h>
  21 
  22 #include "clockdomain.h"
  23 #include "cm1_44xx.h"
  24 #include "cm2_44xx.h"
  25 
  26 #include "cm-regbits-44xx.h"
  27 #include "prm44xx.h"
  28 #include "prcm44xx.h"
  29 #include "prcm_mpu44xx.h"
  30 
  31 /* Static Dependencies for OMAP4 Clock Domains */
  32 
  33 static struct clkdm_dep d2d_wkup_sleep_deps[] = {
  34         { .clkdm_name = "abe_clkdm" },
  35         { .clkdm_name = "ivahd_clkdm" },
  36         { .clkdm_name = "l3_1_clkdm" },
  37         { .clkdm_name = "l3_2_clkdm" },
  38         { .clkdm_name = "l3_emif_clkdm" },
  39         { .clkdm_name = "l3_init_clkdm" },
  40         { .clkdm_name = "l4_cfg_clkdm" },
  41         { .clkdm_name = "l4_per_clkdm" },
  42         { NULL },
  43 };
  44 
  45 static struct clkdm_dep ducati_wkup_sleep_deps[] = {
  46         { .clkdm_name = "abe_clkdm" },
  47         { .clkdm_name = "ivahd_clkdm" },
  48         { .clkdm_name = "l3_1_clkdm" },
  49         { .clkdm_name = "l3_2_clkdm" },
  50         { .clkdm_name = "l3_dss_clkdm" },
  51         { .clkdm_name = "l3_emif_clkdm" },
  52         { .clkdm_name = "l3_gfx_clkdm" },
  53         { .clkdm_name = "l3_init_clkdm" },
  54         { .clkdm_name = "l4_cfg_clkdm" },
  55         { .clkdm_name = "l4_per_clkdm" },
  56         { .clkdm_name = "l4_secure_clkdm" },
  57         { .clkdm_name = "l4_wkup_clkdm" },
  58         { .clkdm_name = "tesla_clkdm" },
  59         { NULL },
  60 };
  61 
  62 static struct clkdm_dep iss_wkup_sleep_deps[] = {
  63         { .clkdm_name = "ivahd_clkdm" },
  64         { .clkdm_name = "l3_1_clkdm" },
  65         { .clkdm_name = "l3_emif_clkdm" },
  66         { NULL },
  67 };
  68 
  69 static struct clkdm_dep ivahd_wkup_sleep_deps[] = {
  70         { .clkdm_name = "l3_1_clkdm" },
  71         { .clkdm_name = "l3_emif_clkdm" },
  72         { NULL },
  73 };
  74 
  75 static struct clkdm_dep l3_dma_wkup_sleep_deps[] = {
  76         { .clkdm_name = "abe_clkdm" },
  77         { .clkdm_name = "ducati_clkdm" },
  78         { .clkdm_name = "ivahd_clkdm" },
  79         { .clkdm_name = "l3_1_clkdm" },
  80         { .clkdm_name = "l3_dss_clkdm" },
  81         { .clkdm_name = "l3_emif_clkdm" },
  82         { .clkdm_name = "l3_init_clkdm" },
  83         { .clkdm_name = "l4_cfg_clkdm" },
  84         { .clkdm_name = "l4_per_clkdm" },
  85         { .clkdm_name = "l4_secure_clkdm" },
  86         { .clkdm_name = "l4_wkup_clkdm" },
  87         { NULL },
  88 };
  89 
  90 static struct clkdm_dep l3_dss_wkup_sleep_deps[] = {
  91         { .clkdm_name = "ivahd_clkdm" },
  92         { .clkdm_name = "l3_2_clkdm" },
  93         { .clkdm_name = "l3_emif_clkdm" },
  94         { NULL },
  95 };
  96 
  97 static struct clkdm_dep l3_gfx_wkup_sleep_deps[] = {
  98         { .clkdm_name = "ivahd_clkdm" },
  99         { .clkdm_name = "l3_1_clkdm" },
 100         { .clkdm_name = "l3_emif_clkdm" },
 101         { NULL },
 102 };
 103 
 104 static struct clkdm_dep l3_init_wkup_sleep_deps[] = {
 105         { .clkdm_name = "abe_clkdm" },
 106         { .clkdm_name = "ivahd_clkdm" },
 107         { .clkdm_name = "l3_emif_clkdm" },
 108         { .clkdm_name = "l4_cfg_clkdm" },
 109         { .clkdm_name = "l4_per_clkdm" },
 110         { .clkdm_name = "l4_secure_clkdm" },
 111         { .clkdm_name = "l4_wkup_clkdm" },
 112         { NULL },
 113 };
 114 
 115 static struct clkdm_dep l4_secure_wkup_sleep_deps[] = {
 116         { .clkdm_name = "l3_1_clkdm" },
 117         { .clkdm_name = "l3_emif_clkdm" },
 118         { .clkdm_name = "l4_per_clkdm" },
 119         { NULL },
 120 };
 121 
 122 static struct clkdm_dep mpu_wkup_sleep_deps[] = {
 123         { .clkdm_name = "abe_clkdm" },
 124         { .clkdm_name = "ducati_clkdm" },
 125         { .clkdm_name = "ivahd_clkdm" },
 126         { .clkdm_name = "l3_1_clkdm" },
 127         { .clkdm_name = "l3_2_clkdm" },
 128         { .clkdm_name = "l3_dss_clkdm" },
 129         { .clkdm_name = "l3_emif_clkdm" },
 130         { .clkdm_name = "l3_gfx_clkdm" },
 131         { .clkdm_name = "l3_init_clkdm" },
 132         { .clkdm_name = "l4_cfg_clkdm" },
 133         { .clkdm_name = "l4_per_clkdm" },
 134         { .clkdm_name = "l4_secure_clkdm" },
 135         { .clkdm_name = "l4_wkup_clkdm" },
 136         { .clkdm_name = "tesla_clkdm" },
 137         { NULL },
 138 };
 139 
 140 static struct clkdm_dep tesla_wkup_sleep_deps[] = {
 141         { .clkdm_name = "abe_clkdm" },
 142         { .clkdm_name = "ivahd_clkdm" },
 143         { .clkdm_name = "l3_1_clkdm" },
 144         { .clkdm_name = "l3_2_clkdm" },
 145         { .clkdm_name = "l3_emif_clkdm" },
 146         { .clkdm_name = "l3_init_clkdm" },
 147         { .clkdm_name = "l4_cfg_clkdm" },
 148         { .clkdm_name = "l4_per_clkdm" },
 149         { .clkdm_name = "l4_wkup_clkdm" },
 150         { NULL },
 151 };
 152 
 153 static struct clockdomain l4_cefuse_44xx_clkdm = {
 154         .name             = "l4_cefuse_clkdm",
 155         .pwrdm            = { .name = "cefuse_pwrdm" },
 156         .prcm_partition   = OMAP4430_CM2_PARTITION,
 157         .cm_inst          = OMAP4430_CM2_CEFUSE_INST,
 158         .clkdm_offs       = OMAP4430_CM2_CEFUSE_CEFUSE_CDOFFS,
 159         .flags            = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP,
 160 };
 161 
 162 static struct clockdomain l4_cfg_44xx_clkdm = {
 163         .name             = "l4_cfg_clkdm",
 164         .pwrdm            = { .name = "core_pwrdm" },
 165         .prcm_partition   = OMAP4430_CM2_PARTITION,
 166         .cm_inst          = OMAP4430_CM2_CORE_INST,
 167         .clkdm_offs       = OMAP4430_CM2_CORE_L4CFG_CDOFFS,
 168         .dep_bit          = OMAP4430_L4CFG_STATDEP_SHIFT,
 169         .flags            = CLKDM_CAN_HWSUP,
 170 };
 171 
 172 static struct clockdomain tesla_44xx_clkdm = {
 173         .name             = "tesla_clkdm",
 174         .pwrdm            = { .name = "tesla_pwrdm" },
 175         .prcm_partition   = OMAP4430_CM1_PARTITION,
 176         .cm_inst          = OMAP4430_CM1_TESLA_INST,
 177         .clkdm_offs       = OMAP4430_CM1_TESLA_TESLA_CDOFFS,
 178         .dep_bit          = OMAP4430_TESLA_STATDEP_SHIFT,
 179         .wkdep_srcs       = tesla_wkup_sleep_deps,
 180         .sleepdep_srcs    = tesla_wkup_sleep_deps,
 181         .flags            = CLKDM_CAN_HWSUP_SWSUP,
 182 };
 183 
 184 static struct clockdomain l3_gfx_44xx_clkdm = {
 185         .name             = "l3_gfx_clkdm",
 186         .pwrdm            = { .name = "gfx_pwrdm" },
 187         .prcm_partition   = OMAP4430_CM2_PARTITION,
 188         .cm_inst          = OMAP4430_CM2_GFX_INST,
 189         .clkdm_offs       = OMAP4430_CM2_GFX_GFX_CDOFFS,
 190         .dep_bit          = OMAP4430_GFX_STATDEP_SHIFT,
 191         .wkdep_srcs       = l3_gfx_wkup_sleep_deps,
 192         .sleepdep_srcs    = l3_gfx_wkup_sleep_deps,
 193         .flags            = CLKDM_CAN_HWSUP_SWSUP,
 194 };
 195 
 196 static struct clockdomain ivahd_44xx_clkdm = {
 197         .name             = "ivahd_clkdm",
 198         .pwrdm            = { .name = "ivahd_pwrdm" },
 199         .prcm_partition   = OMAP4430_CM2_PARTITION,
 200         .cm_inst          = OMAP4430_CM2_IVAHD_INST,
 201         .clkdm_offs       = OMAP4430_CM2_IVAHD_IVAHD_CDOFFS,
 202         .dep_bit          = OMAP4430_IVAHD_STATDEP_SHIFT,
 203         .wkdep_srcs       = ivahd_wkup_sleep_deps,
 204         .sleepdep_srcs    = ivahd_wkup_sleep_deps,
 205         .flags            = CLKDM_CAN_HWSUP_SWSUP,
 206 };
 207 
 208 static struct clockdomain l4_secure_44xx_clkdm = {
 209         .name             = "l4_secure_clkdm",
 210         .pwrdm            = { .name = "l4per_pwrdm" },
 211         .prcm_partition   = OMAP4430_CM2_PARTITION,
 212         .cm_inst          = OMAP4430_CM2_L4PER_INST,
 213         .clkdm_offs       = OMAP4430_CM2_L4PER_L4SEC_CDOFFS,
 214         .dep_bit          = OMAP4430_L4SEC_STATDEP_SHIFT,
 215         .wkdep_srcs       = l4_secure_wkup_sleep_deps,
 216         .sleepdep_srcs    = l4_secure_wkup_sleep_deps,
 217         .flags            = CLKDM_CAN_HWSUP_SWSUP,
 218 };
 219 
 220 static struct clockdomain l4_per_44xx_clkdm = {
 221         .name             = "l4_per_clkdm",
 222         .pwrdm            = { .name = "l4per_pwrdm" },
 223         .prcm_partition   = OMAP4430_CM2_PARTITION,
 224         .cm_inst          = OMAP4430_CM2_L4PER_INST,
 225         .clkdm_offs       = OMAP4430_CM2_L4PER_L4PER_CDOFFS,
 226         .dep_bit          = OMAP4430_L4PER_STATDEP_SHIFT,
 227         .flags            = CLKDM_CAN_HWSUP_SWSUP,
 228 };
 229 
 230 static struct clockdomain abe_44xx_clkdm = {
 231         .name             = "abe_clkdm",
 232         .pwrdm            = { .name = "abe_pwrdm" },
 233         .prcm_partition   = OMAP4430_CM1_PARTITION,
 234         .cm_inst          = OMAP4430_CM1_ABE_INST,
 235         .clkdm_offs       = OMAP4430_CM1_ABE_ABE_CDOFFS,
 236         .dep_bit          = OMAP4430_ABE_STATDEP_SHIFT,
 237         .flags            = CLKDM_CAN_HWSUP_SWSUP,
 238 };
 239 
 240 static struct clockdomain l3_instr_44xx_clkdm = {
 241         .name             = "l3_instr_clkdm",
 242         .pwrdm            = { .name = "core_pwrdm" },
 243         .prcm_partition   = OMAP4430_CM2_PARTITION,
 244         .cm_inst          = OMAP4430_CM2_CORE_INST,
 245         .clkdm_offs       = OMAP4430_CM2_CORE_L3INSTR_CDOFFS,
 246 };
 247 
 248 static struct clockdomain l3_init_44xx_clkdm = {
 249         .name             = "l3_init_clkdm",
 250         .pwrdm            = { .name = "l3init_pwrdm" },
 251         .prcm_partition   = OMAP4430_CM2_PARTITION,
 252         .cm_inst          = OMAP4430_CM2_L3INIT_INST,
 253         .clkdm_offs       = OMAP4430_CM2_L3INIT_L3INIT_CDOFFS,
 254         .dep_bit          = OMAP4430_L3INIT_STATDEP_SHIFT,
 255         .wkdep_srcs       = l3_init_wkup_sleep_deps,
 256         .sleepdep_srcs    = l3_init_wkup_sleep_deps,
 257         .flags            = CLKDM_CAN_HWSUP_SWSUP,
 258 };
 259 
 260 static struct clockdomain d2d_44xx_clkdm = {
 261         .name             = "d2d_clkdm",
 262         .pwrdm            = { .name = "core_pwrdm" },
 263         .prcm_partition   = OMAP4430_CM2_PARTITION,
 264         .cm_inst          = OMAP4430_CM2_CORE_INST,
 265         .clkdm_offs       = OMAP4430_CM2_CORE_D2D_CDOFFS,
 266         .wkdep_srcs       = d2d_wkup_sleep_deps,
 267         .sleepdep_srcs    = d2d_wkup_sleep_deps,
 268         .flags            = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP,
 269 };
 270 
 271 static struct clockdomain mpu0_44xx_clkdm = {
 272         .name             = "mpu0_clkdm",
 273         .pwrdm            = { .name = "cpu0_pwrdm" },
 274         .prcm_partition   = OMAP4430_PRCM_MPU_PARTITION,
 275         .cm_inst          = OMAP4430_PRCM_MPU_CPU0_INST,
 276         .clkdm_offs       = OMAP4430_PRCM_MPU_CPU0_CPU0_CDOFFS,
 277         .flags            = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP,
 278 };
 279 
 280 static struct clockdomain mpu1_44xx_clkdm = {
 281         .name             = "mpu1_clkdm",
 282         .pwrdm            = { .name = "cpu1_pwrdm" },
 283         .prcm_partition   = OMAP4430_PRCM_MPU_PARTITION,
 284         .cm_inst          = OMAP4430_PRCM_MPU_CPU1_INST,
 285         .clkdm_offs       = OMAP4430_PRCM_MPU_CPU1_CPU1_CDOFFS,
 286         .flags            = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP,
 287 };
 288 
 289 static struct clockdomain l3_emif_44xx_clkdm = {
 290         .name             = "l3_emif_clkdm",
 291         .pwrdm            = { .name = "core_pwrdm" },
 292         .prcm_partition   = OMAP4430_CM2_PARTITION,
 293         .cm_inst          = OMAP4430_CM2_CORE_INST,
 294         .clkdm_offs       = OMAP4430_CM2_CORE_MEMIF_CDOFFS,
 295         .dep_bit          = OMAP4430_MEMIF_STATDEP_SHIFT,
 296         .flags            = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP,
 297 };
 298 
 299 static struct clockdomain l4_ao_44xx_clkdm = {
 300         .name             = "l4_ao_clkdm",
 301         .pwrdm            = { .name = "always_on_core_pwrdm" },
 302         .prcm_partition   = OMAP4430_CM2_PARTITION,
 303         .cm_inst          = OMAP4430_CM2_ALWAYS_ON_INST,
 304         .clkdm_offs       = OMAP4430_CM2_ALWAYS_ON_ALWON_CDOFFS,
 305         .flags            = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP,
 306 };
 307 
 308 static struct clockdomain ducati_44xx_clkdm = {
 309         .name             = "ducati_clkdm",
 310         .pwrdm            = { .name = "core_pwrdm" },
 311         .prcm_partition   = OMAP4430_CM2_PARTITION,
 312         .cm_inst          = OMAP4430_CM2_CORE_INST,
 313         .clkdm_offs       = OMAP4430_CM2_CORE_DUCATI_CDOFFS,
 314         .dep_bit          = OMAP4430_DUCATI_STATDEP_SHIFT,
 315         .wkdep_srcs       = ducati_wkup_sleep_deps,
 316         .sleepdep_srcs    = ducati_wkup_sleep_deps,
 317         .flags            = CLKDM_CAN_HWSUP_SWSUP,
 318 };
 319 
 320 static struct clockdomain mpu_44xx_clkdm = {
 321         .name             = "mpuss_clkdm",
 322         .pwrdm            = { .name = "mpu_pwrdm" },
 323         .prcm_partition   = OMAP4430_CM1_PARTITION,
 324         .cm_inst          = OMAP4430_CM1_MPU_INST,
 325         .clkdm_offs       = OMAP4430_CM1_MPU_MPU_CDOFFS,
 326         .wkdep_srcs       = mpu_wkup_sleep_deps,
 327         .sleepdep_srcs    = mpu_wkup_sleep_deps,
 328         .flags            = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP,
 329 };
 330 
 331 static struct clockdomain l3_2_44xx_clkdm = {
 332         .name             = "l3_2_clkdm",
 333         .pwrdm            = { .name = "core_pwrdm" },
 334         .prcm_partition   = OMAP4430_CM2_PARTITION,
 335         .cm_inst          = OMAP4430_CM2_CORE_INST,
 336         .clkdm_offs       = OMAP4430_CM2_CORE_L3_2_CDOFFS,
 337         .dep_bit          = OMAP4430_L3_2_STATDEP_SHIFT,
 338         .flags            = CLKDM_CAN_HWSUP,
 339 };
 340 
 341 static struct clockdomain l3_1_44xx_clkdm = {
 342         .name             = "l3_1_clkdm",
 343         .pwrdm            = { .name = "core_pwrdm" },
 344         .prcm_partition   = OMAP4430_CM2_PARTITION,
 345         .cm_inst          = OMAP4430_CM2_CORE_INST,
 346         .clkdm_offs       = OMAP4430_CM2_CORE_L3_1_CDOFFS,
 347         .dep_bit          = OMAP4430_L3_1_STATDEP_SHIFT,
 348         .flags            = CLKDM_CAN_HWSUP,
 349 };
 350 
 351 static struct clockdomain iss_44xx_clkdm = {
 352         .name             = "iss_clkdm",
 353         .pwrdm            = { .name = "cam_pwrdm" },
 354         .prcm_partition   = OMAP4430_CM2_PARTITION,
 355         .cm_inst          = OMAP4430_CM2_CAM_INST,
 356         .clkdm_offs       = OMAP4430_CM2_CAM_CAM_CDOFFS,
 357         .wkdep_srcs       = iss_wkup_sleep_deps,
 358         .sleepdep_srcs    = iss_wkup_sleep_deps,
 359         .flags            = CLKDM_CAN_SWSUP,
 360 };
 361 
 362 static struct clockdomain l3_dss_44xx_clkdm = {
 363         .name             = "l3_dss_clkdm",
 364         .pwrdm            = { .name = "dss_pwrdm" },
 365         .prcm_partition   = OMAP4430_CM2_PARTITION,
 366         .cm_inst          = OMAP4430_CM2_DSS_INST,
 367         .clkdm_offs       = OMAP4430_CM2_DSS_DSS_CDOFFS,
 368         .dep_bit          = OMAP4430_DSS_STATDEP_SHIFT,
 369         .wkdep_srcs       = l3_dss_wkup_sleep_deps,
 370         .sleepdep_srcs    = l3_dss_wkup_sleep_deps,
 371         .flags            = CLKDM_CAN_HWSUP_SWSUP,
 372 };
 373 
 374 static struct clockdomain l4_wkup_44xx_clkdm = {
 375         .name             = "l4_wkup_clkdm",
 376         .pwrdm            = { .name = "wkup_pwrdm" },
 377         .prcm_partition   = OMAP4430_PRM_PARTITION,
 378         .cm_inst          = OMAP4430_PRM_WKUP_CM_INST,
 379         .clkdm_offs       = OMAP4430_PRM_WKUP_CM_WKUP_CDOFFS,
 380         .dep_bit          = OMAP4430_L4WKUP_STATDEP_SHIFT,
 381         .flags            = CLKDM_CAN_HWSUP | CLKDM_ACTIVE_WITH_MPU,
 382 };
 383 
 384 static struct clockdomain emu_sys_44xx_clkdm = {
 385         .name             = "emu_sys_clkdm",
 386         .pwrdm            = { .name = "emu_pwrdm" },
 387         .prcm_partition   = OMAP4430_PRM_PARTITION,
 388         .cm_inst          = OMAP4430_PRM_EMU_CM_INST,
 389         .clkdm_offs       = OMAP4430_PRM_EMU_CM_EMU_CDOFFS,
 390         .flags            = (CLKDM_CAN_ENABLE_AUTO | CLKDM_CAN_FORCE_WAKEUP |
 391                              CLKDM_MISSING_IDLE_REPORTING),
 392 };
 393 
 394 static struct clockdomain l3_dma_44xx_clkdm = {
 395         .name             = "l3_dma_clkdm",
 396         .pwrdm            = { .name = "core_pwrdm" },
 397         .prcm_partition   = OMAP4430_CM2_PARTITION,
 398         .cm_inst          = OMAP4430_CM2_CORE_INST,
 399         .clkdm_offs       = OMAP4430_CM2_CORE_SDMA_CDOFFS,
 400         .wkdep_srcs       = l3_dma_wkup_sleep_deps,
 401         .sleepdep_srcs    = l3_dma_wkup_sleep_deps,
 402         .flags            = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP,
 403 };
 404 
 405 /* As clockdomains are added or removed above, this list must also be changed */
 406 static struct clockdomain *clockdomains_omap44xx[] __initdata = {
 407         &l4_cefuse_44xx_clkdm,
 408         &l4_cfg_44xx_clkdm,
 409         &tesla_44xx_clkdm,
 410         &l3_gfx_44xx_clkdm,
 411         &ivahd_44xx_clkdm,
 412         &l4_secure_44xx_clkdm,
 413         &l4_per_44xx_clkdm,
 414         &abe_44xx_clkdm,
 415         &l3_instr_44xx_clkdm,
 416         &l3_init_44xx_clkdm,
 417         &d2d_44xx_clkdm,
 418         &mpu0_44xx_clkdm,
 419         &mpu1_44xx_clkdm,
 420         &l3_emif_44xx_clkdm,
 421         &l4_ao_44xx_clkdm,
 422         &ducati_44xx_clkdm,
 423         &mpu_44xx_clkdm,
 424         &l3_2_44xx_clkdm,
 425         &l3_1_44xx_clkdm,
 426         &iss_44xx_clkdm,
 427         &l3_dss_44xx_clkdm,
 428         &l4_wkup_44xx_clkdm,
 429         &emu_sys_44xx_clkdm,
 430         &l3_dma_44xx_clkdm,
 431         NULL
 432 };
 433 
 434 
 435 void __init omap44xx_clockdomains_init(void)
 436 {
 437         clkdm_register_platform_funcs(&omap4_clkdm_operations);
 438         clkdm_register_clkdms(clockdomains_omap44xx);
 439         clkdm_complete_init();
 440 }

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