*/
 
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
 #include "sdm845.dtsi"
 #include "pm8005.dtsi"
        gpio-keys {
                compatible = "gpio-keys";
 
-               /* Neither Camera Focus, nor Camera Shutter seem to work... */
+               pinctrl-0 = <&focus_n &snapshot_n &vol_down_n &vol_up_n>;
+               pinctrl-names = "default";
 
-               key-vol-down {
-                       label = "volume_down";
+               key-camera-focus {
+                       label = "Camera Focus";
+                       gpios = <&pm8998_gpios 2 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_CAMERA_FOCUS>;
+                       debounce-interval = <15>;
+                       linux,can-disable;
+                       wakeup-source;
+               };
+
+               key-camera-snapshot {
+                       label = "Camera Snapshot";
+                       gpios = <&pm8998_gpios 7 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_CAMERA>;
+                       debounce-interval = <15>;
+                       linux,can-disable;
+                       wakeup-source;
+               };
+
+               key-volume-down {
+                       label = "Volume Down";
                        gpios = <&pm8998_gpios 5 GPIO_ACTIVE_LOW>;
                        linux,code = <KEY_VOLUMEDOWN>;
                        debounce-interval = <15>;
-                       gpio-key,wakeup;
+                       linux,can-disable;
+                       wakeup-source;
+               };
+
+               key-volume-up {
+                       label = "Volume Up";
+                       gpios = <&pm8998_gpios 6 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_VOLUMEUP>;
+                       debounce-interval = <15>;
+                       linux,can-disable;
+                       wakeup-source;
                };
        };
 
        /* AMS TCS3490 RGB+IR color sensor @ 72 */
 };
 
+&pm8998_gpios {
+       focus_n: focus-n-state {
+               pins = "gpio2";
+               function = PMIC_GPIO_FUNC_NORMAL;
+               power-source = <0>;
+               bias-pull-up;
+               input-enable;
+       };
+
+       vol_down_n: vol-down-n-state {
+               pins = "gpio5";
+               function = PMIC_GPIO_FUNC_NORMAL;
+               power-source = <0>;
+               bias-pull-up;
+               input-enable;
+       };
+
+       vol_up_n: vol-up-n-state {
+               pins = "gpio6";
+               function = PMIC_GPIO_FUNC_NORMAL;
+               power-source = <0>;
+               bias-pull-up;
+               input-enable;
+       };
+
+       snapshot_n: snapshot-n-state {
+               pins = "gpio7";
+               function = PMIC_GPIO_FUNC_NORMAL;
+               power-source = <0>;
+               bias-pull-up;
+               input-enable;
+       };
+};
+
 &qupv3_id_0 {
        status = "okay";
 };