]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ENGR00215041-2 MX6 SabreSD:Set clko parent to be clko2
authorLiu Ying <Ying.Liu@freescale.com>
Wed, 27 Jun 2012 08:08:49 +0000 (16:08 +0800)
committerLothar Waßmann <LW@KARO-electronics.de>
Fri, 24 May 2013 06:34:55 +0000 (08:34 +0200)
On MX6 SabreSD board, gpio_0 is muxed to clko to be
audio mclk and camera mclk. 24MHz osc clk is a stable
clock source, which can meet the requirement of audio
mclk and camera mclk. This patch sets clko parent
clock to be clko2 clock so that camera mclk and audio
mclk can source from osc clk.
There are 2 benifits after applying this patch:
1) clko's original parent clock(pll4_audio_main_clk)
can be gated off to save power or used by another
module.
2) ov5640/ov5642 camera most settings can reach
claimed 15fps or 30fps with no human eye recognizable
video quality downgrade.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit ace3723ceff0d546e0176f74ad38d58a6d11b7ee)

arch/arm/mach-mx6/board-mx6q_sabresd.c

index eaf1d770ab76901a5606466c8ad5c4734adf5a42..7f8add9465b503fdb5a5db1e07fbdea71deff69d 100644 (file)
@@ -1599,7 +1599,7 @@ static void __init mx6_sabresd_board_init(void)
 {
        int i;
        int ret;
-       struct clk *clko2;
+       struct clk *clko, *clko2;
        struct clk *new_parent;
        int rate;
 
@@ -1779,6 +1779,11 @@ static void __init mx6_sabresd_board_init(void)
        clk_set_rate(clko2, rate);
        clk_enable(clko2);
 
+       /* Camera and audio use osc clock */
+       clko = clk_get(NULL, "clko_clk");
+       if (!IS_ERR(clko))
+               clk_set_parent(clko, clko2);
+
        /* Enable Aux_5V */
        gpio_request(SABRESD_AUX_5V_EN, "aux_5v_en");
        gpio_direction_output(SABRESD_AUX_5V_EN, 1);