aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2
diff options
context:
space:
mode:
authorAbhijit Pagare <abhijitpagare@ti.com>2010-01-26 22:12:54 -0500
committerPaul Walmsley <paul@pwsan.com>2010-01-26 22:12:54 -0500
commit1a422724c6995004d0b9e95596ec4623e8ca1fc2 (patch)
treefc88902f6a3b57c9b5c36fcf64587ee7538eb78f /arch/arm/mach-omap2
parent30b8863d2aa9d3f4804302f98821732a6a8f1419 (diff)
ARM: OMAP4: PM: Adapt the existing OMAP2/3 Clock Domain Frameworks.
The introduction of the OMAP4 Clock Domain framework requires some adaptaions to be done in the earlier files to place the common and uncommon data in the proper places where they belong. Signed-off-by: Abhijit Pagare <abhijitpagare@ti.com> Signed-off-by: Paul Walmsley <paul@pwsan.com> Cc: Benoit Cousson <b-cousson@ti.com> Cc: Rajendra Nayak <rnayak@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2')
-rw-r--r--arch/arm/mach-omap2/clockdomains.h48
-rw-r--r--arch/arm/mach-omap2/clockdomains44xx.h5
2 files changed, 51 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/clockdomains.h b/arch/arm/mach-omap2/clockdomains.h
index 0e6114058db5..f985e0a15c4b 100644
--- a/arch/arm/mach-omap2/clockdomains.h
+++ b/arch/arm/mach-omap2/clockdomains.h
@@ -7,12 +7,18 @@
7 * Written by Paul Walmsley 7 * Written by Paul Walmsley
8 */ 8 */
9 9
10/*
11 * To-Do List
12 * -> Port the Sleep/Wakeup dependencies for the domains
13 * from the Power domain framework
14 */
15
10#ifndef __ARCH_ARM_MACH_OMAP2_CLOCKDOMAINS_H 16#ifndef __ARCH_ARM_MACH_OMAP2_CLOCKDOMAINS_H
11#define __ARCH_ARM_MACH_OMAP2_CLOCKDOMAINS_H 17#define __ARCH_ARM_MACH_OMAP2_CLOCKDOMAINS_H
12 18
13#include <plat/clockdomain.h> 19#include <plat/clockdomain.h>
14#include "cm.h" 20#include "cm.h"
15#include "prm44xx.h" 21#include "prm.h"
16 22
17/* 23/*
18 * OMAP2/3-common clockdomains 24 * OMAP2/3-common clockdomains
@@ -23,6 +29,8 @@
23 * sys_clkout/sys_clkout2. 29 * sys_clkout/sys_clkout2.
24 */ 30 */
25 31
32#if defined(CONFIG_ARCH_OMAP24XX) | defined(CONFIG_ARCH_OMAP34XX)
33
26/* This is an implicit clockdomain - it is never defined as such in TRM */ 34/* This is an implicit clockdomain - it is never defined as such in TRM */
27static struct clockdomain wkup_clkdm = { 35static struct clockdomain wkup_clkdm = {
28 .name = "wkup_clkdm", 36 .name = "wkup_clkdm",
@@ -42,6 +50,8 @@ static struct clockdomain cm_clkdm = {
42 .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP24XX | CHIP_IS_OMAP3430), 50 .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP24XX | CHIP_IS_OMAP3430),
43}; 51};
44 52
53#endif
54
45/* 55/*
46 * 2420-only clockdomains 56 * 2420-only clockdomains
47 */ 57 */
@@ -365,11 +375,15 @@ static struct clockdomain dpll5_clkdm = {
365 375
366#endif /* CONFIG_ARCH_OMAP34XX */ 376#endif /* CONFIG_ARCH_OMAP34XX */
367 377
378#include "clockdomains44xx.h"
379
368/* 380/*
369 * Clockdomain-powerdomain hwsup dependencies (34XX only) 381 * Clockdomain-powerdomain hwsup dependencies (34XX only)
370 */ 382 */
371 383
372static struct clkdm_pwrdm_autodep clkdm_pwrdm_autodeps[] = { 384static struct clkdm_pwrdm_autodep clkdm_pwrdm_autodeps[] = {
385
386#ifdef CONFIG_ARCH_OMAP34XX
373 { 387 {
374 .pwrdm = { .name = "mpu_pwrdm" }, 388 .pwrdm = { .name = "mpu_pwrdm" },
375 .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP3430) 389 .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP3430)
@@ -381,17 +395,21 @@ static struct clkdm_pwrdm_autodep clkdm_pwrdm_autodeps[] = {
381 { 395 {
382 .pwrdm = { .name = NULL }, 396 .pwrdm = { .name = NULL },
383 } 397 }
398#endif
399
384}; 400};
385 401
386/* 402/*
387 * 403 * List of clockdomain pointers per platform
388 */ 404 */
389 405
390static struct clockdomain *clockdomains_omap[] = { 406static struct clockdomain *clockdomains_omap[] = {
391 407
408#if defined(CONFIG_ARCH_OMAP24XX) | defined(CONFIG_ARCH_OMAP34XX)
392 &wkup_clkdm, 409 &wkup_clkdm,
393 &cm_clkdm, 410 &cm_clkdm,
394 &prm_clkdm, 411 &prm_clkdm,
412#endif
395 413
396#ifdef CONFIG_ARCH_OMAP2420 414#ifdef CONFIG_ARCH_OMAP2420
397 &mpu_2420_clkdm, 415 &mpu_2420_clkdm,
@@ -434,6 +452,32 @@ static struct clockdomain *clockdomains_omap[] = {
434 &dpll5_clkdm, 452 &dpll5_clkdm,
435#endif 453#endif
436 454
455#ifdef CONFIG_ARCH_OMAP4
456 &l4_cefuse_44xx_clkdm,
457 &l4_cfg_44xx_clkdm,
458 &tesla_44xx_clkdm,
459 &l3_gfx_44xx_clkdm,
460 &ivahd_44xx_clkdm,
461 &l4_secure_44xx_clkdm,
462 &l4_per_44xx_clkdm,
463 &abe_44xx_clkdm,
464 &l3_init_44xx_clkdm,
465 &mpuss_44xx_clkdm,
466 &mpu0_44xx_clkdm,
467 &mpu1_44xx_clkdm,
468 &l3_emif_44xx_clkdm,
469 &l4_ao_44xx_clkdm,
470 &ducati_44xx_clkdm,
471 &l3_2_44xx_clkdm,
472 &l3_1_44xx_clkdm,
473 &l3_d2d_44xx_clkdm,
474 &iss_44xx_clkdm,
475 &l3_dss_44xx_clkdm,
476 &l4_wkup_44xx_clkdm,
477 &emu_sys_44xx_clkdm,
478 &l3_dma_44xx_clkdm,
479#endif
480
437 NULL, 481 NULL,
438}; 482};
439 483
diff --git a/arch/arm/mach-omap2/clockdomains44xx.h b/arch/arm/mach-omap2/clockdomains44xx.h
index 2f23d3830ede..6fc55e4ed2b5 100644
--- a/arch/arm/mach-omap2/clockdomains44xx.h
+++ b/arch/arm/mach-omap2/clockdomains44xx.h
@@ -18,6 +18,11 @@
18 * published by the Free Software Foundation. 18 * published by the Free Software Foundation.
19 */ 19 */
20 20
21/*
22 * To-Do List
23 * -> Populate the Sleep/Wakeup dependencies for the domains
24 */
25
21#ifndef __ARCH_ARM_MACH_OMAP2_CLOCKDOMAINS44XX_H 26#ifndef __ARCH_ARM_MACH_OMAP2_CLOCKDOMAINS44XX_H
22#define __ARCH_ARM_MACH_OMAP2_CLOCKDOMAINS44XX_H 27#define __ARCH_ARM_MACH_OMAP2_CLOCKDOMAINS44XX_H
23 28