@@ -323,6 +323,11 @@ &lpass {
status = "okay";
};
+&pm8916_resin {
+ status = "okay";
+ linux,code = <KEY_VOLUMEDOWN>;
+};
+
&pronto {
status = "okay";
};
@@ -393,20 +398,6 @@ codec {
};
};
-&spmi_bus {
- pm8916_0: pm8916@0 {
- pon@800 {
- resin {
- compatible = "qcom,pm8941-resin";
- interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
- debounce = <15625>;
- bias-pull-up;
- linux,code = <KEY_VOLUMEDOWN>;
- };
- };
- };
-};
-
&usb {
status = "okay";
extcon = <&usb_id>, <&usb_id>;
@@ -61,6 +61,11 @@ &blsp1_uart2 {
pinctrl-1 = <&blsp1_uart2_sleep>;
};
+&pm8916_resin {
+ status = "okay";
+ linux,code = <KEY_VOLUMEDOWN>;
+};
+
&pronto {
status = "okay";
};
@@ -89,19 +94,6 @@ &sdhc_2 {
non-removable;
};
-&spmi_bus {
- pm8916@0 {
- pon@800 {
- volume-down {
- compatible = "qcom,pm8941-resin";
- interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
- bias-pull-up;
- linux,code = <KEY_VOLUMEDOWN>;
- };
- };
- };
-};
-
&usb {
status = "okay";
dr_mode = "peripheral";
@@ -138,6 +138,11 @@ &dsi_phy0 {
vddio-supply = <&pm8916_l6>;
};
+&pm8916_resin {
+ status = "okay";
+ linux,code = <KEY_VOLUMEDOWN>;
+};
+
&pronto {
status = "okay";
};
@@ -166,19 +171,6 @@ &sdhc_2 {
cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>;
};
-&spmi_bus {
- pm8916@0 {
- pon@800 {
- volume-down {
- compatible = "qcom,pm8941-resin";
- interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
- bias-pull-up;
- linux,code = <KEY_VOLUMEDOWN>;
- };
- };
- };
-};
-
&usb {
status = "okay";
extcon = <&muic>, <&muic>;
@@ -33,6 +33,14 @@ pwrkey {
linux,code = <KEY_POWER>;
};
+ pm8916_resin: resin {
+ compatible = "qcom,pm8941-resin";
+ interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
+ debounce = <15625>;
+ bias-pull-up;
+ status = "disabled";
+ };
+
watchdog {
compatible = "qcom,pm8916-wdt";
interrupts = <0x0 0x8 6 IRQ_TYPE_EDGE_RISING>;
Right now we define the entire pm8916 resin node separately in the board-specific device tree part, including the interrupt that belongs to PM8916. As a feature of the PMIC it should be declared in pm8916.dtsi, disabled by default. Like all other optional components it can then by enabled and configured in the board-specific device tree part. Signed-off-by: Stephan Gerhold <stephan@gerhold.net> --- arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi | 19 +++++-------------- .../boot/dts/qcom/msm8916-longcheer-l8150.dts | 18 +++++------------- .../qcom/msm8916-samsung-a2015-common.dtsi | 18 +++++------------- arch/arm64/boot/dts/qcom/pm8916.dtsi | 8 ++++++++ 4 files changed, 23 insertions(+), 40 deletions(-)