diff mbox series

[2/2] arm64: dts: qcom: pm7250b: make SID configurable

Message ID 20230407-pm7250b-sid-v1-2-fc648478cc25@fairphone.com
State Superseded
Headers show
Series Make SID for PM7250B configurable (and a small fixup) | expand

Commit Message

Luca Weiss April 7, 2023, 7:45 a.m. UTC
Like other Qualcomm PMICs the PM7250B can be used on different addresses
on the SPMI bus. Use similar defines like the PMK8350 to make this
possible.

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
---
 arch/arm64/boot/dts/qcom/pm7250b.dtsi | 23 ++++++++++++++++-------
 1 file changed, 16 insertions(+), 7 deletions(-)

Comments

Krzysztof Kozlowski April 7, 2023, 8:27 a.m. UTC | #1
On 07/04/2023 09:45, Luca Weiss wrote:
> Like other Qualcomm PMICs the PM7250B can be used on different addresses
> on the SPMI bus. Use similar defines like the PMK8350 to make this
> possible.
> 
> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
> ---
>  arch/arm64/boot/dts/qcom/pm7250b.dtsi | 23 ++++++++++++++++-------
>  1 file changed, 16 insertions(+), 7 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/pm7250b.dtsi b/arch/arm64/boot/dts/qcom/pm7250b.dtsi
> index daa6f1d30efa..eeb476edc79a 100644
> --- a/arch/arm64/boot/dts/qcom/pm7250b.dtsi
> +++ b/arch/arm64/boot/dts/qcom/pm7250b.dtsi
> @@ -7,6 +7,15 @@
>  #include <dt-bindings/interrupt-controller/irq.h>
>  #include <dt-bindings/spmi/spmi.h>
>  
> +/* This PMIC can be configured to be at different SIDs */
> +#ifndef PM7250B_SID
> +	#define PM7250B_SID 2

Drop indentation, although anyway I am against this. Please don't bring
new patterns of this at least till we settle previous discussion.

https://lore.kernel.org/linux-arm-msm/46658cbb-fff5-e98b-fdad-88fa683a9c75@linaro.org/


Best regards,
Krzysztof
Krzysztof Kozlowski May 10, 2023, 6:55 a.m. UTC | #2
On 10/05/2023 08:47, Luca Weiss wrote:
> Hi Krzysztof,
> 
> On Fri Apr 7, 2023 at 10:27 AM CEST, Krzysztof Kozlowski wrote:
>> On 07/04/2023 09:45, Luca Weiss wrote:
>>> Like other Qualcomm PMICs the PM7250B can be used on different addresses
>>> on the SPMI bus. Use similar defines like the PMK8350 to make this
>>> possible.
>>>
>>> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
>>> ---
>>>  arch/arm64/boot/dts/qcom/pm7250b.dtsi | 23 ++++++++++++++++-------
>>>  1 file changed, 16 insertions(+), 7 deletions(-)
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/pm7250b.dtsi b/arch/arm64/boot/dts/qcom/pm7250b.dtsi
>>> index daa6f1d30efa..eeb476edc79a 100644
>>> --- a/arch/arm64/boot/dts/qcom/pm7250b.dtsi
>>> +++ b/arch/arm64/boot/dts/qcom/pm7250b.dtsi
>>> @@ -7,6 +7,15 @@
>>>  #include <dt-bindings/interrupt-controller/irq.h>
>>>  #include <dt-bindings/spmi/spmi.h>
>>>  
>>> +/* This PMIC can be configured to be at different SIDs */
>>> +#ifndef PM7250B_SID
>>> +	#define PM7250B_SID 2
>>
>> Drop indentation, although anyway I am against this. Please don't bring
>> new patterns of this at least till we settle previous discussion.
>>
>> https://lore.kernel.org/linux-arm-msm/46658cbb-fff5-e98b-fdad-88fa683a9c75@linaro.org/
> 
> What's the outcome of the discussion? For this PMIC it's totally enough
> to have the SID configurable like in this patch, I don't think this PMIC
> will be included twice in a board - at least I'm not aware of such a
> configuration.

We did not reach consensus and I still disagree with complex macros or
macros depending on order of inclusion.


