48 lines
959 B
C
48 lines
959 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* Rockchip Samsung mipi dcphy driver
|
|
*
|
|
* Copyright (C) 2020 Rockchip Electronics Co., Ltd.
|
|
*/
|
|
|
|
#ifndef _PHY_ROCKCHIP_SAMSUNG_DCPHY_H_
|
|
#define _PHY_ROCKCHIP_SAMSUNG_DCPHY_H_
|
|
|
|
#define MAX_NUM_CSI2_DPHY (0x2)
|
|
|
|
struct samsung_mipi_dcphy {
|
|
struct device *dev;
|
|
struct clk *ref_clk;
|
|
struct clk *pclk;
|
|
struct regmap *regmap;
|
|
struct regmap *grf_regmap;
|
|
struct reset_control *m_phy_rst;
|
|
struct reset_control *s_phy_rst;
|
|
struct reset_control *apb_rst;
|
|
struct reset_control *grf_apb_rst;
|
|
struct mutex mutex;
|
|
struct csi2_dphy *dphy_dev[MAX_NUM_CSI2_DPHY];
|
|
atomic_t stream_cnt;
|
|
int dphy_dev_num;
|
|
bool c_option;
|
|
|
|
unsigned int lanes;
|
|
|
|
struct {
|
|
unsigned long long rate;
|
|
u8 prediv;
|
|
u16 fbdiv;
|
|
long dsm;
|
|
u8 scaler;
|
|
|
|
bool ssc_en;
|
|
u8 mfr;
|
|
u8 mrr;
|
|
} pll;
|
|
|
|
int (*stream_on)(struct csi2_dphy *dphy, struct v4l2_subdev *sd);
|
|
int (*stream_off)(struct csi2_dphy *dphy, struct v4l2_subdev *sd);
|
|
};
|
|
|
|
#endif
|