diff mbox series

[v2,03/10] dt-binding: gce: add binding for gce subsys property

Message ID 1551865835-50974-4-git-send-email-bibby.hsieh@mediatek.com
State New, archived
Headers show
Series support gce on mt8183 platform | expand

Commit Message

Bibby Hsieh March 6, 2019, 9:50 a.m. UTC
cmdq driver provide a function that get the relationship
of sub system number from device node for client.
add specification for #subsys-cells, mediatek,gce-subsys.

Signed-off-by: Bibby Hsieh <bibby.hsieh@mediatek.com>
---
 Documentation/devicetree/bindings/mailbox/mtk-gce.txt | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

Comments

CK Hu March 7, 2019, 1:39 a.m. UTC | #1
Hi, Bibby:

On Wed, 2019-03-06 at 17:50 +0800, Bibby Hsieh wrote:
> cmdq driver provide a function that get the relationship
> of sub system number from device node for client.
> add specification for #subsys-cells, mediatek,gce-subsys.
> 
> Signed-off-by: Bibby Hsieh <bibby.hsieh@mediatek.com>
> ---
>  Documentation/devicetree/bindings/mailbox/mtk-gce.txt | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/mailbox/mtk-gce.txt b/Documentation/devicetree/bindings/mailbox/mtk-gce.txt
> index 812698f..07b2adf 100644
> --- a/Documentation/devicetree/bindings/mailbox/mtk-gce.txt
> +++ b/Documentation/devicetree/bindings/mailbox/mtk-gce.txt
> @@ -26,6 +26,13 @@ Required properties:
>  	phandle: Label name of a gce node.
>  	event_number: the event number defined in 'dt-bindings/gce/mt8173-gce.h'
>  		      or 'dt-binding/gce/mt8183-gce.h'.
> +#subsys-cells: Should be 2.
> +	<&phandle register_base_address subsys_number>
> +	phandle: Label name of a gce node.
> +	register_base_address: the register base address that client
> +			       want to write or read.

This look like the same as 'reg' property. I would prefer use
already-defined property, for example:

		mmsys: clock-controller@14000000 {
			compatible = "mediatek,mt8173-mmsys", "syscon";
			reg = <0 0x14000000 0 0x1000>;
			mediatek,gce-subsys = <&gce SUBSYS_1400XXXX>;
		};

Regards,
CK

> +	subsys_number: specify the sub-system id which is corresponding
> +		       to the register address.
>  
>  Required properties for a client device:
>  - mboxes: Client use mailbox to communicate with GCE, it should have this
> @@ -50,6 +57,7 @@ Example:
>  		thread-num = CMDQ_THR_MAX_COUNT;
>  		#mbox-cells = <3>;
>  		#event-cells = <1>;
> +		#subsys-cells = <2>;
>  	};
>  
>  Example for a client device:
> @@ -58,7 +66,8 @@ Example for a client device:
>  		compatible = "mediatek,mt8173-mmsys";
>  		mboxes = <&gce 0 CMDQ_THR_PRIO_LOWEST 1>,
>  			 <&gce 1 CMDQ_THR_PRIO_LOWEST 1>;
> -		mediatek,gce-subsys = <SUBSYS_1400XXXX>;
> +		mediatek,gce-subsys = <&gce 0x14000000 SUBSYS_1400XXXX>,
> +				      <&gce 0x14010000 SUBSYS_1401XXXX>;
>  		mediatek,gce-event-names = "rdma0_sof",
>  					   "rsz0_sof";
>  		mediatek,gce-events = <&gce CMDQ_EVENT_MDP_RDMA0_SOF>,
CK Hu March 7, 2019, 2:20 a.m. UTC | #2
Hi, Bibby:

