aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTero Kristo <t-kristo@ti.com>2017-08-04 10:40:48 -0400
committerTero Kristo <t-kristo@ti.com>2017-12-04 04:35:20 -0500
commit1055d92ccfee2751605cfe32ed2a4f4d6c64c101 (patch)
tree293106e61deb957eddba5def2d1afb34a4f572e2
parent5fa4a3cc5853928b6d66001039b0479641b00bd6 (diff)
ARM: OMAP4: CMINST: add support for translating clkctrl addresses
Needed to map clkctrl clocks against hwmods. This patch also removes the obsolete clkdm_xlate_address function which is no longer needed for anything. Signed-off-by: Tero Kristo <t-kristo@ti.com>
-rw-r--r--arch/arm/mach-omap2/cminst44xx.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/arch/arm/mach-omap2/cminst44xx.c b/arch/arm/mach-omap2/cminst44xx.c
index 8774e983bea1..0ea4c90da57d 100644
--- a/arch/arm/mach-omap2/cminst44xx.c
+++ b/arch/arm/mach-omap2/cminst44xx.c
@@ -476,12 +476,9 @@ static int omap4_clkdm_clk_disable(struct clockdomain *clkdm)
476 return 0; 476 return 0;
477} 477}
478 478
479static u32 omap4_clkdm_xlate_address(struct clockdomain *clkdm) 479static u32 omap4_cminst_xlate_clkctrl(u8 part, u16 inst, u16 offset)
480{ 480{
481 u32 addr = _cm_bases[clkdm->prcm_partition].pa + clkdm->cm_inst + 481 return _cm_bases[part].pa + inst + offset;
482 clkdm->clkdm_offs;
483
484 return addr;
485} 482}
486 483
487struct clkdm_ops omap4_clkdm_operations = { 484struct clkdm_ops omap4_clkdm_operations = {
@@ -499,7 +496,6 @@ struct clkdm_ops omap4_clkdm_operations = {
499 .clkdm_deny_idle = omap4_clkdm_deny_idle, 496 .clkdm_deny_idle = omap4_clkdm_deny_idle,
500 .clkdm_clk_enable = omap4_clkdm_clk_enable, 497 .clkdm_clk_enable = omap4_clkdm_clk_enable,
501 .clkdm_clk_disable = omap4_clkdm_clk_disable, 498 .clkdm_clk_disable = omap4_clkdm_clk_disable,
502 .clkdm_xlate_address = omap4_clkdm_xlate_address,
503}; 499};
504 500
505struct clkdm_ops am43xx_clkdm_operations = { 501struct clkdm_ops am43xx_clkdm_operations = {
@@ -509,7 +505,6 @@ struct clkdm_ops am43xx_clkdm_operations = {
509 .clkdm_deny_idle = omap4_clkdm_deny_idle, 505 .clkdm_deny_idle = omap4_clkdm_deny_idle,
510 .clkdm_clk_enable = omap4_clkdm_clk_enable, 506 .clkdm_clk_enable = omap4_clkdm_clk_enable,
511 .clkdm_clk_disable = omap4_clkdm_clk_disable, 507 .clkdm_clk_disable = omap4_clkdm_clk_disable,
512 .clkdm_xlate_address = omap4_clkdm_xlate_address,
513}; 508};
514 509
515static struct cm_ll_data omap4xxx_cm_ll_data = { 510static struct cm_ll_data omap4xxx_cm_ll_data = {
@@ -517,6 +512,7 @@ static struct cm_ll_data omap4xxx_cm_ll_data = {
517 .wait_module_idle = &omap4_cminst_wait_module_idle, 512 .wait_module_idle = &omap4_cminst_wait_module_idle,
518 .module_enable = &omap4_cminst_module_enable, 513 .module_enable = &omap4_cminst_module_enable,
519 .module_disable = &omap4_cminst_module_disable, 514 .module_disable = &omap4_cminst_module_disable,
515 .xlate_clkctrl = &omap4_cminst_xlate_clkctrl,
520}; 516};
521 517
522int __init omap4_cm_init(const struct omap_prcm_init_data *data) 518int __init omap4_cm_init(const struct omap_prcm_init_data *data)