sc8280xp-pmics.dtsi incorporates a copy of pmk8350, but the dts files use labels following the markings found in the schematics. Allow overriding the labels in pmk8350.dtsi. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> --- arch/arm64/boot/dts/qcom/pmic-dyn-footer.dtsi | 13 +++++++++ arch/arm64/boot/dts/qcom/pmic-dyn-header.dtsi | 14 ++++++++++ arch/arm64/boot/dts/qcom/pmk8350.dtsi | 28 +++++++++++-------- 3 files changed, 44 insertions(+), 11 deletions(-) create mode 100644 arch/arm64/boot/dts/qcom/pmic-dyn-footer.dtsi create mode 100644 arch/arm64/boot/dts/qcom/pmic-dyn-header.dtsi diff --git a/arch/arm64/boot/dts/qcom/pmic-dyn-footer.dtsi b/arch/arm64/boot/dts/qcom/pmic-dyn-footer.dtsi new file mode 100644 index 000000000000..1c81269f0783 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/pmic-dyn-footer.dtsi @@ -0,0 +1,13 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2023, Linaro Limited + */ + +/* cleanly revert the effects pmic-dyn-header.dtsi */ + +#undef LABEL +#undef _LABEL +#undef __LABEL + +#undef PMIC_SID +#undef PMIC_LABEL diff --git a/arch/arm64/boot/dts/qcom/pmic-dyn-header.dtsi b/arch/arm64/boot/dts/qcom/pmic-dyn-header.dtsi new file mode 100644 index 000000000000..75f0448568bd --- /dev/null +++ b/arch/arm64/boot/dts/qcom/pmic-dyn-header.dtsi @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2023, Linaro Limited + */ + +/* + * Preprocessor symbols to assist in describing PMICs which have configurable + * SID. All effects of this header (or its parameters) must be reverted in + * pmic-dyn-footer.dtsi. + */ + +#define LABEL(name) _LABEL(PMIC_LABEL, name) +#define _LABEL(pmic, name) __LABEL(pmic, name) +#define __LABEL(pmic, name) pmic ## _ ## name diff --git a/arch/arm64/boot/dts/qcom/pmk8350.dtsi b/arch/arm64/boot/dts/qcom/pmk8350.dtsi index 02e7518ab57b..f26ff3daf119 100644 --- a/arch/arm64/boot/dts/qcom/pmk8350.dtsi +++ b/arch/arm64/boot/dts/qcom/pmk8350.dtsi @@ -13,33 +13,39 @@ #define PMIC_SID 0 #endif +#ifndef PMIC_LABEL +#define PMIC_LABEL pmk8350 +#endif + +#include "pmic-dyn-header.dtsi" + &spmi_bus { - pmk8350: pmic@PMIC_SID { + PMIC_LABEL: pmic@PMIC_SID { compatible = "qcom,pmk8350", "qcom,spmi-pmic"; reg = <PMIC_SID SPMI_USID>; #address-cells = <1>; #size-cells = <0>; - pmk8350_pon: pon@1300 { + LABEL(pon): pon@1300 { compatible = "qcom,pmk8350-pon"; reg = <0x1300>, <0x800>; reg-names = "hlos", "pbs"; - pmk8350_pon_pwrkey: pwrkey { + LABEL(pon_pwrkey): pwrkey { compatible = "qcom,pmk8350-pwrkey"; interrupts = <PMIC_SID 0x13 0x7 IRQ_TYPE_EDGE_BOTH>; linux,code = <KEY_POWER>; status = "disabled"; }; - pmk8350_pon_resin: resin { + LABEL(pon_resin): resin { compatible = "qcom,pmk8350-resin"; interrupts = <PMIC_SID 0x13 0x6 IRQ_TYPE_EDGE_BOTH>; status = "disabled"; }; }; - pmk8350_vadc: adc@3100 { + LABEL(vadc): adc@3100 { compatible = "qcom,spmi-adc7"; reg = <0x3100>; #address-cells = <1>; @@ -48,7 +54,7 @@ pmk8350_vadc: adc@3100 { #io-channel-cells = <1>; }; - pmk8350_adc_tm: adc-tm@3400 { + LABEL(adc_tm): adc-tm@3400 { compatible = "qcom,adc-tm7"; reg = <0x3400>; interrupts = <PMIC_SID 0x34 0x0 IRQ_TYPE_EDGE_RISING>; @@ -58,7 +64,7 @@ pmk8350_adc_tm: adc-tm@3400 { status = "disabled"; }; - pmk8350_rtc: rtc@6100 { + LABEL(rtc): rtc@6100 { compatible = "qcom,pmk8350-rtc"; reg = <0x6100>, <0x6200>; reg-names = "rtc", "alarm"; @@ -66,7 +72,7 @@ pmk8350_rtc: rtc@6100 { status = "disabled"; }; - pmk8350_sdam_6: nvram@8500 { + LABEL(sdam_6): nvram@8500 { compatible = "qcom,spmi-sdam"; reg = <0x8500>; #address-cells = <1>; @@ -75,11 +81,11 @@ pmk8350_sdam_6: nvram@8500 { status = "disabled"; }; - pmk8350_gpios: gpio@b000 { + LABEL(gpios): gpio@b000 { compatible = "qcom,pmk8350-gpio", "qcom,spmi-gpio"; reg = <0xb000>; gpio-controller; - gpio-ranges = <&pmk8350_gpios 0 0 4>; + gpio-ranges = <&LABEL(gpios) 0 0 4>; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; @@ -87,4 +93,4 @@ pmk8350_gpios: gpio@b000 { }; }; -#undef PMIC_SID +#include "pmic-dyn-footer.dtsi" -- 2.30.2