gpio-keys {
compatible = "gpio-keys";
- pinctrl-0 = <&volume_up_default>;
+ pinctrl-0 = <&volume_up_default>, <&hall_sensor_default>;
pinctrl-names = "default";
+ /* Powered by the always-on vreg_l10b */
+ event-hall-sensor {
+ label = "Hall Effect Sensor";
+ gpios = <&tlmm 70 GPIO_ACTIVE_LOW>;
+ linux,input-type = <EV_SW>;
+ linux,code = <SW_LID>;
+ linux,can-disable;
+ wakeup-source;
+ };
+
key-volume-up {
label = "Volume Up";
gpios = <&pm7550_gpios 6 GPIO_ACTIVE_LOW>;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ /* Hall sensor VDD */
+ regulator-always-on;
};
vreg_l11b: ldo11 {
bias-pull-up;
};
+ hall_sensor_default: hall-sensor-default-state {
+ pins = "gpio70";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
pm8008_int_default: pm8008-int-default-state {
pins = "gpio125";
function = "gpio";