Commit 1a422724 authored by Abhijit Pagare's avatar Abhijit Pagare Committed by Paul Walmsley

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: default avatarAbhijit Pagare <abhijitpagare@ti.com>
Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
parent 30b8863d
...@@ -7,12 +7,18 @@ ...@@ -7,12 +7,18 @@
* Written by Paul Walmsley * Written by Paul Walmsley
*/ */
/*
* To-Do List
* -> Port the Sleep/Wakeup dependencies for the domains
* from the Power domain framework
*/
#ifndef __ARCH_ARM_MACH_OMAP2_CLOCKDOMAINS_H #ifndef __ARCH_ARM_MACH_OMAP2_CLOCKDOMAINS_H
#define __ARCH_ARM_MACH_OMAP2_CLOCKDOMAINS_H #define __ARCH_ARM_MACH_OMAP2_CLOCKDOMAINS_H
#include <plat/clockdomain.h> #include <plat/clockdomain.h>
#include "cm.h" #include "cm.h"
#include "prm44xx.h" #include "prm.h"
/* /*
* OMAP2/3-common clockdomains * OMAP2/3-common clockdomains
...@@ -23,6 +29,8 @@ ...@@ -23,6 +29,8 @@
* sys_clkout/sys_clkout2. * sys_clkout/sys_clkout2.
*/ */
#if defined(CONFIG_ARCH_OMAP24XX) | defined(CONFIG_ARCH_OMAP34XX)
/* This is an implicit clockdomain - it is never defined as such in TRM */ /* This is an implicit clockdomain - it is never defined as such in TRM */
static struct clockdomain wkup_clkdm = { static struct clockdomain wkup_clkdm = {
.name = "wkup_clkdm", .name = "wkup_clkdm",
...@@ -42,6 +50,8 @@ static struct clockdomain cm_clkdm = { ...@@ -42,6 +50,8 @@ static struct clockdomain cm_clkdm = {
.omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP24XX | CHIP_IS_OMAP3430), .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP24XX | CHIP_IS_OMAP3430),
}; };
#endif
/* /*
* 2420-only clockdomains * 2420-only clockdomains
*/ */
...@@ -365,11 +375,15 @@ static struct clockdomain dpll5_clkdm = { ...@@ -365,11 +375,15 @@ static struct clockdomain dpll5_clkdm = {
#endif /* CONFIG_ARCH_OMAP34XX */ #endif /* CONFIG_ARCH_OMAP34XX */
#include "clockdomains44xx.h"
/* /*
* Clockdomain-powerdomain hwsup dependencies (34XX only) * Clockdomain-powerdomain hwsup dependencies (34XX only)
*/ */
static struct clkdm_pwrdm_autodep clkdm_pwrdm_autodeps[] = { static struct clkdm_pwrdm_autodep clkdm_pwrdm_autodeps[] = {
#ifdef CONFIG_ARCH_OMAP34XX
{ {
.pwrdm = { .name = "mpu_pwrdm" }, .pwrdm = { .name = "mpu_pwrdm" },
.omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP3430) .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP3430)
...@@ -381,17 +395,21 @@ static struct clkdm_pwrdm_autodep clkdm_pwrdm_autodeps[] = { ...@@ -381,17 +395,21 @@ static struct clkdm_pwrdm_autodep clkdm_pwrdm_autodeps[] = {
{ {
.pwrdm = { .name = NULL }, .pwrdm = { .name = NULL },
} }
#endif
}; };
/* /*
* * List of clockdomain pointers per platform
*/ */
static struct clockdomain *clockdomains_omap[] = { static struct clockdomain *clockdomains_omap[] = {
#if defined(CONFIG_ARCH_OMAP24XX) | defined(CONFIG_ARCH_OMAP34XX)
&wkup_clkdm, &wkup_clkdm,
&cm_clkdm, &cm_clkdm,
&prm_clkdm, &prm_clkdm,
#endif
#ifdef CONFIG_ARCH_OMAP2420 #ifdef CONFIG_ARCH_OMAP2420
&mpu_2420_clkdm, &mpu_2420_clkdm,
...@@ -434,6 +452,32 @@ static struct clockdomain *clockdomains_omap[] = { ...@@ -434,6 +452,32 @@ static struct clockdomain *clockdomains_omap[] = {
&dpll5_clkdm, &dpll5_clkdm,
#endif #endif
#ifdef CONFIG_ARCH_OMAP4
&l4_cefuse_44xx_clkdm,
&l4_cfg_44xx_clkdm,
&tesla_44xx_clkdm,
&l3_gfx_44xx_clkdm,
&ivahd_44xx_clkdm,
&l4_secure_44xx_clkdm,
&l4_per_44xx_clkdm,
&abe_44xx_clkdm,
&l3_init_44xx_clkdm,
&mpuss_44xx_clkdm,
&mpu0_44xx_clkdm,
&mpu1_44xx_clkdm,
&l3_emif_44xx_clkdm,
&l4_ao_44xx_clkdm,
&ducati_44xx_clkdm,
&l3_2_44xx_clkdm,
&l3_1_44xx_clkdm,
&l3_d2d_44xx_clkdm,
&iss_44xx_clkdm,
&l3_dss_44xx_clkdm,
&l4_wkup_44xx_clkdm,
&emu_sys_44xx_clkdm,
&l3_dma_44xx_clkdm,
#endif
NULL, NULL,
}; };
......
...@@ -18,6 +18,11 @@ ...@@ -18,6 +18,11 @@
* published by the Free Software Foundation. * published by the Free Software Foundation.
*/ */
/*
* To-Do List
* -> Populate the Sleep/Wakeup dependencies for the domains
*/
#ifndef __ARCH_ARM_MACH_OMAP2_CLOCKDOMAINS44XX_H #ifndef __ARCH_ARM_MACH_OMAP2_CLOCKDOMAINS44XX_H
#define __ARCH_ARM_MACH_OMAP2_CLOCKDOMAINS44XX_H #define __ARCH_ARM_MACH_OMAP2_CLOCKDOMAINS44XX_H
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment