author | Suman Anna <s-anna@ti.com> | |
Sat, 15 Sep 2018 03:33:12 +0000 (22:33 -0500) | ||
committer | Suman Anna <s-anna@ti.com> | |
Sat, 15 Sep 2018 07:41:52 +0000 (02:41 -0500) | ||
commit | 53b209e4ed3ab5186aa6f47ad3a7d3e953535a18 | |
tree | 33e35b4766fd203d036971ba7be013b55f5e069c | tree | snapshot (tar.xz tar.gz zip) |
parent | e6bb04966e7bf03fdb3de698664c248aab0ef118 | commit | diff |
ARM: DRA7: hwmod_data: Fix second MMU's data on DSPs
The DSPs on DRA7xx/AM57xx SoCs have two MMUs each, one for the
processor core and the other for the internal EDMA block. The
EDMA MMU relies on the primary MMU enabling sequence and so does
not contain any .clkctrl_offs, .module_mode and .context_offs
fields. The .context_offs field does not use a 0 value as a no-op
unlike the other two fields, and requires a special flag to be
set in the .prcm.omap4.flags field to ignore.
The missing flag has caused the omap_hwmod_enable() code to
erroneously modify the module's PWRSTCTRL register as part of the
context update logic, and resulted in the LOWPOWERSTATECHANGE bit
being set. While this hasn't resulted in any incorrect execution
behavior of the DSPs, it has affected the ability to connect a
debugger to the DSP core. CCS throws the following error upon
attempting to connect to DSPs:
"C66xx_DSP: Error connecting to the target: (Error -6305) PRSC
module failed to write to a router register."
Add the desired flag to each of the second MMU hwmods to fix
the debugger connection issues.
Reported-by: Rex Chang <rchang@ti.com>
Fixes: f7b0b1e6b00a ("ARM: DRA7: hwmod data: Add MMU data for DSPs")
Signed-off-by: Suman Anna <s-anna@ti.com>
The DSPs on DRA7xx/AM57xx SoCs have two MMUs each, one for the
processor core and the other for the internal EDMA block. The
EDMA MMU relies on the primary MMU enabling sequence and so does
not contain any .clkctrl_offs, .module_mode and .context_offs
fields. The .context_offs field does not use a 0 value as a no-op
unlike the other two fields, and requires a special flag to be
set in the .prcm.omap4.flags field to ignore.
The missing flag has caused the omap_hwmod_enable() code to
erroneously modify the module's PWRSTCTRL register as part of the
context update logic, and resulted in the LOWPOWERSTATECHANGE bit
being set. While this hasn't resulted in any incorrect execution
behavior of the DSPs, it has affected the ability to connect a
debugger to the DSP core. CCS throws the following error upon
attempting to connect to DSPs:
"C66xx_DSP: Error connecting to the target: (Error -6305) PRSC
module failed to write to a router register."
Add the desired flag to each of the second MMU hwmods to fix
the debugger connection issues.
Reported-by: Rex Chang <rchang@ti.com>
Fixes: f7b0b1e6b00a ("ARM: DRA7: hwmod data: Add MMU data for DSPs")
Signed-off-by: Suman Anna <s-anna@ti.com>
arch/arm/mach-omap2/omap_hwmod_7xx_data.c | diff | blob | history |