Home
last modified time | relevance | path

Searched full:haptic (Results 1 – 25 of 57) sorted by relevance

123

/linux/drivers/input/misc/
H A Dmax77693-haptic.c3 * MAXIM MAX77693/MAX77843 Haptic device driver
67 static int max77693_haptic_set_duty_cycle(struct max77693_haptic *haptic) in max77693_haptic_set_duty_cycle() argument
73 pwm_get_args(haptic->pwm_dev, &pargs); in max77693_haptic_set_duty_cycle()
74 delta = (pargs.period + haptic->pwm_duty) / 2; in max77693_haptic_set_duty_cycle()
75 error = pwm_config(haptic->pwm_dev, delta, pargs.period); in max77693_haptic_set_duty_cycle()
77 dev_err(haptic->dev, "failed to configure pwm: %d\n", error); in max77693_haptic_set_duty_cycle()
84 static int max77843_haptic_bias(struct max77693_haptic *haptic, bool on) in max77843_haptic_bias() argument
88 if (haptic->dev_type != TYPE_MAX77843) in max77843_haptic_bias()
91 error = regmap_update_bits(haptic->regmap_haptic, in max77843_haptic_bias()
96 dev_err(haptic->dev, "failed to %s bias: %d\n", in max77843_haptic_bias()
[all …]
H A Dregulator-haptic.c3 * Regulator haptic driver
13 #include <linux/platform_data/regulator-haptic.h>
36 static int regulator_haptic_toggle(struct regulator_haptic *haptic, bool on) in regulator_haptic_toggle() argument
40 if (haptic->active != on) { in regulator_haptic_toggle()
42 error = on ? regulator_enable(haptic->regulator) : in regulator_haptic_toggle()
43 regulator_disable(haptic->regulator); in regulator_haptic_toggle()
45 dev_err(haptic->dev, in regulator_haptic_toggle()
51 haptic->active = on; in regulator_haptic_toggle()
57 static int regulator_haptic_set_voltage(struct regulator_haptic *haptic, in regulator_haptic_set_voltage() argument
64 volt_mag_multi = (u64)(haptic->max_volt - haptic->min_volt) * magnitude; in regulator_haptic_set_voltage()
[all …]
H A Dmax8997_haptic.c3 * MAX8997-haptic controller driver
21 /* Haptic configuration 2 register */
26 /* Haptic driver configuration register */
243 dev_err(&pdev->dev, "no haptic platform data\n"); in max8997_haptic_probe()
258 chip->client = iodev->haptic; in max8997_haptic_probe()
280 "unable to request PWM for haptic, error: %d\n", in max8997_haptic_probe()
308 input_dev->name = "max8997-haptic"; in max8997_haptic_probe()
376 { "max8997-haptic", 0 },
383 .name = "max8997-haptic",
H A DKconfig151 tristate "CS40L50 Haptic Driver support"
155 haptic driver.
243 tristate "MAXIM MAX77693/MAX77843 haptic controller support"
247 This option enables support for the haptic controller on
251 module will be called max77693-haptic.
264 tristate "MAXIM MAX8997 haptic controller support"
268 This option enables device driver support for the haptic controller
273 module will be called max8997-haptic.
472 This option enables device driver support for the haptic controlled
477 module will be called regulator-haptic.
H A Dcs40l50-vibra.c3 * CS40L50 Advanced Haptic Driver with waveform memory,
65 /* Describes haptic interface of loaded DSP firmware */
78 /* Describes configuration and state of haptic operations */
555 MODULE_DESCRIPTION("CS40L50 Advanced Haptic Driver");
H A DMakefile55 obj-$(CONFIG_INPUT_MAX77693_HAPTIC) += max77693-haptic.o
73 obj-$(CONFIG_INPUT_REGULATOR_HAPTIC) += regulator-haptic.o
H A Dda7280.c3 * DA7280 Haptic device driver
288 /* The patterns should be updated when haptic is not working */ in da7280_haptic_mem_update()
294 "Warning! Please check HAPTIC status.\n"); in da7280_haptic_mem_update()
514 /* The effect should be uploaded when haptic is not working */ in da7280_haptics_upload_effect()
925 * Stop first if haptic is active, otherwise, the fault may in da7280_irq_handler()
1213 /* Initialize input device for haptic device */ in da7280_probe()
1220 input_dev->name = "da7280-haptic"; in da7280_probe()
/linux/Documentation/devicetree/bindings/input/
H A Dregulator-haptic.yaml4 $id: http://devicetree.org/schemas/input/regulator-haptic.yaml#
7 title: Regulator Haptic
14 const: regulator-haptic
16 haptic-supply:
18 Power supply to the haptic motor
22 The maximum voltage value supplied to the haptic motor
26 The minimum voltage value supplied to the haptic motor
30 - haptic-supply
39 compatible = "regulator-haptic";
40 haptic-supply = <&motor_regulator>;
H A Dcirrus,cs40l50.yaml7 title: Cirrus Logic CS40L50 Advanced Haptic Driver
13 CS40L50 is a haptic driver with waveform memory,
60 haptic-driver@34 {
H A Ddlg,da7280.txt15 - dlg,const-op-mode: Haptic operation mode for FF_CONSTANT.
19 - dlg,periodic-op-mode: Haptic operation mode for FF_PERIODIC.
61 Haptic will work by this edge option in case of ETWM mode.
/linux/samples/hid/
H A Dhid_surface_dial.c5 * and depending on the chosen resolution enable or not the haptic feedback:
7 * without haptic feedback
8 * - any other resolution will report N "ticks" in a full rotation with haptic
11 * A good default for low resolution haptic scrolling is 72 (1 "tick" every 5
57 "and depending on the chosen resolution enable or not the haptic feedback:\n" in usage()
59 " without haptic feedback\n" in usage()
60 "- any other resolution will report N 'ticks' in a full rotation with haptic\n" in usage()
63 "A good default for low resolution haptic scrolling is 72 (1 'tick' every 5\n" in usage()
102 fprintf(stderr, "can't locate haptic prog: %m\n"); in set_haptic()
108 fprintf(stderr, "can't set haptic configuration to hid device %d: %m (err: %d)\n", in set_haptic()
H A Dhid_surface_dial.bpf.c84 haptic_data[4] = 3; /* haptic Auto Trigger */ in set_haptic()
94 bpf_printk("set haptic ret value: %d -> %d", ret, haptic_data[4]); in set_haptic()
/linux/Documentation/devicetree/bindings/mfd/
H A Dmaxim,max77843.yaml17 includes voltage current regulators, charger, fuel-gauge, haptic motor driver
38 const: maxim,max77843-haptic
40 haptic-supply:
41 description: Power supply to the haptic motor
48 - haptic-supply
140 compatible = "maxim,max77843-haptic";
141 haptic-supply = <&ldo38_reg>;
/linux/include/linux/platform_data/
H A Dregulator-haptic.h3 * Regulator Haptic Platform Data
16 * @max_volt: maximum voltage value supplied to the haptic motor.
18 * @min_volt: minimum voltage value supplied to the haptic motor.
/linux/drivers/mfd/
H A Dmax8997.c33 { .name = "max8997-haptic", },
183 max8997->haptic = i2c_new_dummy_device(i2c->adapter, I2C_ADDR_HAPTIC); in max8997_i2c_probe()
184 if (IS_ERR(max8997->haptic)) { in max8997_i2c_probe()
185 dev_err(max8997->dev, "Failed to allocate I2C device for Haptic\n"); in max8997_i2c_probe()
186 ret = PTR_ERR(max8997->haptic); in max8997_i2c_probe()
189 i2c_set_clientdata(max8997->haptic, max8997); in max8997_i2c_probe()
225 i2c_unregister_device(max8997->haptic); in max8997_i2c_probe()
H A Dmax77693.c42 .name = "max77693-haptic",
43 .of_compatible = "maxim,max77693-haptic",
191 dev_err(max77693->dev, "Failed to allocate I2C device for Haptic\n"); in max77693_i2c_probe()
202 "failed to initialize haptic register map: %d\n", ret); in max77693_i2c_probe()
H A Dmax77843.c33 .name = "max77843-haptic",
34 .of_compatible = "maxim,max77843-haptic",
/linux/arch/arm64/boot/dts/qcom/
H A Dmsm8916-samsung-e2015-common.dtsi6 haptic {
7 compatible = "regulator-haptic";
8 haptic-supply = <&reg_motor_vdd>;
H A Dmsm8916-samsung-fortuna-common.dtsi81 haptic {
82 compatible = "regulator-haptic";
83 haptic-supply = <&reg_motor_vdd>;
/linux/Documentation/hid/
H A Dhid-bpf.rst76 example, the Microsoft Surface Dial is a pushbutton with haptic feedback that
80 events into wheel events. Also, the userspace program can set/unset the haptic
82 screen we likely need to have a haptic click every 15 degrees. But when
351 Let's imagine we have a new tablet device that has some haptic capabilities
358 haptic feature of the device itself.
454 To be able to change the haptic feedback from the tablet, the userspace program
520 Now our userspace program is aware of the haptic state and can control it. The
/linux/include/linux/mfd/
H A Dmax8997.h10 * MAX8997 has PMIC, MUIC, HAPTIC, RTC, FLASH, and Fuel Gauge devices.
198 /* ---- HAPTIC ---- */
H A Dmax77693-common.h26 struct i2c_client *i2c_haptic; /* MAX77693: 0x90 , Haptic */
H A Dmax77693.h12 * MAX77693 has PMIC, Charger, Flash LED, Haptic, MUIC devices.
/linux/arch/arm/boot/dts/allwinner/
H A Dsun4i-a10-dserve-dsrv9703c.dts73 compatible = "regulator-haptic";
74 haptic-supply = <&reg_motor>;
/linux/sound/soc/codecs/
H A Dlm49453.c587 /* All end points HP,EP, LS, Lineout and Haptic */
628 SND_SOC_DAPM_OUT_DRV("Haptic Left Switch",
630 SND_SOC_DAPM_OUT_DRV("Haptic Right Switch",
638 SND_SOC_DAPM_DAC("HAL DAC", "Haptic", SND_SOC_NOPM, 0, 0),
639 SND_SOC_DAPM_DAC("HAR DAC", "Haptic", SND_SOC_NOPM, 0, 0),
877 /* Haptic map */
924 { "HAOUTL", "Haptic Left Switch", "HAL DAC" },
925 { "HAOUTR", "Haptic Right Switch", "HAR DAC" },
1358 .name = "LM49453 Haptic",
1360 .stream_name = "Haptic",

123