android13/kernel-5.10/drivers/phy/rockchip/phy-rockchip-samsung-dcphy.h

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