Best regards,
Krzysztof
Dmitry Baryshkov May 10, 2023, 8:07 a.m. UTC | #3
On Wed, 10 May 2023 at 09:55, Krzysztof Kozlowski
<krzysztof.kozlowski@linaro.org> wrote:
>
> On 10/05/2023 08:47, Luca Weiss wrote:
> > Hi Krzysztof,
> >
> > On Fri Apr 7, 2023 at 10:27 AM CEST, Krzysztof Kozlowski wrote:
> >> On 07/04/2023 09:45, Luca Weiss wrote:
> >>> Like other Qualcomm PMICs the PM7250B can be used on different addresses
> >>> on the SPMI bus. Use similar defines like the PMK8350 to make this
> >>> possible.
> >>>
> >>> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
> >>> ---
> >>>  arch/arm64/boot/dts/qcom/pm7250b.dtsi | 23 ++++++++++++++++-------
> >>>  1 file changed, 16 insertions(+), 7 deletions(-)
> >>>
> >>> diff --git a/arch/arm64/boot/dts/qcom/pm7250b.dtsi b/arch/arm64/boot/dts/qcom/pm7250b.dtsi
> >>> index daa6f1d30efa..eeb476edc79a 100644
> >>> --- a/arch/arm64/boot/dts/qcom/pm7250b.dtsi
> >>> +++ b/arch/arm64/boot/dts/qcom/pm7250b.dtsi
> >>> @@ -7,6 +7,15 @@
> >>>  #include <dt-bindings/interrupt-controller/irq.h>
> >>>  #include <dt-bindings/spmi/spmi.h>
> >>>
> >>> +/* This PMIC can be configured to be at different SIDs */
> >>> +#ifndef PM7250B_SID
> >>> +   #define PM7250B_SID 2
> >>
> >> Drop indentation, although anyway I am against this. Please don't bring
> >> new patterns of this at least till we settle previous discussion.
> >>
> >> https://lore.kernel.org/linux-arm-msm/46658cbb-fff5-e98b-fdad-88fa683a9c75@linaro.org/
> >
> > What's the outcome of the discussion? For this PMIC it's totally enough
> > to have the SID configurable like in this patch, I don't think this PMIC
> > will be included twice in a board - at least I'm not aware of such a
> > configuration.
>
> We did not reach consensus and I still disagree with complex macros or
> macros depending on order of inclusion.

I still think we should find a way to parametrise PMIC dtsi, however I
agree with Krzysztof that complex CPP is not a way to go.
Krzysztof Kozlowski May 10, 2023, 10:05 a.m. UTC | #4
On 10/05/2023 10:34, Luca Weiss wrote:
> On Wed May 10, 2023 at 10:07 AM CEST, Dmitry Baryshkov wrote:
>> On Wed, 10 May 2023 at 09:55, Krzysztof Kozlowski
>> <krzysztof.kozlowski@linaro.org> wrote:
>>>
>>> On 10/05/2023 08:47, Luca Weiss wrote:
>>>> Hi Krzysztof,
>>>>
>>>> On Fri Apr 7, 2023 at 10:27 AM CEST, Krzysztof Kozlowski wrote:
>>>>> On 07/04/2023 09:45, Luca Weiss wrote:
>>>>>> Like other Qualcomm PMICs the PM7250B can be used on different addresses
>>>>>> on the SPMI bus. Use similar defines like the PMK8350 to make this
>>>>>> possible.
>>>>>>
>>>>>> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
>>>>>> ---
>>>>>>  arch/arm64/boot/dts/qcom/pm7250b.dtsi | 23 ++++++++++++++++-------
>>>>>>  1 file changed, 16 insertions(+), 7 deletions(-)
>>>>>>
>>>>>> diff --git a/arch/arm64/boot/dts/qcom/pm7250b.dtsi b/arch/arm64/boot/dts/qcom/pm7250b.dtsi
>>>>>> index daa6f1d30efa..eeb476edc79a 100644
>>>>>> --- a/arch/arm64/boot/dts/qcom/pm7250b.dtsi
>>>>>> +++ b/arch/arm64/boot/dts/qcom/pm7250b.dtsi
>>>>>> @@ -7,6 +7,15 @@
>>>>>>  #include <dt-bindings/interrupt-controller/irq.h>
>>>>>>  #include <dt-bindings/spmi/spmi.h>
>>>>>>
>>>>>> +/* This PMIC can be configured to be at different SIDs */
>>>>>> +#ifndef PM7250B_SID
>>>>>> +   #define PM7250B_SID 2
>>>>>
>>>>> Drop indentation, although anyway I am against this. Please don't bring
>>>>> new patterns of this at least till we settle previous discussion.
>>>>>
>>>>> https://lore.kernel.org/linux-arm-msm/46658cbb-fff5-e98b-fdad-88fa683a9c75@linaro.org/
>>>>
>>>> What's the outcome of the discussion? For this PMIC it's totally enough
>>>> to have the SID configurable like in this patch, I don't think this PMIC
>>>> will be included twice in a board - at least I'm not aware of such a
>>>> configuration.
>>>
>>> We did not reach consensus and I still disagree with complex macros or
>>> macros depending on order of inclusion.
>>
>> I still think we should find a way to parametrise PMIC dtsi, however I
>> agree with Krzysztof that complex CPP is not a way to go.
> 
> What about the macro already used in-tree and proposed with this patch?
> I wouldn't say this is a "complex macro" since it's just a single number
> being replaced in a few places.

