The platform can use several instances of PM8350 PMIC. Include SID into all the labels to simplify such platforms configuration. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> --- arch/arm64/boot/dts/qcom/pm8350.dtsi | 31 +++++++++++++------ .../dts/qcom/sm8350-sony-xperia-sagami.dtsi | 4 +-- .../dts/qcom/sm8450-sony-xperia-nagara.dtsi | 4 +-- 3 files changed, 26 insertions(+), 13 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/pm8350.dtsi b/arch/arm64/boot/dts/qcom/pm8350.dtsi index 2dfeb99300d7..f1ef242760f2 100644 --- a/arch/arm64/boot/dts/qcom/pm8350.dtsi +++ b/arch/arm64/boot/dts/qcom/pm8350.dtsi @@ -6,21 +6,30 @@ #include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/spmi/spmi.h> +/* (Sadly) this PMIC can be configured to be at different SIDs */ +#ifndef PM8350_SID + #define PM8350_SID 1 +#endif + +#define __LABEL(pmic, sid, name) pmic ## _ ## sid ## _ ## name +#define _LABEL(pmic, sid, name) __LABEL(pmic, sid, name) +#define LABEL(name) _LABEL(pm8350, PM8350_SID, name) + / { thermal-zones { - pm8350_thermal: pm8350c-thermal { + LABEL(thermal): pm8350c-thermal { polling-delay-passive = <100>; polling-delay = <0>; - thermal-sensors = <&pm8350_temp_alarm>; + thermal-sensors = <&LABEL(temp_alarm)>; trips { - pm8350_trip0: trip0 { + LABEL(trip0): trip0 { temperature = <95000>; hysteresis = <0>; type = "passive"; }; - pm8350_crit: pm8350c-crit { + LABEL(crit): pm8350c-crit { temperature = <115000>; hysteresis = <0>; type = "critical"; @@ -33,25 +42,29 @@ pm8350_crit: pm8350c-crit { &spmi_bus { pm8350: pmic@1 { compatible = "qcom,pm8350", "qcom,spmi-pmic"; - reg = <0x1 SPMI_USID>; + reg = <PM8350_SID SPMI_USID>; #address-cells = <1>; #size-cells = <0>; - pm8350_temp_alarm: temp-alarm@a00 { + LABEL(temp_alarm): temp-alarm@a00 { compatible = "qcom,spmi-temp-alarm"; reg = <0xa00>; - interrupts = <0x1 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; + interrupts = <PM8350_SID 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; #thermal-sensor-cells = <0>; }; - pm8350_gpios: gpio@8800 { + LABEL(gpios): gpio@8800 { compatible = "qcom,pm8350-gpio", "qcom,spmi-gpio"; reg = <0x8800>; gpio-controller; - gpio-ranges = <&pm8350_gpios 0 0 10>; + gpio-ranges = <&LABEL(gpios) 0 0 10>; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; }; }; }; + +#undef LABEL +#undef _LABEL +#undef __LABEL diff --git a/arch/arm64/boot/dts/qcom/sm8350-sony-xperia-sagami.dtsi b/arch/arm64/boot/dts/qcom/sm8350-sony-xperia-sagami.dtsi index e28f49e31b9f..5c09b1d8881b 100644 --- a/arch/arm64/boot/dts/qcom/sm8350-sony-xperia-sagami.dtsi +++ b/arch/arm64/boot/dts/qcom/sm8350-sony-xperia-sagami.dtsi @@ -72,7 +72,7 @@ key-camera-snapshot { key-google-assist { label = "Google Assistant Key"; - gpios = <&pm8350_gpios 9 GPIO_ACTIVE_LOW>; + gpios = <&pm8350_1_gpios 9 GPIO_ACTIVE_LOW>; linux,code = <KEY_LEFTMETA>; debounce-interval = <15>; linux,can-disable; @@ -564,7 +564,7 @@ &mpss { firmware-name = "qcom/sm8350/Sony/sagami/modem.mbn"; }; -&pm8350_gpios { +&pm8350_1_gpios { gpio-line-names = "ASSIGN1_THERM", /* GPIO_1 */ "LCD_ID", "SDR_MMW_THERM", diff --git a/arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara.dtsi b/arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara.dtsi index 99e9b776b93d..d90e3fedb742 100644 --- a/arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara.dtsi +++ b/arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara.dtsi @@ -56,7 +56,7 @@ key-camera-snapshot { key-volume-down { label = "Volume Down"; linux,code = <KEY_VOLUMEDOWN>; - gpios = <&pm8350_gpios 6 GPIO_ACTIVE_LOW>; + gpios = <&pm8350_1_gpios 6 GPIO_ACTIVE_LOW>; debounce-interval = <15>; linux,can-disable; wakeup-source; @@ -622,7 +622,7 @@ &pcie0_phy { status = "okay"; }; -&pm8350_gpios { +&pm8350_1_gpios { gpio-line-names = "ASSIGN1_THERM", /* GPIO_1 */ "LCD_ID", "SDR_MMW_THERM", -- 2.30.2