cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

omap4iss.h (1497B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef ARCH_ARM_PLAT_OMAP4_ISS_H
      3#define ARCH_ARM_PLAT_OMAP4_ISS_H
      4
      5#include <linux/i2c.h>
      6
      7struct iss_device;
      8
      9enum iss_interface_type {
     10	ISS_INTERFACE_CSI2A_PHY1,
     11	ISS_INTERFACE_CSI2B_PHY2,
     12};
     13
     14/**
     15 * struct iss_csiphy_lane: CSI2 lane position and polarity
     16 * @pos: position of the lane
     17 * @pol: polarity of the lane
     18 */
     19struct iss_csiphy_lane {
     20	u8 pos;
     21	u8 pol;
     22};
     23
     24#define ISS_CSIPHY1_NUM_DATA_LANES	4
     25#define ISS_CSIPHY2_NUM_DATA_LANES	1
     26
     27/**
     28 * struct iss_csiphy_lanes_cfg - CSI2 lane configuration
     29 * @data: Configuration of one or two data lanes
     30 * @clk: Clock lane configuration
     31 */
     32struct iss_csiphy_lanes_cfg {
     33	struct iss_csiphy_lane data[ISS_CSIPHY1_NUM_DATA_LANES];
     34	struct iss_csiphy_lane clk;
     35};
     36
     37/**
     38 * struct iss_csi2_platform_data - CSI2 interface platform data
     39 * @crc: Enable the cyclic redundancy check
     40 * @vpclk_div: Video port output clock control
     41 */
     42struct iss_csi2_platform_data {
     43	unsigned crc:1;
     44	unsigned vpclk_div:2;
     45	struct iss_csiphy_lanes_cfg lanecfg;
     46};
     47
     48struct iss_subdev_i2c_board_info {
     49	struct i2c_board_info *board_info;
     50	int i2c_adapter_id;
     51};
     52
     53struct iss_v4l2_subdevs_group {
     54	struct iss_subdev_i2c_board_info *subdevs;
     55	enum iss_interface_type interface;
     56	union {
     57		struct iss_csi2_platform_data csi2;
     58	} bus; /* gcc < 4.6.0 chokes on anonymous union initializers */
     59};
     60
     61struct iss_platform_data {
     62	struct iss_v4l2_subdevs_group *subdevs;
     63	void (*set_constraints)(struct iss_device *iss, bool enable);
     64};
     65
     66#endif