root/drivers/staging/media/omap4iss/iss_csiphy.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0+ */
   2 /*
   3  * TI OMAP4 ISS V4L2 Driver - CSI PHY module
   4  *
   5  * Copyright (C) 2012 Texas Instruments, Inc.
   6  *
   7  * Author: Sergio Aguirre <sergio.a.aguirre@gmail.com>
   8  */
   9 
  10 #ifndef OMAP4_ISS_CSI_PHY_H
  11 #define OMAP4_ISS_CSI_PHY_H
  12 
  13 #include <linux/platform_data/media/omap4iss.h>
  14 
  15 struct iss_csi2_device;
  16 
  17 struct iss_csiphy_dphy_cfg {
  18         u8 ths_term;
  19         u8 ths_settle;
  20         u8 tclk_term;
  21         unsigned tclk_miss:1;
  22         u8 tclk_settle;
  23 };
  24 
  25 struct iss_csiphy {
  26         struct iss_device *iss;
  27         struct mutex mutex;     /* serialize csiphy configuration */
  28         u8 phy_in_use;
  29         struct iss_csi2_device *csi2;
  30 
  31         /* memory resources, as defined in enum iss_mem_resources */
  32         unsigned int cfg_regs;
  33         unsigned int phy_regs;
  34 
  35         u8 max_data_lanes;      /* number of CSI2 Data Lanes supported */
  36         u8 used_data_lanes;     /* number of CSI2 Data Lanes used */
  37         struct iss_csiphy_lanes_cfg lanes;
  38         struct iss_csiphy_dphy_cfg dphy;
  39 };
  40 
  41 int omap4iss_csiphy_config(struct iss_device *iss,
  42                            struct v4l2_subdev *csi2_subdev);
  43 int omap4iss_csiphy_acquire(struct iss_csiphy *phy);
  44 void omap4iss_csiphy_release(struct iss_csiphy *phy);
  45 int omap4iss_csiphy_init(struct iss_device *iss);
  46 
  47 #endif  /* OMAP4_ISS_CSI_PHY_H */

/* [<][>][^][v][top][bottom][index][help] */