diff mbox series

[09/13] ARM: dts: qcom: add smem node for ipq8064

Message ID 20220705133917.8405-10-ansuelsmth@gmail.com (mailing list archive)
State Superseded
Headers show
Series Add ipq806x missing bindings | expand

Commit Message

Christian Marangi July 5, 2022, 1:39 p.m. UTC
Add missing smem node for ipq8064.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Tested-by: Jonathan McDowell <noodles@earth.li>
---
 arch/arm/boot/dts/qcom-ipq8064.dtsi | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

Comments

Krzysztof Kozlowski July 6, 2022, 8:39 a.m. UTC | #1
On 05/07/2022 15:39, Christian Marangi wrote:
> Add missing smem node for ipq8064.
> 
> Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
> Tested-by: Jonathan McDowell <noodles@earth.li>
> ---
>  arch/arm/boot/dts/qcom-ipq8064.dtsi | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
> index b5aede3d7ccf..98527a7d885e 100644
> --- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
> +++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
> @@ -908,6 +908,11 @@ lcc: clock-controller@28000000 {
>  			#reset-cells = <1>;
>  		};
>  
> +		sfpb_mutex_block: syscon@1200600 {
> +			compatible = "syscon";

syscon alone is not allowed.

> +			reg = <0x01200600 0x100>;
> +		};
> +
>  		pcie0: pci@1b500000 {
>  			compatible = "qcom,pcie-ipq8064";
>  			reg = <0x1b500000 0x1000
> @@ -1332,4 +1337,17 @@ sdcc3: mmc@12180000 {
>  			};
>  		};
>  	};
> +
> +	sfpb_mutex: sfpb-mutex {

Generic node names, so hwlock

> +		compatible = "qcom,sfpb-mutex";
> +		syscon = <&sfpb_mutex_block 4 4>;
> +
> +		#hwlock-cells = <1>;
> +	};
> +
> +	smem {
> +		compatible = "qcom,smem";
> +		memory-region = <&smem>;
> +		hwlocks = <&sfpb_mutex 3>;
> +	};
>  };


