Lines Matching refs:spc

56 static u32 sprd_pwm_read(struct sprd_pwm_chip *spc, u32 hwid, u32 reg)  in sprd_pwm_read()  argument
60 return readl_relaxed(spc->base + offset); in sprd_pwm_read()
63 static void sprd_pwm_write(struct sprd_pwm_chip *spc, u32 hwid, in sprd_pwm_write() argument
68 writel_relaxed(val, spc->base + offset); in sprd_pwm_write()
74 struct sprd_pwm_chip *spc = sprd_pwm_from_chip(chip); in sprd_pwm_get_state() local
75 struct sprd_pwm_chn *chn = &spc->chn[pwm->hwpwm]; in sprd_pwm_get_state()
91 val = sprd_pwm_read(spc, pwm->hwpwm, SPRD_PWM_ENABLE); in sprd_pwm_get_state()
105 val = sprd_pwm_read(spc, pwm->hwpwm, SPRD_PWM_PRESCALE); in sprd_pwm_get_state()
110 val = sprd_pwm_read(spc, pwm->hwpwm, SPRD_PWM_DUTY); in sprd_pwm_get_state()
123 static int sprd_pwm_config(struct sprd_pwm_chip *spc, struct pwm_device *pwm, in sprd_pwm_config() argument
126 struct sprd_pwm_chn *chn = &spc->chn[pwm->hwpwm]; in sprd_pwm_config()
156 sprd_pwm_write(spc, pwm->hwpwm, SPRD_PWM_PRESCALE, prescale); in sprd_pwm_config()
157 sprd_pwm_write(spc, pwm->hwpwm, SPRD_PWM_MOD, SPRD_PWM_MOD_MAX); in sprd_pwm_config()
158 sprd_pwm_write(spc, pwm->hwpwm, SPRD_PWM_DUTY, duty); in sprd_pwm_config()
166 struct sprd_pwm_chip *spc = sprd_pwm_from_chip(chip); in sprd_pwm_apply() local
167 struct sprd_pwm_chn *chn = &spc->chn[pwm->hwpwm]; in sprd_pwm_apply()
190 ret = sprd_pwm_config(spc, pwm, state->duty_cycle, in sprd_pwm_apply()
195 sprd_pwm_write(spc, pwm->hwpwm, SPRD_PWM_ENABLE, 1); in sprd_pwm_apply()
202 sprd_pwm_write(spc, pwm->hwpwm, SPRD_PWM_ENABLE, 0); in sprd_pwm_apply()
251 struct sprd_pwm_chip *spc; in sprd_pwm_probe() local
259 chip = devm_pwmchip_alloc(&pdev->dev, npwm, sizeof(*spc)); in sprd_pwm_probe()
262 spc = sprd_pwm_from_chip(chip); in sprd_pwm_probe()
264 spc->base = devm_platform_ioremap_resource(pdev, 0); in sprd_pwm_probe()
265 if (IS_ERR(spc->base)) in sprd_pwm_probe()
266 return PTR_ERR(spc->base); in sprd_pwm_probe()
268 memcpy(spc->chn, chn, sizeof(chn)); in sprd_pwm_probe()