Lines Matching refs:ep93xx_pwm

36 struct ep93xx_pwm {  struct
42 static inline struct ep93xx_pwm *to_ep93xx_pwm(struct pwm_chip *chip) in to_ep93xx_pwm() argument
44 return container_of(chip, struct ep93xx_pwm, chip); in to_ep93xx_pwm()
65 struct ep93xx_pwm *ep93xx_pwm = to_ep93xx_pwm(chip); in ep93xx_pwm_apply() local
67 void __iomem *base = ep93xx_pwm->base; in ep93xx_pwm_apply()
75 writew(0x0, ep93xx_pwm->base + EP93XX_PWMx_ENABLE); in ep93xx_pwm_apply()
76 clk_disable_unprepare(ep93xx_pwm->clk); in ep93xx_pwm_apply()
84 ret = clk_prepare_enable(ep93xx_pwm->clk); in ep93xx_pwm_apply()
89 writew(0x1, ep93xx_pwm->base + EP93XX_PWMx_INVERT); in ep93xx_pwm_apply()
91 writew(0x0, ep93xx_pwm->base + EP93XX_PWMx_INVERT); in ep93xx_pwm_apply()
93 clk_disable_unprepare(ep93xx_pwm->clk); in ep93xx_pwm_apply()
98 writew(0x0, ep93xx_pwm->base + EP93XX_PWMx_ENABLE); in ep93xx_pwm_apply()
99 clk_disable_unprepare(ep93xx_pwm->clk); in ep93xx_pwm_apply()
110 ret = clk_prepare_enable(ep93xx_pwm->clk); in ep93xx_pwm_apply()
115 c = clk_get_rate(ep93xx_pwm->clk); in ep93xx_pwm_apply()
142 clk_disable_unprepare(ep93xx_pwm->clk); in ep93xx_pwm_apply()
148 ret = clk_prepare_enable(ep93xx_pwm->clk); in ep93xx_pwm_apply()
152 writew(0x1, ep93xx_pwm->base + EP93XX_PWMx_ENABLE); in ep93xx_pwm_apply()
167 struct ep93xx_pwm *ep93xx_pwm; in ep93xx_pwm_probe() local
170 ep93xx_pwm = devm_kzalloc(&pdev->dev, sizeof(*ep93xx_pwm), GFP_KERNEL); in ep93xx_pwm_probe()
171 if (!ep93xx_pwm) in ep93xx_pwm_probe()
174 ep93xx_pwm->base = devm_platform_ioremap_resource(pdev, 0); in ep93xx_pwm_probe()
175 if (IS_ERR(ep93xx_pwm->base)) in ep93xx_pwm_probe()
176 return PTR_ERR(ep93xx_pwm->base); in ep93xx_pwm_probe()
178 ep93xx_pwm->clk = devm_clk_get(&pdev->dev, "pwm_clk"); in ep93xx_pwm_probe()
179 if (IS_ERR(ep93xx_pwm->clk)) in ep93xx_pwm_probe()
180 return PTR_ERR(ep93xx_pwm->clk); in ep93xx_pwm_probe()
182 ep93xx_pwm->chip.dev = &pdev->dev; in ep93xx_pwm_probe()
183 ep93xx_pwm->chip.ops = &ep93xx_pwm_ops; in ep93xx_pwm_probe()
184 ep93xx_pwm->chip.npwm = 1; in ep93xx_pwm_probe()
186 ret = devm_pwmchip_add(&pdev->dev, &ep93xx_pwm->chip); in ep93xx_pwm_probe()