summaryrefslogtreecommitdiff
path: root/arch/arm/mach-shmobile/board-armadillo800eva.c
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2012-11-12 21:59:38 +0100
committerArnd Bergmann <arnd@arndb.de>2012-11-12 21:59:38 +0100
commit63cd201e6559142b16dd2af8c911edd491bf6274 (patch)
treecece599b0180d5080d1d522514deb6bba6bce669 /arch/arm/mach-shmobile/board-armadillo800eva.c
parent94c78a55b8404396e3b8d9463c1b5c562664c893 (diff)
parent12818d82ccad9868a820dbb193b4f9b797cd02d4 (diff)
Merge branch 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/boards2
* This pull request is based on a merge of a) The renesas/boards branch of the arm-soc tree b) The soc branch of the renesas tree, which I have sent a separate pull requst for * "sh: clkfwk: add sh_clk_fsidiv_register()" is a driver patch which is a dependency of - ARM: shmobile: sh7372: use sh_clk_fsidiv_register() for FSI-DIV clocks - ARM: shmobile: r8a7740: add FSI-DVI clocks I have spoken to the driver maintainer, Paul Mundt, and he has indicated that he thinks it is best to merge all in one go and acked the patch for inclusion in this pull-request. * The following patches - ARM: shmobile: use FSI driver's audio clock on ap4evb - ARM: shmobile: use FSI driver's audio clock on mackerel - ARM: shmobile: use FSI driver's audio clock on armadillo800eva Have a compile-time dependency on the following patch which is present in the for-next branch of Mark Brown's sound tree on kernel.org - ASoC: fsi: add master clock control functions (ab6f6d85210c4d0265cf48e9958c04e08595055a) * 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: use FSI driver's audio clock on ap4evb ARM: shmobile: use FSI driver's audio clock on mackerel ARM: shmobile: use FSI driver's audio clock on armadillo800eva ARM: shmobile: mackerel: enable DMAEngine on USB Host ARM: shmobile: marzen: add USB OHCI driver support ARM: shmobile: marzen: add USB EHCI driver support ARM: shmobile: marzen: add USB phy support Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm/mach-shmobile/board-armadillo800eva.c')
-rw-r--r--arch/arm/mach-shmobile/board-armadillo800eva.c38
1 files changed, 3 insertions, 35 deletions
diff --git a/arch/arm/mach-shmobile/board-armadillo800eva.c b/arch/arm/mach-shmobile/board-armadillo800eva.c
index 499e6e376666..5353adf6b828 100644
--- a/arch/arm/mach-shmobile/board-armadillo800eva.c
+++ b/arch/arm/mach-shmobile/board-armadillo800eva.c
@@ -768,32 +768,6 @@ static struct platform_device ceu0_device = {
};
/* FSI */
-static int fsi_hdmi_set_rate(struct device *dev, int rate, int enable)
-{
- struct clk *fsib;
- int ret;
-
- /* it support 48KHz only */
- if (48000 != rate)
- return -EINVAL;
-
- fsib = clk_get(dev, "ickb");
- if (IS_ERR(fsib))
- return -EINVAL;
-
- if (enable) {
- ret = SH_FSI_ACKMD_256 | SH_FSI_BPFMD_64;
- clk_enable(fsib);
- } else {
- ret = 0;
- clk_disable(fsib);
- }
-
- clk_put(fsib);
-
- return ret;
-}
-
static struct sh_fsi_platform_info fsi_info = {
/* FSI-WM8978 */
.port_a = {
@@ -802,8 +776,8 @@ static struct sh_fsi_platform_info fsi_info = {
/* FSI-HDMI */
.port_b = {
.flags = SH_FSI_FMT_SPDIF |
- SH_FSI_ENABLE_STREAM_MODE,
- .set_rate = fsi_hdmi_set_rate,
+ SH_FSI_ENABLE_STREAM_MODE |
+ SH_FSI_CLK_CPG,
.tx_id = SHDMA_SLAVE_FSIB_TX,
}
};
@@ -938,13 +912,11 @@ static void __init eva_clock_init(void)
struct clk *xtal1 = clk_get(NULL, "extal1");
struct clk *usb24s = clk_get(NULL, "usb24s");
struct clk *fsibck = clk_get(NULL, "fsibck");
- struct clk *fsib = clk_get(&fsi_device.dev, "ickb");
if (IS_ERR(system) ||
IS_ERR(xtal1) ||
IS_ERR(usb24s) ||
- IS_ERR(fsibck) ||
- IS_ERR(fsib)) {
+ IS_ERR(fsibck)) {
pr_err("armadillo800eva board clock init failed\n");
goto clock_error;
}
@@ -956,9 +928,7 @@ static void __init eva_clock_init(void)
clk_set_parent(usb24s, system);
/* FSIBCK is 12.288MHz, and it is parent of FSI-B */
- clk_set_parent(fsib, fsibck);
clk_set_rate(fsibck, 12288000);
- clk_set_rate(fsib, 12288000);
clock_error:
if (!IS_ERR(system))
@@ -969,8 +939,6 @@ clock_error:
clk_put(usb24s);
if (!IS_ERR(fsibck))
clk_put(fsibck);
- if (!IS_ERR(fsib))
- clk_put(fsib);
}
/*