On Mon, Nov 06, 2023 at 07:08:35PM +0700, Dang Huynh wrote: > The PM8937 features integrated peripherals like ADC, GPIO controller, > MPPs, PON keys and others. > > Add the device tree so that any boards with this PMIC can use it. > > Signed-off-by: Dang Huynh <danct12@xxxxxxxxxx> > --- > arch/arm64/boot/dts/qcom/pm8937.dtsi | 202 +++++++++++++++++++++++++++++++++++ > 1 file changed, 202 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/pm8937.dtsi b/arch/arm64/boot/dts/qcom/pm8937.dtsi > new file mode 100644 > index 000000000000..6091d6938885 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/pm8937.dtsi > @@ -0,0 +1,202 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * Copyright (c) 2023, Dang Huynh <danct12@xxxxxxxxxx> > + */ > + > +#include <dt-bindings/iio/qcom,spmi-vadc.h> > +#include <dt-bindings/input/linux-event-codes.h> > +#include <dt-bindings/interrupt-controller/irq.h> > +#include <dt-bindings/pinctrl/qcom,pmic-mpp.h> > +#include <dt-bindings/spmi/spmi.h> > + > [...] > +&spmi_bus { > + pmic@0 { > + compatible = "qcom,pm8937", "qcom,spmi-pmic"; > + reg = <0x0 SPMI_USID>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + pon@800 { > + compatible = "qcom,pm8916-pon"; > + reg = <0x800>; > + mode-bootloader = <0x2>; > + mode-recovery = <0x1>; > + > + pm8937_pwrkey: pwrkey { > + compatible = "qcom,pm8941-pwrkey"; > + interrupts = <0 0x8 0 IRQ_TYPE_EDGE_BOTH>; > + debounce = <15625>; > + bias-pull-up; > + linux,code = <KEY_POWER>; > + }; > + > + pm8937_resin: resin { > + compatible = "qcom,pm8941-resin"; > + interrupts = <0 0x8 1 IRQ_TYPE_EDGE_BOTH>; > + debounce = <15625>; > + bias-pull-up; > + linux,code = <KEY_VOLUMEDOWN>; Please move the linux,code into the board-specific part and make this status = "disabled" by default, like in the other PMIC dtsi files. One could theoretically assign any other function to this key. Also, some devices don't have this hooked up at all. Thanks, Stephan