Lines Matching full:imx
39 struct pwm_imx1_chip *imx = to_pwm_imx1_chip(chip); in pwm_imx1_clk_prepare_enable() local
42 ret = clk_prepare_enable(imx->clk_ipg); in pwm_imx1_clk_prepare_enable()
46 ret = clk_prepare_enable(imx->clk_per); in pwm_imx1_clk_prepare_enable()
48 clk_disable_unprepare(imx->clk_ipg); in pwm_imx1_clk_prepare_enable()
57 struct pwm_imx1_chip *imx = to_pwm_imx1_chip(chip); in pwm_imx1_clk_disable_unprepare() local
59 clk_disable_unprepare(imx->clk_per); in pwm_imx1_clk_disable_unprepare()
60 clk_disable_unprepare(imx->clk_ipg); in pwm_imx1_clk_disable_unprepare()
66 struct pwm_imx1_chip *imx = to_pwm_imx1_chip(chip); in pwm_imx1_config() local
86 max = readl(imx->mmio_base + MX1_PWMP); in pwm_imx1_config()
89 writel(max - p, imx->mmio_base + MX1_PWMS); in pwm_imx1_config()
96 struct pwm_imx1_chip *imx = to_pwm_imx1_chip(chip); in pwm_imx1_enable() local
104 value = readl(imx->mmio_base + MX1_PWMC); in pwm_imx1_enable()
106 writel(value, imx->mmio_base + MX1_PWMC); in pwm_imx1_enable()
113 struct pwm_imx1_chip *imx = to_pwm_imx1_chip(chip); in pwm_imx1_disable() local
116 value = readl(imx->mmio_base + MX1_PWMC); in pwm_imx1_disable()
118 writel(value, imx->mmio_base + MX1_PWMC); in pwm_imx1_disable()
138 struct pwm_imx1_chip *imx; in pwm_imx1_probe() local
141 imx = devm_kzalloc(&pdev->dev, sizeof(*imx), GFP_KERNEL); in pwm_imx1_probe()
142 if (!imx) in pwm_imx1_probe()
145 platform_set_drvdata(pdev, imx); in pwm_imx1_probe()
147 imx->clk_ipg = devm_clk_get(&pdev->dev, "ipg"); in pwm_imx1_probe()
148 if (IS_ERR(imx->clk_ipg)) { in pwm_imx1_probe()
150 PTR_ERR(imx->clk_ipg)); in pwm_imx1_probe()
151 return PTR_ERR(imx->clk_ipg); in pwm_imx1_probe()
154 imx->clk_per = devm_clk_get(&pdev->dev, "per"); in pwm_imx1_probe()
155 if (IS_ERR(imx->clk_per)) { in pwm_imx1_probe()
156 int ret = PTR_ERR(imx->clk_per); in pwm_imx1_probe()
166 imx->chip.ops = &pwm_imx1_ops; in pwm_imx1_probe()
167 imx->chip.dev = &pdev->dev; in pwm_imx1_probe()
168 imx->chip.base = -1; in pwm_imx1_probe()
169 imx->chip.npwm = 1; in pwm_imx1_probe()
172 imx->mmio_base = devm_ioremap_resource(&pdev->dev, r); in pwm_imx1_probe()
173 if (IS_ERR(imx->mmio_base)) in pwm_imx1_probe()
174 return PTR_ERR(imx->mmio_base); in pwm_imx1_probe()
176 return pwmchip_add(&imx->chip); in pwm_imx1_probe()
181 struct pwm_imx1_chip *imx = platform_get_drvdata(pdev); in pwm_imx1_remove() local
183 pwm_imx1_clk_disable_unprepare(&imx->chip); in pwm_imx1_remove()
185 return pwmchip_remove(&imx->chip); in pwm_imx1_remove()