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@xxxxxxxxxxx> --- 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(-) diff --git a/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi b/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi index 89cc53ddf6b5..0627ef9bd54a 100644 --- a/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi +++ b/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi @@ -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>; diff --git a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts index 68d89a8acbcf..90ce0f96eda4 100644 --- a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts +++ b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts @@ -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"; diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi b/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi index 89b1418eeeb4..c6eb0b0cd849 100644 --- a/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi +++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi @@ -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>; diff --git a/arch/arm64/boot/dts/qcom/pm8916.dtsi b/arch/arm64/boot/dts/qcom/pm8916.dtsi index 0bcdf0471107..c3f62090aff7 100644 --- a/arch/arm64/boot/dts/qcom/pm8916.dtsi +++ b/arch/arm64/boot/dts/qcom/pm8916.dtsi @@ -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>; -- 2.27.0