Lines Matching refs:mxs

53 	struct mxs_pwm_chip *mxs = to_mxs_pwm_chip(chip);  in mxs_pwm_config()  local
59 rate = clk_get_rate(mxs->clk); in mxs_pwm_config()
81 ret = clk_prepare_enable(mxs->clk); in mxs_pwm_config()
87 mxs->base + PWM_ACTIVE0 + pwm->hwpwm * 0x20); in mxs_pwm_config()
90 mxs->base + PWM_PERIOD0 + pwm->hwpwm * 0x20); in mxs_pwm_config()
96 clk_disable_unprepare(mxs->clk); in mxs_pwm_config()
103 struct mxs_pwm_chip *mxs = to_mxs_pwm_chip(chip); in mxs_pwm_enable() local
106 ret = clk_prepare_enable(mxs->clk); in mxs_pwm_enable()
110 writel(1 << pwm->hwpwm, mxs->base + PWM_CTRL + SET); in mxs_pwm_enable()
117 struct mxs_pwm_chip *mxs = to_mxs_pwm_chip(chip); in mxs_pwm_disable() local
119 writel(1 << pwm->hwpwm, mxs->base + PWM_CTRL + CLR); in mxs_pwm_disable()
121 clk_disable_unprepare(mxs->clk); in mxs_pwm_disable()
134 struct mxs_pwm_chip *mxs; in mxs_pwm_probe() local
138 mxs = devm_kzalloc(&pdev->dev, sizeof(*mxs), GFP_KERNEL); in mxs_pwm_probe()
139 if (!mxs) in mxs_pwm_probe()
143 mxs->base = devm_ioremap_resource(&pdev->dev, res); in mxs_pwm_probe()
144 if (IS_ERR(mxs->base)) in mxs_pwm_probe()
145 return PTR_ERR(mxs->base); in mxs_pwm_probe()
147 mxs->clk = devm_clk_get(&pdev->dev, NULL); in mxs_pwm_probe()
148 if (IS_ERR(mxs->clk)) in mxs_pwm_probe()
149 return PTR_ERR(mxs->clk); in mxs_pwm_probe()
151 mxs->chip.dev = &pdev->dev; in mxs_pwm_probe()
152 mxs->chip.ops = &mxs_pwm_ops; in mxs_pwm_probe()
153 mxs->chip.base = -1; in mxs_pwm_probe()
154 mxs->chip.can_sleep = true; in mxs_pwm_probe()
155 ret = of_property_read_u32(np, "fsl,pwm-number", &mxs->chip.npwm); in mxs_pwm_probe()
161 ret = pwmchip_add(&mxs->chip); in mxs_pwm_probe()
167 platform_set_drvdata(pdev, mxs); in mxs_pwm_probe()
169 ret = stmp_reset_block(mxs->base); in mxs_pwm_probe()
176 pwmchip_remove(&mxs->chip); in mxs_pwm_probe()
182 struct mxs_pwm_chip *mxs = platform_get_drvdata(pdev); in mxs_pwm_remove() local
184 return pwmchip_remove(&mxs->chip); in mxs_pwm_remove()