diff options
| author | Kuninori Morimoto <morimoto.kuninori@renesas.com> | 2010-02-22 00:18:10 -0500 |
|---|---|---|
| committer | Paul Mundt <lethal@linux-sh.org> | 2010-02-22 05:14:18 -0500 |
| commit | 16afc9fb0298a66da25ee015eb3c8a8f55e3744a (patch) | |
| tree | 5e8eb1bda9c3ce75906f93903b06265ec2f2adbf | |
| parent | 6f26d19fce5907cdd0fd953ac1a1d0b1e6e5982c (diff) | |
sh: sh7724: Update FSI/SPU2 clock
When FSI and Network (= NFS file system) were used at the same time,
the I/O of FSI was unstable. This patch updates the SPU2 clock (which
is used for FSI) to solve this issue. Special thanks to Jeremy.
Signed-off-by: Jeremy Baker <Jeremy.Baker@renesas.com>
Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| -rw-r--r-- | arch/sh/boards/mach-ecovec24/setup.c | 5 | ||||
| -rw-r--r-- | arch/sh/boards/mach-se/7724/setup.c | 15 |
2 files changed, 15 insertions, 5 deletions
diff --git a/arch/sh/boards/mach-ecovec24/setup.c b/arch/sh/boards/mach-ecovec24/setup.c index a17dbb3ac73f..6f2e8a78b461 100644 --- a/arch/sh/boards/mach-ecovec24/setup.c +++ b/arch/sh/boards/mach-ecovec24/setup.c | |||
| @@ -1105,6 +1105,11 @@ static int __init arch_setup(void) | |||
| 1105 | gpio_request(GPIO_FN_FSIOBLRCK, NULL); | 1105 | gpio_request(GPIO_FN_FSIOBLRCK, NULL); |
| 1106 | gpio_request(GPIO_FN_CLKAUDIOBO, NULL); | 1106 | gpio_request(GPIO_FN_CLKAUDIOBO, NULL); |
| 1107 | 1107 | ||
| 1108 | /* set SPU2 clock to 83.4 MHz */ | ||
| 1109 | clk = clk_get(NULL, "spu_clk"); | ||
| 1110 | clk_set_rate(clk, clk_round_rate(clk, 83333333)); | ||
| 1111 | clk_put(clk); | ||
| 1112 | |||
| 1108 | /* change parent of FSI B */ | 1113 | /* change parent of FSI B */ |
| 1109 | clk = clk_get(NULL, "fsib_clk"); | 1114 | clk = clk_get(NULL, "fsib_clk"); |
| 1110 | clk_register(&fsimckb_clk); | 1115 | clk_register(&fsimckb_clk); |
diff --git a/arch/sh/boards/mach-se/7724/setup.c b/arch/sh/boards/mach-se/7724/setup.c index 50e4d1599576..1f6cf8604943 100644 --- a/arch/sh/boards/mach-se/7724/setup.c +++ b/arch/sh/boards/mach-se/7724/setup.c | |||
| @@ -586,7 +586,7 @@ arch_initcall(arch_setup); | |||
| 586 | static int __init devices_setup(void) | 586 | static int __init devices_setup(void) |
| 587 | { | 587 | { |
| 588 | u16 sw = __raw_readw(SW4140); /* select camera, monitor */ | 588 | u16 sw = __raw_readw(SW4140); /* select camera, monitor */ |
| 589 | struct clk *fsia_clk; | 589 | struct clk *clk; |
| 590 | 590 | ||
| 591 | /* register board specific self-refresh code */ | 591 | /* register board specific self-refresh code */ |
| 592 | sh_mobile_register_self_refresh(SUSP_SH_STANDBY | SUSP_SH_SF, | 592 | sh_mobile_register_self_refresh(SUSP_SH_STANDBY | SUSP_SH_SF, |
| @@ -755,13 +755,18 @@ static int __init devices_setup(void) | |||
| 755 | gpio_request(GPIO_FN_CLKAUDIOBO, NULL); | 755 | gpio_request(GPIO_FN_CLKAUDIOBO, NULL); |
| 756 | gpio_request(GPIO_FN_FSIIASD, NULL); | 756 | gpio_request(GPIO_FN_FSIIASD, NULL); |
| 757 | 757 | ||
| 758 | /* set SPU2 clock to 83.4 MHz */ | ||
| 759 | clk = clk_get(NULL, "spu_clk"); | ||
| 760 | clk_set_rate(clk, clk_round_rate(clk, 83333333)); | ||
| 761 | clk_put(clk); | ||
| 762 | |||
| 758 | /* change parent of FSI A */ | 763 | /* change parent of FSI A */ |
| 759 | fsia_clk = clk_get(NULL, "fsia_clk"); | 764 | clk = clk_get(NULL, "fsia_clk"); |
| 760 | clk_register(&fsimcka_clk); | 765 | clk_register(&fsimcka_clk); |
| 761 | clk_set_parent(fsia_clk, &fsimcka_clk); | 766 | clk_set_parent(clk, &fsimcka_clk); |
| 762 | clk_set_rate(fsia_clk, 11000); | 767 | clk_set_rate(clk, 11000); |
| 763 | clk_set_rate(&fsimcka_clk, 11000); | 768 | clk_set_rate(&fsimcka_clk, 11000); |
| 764 | clk_put(fsia_clk); | 769 | clk_put(clk); |
| 765 | 770 | ||
| 766 | /* SDHI0 connected to cn7 */ | 771 | /* SDHI0 connected to cn7 */ |
| 767 | gpio_request(GPIO_FN_SDHI0CD, NULL); | 772 | gpio_request(GPIO_FN_SDHI0CD, NULL); |
