ARM: PXA2xx: MFP: fix potential direction bug
Pins configured as input and have MFP_LPM_DRIVE_* flag set, can have a wrong output value for some period of time (spike) during the suspend sequence. This can happen because the direction of the pins (GPDR) is set by software and the output level is set by hardware (PGSR) at a later stage. Fix the above potential bug by setting the output levels first. Also save the actual levels of the pins before the suspend and restore them after the resume, but before the direction settings take place, so the same bug as described above will not happen in the resume sequence. Reported-by: NPaul Parsons <lost.distance@yahoo.com> Signed-off-by: NIgor Grinberg <grinberg@compulab.co.il> Tested-by: NPaul Parsons <lost.distance@yahoo.com> Signed-off-by: NHaojian Zhuang <haojian.zhuang@gmail.com>
Showing
想要评论请 注册 或 登录