PM / AVS: SmartReflex: disable errgen before vpbound disable
vpboundsintr_en is available inside the IP block as an re-sycned version and one which is not. Due to this, there is an 1 sysclk cycle window where the SR_SInterruptz signal could be asserted low. IF, intr_en is cleared on the exact same cycle as the irqclr, an additional pulse is generated which indicates for VP that an additional adjustment of voltage is required. This results in VP doing two voltage adjustments for the SRERR (based on configuration, upto 4 steps), instead of the needed 1 step. Due to the unexpected pulse from AVS which breaks the AVS-VP communication protocol, VP also ends up in a stuck condition by entering a state where VP module remains non-responsive to any futher AVS adjustment events. This creates the symptom called "TRANXDONE Timeout" scenario. By disabling errgen prior to disable of intr_en, this situation can be avoided. Signed-off-by: NVincent Bour <v-bour@ti.com> Signed-off-by: NLeonardo Affortunati <l-affortunati@ti.com> Signed-off-by: NNishanth Menon <nm@ti.com> Signed-off-by: NAndrii.Tseglytskyi <andrii.tseglytskyi@ti.com> Signed-off-by: NKevin Hilman <khilman@linaro.org>
Showing
想要评论请 注册 或 登录