Lines Matching refs:pc

44 	struct bcm2835_pwm *pc = to_bcm2835_pwm(chip);  in bcm2835_pwm_request()  local
47 value = readl(pc->base + PWM_CONTROL); in bcm2835_pwm_request()
50 writel(value, pc->base + PWM_CONTROL); in bcm2835_pwm_request()
57 struct bcm2835_pwm *pc = to_bcm2835_pwm(chip); in bcm2835_pwm_free() local
60 value = readl(pc->base + PWM_CONTROL); in bcm2835_pwm_free()
62 writel(value, pc->base + PWM_CONTROL); in bcm2835_pwm_free()
68 struct bcm2835_pwm *pc = to_bcm2835_pwm(chip); in bcm2835_pwm_config() local
71 dev_err(pc->dev, "period %d not supported, minimum %d\n", in bcm2835_pwm_config()
76 writel(duty_ns / pc->scaler, pc->base + DUTY(pwm->hwpwm)); in bcm2835_pwm_config()
77 writel(period_ns / pc->scaler, pc->base + PERIOD(pwm->hwpwm)); in bcm2835_pwm_config()
84 struct bcm2835_pwm *pc = to_bcm2835_pwm(chip); in bcm2835_pwm_enable() local
87 value = readl(pc->base + PWM_CONTROL); in bcm2835_pwm_enable()
89 writel(value, pc->base + PWM_CONTROL); in bcm2835_pwm_enable()
96 struct bcm2835_pwm *pc = to_bcm2835_pwm(chip); in bcm2835_pwm_disable() local
99 value = readl(pc->base + PWM_CONTROL); in bcm2835_pwm_disable()
101 writel(value, pc->base + PWM_CONTROL); in bcm2835_pwm_disable()
107 struct bcm2835_pwm *pc = to_bcm2835_pwm(chip); in bcm2835_set_polarity() local
110 value = readl(pc->base + PWM_CONTROL); in bcm2835_set_polarity()
117 writel(value, pc->base + PWM_CONTROL); in bcm2835_set_polarity()
134 struct bcm2835_pwm *pc; in bcm2835_pwm_probe() local
138 pc = devm_kzalloc(&pdev->dev, sizeof(*pc), GFP_KERNEL); in bcm2835_pwm_probe()
139 if (!pc) in bcm2835_pwm_probe()
142 pc->dev = &pdev->dev; in bcm2835_pwm_probe()
145 pc->base = devm_ioremap_resource(&pdev->dev, res); in bcm2835_pwm_probe()
146 if (IS_ERR(pc->base)) in bcm2835_pwm_probe()
147 return PTR_ERR(pc->base); in bcm2835_pwm_probe()
149 pc->clk = devm_clk_get(&pdev->dev, NULL); in bcm2835_pwm_probe()
150 if (IS_ERR(pc->clk)) { in bcm2835_pwm_probe()
151 dev_err(&pdev->dev, "clock not found: %ld\n", PTR_ERR(pc->clk)); in bcm2835_pwm_probe()
152 return PTR_ERR(pc->clk); in bcm2835_pwm_probe()
155 ret = clk_prepare_enable(pc->clk); in bcm2835_pwm_probe()
159 pc->scaler = NSEC_PER_SEC / clk_get_rate(pc->clk); in bcm2835_pwm_probe()
161 pc->chip.dev = &pdev->dev; in bcm2835_pwm_probe()
162 pc->chip.ops = &bcm2835_pwm_ops; in bcm2835_pwm_probe()
163 pc->chip.npwm = 2; in bcm2835_pwm_probe()
165 platform_set_drvdata(pdev, pc); in bcm2835_pwm_probe()
167 ret = pwmchip_add(&pc->chip); in bcm2835_pwm_probe()
174 clk_disable_unprepare(pc->clk); in bcm2835_pwm_probe()
180 struct bcm2835_pwm *pc = platform_get_drvdata(pdev); in bcm2835_pwm_remove() local
182 clk_disable_unprepare(pc->clk); in bcm2835_pwm_remove()
184 return pwmchip_remove(&pc->chip); in bcm2835_pwm_remove()