diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2011-11-08 23:35:14 -0500 |
---|---|---|
committer | Florian Tobias Schandinat <FlorianSchandinat@gmx.de> | 2011-11-21 18:43:21 -0500 |
commit | 5e47431aabf716c9ad9eacf1a966e1fc1469c809 (patch) | |
tree | f2d588fe8e00656b83dc8ee30d17c4777a9b1e9e /arch/arm/mach-shmobile/board-ap4evb.c | |
parent | 08750617badd03fd95f33921a5213a5632022178 (diff) |
fbdev: sh_mipi_dsi: add set_dot_clock() for each platform
Dot clock of SH MIPI are depends on each platform board.
This patch adds set_dot_clock() function for it.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Diffstat (limited to 'arch/arm/mach-shmobile/board-ap4evb.c')
-rw-r--r-- | arch/arm/mach-shmobile/board-ap4evb.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/board-ap4evb.c b/arch/arm/mach-shmobile/board-ap4evb.c index b2e32c8c9e54..73503ed8bde2 100644 --- a/arch/arm/mach-shmobile/board-ap4evb.c +++ b/arch/arm/mach-shmobile/board-ap4evb.c | |||
@@ -564,6 +564,30 @@ static struct platform_device keysc_device = { | |||
564 | }; | 564 | }; |
565 | 565 | ||
566 | /* MIPI-DSI */ | 566 | /* MIPI-DSI */ |
567 | #define PHYCTRL 0x0070 | ||
568 | static int sh_mipi_set_dot_clock(struct platform_device *pdev, | ||
569 | void __iomem *base, | ||
570 | int enable) | ||
571 | { | ||
572 | struct clk *pck = clk_get(&pdev->dev, "dsip_clk"); | ||
573 | void __iomem *phy = base + PHYCTRL; | ||
574 | |||
575 | if (IS_ERR(pck)) | ||
576 | return PTR_ERR(pck); | ||
577 | |||
578 | if (enable) { | ||
579 | clk_set_rate(pck, clk_round_rate(pck, 24000000)); | ||
580 | iowrite32(ioread32(phy) | (0xb << 8), phy); | ||
581 | clk_enable(pck); | ||
582 | } else { | ||
583 | clk_disable(pck); | ||
584 | } | ||
585 | |||
586 | clk_put(pck); | ||
587 | |||
588 | return 0; | ||
589 | } | ||
590 | |||
567 | static struct resource mipidsi0_resources[] = { | 591 | static struct resource mipidsi0_resources[] = { |
568 | [0] = { | 592 | [0] = { |
569 | .start = 0xffc60000, | 593 | .start = 0xffc60000, |
@@ -583,6 +607,7 @@ static struct sh_mipi_dsi_info mipidsi0_info = { | |||
583 | .lane = 2, | 607 | .lane = 2, |
584 | .vsynw_offset = 17, | 608 | .vsynw_offset = 17, |
585 | .flags = SH_MIPI_DSI_SYNC_PULSES_MODE, | 609 | .flags = SH_MIPI_DSI_SYNC_PULSES_MODE, |
610 | .set_dot_clock = sh_mipi_set_dot_clock, | ||
586 | }; | 611 | }; |
587 | 612 | ||
588 | static struct platform_device mipidsi0_device = { | 613 | static struct platform_device mipidsi0_device = { |