Best regards,
Krzysztof
Christian Marangi July 6, 2022, 10:14 a.m. UTC | #2
On Wed, Jul 06, 2022 at 10:39:16AM +0200, Krzysztof Kozlowski wrote:
> On 05/07/2022 15:39, Christian Marangi wrote:
> > Add missing smem node for ipq8064.
> > 
> > Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
> > Tested-by: Jonathan McDowell <noodles@earth.li>
> > ---
> >  arch/arm/boot/dts/qcom-ipq8064.dtsi | 18 ++++++++++++++++++
> >  1 file changed, 18 insertions(+)
> > 
> > diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
> > index b5aede3d7ccf..98527a7d885e 100644
> > --- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
> > +++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
> > @@ -908,6 +908,11 @@ lcc: clock-controller@28000000 {
> >  			#reset-cells = <1>;
> >  		};
> >  
> > +		sfpb_mutex_block: syscon@1200600 {
> > +			compatible = "syscon";
> 
> syscon alone is not allowed.
>

Mh... This is problematic. How this should be handled?
This should be put in sfpb_mutex and change the driver to use regs if
present instead of syscon?

> > +			reg = <0x01200600 0x100>;
> > +		};
> > +
> >  		pcie0: pci@1b500000 {
> >  			compatible = "qcom,pcie-ipq8064";
> >  			reg = <0x1b500000 0x1000
> > @@ -1332,4 +1337,17 @@ sdcc3: mmc@12180000 {
> >  			};
> >  		};
> >  	};
> > +
> > +	sfpb_mutex: sfpb-mutex {
> 
> Generic node names, so hwlock
> 
> > +		compatible = "qcom,sfpb-mutex";
> > +		syscon = <&sfpb_mutex_block 4 4>;
> > +
> > +		#hwlock-cells = <1>;
> > +	};
> > +
> > +	smem {
> > +		compatible = "qcom,smem";
> > +		memory-region = <&smem>;
> > +		hwlocks = <&sfpb_mutex 3>;
> > +	};
> >  };
> 
> 
> Best regards,
> Krzysztof
Christian Marangi July 6, 2022, 10:37 a.m. UTC | #3
On Wed, Jul 06, 2022 at 12:14:42PM +0200, Christian Marangi wrote:
> On Wed, Jul 06, 2022 at 10:39:16AM +0200, Krzysztof Kozlowski wrote:
> > On 05/07/2022 15:39, Christian Marangi wrote:
> > > Add missing smem node for ipq8064.
> > > 
> > > Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
> > > Tested-by: Jonathan McDowell <noodles@earth.li>
> > > ---
> > >  arch/arm/boot/dts/qcom-ipq8064.dtsi | 18 ++++++++++++++++++
> > >  1 file changed, 18 insertions(+)
> > > 
> > > diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
> > > index b5aede3d7ccf..98527a7d885e 100644
> > > --- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
> > > +++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
> > > @@ -908,6 +908,11 @@ lcc: clock-controller@28000000 {
> > >  			#reset-cells = <1>;
> > >  		};
> > >  
> > > +		sfpb_mutex_block: syscon@1200600 {
> > > +			compatible = "syscon";
> > 
> > syscon alone is not allowed.
> >
> 
> Mh... This is problematic. How this should be handled?
> This should be put in sfpb_mutex and change the driver to use regs if
> present instead of syscon?
>

Found an alternative solution used in ipq807x so I can drop the syscon
only node.

> > > +			reg = <0x01200600 0x100>;
> > > +		};
> > > +
> > >  		pcie0: pci@1b500000 {
> > >  			compatible = "qcom,pcie-ipq8064";
> > >  			reg = <0x1b500000 0x1000
> > > @@ -1332,4 +1337,17 @@ sdcc3: mmc@12180000 {
> > >  			};
> > >  		};
> > >  	};
> > > +
> > > +	sfpb_mutex: sfpb-mutex {
> > 
> > Generic node names, so hwlock
> > 
> > > +		compatible = "qcom,sfpb-mutex";
> > > +		syscon = <&sfpb_mutex_block 4 4>;
> > > +
> > > +		#hwlock-cells = <1>;
> > > +	};
> > > +
> > > +	smem {
> > > +		compatible = "qcom,smem";
> > > +		memory-region = <&smem>;
> > > +		hwlocks = <&sfpb_mutex 3>;
> > > +	};
> > >  };
> > 
> > 
> > Best regards,
> > Krzysztof
> 
> -- 
> 	Ansuel
Dmitry Baryshkov July 6, 2022, 12:01 p.m. UTC | #4
On Wed, 6 Jul 2022 at 13:31, Christian Marangi <ansuelsmth@gmail.com> wrote:
>
> On Wed, Jul 06, 2022 at 10:39:16AM +0200, Krzysztof Kozlowski wrote:
> > On 05/07/2022 15:39, Christian Marangi wrote:
> > > Add missing smem node for ipq8064.
> > >
> > > Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
> > > Tested-by: Jonathan McDowell <noodles@earth.li>
> > > ---
> > >  arch/arm/boot/dts/qcom-ipq8064.dtsi | 18 ++++++++++++++++++
> > >  1 file changed, 18 insertions(+)
> > >
> > > diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
> > > index b5aede3d7ccf..98527a7d885e 100644
> > > --- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
> > > +++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
> > > @@ -908,6 +908,11 @@ lcc: clock-controller@28000000 {
> > >                     #reset-cells = <1>;
> > >             };
> > >
> > > +           sfpb_mutex_block: syscon@1200600 {
> > > +                   compatible = "syscon";
> >
> > syscon alone is not allowed.
> >
>
> Mh... This is problematic. How this should be handled?
> This should be put in sfpb_mutex and change the driver to use regs if
> present instead of syscon?

If nothing else works, you can add two compat strings, for example:
"qcom,ipq8064-sfpb-mutex", "syscon";
This way if we add an sfpb driver at some point, we can still use old dts files.
Christian Marangi July 6, 2022, 1:03 p.m. UTC | #5
On Wed, Jul 06, 2022 at 03:11:05PM +0200, Konrad Dybcio wrote:
> 
> 
> On 5.07.2022 15:39, Christian Marangi wrote:
> > Add missing smem node for ipq8064.
> > 
> > Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
> > Tested-by: Jonathan McDowell <noodles@earth.li>
> > ---
> I can't find a downstream kernel for these router SoCs, but
> I wonder if the 8x64 family DTs couldn't be somewhat
> unified? It looks like they share quite some code..

Mhh don't know they have some peculiar changes so unifying them would
make more harm than good IMHO.

> 
> Konrad
> >  arch/arm/boot/dts/qcom-ipq8064.dtsi | 18 ++++++++++++++++++
> >  1 file changed, 18 insertions(+)
> > 
> > diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
> > index b5aede3d7ccf..98527a7d885e 100644
> > --- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
> > +++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
> > @@ -908,6 +908,11 @@ lcc: clock-controller@28000000 {
> >  			#reset-cells = <1>;
> >  		};
> >  
> > +		sfpb_mutex_block: syscon@1200600 {
> > +			compatible = "syscon";
> > +			reg = <0x01200600 0x100>;
> > +		};
> > +
> >  		pcie0: pci@1b500000 {
> >  			compatible = "qcom,pcie-ipq8064";
> >  			reg = <0x1b500000 0x1000
> > @@ -1332,4 +1337,17 @@ sdcc3: mmc@12180000 {
> >  			};
> >  		};
> >  	};
> > +
> > +	sfpb_mutex: sfpb-mutex {
> > +		compatible = "qcom,sfpb-mutex";
> > +		syscon = <&sfpb_mutex_block 4 4>;
> > +
> > +		#hwlock-cells = <1>;
> > +	};
> > +
> > +	smem {
> > +		compatible = "qcom,smem";
> > +		memory-region = <&smem>;
> > +		hwlocks = <&sfpb_mutex 3>;
> > +	};
> >  };
Konrad Dybcio July 6, 2022, 1:11 p.m. UTC | #6
On 5.07.2022 15:39, Christian Marangi wrote:
> Add missing smem node for ipq8064.
> 
> Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
> Tested-by: Jonathan McDowell <noodles@earth.li>
> ---
I can't find a downstream kernel for these router SoCs, but
I wonder if the 8x64 family DTs couldn't be somewhat
unified? It looks like they share quite some code..

