Symbol: lradc
drivers/clk/mxs/clk-imx28.c
208
clks[lradc] = mxs_clk_fixed_factor("lradc", "clk32k", 1, 16);
drivers/iio/adc/mxs-lradc-adc.c
114
struct mxs_lradc *lradc;
drivers/iio/adc/mxs-lradc-adc.c
135
struct mxs_lradc *lradc = adc->lradc;
drivers/iio/adc/mxs-lradc-adc.c
154
if (lradc->soc == IMX28_LRADC)
drivers/iio/adc/mxs-lradc-adc.c
386
struct mxs_lradc *lradc = adc->lradc;
drivers/iio/adc/mxs-lradc-adc.c
390
if (!(reg & mxs_lradc_irq_mask(lradc)))
drivers/iio/adc/mxs-lradc-adc.c
394
if (reg & lradc->buffer_vchans) {
drivers/iio/adc/mxs-lradc-adc.c
403
writel(reg & mxs_lradc_irq_mask(lradc),
drivers/iio/adc/mxs-lradc-adc.c
485
struct mxs_lradc *lradc = adc->lradc;
drivers/iio/adc/mxs-lradc-adc.c
494
if (lradc->soc == IMX28_LRADC)
drivers/iio/adc/mxs-lradc-adc.c
495
writel(lradc->buffer_vchans << LRADC_CTRL1_LRADC_IRQ_EN_OFFSET,
drivers/iio/adc/mxs-lradc-adc.c
497
writel(lradc->buffer_vchans,
drivers/iio/adc/mxs-lradc-adc.c
523
struct mxs_lradc *lradc = adc->lradc;
drivers/iio/adc/mxs-lradc-adc.c
528
writel(lradc->buffer_vchans,
drivers/iio/adc/mxs-lradc-adc.c
530
if (lradc->soc == IMX28_LRADC)
drivers/iio/adc/mxs-lradc-adc.c
531
writel(lradc->buffer_vchans << LRADC_CTRL1_LRADC_IRQ_EN_OFFSET,
drivers/iio/adc/mxs-lradc-adc.c
541
struct mxs_lradc *lradc = adc->lradc;
drivers/iio/adc/mxs-lradc-adc.c
546
if (lradc->use_touchbutton)
drivers/iio/adc/mxs-lradc-adc.c
548
if (lradc->touchscreen_wire == MXS_LRADC_TOUCHSCREEN_4WIRE)
drivers/iio/adc/mxs-lradc-adc.c
550
if (lradc->touchscreen_wire == MXS_LRADC_TOUCHSCREEN_5WIRE)
drivers/iio/adc/mxs-lradc-adc.c
553
if (lradc->use_touchbutton)
drivers/iio/adc/mxs-lradc-adc.c
555
if (lradc->touchscreen_wire)
drivers/iio/adc/mxs-lradc-adc.c
690
struct mxs_lradc *lradc = dev_get_drvdata(dev->parent);
drivers/iio/adc/mxs-lradc-adc.c
704
adc->lradc = lradc;
drivers/iio/adc/mxs-lradc-adc.c
725
if (lradc->soc == IMX23_LRADC) {
drivers/iio/adc/mxs-lradc-adc.c
764
adc->vref_mv = mxs_lradc_adc_vref_mv[lradc->soc];
drivers/input/keyboard/sun4i-lradc-keys.c
110
struct sun4i_lradc_data *lradc = dev_id;
drivers/input/keyboard/sun4i-lradc-keys.c
113
ints = readl(lradc->base + LRADC_INTS);
drivers/input/keyboard/sun4i-lradc-keys.c
121
input_report_key(lradc->input, lradc->chan0_keycode, 0);
drivers/input/keyboard/sun4i-lradc-keys.c
122
lradc->chan0_keycode = 0;
drivers/input/keyboard/sun4i-lradc-keys.c
125
if ((ints & CHAN0_KEYDOWN_IRQ) && lradc->chan0_keycode == 0) {
drivers/input/keyboard/sun4i-lradc-keys.c
126
val = readl(lradc->base + LRADC_DATA0) & 0x3f;
drivers/input/keyboard/sun4i-lradc-keys.c
127
voltage = val * lradc->vref / 63;
drivers/input/keyboard/sun4i-lradc-keys.c
129
for (i = 0; i < lradc->chan0_map_count; i++) {
drivers/input/keyboard/sun4i-lradc-keys.c
130
diff = abs(lradc->chan0_map[i].voltage - voltage);
drivers/input/keyboard/sun4i-lradc-keys.c
133
keycode = lradc->chan0_map[i].keycode;
drivers/input/keyboard/sun4i-lradc-keys.c
137
lradc->chan0_keycode = keycode;
drivers/input/keyboard/sun4i-lradc-keys.c
138
input_report_key(lradc->input, lradc->chan0_keycode, 1);
drivers/input/keyboard/sun4i-lradc-keys.c
141
input_sync(lradc->input);
drivers/input/keyboard/sun4i-lradc-keys.c
143
writel(ints, lradc->base + LRADC_INTS);
drivers/input/keyboard/sun4i-lradc-keys.c
150
struct sun4i_lradc_data *lradc = input_get_drvdata(dev);
drivers/input/keyboard/sun4i-lradc-keys.c
153
error = regulator_enable(lradc->vref_supply);
drivers/input/keyboard/sun4i-lradc-keys.c
157
error = reset_control_deassert(lradc->reset);
drivers/input/keyboard/sun4i-lradc-keys.c
161
error = clk_prepare_enable(lradc->clk);
drivers/input/keyboard/sun4i-lradc-keys.c
165
lradc->vref = regulator_get_voltage(lradc->vref_supply) *
drivers/input/keyboard/sun4i-lradc-keys.c
166
lradc->variant->divisor_numerator /
drivers/input/keyboard/sun4i-lradc-keys.c
167
lradc->variant->divisor_denominator;
drivers/input/keyboard/sun4i-lradc-keys.c
173
SAMPLE_RATE(0) | ENABLE(1), lradc->base + LRADC_CTRL);
drivers/input/keyboard/sun4i-lradc-keys.c
175
writel(CHAN0_KEYUP_IRQ | CHAN0_KEYDOWN_IRQ, lradc->base + LRADC_INTC);
drivers/input/keyboard/sun4i-lradc-keys.c
180
reset_control_assert(lradc->reset);
drivers/input/keyboard/sun4i-lradc-keys.c
182
regulator_disable(lradc->vref_supply);
drivers/input/keyboard/sun4i-lradc-keys.c
189
struct sun4i_lradc_data *lradc = input_get_drvdata(dev);
drivers/input/keyboard/sun4i-lradc-keys.c
193
SAMPLE_RATE(2), lradc->base + LRADC_CTRL);
drivers/input/keyboard/sun4i-lradc-keys.c
194
writel(0, lradc->base + LRADC_INTC);
drivers/input/keyboard/sun4i-lradc-keys.c
196
clk_disable_unprepare(lradc->clk);
drivers/input/keyboard/sun4i-lradc-keys.c
197
reset_control_assert(lradc->reset);
drivers/input/keyboard/sun4i-lradc-keys.c
198
regulator_disable(lradc->vref_supply);
drivers/input/keyboard/sun4i-lradc-keys.c
202
struct sun4i_lradc_data *lradc)
drivers/input/keyboard/sun4i-lradc-keys.c
212
lradc->chan0_map_count = of_get_child_count(np);
drivers/input/keyboard/sun4i-lradc-keys.c
213
if (lradc->chan0_map_count == 0) {
drivers/input/keyboard/sun4i-lradc-keys.c
218
lradc->chan0_map = devm_kmalloc_array(dev, lradc->chan0_map_count,
drivers/input/keyboard/sun4i-lradc-keys.c
221
if (!lradc->chan0_map)
drivers/input/keyboard/sun4i-lradc-keys.c
226
struct sun4i_lradc_keymap *map = &lradc->chan0_map[i];
drivers/input/keyboard/sun4i-lradc-keys.c
255
struct sun4i_lradc_data *lradc;
drivers/input/keyboard/sun4i-lradc-keys.c
259
lradc = devm_kzalloc(dev, sizeof(struct sun4i_lradc_data), GFP_KERNEL);
drivers/input/keyboard/sun4i-lradc-keys.c
260
if (!lradc)
drivers/input/keyboard/sun4i-lradc-keys.c
263
error = sun4i_lradc_load_dt_keymap(dev, lradc);
drivers/input/keyboard/sun4i-lradc-keys.c
267
lradc->variant = of_device_get_match_data(&pdev->dev);
drivers/input/keyboard/sun4i-lradc-keys.c
268
if (!lradc->variant) {
drivers/input/keyboard/sun4i-lradc-keys.c
273
if (lradc->variant->has_clock_reset) {
drivers/input/keyboard/sun4i-lradc-keys.c
274
lradc->clk = devm_clk_get(dev, NULL);
drivers/input/keyboard/sun4i-lradc-keys.c
275
if (IS_ERR(lradc->clk))
drivers/input/keyboard/sun4i-lradc-keys.c
276
return PTR_ERR(lradc->clk);
drivers/input/keyboard/sun4i-lradc-keys.c
278
lradc->reset = devm_reset_control_get_exclusive(dev, NULL);
drivers/input/keyboard/sun4i-lradc-keys.c
279
if (IS_ERR(lradc->reset))
drivers/input/keyboard/sun4i-lradc-keys.c
280
return PTR_ERR(lradc->reset);
drivers/input/keyboard/sun4i-lradc-keys.c
283
lradc->vref_supply = devm_regulator_get(dev, "vref");
drivers/input/keyboard/sun4i-lradc-keys.c
284
if (IS_ERR(lradc->vref_supply))
drivers/input/keyboard/sun4i-lradc-keys.c
285
return PTR_ERR(lradc->vref_supply);
drivers/input/keyboard/sun4i-lradc-keys.c
287
lradc->dev = dev;
drivers/input/keyboard/sun4i-lradc-keys.c
288
lradc->input = devm_input_allocate_device(dev);
drivers/input/keyboard/sun4i-lradc-keys.c
289
if (!lradc->input)
drivers/input/keyboard/sun4i-lradc-keys.c
292
lradc->input->name = pdev->name;
drivers/input/keyboard/sun4i-lradc-keys.c
293
lradc->input->phys = "sun4i_lradc/input0";
drivers/input/keyboard/sun4i-lradc-keys.c
294
lradc->input->open = sun4i_lradc_open;
drivers/input/keyboard/sun4i-lradc-keys.c
295
lradc->input->close = sun4i_lradc_close;
drivers/input/keyboard/sun4i-lradc-keys.c
296
lradc->input->id.bustype = BUS_HOST;
drivers/input/keyboard/sun4i-lradc-keys.c
297
lradc->input->id.vendor = 0x0001;
drivers/input/keyboard/sun4i-lradc-keys.c
298
lradc->input->id.product = 0x0001;
drivers/input/keyboard/sun4i-lradc-keys.c
299
lradc->input->id.version = 0x0100;
drivers/input/keyboard/sun4i-lradc-keys.c
301
__set_bit(EV_KEY, lradc->input->evbit);
drivers/input/keyboard/sun4i-lradc-keys.c
302
for (i = 0; i < lradc->chan0_map_count; i++)
drivers/input/keyboard/sun4i-lradc-keys.c
303
__set_bit(lradc->chan0_map[i].keycode, lradc->input->keybit);
drivers/input/keyboard/sun4i-lradc-keys.c
305
input_set_drvdata(lradc->input, lradc);
drivers/input/keyboard/sun4i-lradc-keys.c
307
lradc->base = devm_platform_ioremap_resource(pdev, 0);
drivers/input/keyboard/sun4i-lradc-keys.c
308
if (IS_ERR(lradc->base))
drivers/input/keyboard/sun4i-lradc-keys.c
309
return PTR_ERR(lradc->base);
drivers/input/keyboard/sun4i-lradc-keys.c
316
"sun4i-a10-lradc-keys", lradc);
drivers/input/keyboard/sun4i-lradc-keys.c
320
error = input_register_device(lradc->input);
drivers/input/touchscreen/mxs-lradc-ts.c
274
struct mxs_lradc *lradc = ts->lradc;
drivers/input/touchscreen/mxs-lradc-ts.c
282
writel(info[lradc->soc].mask,
drivers/input/touchscreen/mxs-lradc-ts.c
284
writel(info[lradc->soc].bit,
drivers/input/touchscreen/mxs-lradc-ts.c
302
struct mxs_lradc *lradc = ts->lradc;
drivers/input/touchscreen/mxs-lradc-ts.c
304
writel(info[lradc->soc].mask,
drivers/input/touchscreen/mxs-lradc-ts.c
306
writel(info[lradc->soc].x_plate,
drivers/input/touchscreen/mxs-lradc-ts.c
328
struct mxs_lradc *lradc = ts->lradc;
drivers/input/touchscreen/mxs-lradc-ts.c
330
writel(info[lradc->soc].mask,
drivers/input/touchscreen/mxs-lradc-ts.c
332
writel(info[lradc->soc].y_plate,
drivers/input/touchscreen/mxs-lradc-ts.c
354
struct mxs_lradc *lradc = ts->lradc;
drivers/input/touchscreen/mxs-lradc-ts.c
356
writel(info[lradc->soc].mask,
drivers/input/touchscreen/mxs-lradc-ts.c
358
writel(info[lradc->soc].pressure,
drivers/input/touchscreen/mxs-lradc-ts.c
42
struct mxs_lradc *lradc;
drivers/input/touchscreen/mxs-lradc-ts.c
496
struct mxs_lradc *lradc = ts->lradc;
drivers/input/touchscreen/mxs-lradc-ts.c
498
u32 clr_irq = mxs_lradc_irq_mask(lradc);
drivers/input/touchscreen/mxs-lradc-ts.c
504
if (!(reg & mxs_lradc_irq_mask(lradc)))
drivers/input/touchscreen/mxs-lradc-ts.c
534
struct mxs_lradc *lradc = ts->lradc;
drivers/input/touchscreen/mxs-lradc-ts.c
543
writel(info[lradc->soc].mask,
drivers/input/touchscreen/mxs-lradc-ts.c
546
writel(lradc->buffer_vchans << LRADC_CTRL1_LRADC_IRQ_EN_OFFSET,
drivers/input/touchscreen/mxs-lradc-ts.c
562
struct mxs_lradc *lradc = ts->lradc;
drivers/input/touchscreen/mxs-lradc-ts.c
565
if (lradc->soc == IMX28_LRADC) {
drivers/input/touchscreen/mxs-lradc-ts.c
569
if (lradc->touchscreen_wire == MXS_LRADC_TOUCHSCREEN_5WIRE)
drivers/input/touchscreen/mxs-lradc-ts.c
606
struct mxs_lradc *lradc = dev_get_drvdata(dev->parent);
drivers/input/touchscreen/mxs-lradc-ts.c
617
ts->lradc = lradc;
drivers/mfd/mxs-lradc.c
130
struct mxs_lradc *lradc;
drivers/mfd/mxs-lradc.c
136
lradc = devm_kzalloc(&pdev->dev, sizeof(*lradc), GFP_KERNEL);
drivers/mfd/mxs-lradc.c
137
if (!lradc)
drivers/mfd/mxs-lradc.c
140
lradc->soc = (kernel_ulong_t)device_get_match_data(&pdev->dev);
drivers/mfd/mxs-lradc.c
142
lradc->clk = devm_clk_get(&pdev->dev, NULL);
drivers/mfd/mxs-lradc.c
143
if (IS_ERR(lradc->clk)) {
drivers/mfd/mxs-lradc.c
145
return PTR_ERR(lradc->clk);
drivers/mfd/mxs-lradc.c
148
ret = clk_prepare_enable(lradc->clk);
drivers/mfd/mxs-lradc.c
158
lradc->buffer_vchans = BUFFER_VCHANS_LIMITED;
drivers/mfd/mxs-lradc.c
162
lradc->touchscreen_wire = MXS_LRADC_TOUCHSCREEN_4WIRE;
drivers/mfd/mxs-lradc.c
165
if (lradc->soc == IMX28_LRADC) {
drivers/mfd/mxs-lradc.c
166
lradc->touchscreen_wire =
drivers/mfd/mxs-lradc.c
179
lradc->buffer_vchans = BUFFER_VCHANS_ALL;
drivers/mfd/mxs-lradc.c
182
platform_set_drvdata(pdev, lradc);
drivers/mfd/mxs-lradc.c
190
switch (lradc->soc) {
drivers/mfd/mxs-lradc.c
214
if (!lradc->touchscreen_wire)
drivers/mfd/mxs-lradc.c
228
clk_disable_unprepare(lradc->clk);
drivers/mfd/mxs-lradc.c
235
struct mxs_lradc *lradc = platform_get_drvdata(pdev);
drivers/mfd/mxs-lradc.c
237
clk_disable_unprepare(lradc->clk);
include/linux/mfd/mxs-lradc.h
166
static inline u32 mxs_lradc_irq_mask(struct mxs_lradc *lradc)
include/linux/mfd/mxs-lradc.h
168
switch (lradc->soc) {