Re: [PATCH 1/5] arm64: dts: qcom: r0q: add gpio keys

From: Dmitry Baryshkov

Date: Sat Sep 20 2025 - 11:45:33 EST


On Sat, Sep 20, 2025 at 01:46:33AM +0000, Eric Gonçalves wrote:
> Add GPIO keys support to Samsung Galaxy S22 (r0q).
>
> Signed-off-by: Eric Gonçalves <ghatto404@xxxxxxxxx>
> ---
> .../boot/dts/qcom/sm8450-samsung-r0q.dts | 53 +++++++++++++++----
> 1 file changed, 44 insertions(+), 9 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8450-samsung-r0q.dts b/arch/arm64/boot/dts/qcom/sm8450-samsung-r0q.dts
> index 880d74ae6032..70e953824996 100644
> --- a/arch/arm64/boot/dts/qcom/sm8450-samsung-r0q.dts
> +++ b/arch/arm64/boot/dts/qcom/sm8450-samsung-r0q.dts
> @@ -2,11 +2,12 @@
>
> /dts-v1/;
>
> +#include <dt-bindings/input/linux-event-codes.h>
> #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
> -
> #include "sm8450.dtsi"
> #include "pm8350.dtsi"
> #include "pm8350c.dtsi"
> +#include "pmk8350.dtsi"
>
> / {
> model = "Samsung Galaxy S22 5G";
> @@ -28,13 +29,19 @@ framebuffer: framebuffer@b8000000 {
> };
> };
>
> - vph_pwr: regulator-vph-pwr {
> - compatible = "regulator-fixed";
> - regulator-name = "vph_pwr";
> - regulator-min-microvolt = <3700000>;
> - regulator-max-microvolt = <3700000>;
> - regulator-always-on;
> - regulator-boot-on;

Please don't mix up refactorings and new features. Split this patch into
several.

> + gpio-keys {
> + compatible = "gpio-keys";
> + autorepeat;
> +
> + pinctrl-0 = <&vol_up_n>;
> + pinctrl-names = "default";
> +
> + key-vol-up {
> + label = "Volume Up";
> + linux,code = <KEY_VOLUMEUP>;
> + gpios = <&pm8350_gpios 6 GPIO_ACTIVE_LOW>;
> + debounce-interval = <15>;
> + };
> };
>
> reserved-memory {
> @@ -47,6 +54,15 @@ splash-region@b8000000 {
> no-map;
> };
> };
> +
> + vph_pwr: regulator-vph-pwr {
> + compatible = "regulator-fixed";
> + regulator-name = "vph_pwr";
> + regulator-min-microvolt = <3700000>;
> + regulator-max-microvolt = <3700000>;
> + regulator-always-on;
> + regulator-boot-on;
> + };
> };
>
> &apps_rsc {
> @@ -119,8 +135,27 @@ vreg_l1c_1p8: ldo1 {
> };
> };
>
> +&pm8350_gpios {
> + vol_up_n: vol-up-n-state {
> + pins = "gpio6";
> + function = "normal";
> + power-source = <1>;
> + input-enable;
> + };
> +};
> +
> +&pon_pwrkey {
> + status = "okay";
> +};
> +
> +&pon_resin {
> + linux,code = <KEY_VOLUMEDOWN>;
> +
> + status = "okay";
> +};
> +
> &tlmm {
> - gpio-reserved-ranges = <36 4>; /* SPI (not linked to anything) */
> + gpio-reserved-ranges = <36 4>; /* SPI (Unused) */
> };
>
> &usb_1 {
> --
> 2.51.0
>

--
With best wishes
Dmitry