Konrad
>  arch/arm/boot/dts/qcom-ipq8064.dtsi | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
> index b5aede3d7ccf..98527a7d885e 100644
> --- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
> +++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
> @@ -908,6 +908,11 @@ lcc: clock-controller@28000000 {
>  			#reset-cells = <1>;
>  		};
>  
> +		sfpb_mutex_block: syscon@1200600 {
> +			compatible = "syscon";
> +			reg = <0x01200600 0x100>;
> +		};
> +
>  		pcie0: pci@1b500000 {
>  			compatible = "qcom,pcie-ipq8064";
>  			reg = <0x1b500000 0x1000
> @@ -1332,4 +1337,17 @@ sdcc3: mmc@12180000 {
>  			};
>  		};
>  	};
> +
> +	sfpb_mutex: sfpb-mutex {
> +		compatible = "qcom,sfpb-mutex";
> +		syscon = <&sfpb_mutex_block 4 4>;
> +
> +		#hwlock-cells = <1>;
> +	};
> +
> +	smem {
> +		compatible = "qcom,smem";
> +		memory-region = <&smem>;
> +		hwlocks = <&sfpb_mutex 3>;
> +	};
>  };
Dmitry Baryshkov July 6, 2022, 1:41 p.m. UTC | #7
On Wed, 6 Jul 2022 at 16:11, Konrad Dybcio <konrad.dybcio@somainline.org> wrote:
>
>
>
> On 5.07.2022 15:39, Christian Marangi wrote:
> > Add missing smem node for ipq8064.
> >
> > Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
> > Tested-by: Jonathan McDowell <noodles@earth.li>
> > ---
> I can't find a downstream kernel for these router SoCs, but
> I wonder if the 8x64 family DTs couldn't be somewhat
> unified? It looks like they share quite some code..

Let's modernize them first, using the other one as an example. We can
merge them afterwards. And don't forget the foster child, msm8960.

>
Krzysztof Kozlowski July 6, 2022, 2:46 p.m. UTC | #8
On 06/07/2022 12:14, Christian Marangi wrote:
> On Wed, Jul 06, 2022 at 10:39:16AM +0200, Krzysztof Kozlowski wrote:
>> On 05/07/2022 15:39, Christian Marangi wrote:
>>> Add missing smem node for ipq8064.
>>>
>>> Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
>>> Tested-by: Jonathan McDowell <noodles@earth.li>
>>> ---
>>>  arch/arm/boot/dts/qcom-ipq8064.dtsi | 18 ++++++++++++++++++
>>>  1 file changed, 18 insertions(+)
>>>
>>> diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
>>> index b5aede3d7ccf..98527a7d885e 100644
>>> --- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
>>> +++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
>>> @@ -908,6 +908,11 @@ lcc: clock-controller@28000000 {
>>>  			#reset-cells = <1>;
>>>  		};
>>>  
>>> +		sfpb_mutex_block: syscon@1200600 {
>>> +			compatible = "syscon";
>>
>> syscon alone is not allowed.
>>
> 
> Mh... This is problematic. How this should be handled?

As usual - add specific compatible.

Maybe I was not specific enough, but my commit was under compatible, not
under device node, so it seems obvious. Just in case it is not obvious -
you cannot have "syscon" compatible alone.


Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
index b5aede3d7ccf..98527a7d885e 100644
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
@@ -908,6 +908,11 @@  lcc: clock-controller@28000000 {
 			#reset-cells = <1>;
 		};
 
+		sfpb_mutex_block: syscon@1200600 {
+			compatible = "syscon";
+			reg = <0x01200600 0x100>;
+		};
+
 		pcie0: pci@1b500000 {
 			compatible = "qcom,pcie-ipq8064";
 			reg = <0x1b500000 0x1000
@@ -1332,4 +1337,17 @@  sdcc3: mmc@12180000 {
 			};
 		};
 	};
+
+	sfpb_mutex: sfpb-mutex {
+		compatible = "qcom,sfpb-mutex";
+		syscon = <&sfpb_mutex_block 4 4>;
+
+		#hwlock-cells = <1>;
+	};
+
+	smem {
+		compatible = "qcom,smem";
+		memory-region = <&smem>;
+		hwlocks = <&sfpb_mutex 3>;
+	};
 };