M7350/kernel/Documentation/devicetree/bindings/misc/isa1200.txt

66 lines
2.3 KiB
Plaintext
Raw Normal View History

2024-09-09 08:52:07 +00:00
Imagis ISA1200 Haptics Vibrator
Required properties:
- reg: slave address of bus
- compatible: should be "imagis,isa1200"
- label: name for vibrator directory
- imagis,hap-en-gpio: haptic enable gpio
- imagis,mode-ctrl: mode of the controller, 0 = POWER_DOWN_MODE,
1 = PWM_INPUT_MODE, 2 = PWM_GEN_MODE, 3 = WAVE_GEN_MODE
- imagis,max-timeout: maximum timeout for vibration
- imagis,chip-en: chip enable
- vcc_i2c-supply: regulator supplying i2c bus
Regulator described as a child of the main device:
- regulator-name: A string used as a descriptive name for regulator outputs,
should match vcc_i2c above
- regulator-min-microvolt: smallest voltage consumers may set
- regulator-max-microvolt: largest voltage consumers may set
- regulator-max-microamp: largest current consumers may set
Optional properties:
- imagis,smart-en: automatically control haptic power based on pwm/clk signal
- imagis,is-erm: controlled by dc motor, use ERM driving method
- imagis,overdrive-high: overdrive high
- imagis,overdrive-en: enable overdrive
- imagis,pwm-freq: pwm frequency (hZ)
- imagis,pwm-ch-id: pwm channel id
- imagis,pwm-div: pwm division to be used for vibration
- imagis,need-pwm-clk: use "pwm_clk"
- imagis,hap-len-gpio: haptic ldo enable gpio
- imagis,etc-clk-en: use external clock
- xyz-supply: to be used if additional regulators are require beyond
"imagis,regulator" above
Any additional regulators are described as child nodes of main device:
- regulator-name: A string used as a descriptive name for regulator outputs,
should match supply "xyz"
- regulator-min-microvolt: smallest voltage consumers may set
- regulator-max-microvolt: largest voltage consumers may set
- regulator-max-microamp: largest current consumers may set
Example:
i2c@f9967000 {
isa1200@48 {
status = "okay";
reg = <0x48>;
vcc_i2c-supply = <&pm8941_s3>;
compatible = "imagis,isa1200";
label = "vibrator";
imagis,chip-en;
imagis,smart-en;
imagis,need-pwm-clk;
imagis,ext-clk-en;
imagis,hap-en-gpio = <&msmgpio 86 0x00>;
imagis,max-timeout = <15000>;
imagis,pwm-div = <256>;
imagis,mode-ctrl = <2>;
imagis,regulator {
regulator-name = "vcc_i2c";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-max-microamp = <9360>;
};
};
};