Lines Matching refs:mdp

55 static void mtk_disp_pwm_update_bits(struct mtk_disp_pwm *mdp, u32 offset,  in mtk_disp_pwm_update_bits()  argument
58 void __iomem *address = mdp->base + offset; in mtk_disp_pwm_update_bits()
70 struct mtk_disp_pwm *mdp = to_mtk_disp_pwm(chip); in mtk_disp_pwm_config() local
85 rate = clk_get_rate(mdp->clk_main); in mtk_disp_pwm_config()
99 err = clk_enable(mdp->clk_main); in mtk_disp_pwm_config()
103 err = clk_enable(mdp->clk_mm); in mtk_disp_pwm_config()
105 clk_disable(mdp->clk_main); in mtk_disp_pwm_config()
109 mtk_disp_pwm_update_bits(mdp, DISP_PWM_CON_0, PWM_CLKDIV_MASK, in mtk_disp_pwm_config()
111 mtk_disp_pwm_update_bits(mdp, DISP_PWM_CON_1, in mtk_disp_pwm_config()
113 mtk_disp_pwm_update_bits(mdp, DISP_PWM_COMMIT, PWM_COMMIT_MASK, 1); in mtk_disp_pwm_config()
114 mtk_disp_pwm_update_bits(mdp, DISP_PWM_COMMIT, PWM_COMMIT_MASK, 0); in mtk_disp_pwm_config()
116 clk_disable(mdp->clk_mm); in mtk_disp_pwm_config()
117 clk_disable(mdp->clk_main); in mtk_disp_pwm_config()
124 struct mtk_disp_pwm *mdp = to_mtk_disp_pwm(chip); in mtk_disp_pwm_enable() local
127 err = clk_enable(mdp->clk_main); in mtk_disp_pwm_enable()
131 err = clk_enable(mdp->clk_mm); in mtk_disp_pwm_enable()
133 clk_disable(mdp->clk_main); in mtk_disp_pwm_enable()
137 mtk_disp_pwm_update_bits(mdp, DISP_PWM_EN, PWM_ENABLE_MASK, 1); in mtk_disp_pwm_enable()
144 struct mtk_disp_pwm *mdp = to_mtk_disp_pwm(chip); in mtk_disp_pwm_disable() local
146 mtk_disp_pwm_update_bits(mdp, DISP_PWM_EN, PWM_ENABLE_MASK, 0); in mtk_disp_pwm_disable()
148 clk_disable(mdp->clk_mm); in mtk_disp_pwm_disable()
149 clk_disable(mdp->clk_main); in mtk_disp_pwm_disable()
161 struct mtk_disp_pwm *mdp; in mtk_disp_pwm_probe() local
165 mdp = devm_kzalloc(&pdev->dev, sizeof(*mdp), GFP_KERNEL); in mtk_disp_pwm_probe()
166 if (!mdp) in mtk_disp_pwm_probe()
170 mdp->base = devm_ioremap_resource(&pdev->dev, r); in mtk_disp_pwm_probe()
171 if (IS_ERR(mdp->base)) in mtk_disp_pwm_probe()
172 return PTR_ERR(mdp->base); in mtk_disp_pwm_probe()
174 mdp->clk_main = devm_clk_get(&pdev->dev, "main"); in mtk_disp_pwm_probe()
175 if (IS_ERR(mdp->clk_main)) in mtk_disp_pwm_probe()
176 return PTR_ERR(mdp->clk_main); in mtk_disp_pwm_probe()
178 mdp->clk_mm = devm_clk_get(&pdev->dev, "mm"); in mtk_disp_pwm_probe()
179 if (IS_ERR(mdp->clk_mm)) in mtk_disp_pwm_probe()
180 return PTR_ERR(mdp->clk_mm); in mtk_disp_pwm_probe()
182 ret = clk_prepare(mdp->clk_main); in mtk_disp_pwm_probe()
186 ret = clk_prepare(mdp->clk_mm); in mtk_disp_pwm_probe()
190 mdp->chip.dev = &pdev->dev; in mtk_disp_pwm_probe()
191 mdp->chip.ops = &mtk_disp_pwm_ops; in mtk_disp_pwm_probe()
192 mdp->chip.base = -1; in mtk_disp_pwm_probe()
193 mdp->chip.npwm = 1; in mtk_disp_pwm_probe()
195 ret = pwmchip_add(&mdp->chip); in mtk_disp_pwm_probe()
201 platform_set_drvdata(pdev, mdp); in mtk_disp_pwm_probe()
206 clk_unprepare(mdp->clk_mm); in mtk_disp_pwm_probe()
208 clk_unprepare(mdp->clk_main); in mtk_disp_pwm_probe()
214 struct mtk_disp_pwm *mdp = platform_get_drvdata(pdev); in mtk_disp_pwm_remove() local
217 ret = pwmchip_remove(&mdp->chip); in mtk_disp_pwm_remove()
218 clk_unprepare(mdp->clk_mm); in mtk_disp_pwm_remove()
219 clk_unprepare(mdp->clk_main); in mtk_disp_pwm_remove()