Home
last modified time | relevance | path

Searched full:iqs62x (Results 1 – 13 of 13) sorted by relevance

/linux-6.12.1/drivers/mfd/
Diqs62x.c14 * Link to conversion tool: https://github.com/jlabundy/iqs62x-h2bin.git
27 #include <linux/mfd/iqs62x.h>
108 static int iqs62x_dev_init(struct iqs62x_core *iqs62x) in iqs62x_dev_init() argument
114 list_for_each_entry(fw_blk, &iqs62x->fw_blk_head, list) { in iqs62x_dev_init()
124 ret = regmap_update_bits(iqs62x->regmap, fw_blk->addr, in iqs62x_dev_init()
127 ret = regmap_raw_write(iqs62x->regmap, fw_blk->addr, in iqs62x_dev_init()
133 switch (iqs62x->dev_desc->prod_num) { in iqs62x_dev_init()
136 ret = regmap_read(iqs62x->regmap, in iqs62x_dev_init()
137 iqs62x->dev_desc->prox_settings, &val); in iqs62x_dev_init()
142 iqs62x->ui_sel = IQS62X_UI_SAR1; in iqs62x_dev_init()
[all …]
DMakefile243 obj-$(CONFIG_MFD_IQS62X) += iqs62x.o
DKconfig750 be called iqs62x.
/linux-6.12.1/drivers/iio/position/
Diqs624-pos.c12 #include <linux/mfd/iqs62x.h>
25 struct iqs62x_core *iqs62x; member
33 static int iqs624_pos_angle_en(struct iqs62x_core *iqs62x, bool angle_en) in iqs624_pos_angle_en() argument
43 if (iqs62x->dev_desc->prod_num == IQS625_PROD_NUM) in iqs624_pos_angle_en()
46 return regmap_update_bits(iqs62x->regmap, IQS624_HALL_UI, event_mask, in iqs624_pos_angle_en()
55 struct iqs62x_core *iqs62x; in iqs624_pos_notifier() local
66 iqs62x = iqs624_pos->iqs62x; in iqs624_pos_notifier()
67 if (iqs62x->dev_desc->prod_num == IQS625_PROD_NUM) in iqs624_pos_notifier()
73 ret = iqs624_pos_angle_en(iqs62x, iqs624_pos->angle_en); in iqs624_pos_notifier()
105 ret = blocking_notifier_chain_unregister(&iqs624_pos->iqs62x->nh, in iqs624_pos_notifier_unregister()
[all …]
/linux-6.12.1/drivers/iio/light/
Diqs621-als.c12 #include <linux/mfd/iqs62x.h>
38 struct iqs62x_core *iqs62x; member
55 struct iqs62x_core *iqs62x = iqs621_als->iqs62x; in iqs621_als_init() local
61 ret = regmap_write(iqs62x->regmap, IQS622_IR_THRESH_TOUCH, in iqs621_als_init()
66 ret = regmap_write(iqs62x->regmap, IQS622_IR_THRESH_PROX, in iqs621_als_init()
71 ret = regmap_write(iqs62x->regmap, IQS621_ALS_THRESH_LIGHT, in iqs621_als_init()
76 ret = regmap_write(iqs62x->regmap, IQS621_ALS_THRESH_DARK, in iqs621_als_init()
84 event_mask |= iqs62x->dev_desc->als_mask; in iqs621_als_init()
87 event_mask |= iqs62x->dev_desc->ir_mask; in iqs621_als_init()
89 return regmap_clear_bits(iqs62x->regmap, IQS620_GLBL_EVENT_MASK, in iqs621_als_init()
[all …]
/linux-6.12.1/drivers/input/keyboard/
Diqs62x-keys.c11 #include <linux/mfd/iqs62x.h>
36 struct iqs62x_core *iqs62x; member
100 struct iqs62x_core *iqs62x = iqs62x_keys->iqs62x; in iqs62x_keys_init() local
106 switch (iqs62x->dev_desc->prod_num) { in iqs62x_keys_init()
121 event_mask |= iqs62x->dev_desc->prox_mask; in iqs62x_keys_init()
123 event_mask |= (iqs62x->dev_desc->hyst_mask | in iqs62x_keys_init()
124 iqs62x->dev_desc->sar_mask); in iqs62x_keys_init()
127 ret = regmap_read(iqs62x->regmap, iqs62x->dev_desc->hall_flags, in iqs62x_keys_init()
145 event_mask |= iqs62x->dev_desc->hall_mask; in iqs62x_keys_init()
169 ret = regmap_read(iqs62x->regmap, iqs62x->dev_desc->interval, in iqs62x_keys_init()
[all …]
DMakefile31 obj-$(CONFIG_KEYBOARD_IQS62X) += iqs62x-keys.o
DKconfig657 be called iqs62x-keys.
/linux-6.12.1/drivers/pwm/
Dpwm-iqs620a.c19 #include <linux/mfd/iqs62x.h>
36 struct iqs62x_core *iqs62x; member
51 struct iqs62x_core *iqs62x = iqs620_pwm->iqs62x; in iqs620_pwm_init() local
55 return regmap_clear_bits(iqs62x->regmap, IQS620_PWR_SETTINGS, in iqs620_pwm_init()
58 ret = regmap_write(iqs62x->regmap, IQS620_PWM_DUTY_CYCLE, in iqs620_pwm_init()
63 return regmap_set_bits(iqs62x->regmap, IQS620_PWR_SETTINGS, in iqs620_pwm_init()
181 ret = blocking_notifier_chain_unregister(&iqs620_pwm->iqs62x->nh, in iqs620_pwm_notifier_unregister()
190 struct iqs62x_core *iqs62x = dev_get_drvdata(pdev->dev.parent); in iqs620_pwm_probe() local
202 iqs620_pwm->iqs62x = iqs62x; in iqs620_pwm_probe()
204 ret = regmap_read(iqs62x->regmap, IQS620_PWR_SETTINGS, &val); in iqs620_pwm_probe()
[all …]
/linux-6.12.1/drivers/iio/temperature/
Diqs620at-temp.c11 #include <linux/mfd/iqs62x.h>
26 struct iqs62x_core *iqs62x = iio_device_get_drvdata(indio_dev); in iqs620_temp_read_raw() local
32 ret = regmap_raw_read(iqs62x->regmap, IQS620_TEMP_UI_OUT, in iqs620_temp_read_raw()
45 *val = iqs62x->hw_num < IQS620_HW_NUM_V3 ? IQS620_TEMP_OFFSET in iqs620_temp_read_raw()
69 struct iqs62x_core *iqs62x = dev_get_drvdata(pdev->dev.parent); in iqs620_temp_probe() local
76 iio_device_set_drvdata(indio_dev, iqs62x); in iqs620_temp_probe()
81 indio_dev->name = iqs62x->dev_desc->dev_name; in iqs620_temp_probe()
/linux-6.12.1/Documentation/devicetree/bindings/mfd/
Diqs62x.yaml4 $id: http://devicetree.org/schemas/mfd/iqs62x.yaml#
41 $ref: /schemas/input/iqs62x-keys.yaml
/linux-6.12.1/Documentation/devicetree/bindings/pwm/
Diqs620a-pwm.yaml15 Documentation/devicetree/bindings/mfd/iqs62x.yaml for further details as
/linux-6.12.1/Documentation/devicetree/bindings/input/
Diqs62x-keys.yaml4 $id: http://devicetree.org/schemas/input/iqs62x-keys.yaml#
22 parent MFD driver. See Documentation/devicetree/bindings/mfd/iqs62x.yaml for