Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
[pandora-kernel.git] / arch / arm / plat-s5p / include / plat / mipi_csis.h
1 /*
2  * Copyright (C) 2010-2011 Samsung Electronics Co., Ltd.
3  *
4  * S5P series MIPI CSI slave device support
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  */
10
11 #ifndef PLAT_S5P_MIPI_CSIS_H_
12 #define PLAT_S5P_MIPI_CSIS_H_ __FILE__
13
14 struct platform_device;
15
16 /**
17  * struct s5p_platform_mipi_csis - platform data for S5P MIPI-CSIS driver
18  * @clk_rate: bus clock frequency
19  * @lanes: number of data lanes used
20  * @alignment: data alignment in bits
21  * @hs_settle: HS-RX settle time
22  * @fixed_phy_vdd: false to enable external D-PHY regulator management in the
23  *                 driver or true in case this regulator has no enable function
24  * @phy_enable: pointer to a callback controlling D-PHY enable/reset
25  */
26 struct s5p_platform_mipi_csis {
27         unsigned long clk_rate;
28         u8 lanes;
29         u8 alignment;
30         u8 hs_settle;
31         bool fixed_phy_vdd;
32         int (*phy_enable)(struct platform_device *pdev, bool on);
33 };
34
35 /**
36  * s5p_csis_phy_enable - global MIPI-CSI receiver D-PHY control
37  * @pdev: MIPI-CSIS platform device
38  * @on: true to enable D-PHY and deassert its reset
39  *      false to disable D-PHY
40  */
41 int s5p_csis_phy_enable(struct platform_device *pdev, bool on);
42
43 #endif /* PLAT_S5P_MIPI_CSIS_H_ */