#include <linux/clk.h>
#include <linux/clk-provider.h>
#include "dsi_phy.h"
#include "dsi.xml.h"
#include "dsi_phy_28nm.xml.h"
#define POLL_MAX_READS …
#define POLL_TIMEOUT_US …
#define VCO_REF_CLK_RATE …
#define VCO_MIN_RATE …
#define VCO_MAX_RATE …
#define DSI_PHY_28NM_QUIRK_PHY_LP …
#define DSI_PHY_28NM_QUIRK_PHY_8226 …
#define LPFR_LUT_SIZE …
struct lpfr_cfg { … };
static const struct lpfr_cfg lpfr_lut[LPFR_LUT_SIZE] = …;
struct pll_28nm_cached_state { … };
struct dsi_pll_28nm { … };
#define to_pll_28nm(x) …
static bool pll_28nm_poll_for_ready(struct dsi_pll_28nm *pll_28nm,
u32 nb_tries, u32 timeout_us)
{ … }
static void pll_28nm_software_reset(struct dsi_pll_28nm *pll_28nm)
{ … }
static int dsi_pll_28nm_clk_set_rate(struct clk_hw *hw, unsigned long rate,
unsigned long parent_rate)
{ … }
static int dsi_pll_28nm_clk_is_enabled(struct clk_hw *hw)
{ … }
static unsigned long dsi_pll_28nm_clk_recalc_rate(struct clk_hw *hw,
unsigned long parent_rate)
{ … }
static int _dsi_pll_28nm_vco_prepare_hpm(struct dsi_pll_28nm *pll_28nm)
{ … }
static int dsi_pll_28nm_vco_prepare_hpm(struct clk_hw *hw)
{ … }
static int dsi_pll_28nm_vco_prepare_8226(struct clk_hw *hw)
{ … }
static int dsi_pll_28nm_vco_prepare_lp(struct clk_hw *hw)
{ … }
static void dsi_pll_28nm_vco_unprepare(struct clk_hw *hw)
{ … }
static long dsi_pll_28nm_clk_round_rate(struct clk_hw *hw,
unsigned long rate, unsigned long *parent_rate)
{ … }
static const struct clk_ops clk_ops_dsi_pll_28nm_vco_hpm = …;
static const struct clk_ops clk_ops_dsi_pll_28nm_vco_lp = …;
static const struct clk_ops clk_ops_dsi_pll_28nm_vco_8226 = …;
static void dsi_28nm_pll_save_state(struct msm_dsi_phy *phy)
{ … }
static int dsi_28nm_pll_restore_state(struct msm_dsi_phy *phy)
{ … }
static int pll_28nm_register(struct dsi_pll_28nm *pll_28nm, struct clk_hw **provided_clocks)
{ … }
static int dsi_pll_28nm_init(struct msm_dsi_phy *phy)
{ … }
static void dsi_28nm_dphy_set_timing(struct msm_dsi_phy *phy,
struct msm_dsi_dphy_timing *timing)
{ … }
static void dsi_28nm_phy_regulator_enable_dcdc(struct msm_dsi_phy *phy)
{ … }
static void dsi_28nm_phy_regulator_enable_ldo(struct msm_dsi_phy *phy)
{ … }
static void dsi_28nm_phy_regulator_ctrl(struct msm_dsi_phy *phy, bool enable)
{ … }
static int dsi_28nm_phy_enable(struct msm_dsi_phy *phy,
struct msm_dsi_phy_clk_request *clk_req)
{ … }
static void dsi_28nm_phy_disable(struct msm_dsi_phy *phy)
{ … }
static const struct regulator_bulk_data dsi_phy_28nm_regulators[] = …;
const struct msm_dsi_phy_cfg dsi_phy_28nm_hpm_cfgs = …;
const struct msm_dsi_phy_cfg dsi_phy_28nm_hpm_famb_cfgs = …;
const struct msm_dsi_phy_cfg dsi_phy_28nm_lp_cfgs = …;
const struct msm_dsi_phy_cfg dsi_phy_28nm_8226_cfgs = …;
const struct msm_dsi_phy_cfg dsi_phy_28nm_8937_cfgs = …;