Are you talking about the macro to which I responded: "or macros
depending on order of inclusion." or something else?

Best regards,
Krzysztof
Luca Weiss May 10, 2023, 11:27 a.m. UTC | #5
On Wed May 10, 2023 at 12:05 PM CEST, Krzysztof Kozlowski wrote:
> On 10/05/2023 10:34, Luca Weiss wrote:
> > On Wed May 10, 2023 at 10:07 AM CEST, Dmitry Baryshkov wrote:
> >> On Wed, 10 May 2023 at 09:55, Krzysztof Kozlowski
> >> <krzysztof.kozlowski@linaro.org> wrote:
> >>>
> >>> On 10/05/2023 08:47, Luca Weiss wrote:
> >>>> Hi Krzysztof,
> >>>>
> >>>> On Fri Apr 7, 2023 at 10:27 AM CEST, Krzysztof Kozlowski wrote:
> >>>>> On 07/04/2023 09:45, Luca Weiss wrote:
> >>>>>> Like other Qualcomm PMICs the PM7250B can be used on different addresses
> >>>>>> on the SPMI bus. Use similar defines like the PMK8350 to make this
> >>>>>> possible.
> >>>>>>
> >>>>>> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
> >>>>>> ---
> >>>>>>  arch/arm64/boot/dts/qcom/pm7250b.dtsi | 23 ++++++++++++++++-------
> >>>>>>  1 file changed, 16 insertions(+), 7 deletions(-)
> >>>>>>
> >>>>>> diff --git a/arch/arm64/boot/dts/qcom/pm7250b.dtsi b/arch/arm64/boot/dts/qcom/pm7250b.dtsi
> >>>>>> index daa6f1d30efa..eeb476edc79a 100644
> >>>>>> --- a/arch/arm64/boot/dts/qcom/pm7250b.dtsi
> >>>>>> +++ b/arch/arm64/boot/dts/qcom/pm7250b.dtsi
> >>>>>> @@ -7,6 +7,15 @@
> >>>>>>  #include <dt-bindings/interrupt-controller/irq.h>
> >>>>>>  #include <dt-bindings/spmi/spmi.h>
> >>>>>>
> >>>>>> +/* This PMIC can be configured to be at different SIDs */
> >>>>>> +#ifndef PM7250B_SID
> >>>>>> +   #define PM7250B_SID 2
> >>>>>
> >>>>> Drop indentation, although anyway I am against this. Please don't bring
> >>>>> new patterns of this at least till we settle previous discussion.
> >>>>>
> >>>>> https://lore.kernel.org/linux-arm-msm/46658cbb-fff5-e98b-fdad-88fa683a9c75@linaro.org/
> >>>>
> >>>> What's the outcome of the discussion? For this PMIC it's totally enough
> >>>> to have the SID configurable like in this patch, I don't think this PMIC
> >>>> will be included twice in a board - at least I'm not aware of such a
> >>>> configuration.
> >>>
> >>> We did not reach consensus and I still disagree with complex macros or
> >>> macros depending on order of inclusion.
> >>
> >> I still think we should find a way to parametrise PMIC dtsi, however I
> >> agree with Krzysztof that complex CPP is not a way to go.
> > 
> > What about the macro already used in-tree and proposed with this patch?
> > I wouldn't say this is a "complex macro" since it's just a single number
> > being replaced in a few places.
>
> Are you talking about the macro to which I responded: "or macros
> depending on order of inclusion." or something else?

