ARM: OMAP4: CMINST: add support for translating clkctrl addresses
authorTero Kristo <t-kristo@ti.com>
Fri, 4 Aug 2017 14:40:48 +0000 (17:40 +0300)
committerTero Kristo <t-kristo@ti.com>
Mon, 4 Dec 2017 09:35:20 +0000 (11:35 +0200)
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>
arch/arm/mach-omap2/cminst44xx.c

index 8774e98..0ea4c90 100644 (file)
@@ -476,12 +476,9 @@ static int omap4_clkdm_clk_disable(struct clockdomain *clkdm)
        return 0;
 }
 
-static u32 omap4_clkdm_xlate_address(struct clockdomain *clkdm)
+static u32 omap4_cminst_xlate_clkctrl(u8 part, u16 inst, u16 offset)
 {
-       u32 addr = _cm_bases[clkdm->prcm_partition].pa + clkdm->cm_inst +
-               clkdm->clkdm_offs;
-
-       return addr;
+       return _cm_bases[part].pa + inst + offset;
 }
 
 struct clkdm_ops omap4_clkdm_operations = {
@@ -499,7 +496,6 @@ struct clkdm_ops omap4_clkdm_operations = {
        .clkdm_deny_idle        = omap4_clkdm_deny_idle,
        .clkdm_clk_enable       = omap4_clkdm_clk_enable,
        .clkdm_clk_disable      = omap4_clkdm_clk_disable,
-       .clkdm_xlate_address    = omap4_clkdm_xlate_address,
 };
 
 struct clkdm_ops am43xx_clkdm_operations = {
@@ -509,7 +505,6 @@ struct clkdm_ops am43xx_clkdm_operations = {
        .clkdm_deny_idle        = omap4_clkdm_deny_idle,
        .clkdm_clk_enable       = omap4_clkdm_clk_enable,
        .clkdm_clk_disable      = omap4_clkdm_clk_disable,
-       .clkdm_xlate_address    = omap4_clkdm_xlate_address,
 };
 
 static struct cm_ll_data omap4xxx_cm_ll_data = {
@@ -517,6 +512,7 @@ static struct cm_ll_data omap4xxx_cm_ll_data = {
        .wait_module_idle       = &omap4_cminst_wait_module_idle,
        .module_enable          = &omap4_cminst_module_enable,
        .module_disable         = &omap4_cminst_module_disable,
+       .xlate_clkctrl          = &omap4_cminst_xlate_clkctrl,
 };
 
 int __init omap4_cm_init(const struct omap_prcm_init_data *data)