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 66