Skip to content

Commit 1cbabcb

Browse files
KeerthyjPaul Walmsley
authored andcommitted
ARM: DRA7: clockdomain: Implement timer workaround for errata i874
Errata Title: i874: TIMER5/6/7/8 interrupts not propagated Description: When TIMER5, TIMER6, TIMER7, or TIMER8 clocks are enabled (CM_IPU_TIMER5/6/7/8_CLKCTRL[0:1]MODULEMODE=0x2:ENABLE) and the CD-IPU is in HW_AUTO mode (CM_IPU_CLKSTCTRL[0:1]CLKTRCTRL=0x3:HW_AUTO) the corresponding TIMER will continue counting, but enabled interrupts will not be propagated to the destinations (MPU, DSP, etc) in the SoC until the TIMER registers are accessed from the CPUs (MPU, DSP etc.). This can result in missed timer interrupts. Workaround: In order for TIMER5/6/7/8 interrupts to be propagated and serviced correctly the CD_IPU domain should be set to SW_WKUP mode (CM_IPU_CLKSTCTRL[0:1]CLKTRCTRL=0x2:SW_WKUP). The above workaround is achieved by switching the IPU clockdomain flags from HWSUP_SWSUP to SWSUP only. Signed-off-by: Keerthy <[email protected]> Signed-off-by: Suman Anna <[email protected]> Signed-off-by: Paul Walmsley <[email protected]>
1 parent 3ca4a23 commit 1cbabcb

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

arch/arm/mach-omap2/clockdomains7xx_data.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -461,7 +461,7 @@ static struct clockdomain ipu_7xx_clkdm = {
461461
.cm_inst = DRA7XX_CM_CORE_AON_IPU_INST,
462462
.clkdm_offs = DRA7XX_CM_CORE_AON_IPU_IPU_CDOFFS,
463463
.dep_bit = DRA7XX_IPU_STATDEP_SHIFT,
464-
.flags = CLKDM_CAN_HWSUP_SWSUP,
464+
.flags = CLKDM_CAN_SWSUP,
465465
};
466466

467467
static struct clockdomain mpu1_7xx_clkdm = {

0 commit comments

Comments
 (0)