M7350v1_en_gpl

This commit is contained in:
T
2024-09-09 08:52:07 +00:00
commit f9cc65cfda
65988 changed files with 26357421 additions and 0 deletions
@@ -0,0 +1,65 @@
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>;
};
};
};
@@ -0,0 +1,27 @@
QPNP-MISC
QPNP-MISC provides a way to read the PMIC part number and revision.
Required properties:
- compatible : should be "qcom,qpnp-misc"
- reg : offset and length of the PMIC peripheral register map.
Example:
qcom,spmi@fc4c0000 {
#address-cells = <1>;
#size-cells = <0>;
interrupt-controller;
#interrupt-cells = <3>;
qcom,pm8941@0 {
spmi-slave-container;
reg = <0x0>;
#address-cells = <1>;
#size-cells = <1>;
qcom,misc@900 {
compatible = "qcom,qpnp-misc";
reg = <0x900 0x100>;
};
}
};
@@ -0,0 +1,44 @@
TI DRV2667 is a haptic controller chip. It can drive piezo haptics
and can operate in two modes - analog and digital.
Required properties:
-compatible : should be "ti,drv2667".
-reg : i2c address to be used.
-vdd-supply : regulator to power the chip.
-vdd-i2c-supply : regulator to power i2c bus.
Optional properties:
-ti,label : Name to be registered with timedoutput class.
-ti,mode : Mode to be supported, 0 to 3 - FIFO, RAM, WAVE and ANALOG.
-ti,wav-seq : Wave Sequence composed of 11 bytes - wave form id,
Header size, start upper byte, start lower byte,
stop upper byte, stop lower byte, repeat count,
amplitude, frequency, duration and envelope
-ti,gain : Gain to be programmed for the chip.
-ti,idle-timeout-ms : Idle timeout in ms to be programmed for the chip to go into
low power mode after finishing its operation.
-ti,max-runtime-ms : Maximum time in ms for which chip can drive haptics.
Example:
i2c@f9967000 {
ti-drv2667@59 {
compatible = "ti,drv2667";
reg = <0x59>;
vdd-supply = <&drv2667_vreg>;
vdd-i2c-supply = <&pm8941_s3>;
ti,label = "vibrator";
ti,gain = <3>;
ti,idle-timeout-ms = <20>;
ti,max-runtime-ms = <15000>;
ti,mode = <2>;
ti,wav-seq = [
/* wave form id */
01
/* header size, start and stop bytes */
05 80 06 00 09
/* repeat, amp, freq, duration, envelope */
01 ff 19 02 00];
};
};