Lines Matching refs:tsadc

30 static unsigned int tscadc_readl(struct ti_tscadc_dev *tsadc, unsigned int reg)  in tscadc_readl()  argument
34 regmap_read(tsadc->regmap_tscadc, reg, &val); in tscadc_readl()
38 static void tscadc_writel(struct ti_tscadc_dev *tsadc, unsigned int reg, in tscadc_writel() argument
41 regmap_write(tsadc->regmap_tscadc, reg, val); in tscadc_writel()
51 void am335x_tsc_se_set_cache(struct ti_tscadc_dev *tsadc, u32 val) in am335x_tsc_se_set_cache() argument
55 spin_lock_irqsave(&tsadc->reg_lock, flags); in am335x_tsc_se_set_cache()
56 tsadc->reg_se_cache |= val; in am335x_tsc_se_set_cache()
57 if (tsadc->adc_waiting) in am335x_tsc_se_set_cache()
58 wake_up(&tsadc->reg_se_wait); in am335x_tsc_se_set_cache()
59 else if (!tsadc->adc_in_use) in am335x_tsc_se_set_cache()
60 tscadc_writel(tsadc, REG_SE, tsadc->reg_se_cache); in am335x_tsc_se_set_cache()
62 spin_unlock_irqrestore(&tsadc->reg_lock, flags); in am335x_tsc_se_set_cache()
66 static void am335x_tscadc_need_adc(struct ti_tscadc_dev *tsadc) in am335x_tscadc_need_adc() argument
71 reg = tscadc_readl(tsadc, REG_ADCFSM); in am335x_tscadc_need_adc()
73 tsadc->adc_waiting = true; in am335x_tscadc_need_adc()
74 prepare_to_wait(&tsadc->reg_se_wait, &wait, in am335x_tscadc_need_adc()
76 spin_unlock_irq(&tsadc->reg_lock); in am335x_tscadc_need_adc()
80 spin_lock_irq(&tsadc->reg_lock); in am335x_tscadc_need_adc()
81 finish_wait(&tsadc->reg_se_wait, &wait); in am335x_tscadc_need_adc()
87 reg = tscadc_readl(tsadc, REG_ADCFSM); in am335x_tscadc_need_adc()
89 tsadc->adc_waiting = false; in am335x_tscadc_need_adc()
91 tsadc->adc_in_use = true; in am335x_tscadc_need_adc()
94 void am335x_tsc_se_set_once(struct ti_tscadc_dev *tsadc, u32 val) in am335x_tsc_se_set_once() argument
96 spin_lock_irq(&tsadc->reg_lock); in am335x_tsc_se_set_once()
97 am335x_tscadc_need_adc(tsadc); in am335x_tsc_se_set_once()
99 tscadc_writel(tsadc, REG_SE, val); in am335x_tsc_se_set_once()
100 spin_unlock_irq(&tsadc->reg_lock); in am335x_tsc_se_set_once()
104 void am335x_tsc_se_adc_done(struct ti_tscadc_dev *tsadc) in am335x_tsc_se_adc_done() argument
108 spin_lock_irqsave(&tsadc->reg_lock, flags); in am335x_tsc_se_adc_done()
109 tsadc->adc_in_use = false; in am335x_tsc_se_adc_done()
110 tscadc_writel(tsadc, REG_SE, tsadc->reg_se_cache); in am335x_tsc_se_adc_done()
111 spin_unlock_irqrestore(&tsadc->reg_lock, flags); in am335x_tsc_se_adc_done()
115 void am335x_tsc_se_clr(struct ti_tscadc_dev *tsadc, u32 val) in am335x_tsc_se_clr() argument
119 spin_lock_irqsave(&tsadc->reg_lock, flags); in am335x_tsc_se_clr()
120 tsadc->reg_se_cache &= ~val; in am335x_tsc_se_clr()
121 tscadc_writel(tsadc, REG_SE, tsadc->reg_se_cache); in am335x_tsc_se_clr()
122 spin_unlock_irqrestore(&tsadc->reg_lock, flags); in am335x_tsc_se_clr()