remoteproc/pruss: enable OCP master ports in SYSCFG
The PRUSS CFG module's SYSCFG register is used for managing the
PRCM clock management settings at the PRU-ICSS subsystem level.
Add two helper functions pruss_{enable/disable}_module() that
programs this SYSCFG register. The register is currently programmed
to enable the OCP master ports (disable MStandby), and for the
default Smart-Idle and Smart-Standby. The Ethernet usecase does
not have Rx working without enabling the OCP master ports.
NOTE:
1. The AM57xx TRM suggests to enable "No Standby" during the
Idle + Standby state to an Active/Normal state, but this
sequence is not documented in either of AM33xx and AM437x
SoCs. Furthermore, it did not have an impact on the working
of Ethernet Rx, so is left out.
2. This breaks the PM suspend/resume operation on AM33xx (verified)
and possibly on AM437x SoC even when the PRU cores are in
halted state. The STANDBY_INIT has to be re-programmed to
initiate a standby sequence and have the PM suspend/resume
functional when PRUs are halted.
Signed-off-by:
Roger Quadros <rogerq@ti.com>
Signed-off-by:
Andrew F. Davis <afd@ti.com>
[s-anna@ti.com: remove no-standby state]
Signed-off-by:
Suman Anna <s-anna@ti.com>
Loading
Please sign in to comment