]> git.baikalelectronics.ru Git - kernel.git/commit
ARM: imx: clk-vf610: fix SAI clock tree
authorStefan Agner <stefan@agner.ch>
Sun, 18 Oct 2015 04:05:20 +0000 (21:05 -0700)
committerShawn Guo <shawnguo@kernel.org>
Wed, 2 Dec 2015 01:46:26 +0000 (09:46 +0800)
commitbe71e124785cf8f7cf876530fc2b9daa7a203040
treea998fa604028e85fcf4b50e4d55b981420c9681c
parent160b71bba3ef34950c7668463852f924a9ce60f5
ARM: imx: clk-vf610: fix SAI clock tree

The Synchronous Audio Interface (SAI) instances are clocked by
independent clocks: The bus clock and the audio clock (as shown in
Figure 51-1 in the Vybrid Reference Manual). The clock gates in
CCGR0/CCGR1 for SAI0 through SAI3 are bus clock gates, as access
tests to the registers with/without gating those clocks have shown.
The audio clock is gated by the SAIx_EN gates in CCM_CSCDR1,
followed by a clock divider (SAIx_DIV). Currently, the parent of
the bus clock gates has been assigned to SAIx_DIV, which is not
involved in the bus clock path for the SAI instances (see chapter
9.10.12, SAI clocking in the Vybrid Reference Manual).

Fix this by define the parent clock of VF610_CLK_SAIx to be the bus
clock.

If the driver needs the audio clock (when used in master mode), a
fixed device tree is required which assign the audio clock properly
to VF610_CLK_SAIx_DIV.

Signed-off-by: Stefan Agner <stefan@agner.ch>
Acked-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
drivers/clk/imx/clk-vf610.c