OMAP4: hwmod: Replace RSTCTRL absolute address with offset macros
The RSTCTRL register was accessed using an absolute address. The usage of hardcoded macros to calculate virtual address from physical one should be avoided as much as possible. The usage of an offset will allow future improvement like migration from the current architecture code toward a module driver. Update prm_xxx accessors, move definition to the proper header file and update copyrights. Change the s16 register offset parameter to u16. Signed-off-by: Benoit Cousson <b-cousson@ti.com> Cc: Paul Walmsley <paul@pwsan.com> Cc: Rajendra Nayak <rnayak@ti.com> [paul@pwsan.com: use '_prminst_' in function names that are part of the prminst44xx.c file] Signed-off-by: Paul Walmsley <paul@pwsan.com>
This commit is contained in:
committed by
Paul Walmsley
parent
11b10341bd
commit
eaac329dfa
@@ -149,6 +149,7 @@
|
||||
#include "cminst44xx.h"
|
||||
#include "prm2xxx_3xxx.h"
|
||||
#include "prm44xx.h"
|
||||
#include "prminst44xx.h"
|
||||
#include "mux.h"
|
||||
|
||||
/* Maximum microseconds to wait for OMAP module to softreset */
|
||||
@@ -1187,8 +1188,10 @@ static int _assert_hardreset(struct omap_hwmod *oh, const char *name)
|
||||
return omap2_prm_assert_hardreset(oh->prcm.omap2.module_offs,
|
||||
ohri.rst_shift);
|
||||
else if (cpu_is_omap44xx())
|
||||
return omap4_prm_assert_hardreset(oh->prcm.omap4.rstctrl_reg,
|
||||
ohri.rst_shift);
|
||||
return omap4_prminst_assert_hardreset(ohri.rst_shift,
|
||||
oh->clkdm->pwrdm.ptr->prcm_partition,
|
||||
oh->clkdm->pwrdm.ptr->prcm_offs,
|
||||
oh->prcm.omap4.rstctrl_offs);
|
||||
else
|
||||
return -EINVAL;
|
||||
}
|
||||
@@ -1223,8 +1226,10 @@ static int _deassert_hardreset(struct omap_hwmod *oh, const char *name)
|
||||
if (ohri.st_shift)
|
||||
pr_err("omap_hwmod: %s: %s: hwmod data error: OMAP4 does not support st_shift\n",
|
||||
oh->name, name);
|
||||
ret = omap4_prm_deassert_hardreset(oh->prcm.omap4.rstctrl_reg,
|
||||
ohri.rst_shift);
|
||||
ret = omap4_prminst_deassert_hardreset(ohri.rst_shift,
|
||||
oh->clkdm->pwrdm.ptr->prcm_partition,
|
||||
oh->clkdm->pwrdm.ptr->prcm_offs,
|
||||
oh->prcm.omap4.rstctrl_offs);
|
||||
} else {
|
||||
return -EINVAL;
|
||||
}
|
||||
@@ -1259,8 +1264,10 @@ static int _read_hardreset(struct omap_hwmod *oh, const char *name)
|
||||
return omap2_prm_is_hardreset_asserted(oh->prcm.omap2.module_offs,
|
||||
ohri.st_shift);
|
||||
} else if (cpu_is_omap44xx()) {
|
||||
return omap4_prm_is_hardreset_asserted(oh->prcm.omap4.rstctrl_reg,
|
||||
ohri.rst_shift);
|
||||
return omap4_prminst_is_hardreset_asserted(ohri.rst_shift,
|
||||
oh->clkdm->pwrdm.ptr->prcm_partition,
|
||||
oh->clkdm->pwrdm.ptr->prcm_offs,
|
||||
oh->prcm.omap4.rstctrl_offs);
|
||||
} else {
|
||||
return -EINVAL;
|
||||
}
|
||||
|
Reference in New Issue
Block a user