Merge tag 'drm/panel/for-3.15-rc1' of git://anongit.freedesktop.org/tegra/linux into...
[pandora-kernel.git] / drivers / gpu / drm / tegra / mipi-phy.h
1 /*
2  * Copyright (C) 2013 NVIDIA Corporation
3  *
4  * Permission to use, copy, modify, distribute, and sell this software and its
5  * documentation for any purpose is hereby granted without fee, provided that
6  * the above copyright notice appear in all copies and that both that copyright
7  * notice and this permission notice appear in supporting documentation, and
8  * that the name of the copyright holders not be used in advertising or
9  * publicity pertaining to distribution of the software without specific,
10  * written prior permission.  The copyright holders make no representations
11  * about the suitability of this software for any purpose.  It is provided "as
12  * is" without express or implied warranty.
13  *
14  * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
15  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
16  * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
17  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
18  * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
19  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
20  * OF THIS SOFTWARE.
21  */
22
23 #ifndef DRM_TEGRA_MIPI_PHY_H
24 #define DRM_TEGRA_MIPI_PHY_H
25
26 /*
27  * D-PHY timing parameters
28  *
29  * A detailed description of these parameters can be found in the  MIPI
30  * Alliance Specification for D-PHY, Section 5.9 "Global Operation Timing
31  * Parameters".
32  *
33  * All parameters are specified in nanoseconds.
34  */
35 struct mipi_dphy_timing {
36         unsigned int clkmiss;
37         unsigned int clkpost;
38         unsigned int clkpre;
39         unsigned int clkprepare;
40         unsigned int clksettle;
41         unsigned int clktermen;
42         unsigned int clktrail;
43         unsigned int clkzero;
44         unsigned int dtermen;
45         unsigned int eot;
46         unsigned int hsexit;
47         unsigned int hsprepare;
48         unsigned int hszero;
49         unsigned int hssettle;
50         unsigned int hsskip;
51         unsigned int hstrail;
52         unsigned int init;
53         unsigned int lpx;
54         unsigned int taget;
55         unsigned int tago;
56         unsigned int tasure;
57         unsigned int wakeup;
58 };
59
60 int mipi_dphy_timing_get_default(struct mipi_dphy_timing *timing,
61                                  unsigned long period);
62 int mipi_dphy_timing_validate(struct mipi_dphy_timing *timing,
63                               unsigned long period);
64
65 #endif