On Thu, 2019-03-07 at 09:39 +0800, CK Hu wrote:
> Hi, Bibby:
> 
> On Wed, 2019-03-06 at 17:50 +0800, Bibby Hsieh wrote:
> > cmdq driver provide a function that get the relationship
> > of sub system number from device node for client.
> > add specification for #subsys-cells, mediatek,gce-subsys.
> > 
> > Signed-off-by: Bibby Hsieh <bibby.hsieh@mediatek.com>
> > ---
> >  Documentation/devicetree/bindings/mailbox/mtk-gce.txt | 11 ++++++++++-
> >  1 file changed, 10 insertions(+), 1 deletion(-)
> > 
> > diff --git a/Documentation/devicetree/bindings/mailbox/mtk-gce.txt b/Documentation/devicetree/bindings/mailbox/mtk-gce.txt
> > index 812698f..07b2adf 100644
> > --- a/Documentation/devicetree/bindings/mailbox/mtk-gce.txt
> > +++ b/Documentation/devicetree/bindings/mailbox/mtk-gce.txt
> > @@ -26,6 +26,13 @@ Required properties:
> >  	phandle: Label name of a gce node.
> >  	event_number: the event number defined in 'dt-bindings/gce/mt8173-gce.h'
> >  		      or 'dt-binding/gce/mt8183-gce.h'.
> > +#subsys-cells: Should be 2.
> > +	<&phandle register_base_address subsys_number>
> > +	phandle: Label name of a gce node.
> > +	register_base_address: the register base address that client
> > +			       want to write or read.
> 
> This look like the same as 'reg' property. I would prefer use
> already-defined property, for example:
> 
> 		mmsys: clock-controller@14000000 {
> 			compatible = "mediatek,mt8173-mmsys", "syscon";
> 			reg = <0 0x14000000 0 0x1000>;
> 			mediatek,gce-subsys = <&gce SUBSYS_1400XXXX>;
> 		};

My previous thinking may not be proper, GCE could write register but its
behavior may be not the same as CPU, so it's better not to mix these two
register_base_address.

Regards,
CK

> 
> Regards,
> CK
> 
> > +	subsys_number: specify the sub-system id which is corresponding
> > +		       to the register address.
> >  
> >  Required properties for a client device:
> >  - mboxes: Client use mailbox to communicate with GCE, it should have this
> > @@ -50,6 +57,7 @@ Example:
> >  		thread-num = CMDQ_THR_MAX_COUNT;
> >  		#mbox-cells = <3>;
> >  		#event-cells = <1>;
> > +		#subsys-cells = <2>;
> >  	};
> >  
> >  Example for a client device:
> > @@ -58,7 +66,8 @@ Example for a client device:
> >  		compatible = "mediatek,mt8173-mmsys";
> >  		mboxes = <&gce 0 CMDQ_THR_PRIO_LOWEST 1>,
> >  			 <&gce 1 CMDQ_THR_PRIO_LOWEST 1>;
> > -		mediatek,gce-subsys = <SUBSYS_1400XXXX>;
> > +		mediatek,gce-subsys = <&gce 0x14000000 SUBSYS_1400XXXX>,
> > +				      <&gce 0x14010000 SUBSYS_1401XXXX>;
> >  		mediatek,gce-event-names = "rdma0_sof",
> >  					   "rsz0_sof";
> >  		mediatek,gce-events = <&gce CMDQ_EVENT_MDP_RDMA0_SOF>,
>
CK Hu March 8, 2019, 1:41 a.m. UTC | #3
Hi, Bibby:

On Wed, 2019-03-06 at 17:50 +0800, Bibby Hsieh wrote:
> cmdq driver provide a function that get the relationship
> of sub system number from device node for client.
> add specification for #subsys-cells, mediatek,gce-subsys.
> 
> Signed-off-by: Bibby Hsieh <bibby.hsieh@mediatek.com>
> ---
>  Documentation/devicetree/bindings/mailbox/mtk-gce.txt | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/mailbox/mtk-gce.txt b/Documentation/devicetree/bindings/mailbox/mtk-gce.txt
> index 812698f..07b2adf 100644
> --- a/Documentation/devicetree/bindings/mailbox/mtk-gce.txt
> +++ b/Documentation/devicetree/bindings/mailbox/mtk-gce.txt
> @@ -26,6 +26,13 @@ Required properties:
>  	phandle: Label name of a gce node.
>  	event_number: the event number defined in 'dt-bindings/gce/mt8173-gce.h'
>  		      or 'dt-binding/gce/mt8183-gce.h'.
> +#subsys-cells: Should be 2.
> +	<&phandle register_base_address subsys_number>
> +	phandle: Label name of a gce node.
> +	register_base_address: the register base address that client
> +			       want to write or read.
> +	subsys_number: specify the sub-system id which is corresponding
> +		       to the register address.

