aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/platform_data/mipi-csis.h
blob: 2e59e4306766b981bfe2be337e18b4353a30df4b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/*
 * Copyright (C) 2010-2011 Samsung Electronics Co., Ltd.
 *
 * S5P series MIPI CSI slave device support
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

#ifndef __PLAT_SAMSUNG_MIPI_CSIS_H_
#define __PLAT_SAMSUNG_MIPI_CSIS_H_ __FILE__

/**
 * struct s5p_platform_mipi_csis - platform data for S5P MIPI-CSIS driver
 * @clk_rate: bus clock frequency
 * @lanes: number of data lanes used
 * @alignment: data alignment in bits
 * @hs_settle: HS-RX settle time
 * @fixed_phy_vdd: false to enable external D-PHY regulator management in the
 *		   driver or true in case this regulator has no enable function
 * @phy_enable: pointer to a callback controlling D-PHY enable/reset
 */
struct s5p_platform_mipi_csis {
	unsigned long clk_rate;
	u8 lanes;
	u8 alignment;
	u8 hs_settle;
	bool fixed_phy_vdd;
	int (*phy_enable)(struct platform_device *pdev, bool on);
};

/**
 * s5p_csis_phy_enable - global MIPI-CSI receiver D-PHY control
 * @id:     MIPI-CSIS harware instance index (0...1)
 * @on:     true to enable D-PHY and deassert its reset
 *          false to disable D-PHY
 * @return: 0 on success, or negative error code on failure
 */
int s5p_csis_phy_enable(int id, bool on);

#endif /* __PLAT_SAMSUNG_MIPI_CSIS_H_ */