Lines Matching +full:pll +full:- +full:1

1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) 2014 Texas Instruments Incorporated - https://www.ti.com/
18 struct dss_pll pll; member
30 REG_MOD(vpll->clkctrl_base, 1, 14, 14); /* CIO_CLK_ICG */ in dss_dpll_enable_scp_clk()
35 REG_MOD(vpll->clkctrl_base, 0, 14, 14); /* CIO_CLK_ICG */ in dss_dpll_disable_scp_clk()
40 REG_MOD(vpll->clkctrl_base, 2, 31, 30); /* PLL_POWER_ON_ALL */ in dss_dpll_power_enable()
43 * DRA7x PLL CTRL's PLL_PWR_STATUS seems to always return 0, in dss_dpll_power_enable()
46 msleep(1); in dss_dpll_power_enable()
51 REG_MOD(vpll->clkctrl_base, 0, 31, 30); /* PLL_POWER_OFF */ in dss_dpll_power_disable()
54 static int dss_video_pll_enable(struct dss_pll *pll) in dss_video_pll_enable() argument
56 struct dss_video_pll *vpll = container_of(pll, struct dss_video_pll, pll); in dss_video_pll_enable()
59 r = dss_runtime_get(pll->dss); in dss_video_pll_enable()
63 dss_ctrl_pll_enable(pll, true); in dss_video_pll_enable()
67 r = dss_pll_wait_reset_done(pll); in dss_video_pll_enable()
77 dss_ctrl_pll_enable(pll, false); in dss_video_pll_enable()
78 dss_runtime_put(pll->dss); in dss_video_pll_enable()
83 static void dss_video_pll_disable(struct dss_pll *pll) in dss_video_pll_disable() argument
85 struct dss_video_pll *vpll = container_of(pll, struct dss_video_pll, pll); in dss_video_pll_disable()
91 dss_ctrl_pll_enable(pll, false); in dss_video_pll_disable()
93 dss_runtime_put(pll->dss); in dss_video_pll_disable()
105 .n_max = (1 << 8) - 1,
106 .m_max = (1 << 12) - 1,
107 .mX_max = (1 << 5) - 1,
113 .n_lsb = 1,
119 .mX_msb[1] = 30,
120 .mX_lsb[1] = 26,
143 struct dss_pll *pll; in dss_video_pll_init() local
146 /* PLL CONTROL */ in dss_video_pll_init()
160 clk = devm_clk_get(&pdev->dev, clkin_name[id]); in dss_video_pll_init()
162 DSSERR("can't get video pll clkin\n"); in dss_video_pll_init()
166 vpll = devm_kzalloc(&pdev->dev, sizeof(*vpll), GFP_KERNEL); in dss_video_pll_init()
168 return ERR_PTR(-ENOMEM); in dss_video_pll_init()
170 vpll->dev = &pdev->dev; in dss_video_pll_init()
171 vpll->clkctrl_base = clkctrl_base; in dss_video_pll_init()
173 pll = &vpll->pll; in dss_video_pll_init()
175 pll->name = id == 0 ? "video0" : "video1"; in dss_video_pll_init()
176 pll->id = id == 0 ? DSS_PLL_VIDEO1 : DSS_PLL_VIDEO2; in dss_video_pll_init()
177 pll->clkin = clk; in dss_video_pll_init()
178 pll->regulator = regulator; in dss_video_pll_init()
179 pll->base = pll_base; in dss_video_pll_init()
180 pll->hw = &dss_dra7_video_pll_hw; in dss_video_pll_init()
181 pll->ops = &dss_pll_ops; in dss_video_pll_init()
183 r = dss_pll_register(dss, pll); in dss_video_pll_init()
187 return pll; in dss_video_pll_init()
190 void dss_video_pll_uninit(struct dss_pll *pll) in dss_video_pll_uninit() argument
192 dss_pll_unregister(pll); in dss_video_pll_uninit()