I would like this description similar to 'reg' property. For example:

If a client want GCE to access register from 0x14002000 ~ 0x14002fff,
in the view of GCE, it would access register from SUBSYS_1400XXXX with
an offset 0x2000 to SUBSYS_1400XXXX with an offset 0x2fff
So the description could be:

mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x2000 0x1000>

the second parameter is subsys, the third parameter is start offset, and
the fourth parameter is the size.

I change the property name to 'mediatek,gce-client-reg' because this
whole property describe the range GCE access rather than the subsys. 

Regards,
CK

>  
>  Required properties for a client device:
>  - mboxes: Client use mailbox to communicate with GCE, it should have this
> @@ -50,6 +57,7 @@ Example:
>  		thread-num = CMDQ_THR_MAX_COUNT;
>  		#mbox-cells = <3>;
>  		#event-cells = <1>;
> +		#subsys-cells = <2>;
>  	};
>  
>  Example for a client device:
> @@ -58,7 +66,8 @@ Example for a client device:
>  		compatible = "mediatek,mt8173-mmsys";
>  		mboxes = <&gce 0 CMDQ_THR_PRIO_LOWEST 1>,
>  			 <&gce 1 CMDQ_THR_PRIO_LOWEST 1>;
> -		mediatek,gce-subsys = <SUBSYS_1400XXXX>;
> +		mediatek,gce-subsys = <&gce 0x14000000 SUBSYS_1400XXXX>,
> +				      <&gce 0x14010000 SUBSYS_1401XXXX>;
>  		mediatek,gce-event-names = "rdma0_sof",
>  					   "rsz0_sof";
>  		mediatek,gce-events = <&gce CMDQ_EVENT_MDP_RDMA0_SOF>,
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/mailbox/mtk-gce.txt b/Documentation/devicetree/bindings/mailbox/mtk-gce.txt
index 812698f..07b2adf 100644
--- a/Documentation/devicetree/bindings/mailbox/mtk-gce.txt
+++ b/Documentation/devicetree/bindings/mailbox/mtk-gce.txt
@@ -26,6 +26,13 @@  Required properties:
 	phandle: Label name of a gce node.
 	event_number: the event number defined in 'dt-bindings/gce/mt8173-gce.h'
 		      or 'dt-binding/gce/mt8183-gce.h'.
+#subsys-cells: Should be 2.
+	<&phandle register_base_address subsys_number>
+	phandle: Label name of a gce node.
+	register_base_address: the register base address that client
+			       want to write or read.
+	subsys_number: specify the sub-system id which is corresponding
+		       to the register address.
 
 Required properties for a client device:
 - mboxes: Client use mailbox to communicate with GCE, it should have this
@@ -50,6 +57,7 @@  Example:
 		thread-num = CMDQ_THR_MAX_COUNT;
 		#mbox-cells = <3>;
 		#event-cells = <1>;
+		#subsys-cells = <2>;
 	};
 
 Example for a client device:
@@ -58,7 +66,8 @@  Example for a client device:
 		compatible = "mediatek,mt8173-mmsys";
 		mboxes = <&gce 0 CMDQ_THR_PRIO_LOWEST 1>,
 			 <&gce 1 CMDQ_THR_PRIO_LOWEST 1>;
-		mediatek,gce-subsys = <SUBSYS_1400XXXX>;
+		mediatek,gce-subsys = <&gce 0x14000000 SUBSYS_1400XXXX>,
+				      <&gce 0x14010000 SUBSYS_1401XXXX>;
 		mediatek,gce-event-names = "rdma0_sof",
 					   "rsz0_sof";
 		mediatek,gce-events = <&gce CMDQ_EVENT_MDP_RDMA0_SOF>,