ARM: tegra: fuse: Separate fuse dma initialization
authorColin Cross <ccross@android.com>
Wed, 24 Nov 2010 22:44:09 +0000 (14:44 -0800)
committerColin Cross <ccross@android.com>
Thu, 25 Nov 2010 05:49:11 +0000 (21:49 -0800)
commitad42ec439870c1198bb263d3764d1f5cb516880a
tree3ad290832e74acab4902adf3929beb4cf1c8438d
parent5310d336e188883341c9069115e05540c16891b1
ARM: tegra: fuse: Separate fuse dma initialization

There is a dependency loop between fuses, clocks, and APBDMA.
If dma is enabled, fuse reads must go through APBDMA to avoid
corruption due to a hw bug.  APBDMA requires a clock to be
enabled.  Clocks must read a fuse to determine allowable cpu
frequencies.

Separate out the fuse DMA initialization, and allow the fuse
read and write functions to be called without using DMA before
the DMA initialization has been completed.  Access to the fuses
before APBDMA is initialized won't hit the hardware bug because
nothing else can be using DMA.

Change-Id: Ib5cb0f346488f2869e8314c5f3b24fd86873f4c3
Signed-off-by: Colin Cross <ccross@android.com>
arch/arm/mach-tegra/fuse.c
arch/arm/mach-tegra/fuse.h