I thought you mean with ..

> >>> We did not reach consensus and I still disagree with complex macros or
> >>> macros depending on order of inclusion.

.. the macros proprosed in the patch you linked (that version that also
adjusts the labels based on the SID).

I was asking if the patch I sent (with #define PM7250B_SID) would be
okay to take in at least until the bigger discussion has come to a
conclusion, since we already have upstream occurances of such a macro so
it's not a new concept.

Otherwise I'll just carry this patch in my local tree until this
situation has cleared up.

Regards
Luca

>
> Best regards,
> Krzysztof
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/qcom/pm7250b.dtsi b/arch/arm64/boot/dts/qcom/pm7250b.dtsi
index daa6f1d30efa..eeb476edc79a 100644
--- a/arch/arm64/boot/dts/qcom/pm7250b.dtsi
+++ b/arch/arm64/boot/dts/qcom/pm7250b.dtsi
@@ -7,6 +7,15 @@ 
 #include <dt-bindings/interrupt-controller/irq.h>
 #include <dt-bindings/spmi/spmi.h>
 
+/* This PMIC can be configured to be at different SIDs */
+#ifndef PM7250B_SID
+	#define PM7250B_SID 2
+#endif
+
+#ifndef PM7250B_SID1
+	#define PM7250B_SID1 3
+#endif
+
 / {
 	thermal-zones {
 		pm7250b-thermal {
@@ -39,16 +48,16 @@  trip2 {
 };
 
 &spmi_bus {
-	pmic@2 {
+	pmic@PM7250B_SID {
 		compatible = "qcom,pm7250b", "qcom,spmi-pmic";
-		reg = <0x2 SPMI_USID>;
+		reg = <PM7250B_SID SPMI_USID>;
 		#address-cells = <1>;
 		#size-cells = <0>;
 
 		pm7250b_temp: temp-alarm@2400 {
 			compatible = "qcom,spmi-temp-alarm";
 			reg = <0x2400>;
-			interrupts = <0x2 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
+			interrupts = <PM7250B_SID 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
 			io-channels = <&pm7250b_adc ADC5_DIE_TEMP>;
 			io-channel-names = "thermal";
 			#thermal-sensor-cells = <0>;
@@ -60,7 +69,7 @@  pm7250b_adc: adc@3100 {
 			#address-cells = <1>;
 			#size-cells = <0>;
 			#io-channel-cells = <1>;
-			interrupts = <0x2 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
+			interrupts = <PM7250B_SID 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
 
 			adc-chan@0 {
 				reg = <ADC5_REF_GND>;
@@ -141,7 +150,7 @@  adc-chan@99 {
 		pm7250b_adc_tm: adc-tm@3500 {
 			compatible = "qcom,spmi-adc-tm5";
 			reg = <0x3500>;
-			interrupts = <0x2 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
+			interrupts = <PM7250B_SID 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
 			#thermal-sensor-cells = <1>;
 			#address-cells = <1>;
 			#size-cells = <0>;
@@ -149,9 +158,9 @@  pm7250b_adc_tm: adc-tm@3500 {
 		};
 	};
 
-	pmic@3 {
+	pmic@PM7250B_SID1 {
 		compatible = "qcom,pm7250b", "qcom,spmi-pmic";
-		reg = <0x3 SPMI_USID>;
+		reg = <PM7250B_SID1 SPMI_USID>;
 		#address-cells = <1>;
 		#size-cells = <0>;
 	};