On 02/19/2013 04:35 AM, Philipp Zabel wrote:
The system reset controller (SRC) on i.MX51, i.MX53, and i.MX6q controls
reset lines to the GPU, VPU, IPU, and OpenVG IP modules.
The following patches add a simple API for devices to request being reset
by separate reset controller hardware and implements the reset signal
device tree binding proposed by Stephen Warren. Contrary to Tegra hardware,
the i.MX SRC contains self-deasserting reset registers, so I've included
both ops to manually assert/deassert a reset line, as well as a "reset"
operation that is supposed to assert the reset line and wait for it to
deassert.
One note here: Even though Tegra HW doesn't have auto-clear reset
hardware, I'd still tend to prefer that most Tegra drivers use a single
"assert then deassert" API to keep knowledge of the reset mechanisms out
of the individual drivers. Our reset driver would manually assert, sleep
a short time, de-assert within the implementation. Still, a few drivers
do need a bit more control (e.g. PCIe and powergating) so having the
other APIs around is useful too.