1/*
2 * ispcsiphy.h
3 *
4 * TI OMAP3 ISP - CSI PHY module
5 *
6 * Copyright (C) 2010 Nokia Corporation
7 * Copyright (C) 2009 Texas Instruments, Inc.
8 *
9 * Contacts: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
10 *	     Sakari Ailus <sakari.ailus@iki.fi>
11 *
12 * This program is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License version 2 as
14 * published by the Free Software Foundation.
15 */
16
17#ifndef OMAP3_ISP_CSI_PHY_H
18#define OMAP3_ISP_CSI_PHY_H
19
20#include <media/omap3isp.h>
21
22struct isp_csi2_device;
23struct regulator;
24
25struct isp_csiphy {
26	struct isp_device *isp;
27	struct mutex mutex;	/* serialize csiphy configuration */
28	u8 phy_in_use;
29	struct isp_csi2_device *csi2;
30	struct regulator *vdd;
31
32	/* mem resources - enums as defined in enum isp_mem_resources */
33	unsigned int cfg_regs;
34	unsigned int phy_regs;
35
36	u8 num_data_lanes;	/* number of CSI2 Data Lanes supported */
37};
38
39int omap3isp_csiphy_acquire(struct isp_csiphy *phy);
40void omap3isp_csiphy_release(struct isp_csiphy *phy);
41int omap3isp_csiphy_init(struct isp_device *isp);
42
43#endif	/* OMAP3_ISP_CSI_PHY_H */
44