diff mbox series

[v5,3/4] dt-bindings: arm: coresight: Unify funnel DT binding

Message ID 20190412102738.12679-4-leo.yan@linaro.org
State Accepted
Commit d3b18ad63dca3ff3b5a169cbbe629b1d039a4483
Headers show
Series CoreSight: Support static funnel with DT binding consolidation | expand

Commit Message

Leo Yan April 12, 2019, 10:27 a.m. UTC
Following the same fashion with replicator DT binding, this patch is to
unify the DT binding for funnel to support static and dynamic modes;
finally we get the funnel DT binding as below:

Before patch:

  Static funnel, aka. non-configurable funnel:
    Not supported;

  Dynamic funnel, aka. configurable funnel:
    "arm,coresight-funnel", "arm,primecell";

After patch:

  Static funnel:
    "arm,coresight-static-funnel";

  Dynamic funnel:
    "arm,coresight-dynamic-funnel", "arm,primecell";
    "arm,coresight-funnel", "arm,primecell"; (obsolete)

At the end of this patch, it gives an example for static funnel DT
binding, and updates the dynamic funnel example.

Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: Wanglai Shi <shiwanglai@hisilicon.com>
Signed-off-by: Leo Yan <leo.yan@linaro.org>

---
 .../devicetree/bindings/arm/coresight.txt     | 53 +++++++++++++++++--
 1 file changed, 48 insertions(+), 5 deletions(-)

-- 
2.17.1

Comments

Suzuki K Poulose April 12, 2019, 10:43 a.m. UTC | #1
On 04/12/2019 11:27 AM, Leo Yan wrote:
> Following the same fashion with replicator DT binding, this patch is to

> unify the DT binding for funnel to support static and dynamic modes;

> finally we get the funnel DT binding as below:

> 

> Before patch:

> 

>    Static funnel, aka. non-configurable funnel:

>      Not supported;

> 

>    Dynamic funnel, aka. configurable funnel:

>      "arm,coresight-funnel", "arm,primecell";

> 

> After patch:

> 

>    Static funnel:

>      "arm,coresight-static-funnel";

> 

>    Dynamic funnel:

>      "arm,coresight-dynamic-funnel", "arm,primecell";

>      "arm,coresight-funnel", "arm,primecell"; (obsolete)

> 

> At the end of this patch, it gives an example for static funnel DT

> binding, and updates the dynamic funnel example.

> 

> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>

> Cc: Suzuki K Poulose <suzuki.poulose@arm.com>

> Cc: Wanglai Shi <shiwanglai@hisilicon.com>

> Signed-off-by: Leo Yan <leo.yan@linaro.org>

> ---

>   .../devicetree/bindings/arm/coresight.txt     | 53 +++++++++++++++++--

>   1 file changed, 48 insertions(+), 5 deletions(-)

> 

> diff --git a/Documentation/devicetree/bindings/arm/coresight.txt b/Documentation/devicetree/bindings/arm/coresight.txt

> index d02d160fa8ac..8a88ddebc1a2 100644

> --- a/Documentation/devicetree/bindings/arm/coresight.txt

> +++ b/Documentation/devicetree/bindings/arm/coresight.txt

> @@ -8,7 +8,8 @@ through the intermediate links connecting the source to the currently selected

>   sink. Each CoreSight component device should use these properties to describe

>   its hardware characteristcs.

>   

> -* Required properties for all components *except* non-configurable replicators:

> +* Required properties for all components *except* non-configurable replicators

> +  and non-configurable funnels:

>   

>   	* compatible: These have to be supplemented with "arm,primecell" as

>   	  drivers are using the AMBA bus interface.  Possible values include:

> @@ -24,8 +25,10 @@ its hardware characteristcs.

>   		  discovered at boot time when the device is probed.

>   			"arm,coresight-tmc", "arm,primecell";

>   

> -		- Trace Funnel:

> -			"arm,coresight-funnel", "arm,primecell";

> +		- Trace Programmable Funnel:

> +			"arm,coresight-dynamic-funnel", "arm,primecell";

> +			"arm,coresight-funnel", "arm,primecell"; (OBSOLETE. For

> +				backward compatibility and will be removed)

>   

>   		- Embedded Trace Macrocell (version 3.x) and

>   					Program Flow Trace Macrocell:

> @@ -65,7 +68,7 @@ its hardware characteristcs.

>   	  "stm-stimulus-base", each corresponding to the areas defined in "reg".

>   

>   * Required properties for devices that don't show up on the AMBA bus, such as

> -  non-configurable replicators:

> +  non-configurable replicators and non-configurable funnels:

>   

>   	* compatible: Currently supported value is (note the absence of the

>   	  AMBA markee):

> @@ -74,6 +77,9 @@ its hardware characteristcs.

>   			"arm,coresight-replicator"; (OBSOLETE. For backward

>   				compatibility and will be removed)

>   

> +		- Coresight Non-configurable Funnel:

> +			"arm,coresight-static-funnel";

> +

>   	* port or ports: see "Graph bindings for Coresight" below.

>   

>   * Optional properties for ETM/PTMs:

> @@ -203,8 +209,45 @@ Example:

>   		};

>   	};

>   

> +	funnel {

> +		/*

> +		 * non-configurable funnel don't show up on the AMBA

> +		 * bus.  As such no need to add "arm,primecell".

> +		 */

> +		compatible = "arm,coresight-static-funnel";

> +		clocks = <&crg_ctrl HI3660_PCLK>;

> +		clock-names = "apb_pclk";

> +

> +		out-ports {

> +			port {

> +				combo_funnel_out: endpoint {

> +					remote-endpoint = <&top_funnel_in>;

> +				};

> +			};

> +		};

> +

> +		in-ports {

> +			#address-cells = <1>;

> +			#size-cells = <0>;

> +

> +			port@0 {

> +				reg = <0>;

> +				combo_funnel_in0: endpoint {

> +					remote-endpoint = <&cluster0_etf_out>;

> +				};

> +			};

> +

> +			port@1 {

> +				reg = <1>;

> +				combo_funnel_in1: endpoint {

> +					remote-endpoint = <&cluster1_etf_out>;

> +				};

> +			};

> +		};

> +	};

> +

>   	funnel@20040000 {

> -		compatible = "arm,coresight-funnel", "arm,primecell";

> +		compatible = "arm,coresight-dynamic-funnel", "arm,primecell";

>   		reg = <0 0x20040000 0 0x1000>;

>   

>   		clocks = <&oscclk6a>;

> 



Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Mathieu Poirier April 16, 2019, 8:20 p.m. UTC | #2
On Fri, 12 Apr 2019 at 04:28, Leo Yan <leo.yan@linaro.org> wrote:
>

> Following the same fashion with replicator DT binding, this patch is to

> unify the DT binding for funnel to support static and dynamic modes;

> finally we get the funnel DT binding as below:

>

> Before patch:

>

>   Static funnel, aka. non-configurable funnel:

>     Not supported;

>

>   Dynamic funnel, aka. configurable funnel:

>     "arm,coresight-funnel", "arm,primecell";

>

> After patch:

>

>   Static funnel:

>     "arm,coresight-static-funnel";

>

>   Dynamic funnel:

>     "arm,coresight-dynamic-funnel", "arm,primecell";

>     "arm,coresight-funnel", "arm,primecell"; (obsolete)

>

> At the end of this patch, it gives an example for static funnel DT

> binding, and updates the dynamic funnel example.

>

> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>

> Cc: Suzuki K Poulose <suzuki.poulose@arm.com>

> Cc: Wanglai Shi <shiwanglai@hisilicon.com>

> Signed-off-by: Leo Yan <leo.yan@linaro.org>

> ---

>  .../devicetree/bindings/arm/coresight.txt     | 53 +++++++++++++++++--

>  1 file changed, 48 insertions(+), 5 deletions(-)

>

> diff --git a/Documentation/devicetree/bindings/arm/coresight.txt b/Documentation/devicetree/bindings/arm/coresight.txt

> index d02d160fa8ac..8a88ddebc1a2 100644

> --- a/Documentation/devicetree/bindings/arm/coresight.txt

> +++ b/Documentation/devicetree/bindings/arm/coresight.txt

> @@ -8,7 +8,8 @@ through the intermediate links connecting the source to the currently selected

>  sink. Each CoreSight component device should use these properties to describe

>  its hardware characteristcs.

>

> -* Required properties for all components *except* non-configurable replicators:

> +* Required properties for all components *except* non-configurable replicators

> +  and non-configurable funnels:

>

>         * compatible: These have to be supplemented with "arm,primecell" as

>           drivers are using the AMBA bus interface.  Possible values include:

> @@ -24,8 +25,10 @@ its hardware characteristcs.

>                   discovered at boot time when the device is probed.

>                         "arm,coresight-tmc", "arm,primecell";

>

> -               - Trace Funnel:

> -                       "arm,coresight-funnel", "arm,primecell";

> +               - Trace Programmable Funnel:

> +                       "arm,coresight-dynamic-funnel", "arm,primecell";

> +                       "arm,coresight-funnel", "arm,primecell"; (OBSOLETE. For

> +                               backward compatibility and will be removed)

>

>                 - Embedded Trace Macrocell (version 3.x) and

>                                         Program Flow Trace Macrocell:

> @@ -65,7 +68,7 @@ its hardware characteristcs.

>           "stm-stimulus-base", each corresponding to the areas defined in "reg".

>

>  * Required properties for devices that don't show up on the AMBA bus, such as

> -  non-configurable replicators:

> +  non-configurable replicators and non-configurable funnels:

>

>         * compatible: Currently supported value is (note the absence of the

>           AMBA markee):

> @@ -74,6 +77,9 @@ its hardware characteristcs.

>                         "arm,coresight-replicator"; (OBSOLETE. For backward

>                                 compatibility and will be removed)

>

> +               - Coresight Non-configurable Funnel:

> +                       "arm,coresight-static-funnel";

> +

>         * port or ports: see "Graph bindings for Coresight" below.

>

>  * Optional properties for ETM/PTMs:

> @@ -203,8 +209,45 @@ Example:

>                 };

>         };

>

> +       funnel {

> +               /*

> +                * non-configurable funnel don't show up on the AMBA

> +                * bus.  As such no need to add "arm,primecell".

> +                */

> +               compatible = "arm,coresight-static-funnel";

> +               clocks = <&crg_ctrl HI3660_PCLK>;

> +               clock-names = "apb_pclk";

> +

> +               out-ports {

> +                       port {

> +                               combo_funnel_out: endpoint {

> +                                       remote-endpoint = <&top_funnel_in>;

> +                               };

> +                       };

> +               };

> +

> +               in-ports {

> +                       #address-cells = <1>;

> +                       #size-cells = <0>;

> +

> +                       port@0 {

> +                               reg = <0>;

> +                               combo_funnel_in0: endpoint {

> +                                       remote-endpoint = <&cluster0_etf_out>;

> +                               };

> +                       };

> +

> +                       port@1 {

> +                               reg = <1>;

> +                               combo_funnel_in1: endpoint {

> +                                       remote-endpoint = <&cluster1_etf_out>;

> +                               };

> +                       };

> +               };

> +       };

> +

>         funnel@20040000 {

> -               compatible = "arm,coresight-funnel", "arm,primecell";

> +               compatible = "arm,coresight-dynamic-funnel", "arm,primecell";

>                 reg = <0 0x20040000 0 0x1000>;

>

>                 clocks = <&oscclk6a>;

> --

> 2.17.1


Same thing for this one.

>
Rob Herring (Arm) April 26, 2019, 2:26 p.m. UTC | #3
On Fri, 12 Apr 2019 18:27:37 +0800, Leo Yan wrote:
> Following the same fashion with replicator DT binding, this patch is to

> unify the DT binding for funnel to support static and dynamic modes;

> finally we get the funnel DT binding as below:

> 

> Before patch:

> 

>   Static funnel, aka. non-configurable funnel:

>     Not supported;

> 

>   Dynamic funnel, aka. configurable funnel:

>     "arm,coresight-funnel", "arm,primecell";

> 

> After patch:

> 

>   Static funnel:

>     "arm,coresight-static-funnel";

> 

>   Dynamic funnel:

>     "arm,coresight-dynamic-funnel", "arm,primecell";

>     "arm,coresight-funnel", "arm,primecell"; (obsolete)

> 

> At the end of this patch, it gives an example for static funnel DT

> binding, and updates the dynamic funnel example.

> 

> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>

> Cc: Suzuki K Poulose <suzuki.poulose@arm.com>

> Cc: Wanglai Shi <shiwanglai@hisilicon.com>

> Signed-off-by: Leo Yan <leo.yan@linaro.org>

> ---

>  .../devicetree/bindings/arm/coresight.txt     | 53 +++++++++++++++++--

>  1 file changed, 48 insertions(+), 5 deletions(-)

> 


Reviewed-by: Rob Herring <robh@kernel.org>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/arm/coresight.txt b/Documentation/devicetree/bindings/arm/coresight.txt
index d02d160fa8ac..8a88ddebc1a2 100644
--- a/Documentation/devicetree/bindings/arm/coresight.txt
+++ b/Documentation/devicetree/bindings/arm/coresight.txt
@@ -8,7 +8,8 @@  through the intermediate links connecting the source to the currently selected
 sink. Each CoreSight component device should use these properties to describe
 its hardware characteristcs.
 
-* Required properties for all components *except* non-configurable replicators:
+* Required properties for all components *except* non-configurable replicators
+  and non-configurable funnels:
 
 	* compatible: These have to be supplemented with "arm,primecell" as
 	  drivers are using the AMBA bus interface.  Possible values include:
@@ -24,8 +25,10 @@  its hardware characteristcs.
 		  discovered at boot time when the device is probed.
 			"arm,coresight-tmc", "arm,primecell";
 
-		- Trace Funnel:
-			"arm,coresight-funnel", "arm,primecell";
+		- Trace Programmable Funnel:
+			"arm,coresight-dynamic-funnel", "arm,primecell";
+			"arm,coresight-funnel", "arm,primecell"; (OBSOLETE. For
+				backward compatibility and will be removed)
 
 		- Embedded Trace Macrocell (version 3.x) and
 					Program Flow Trace Macrocell:
@@ -65,7 +68,7 @@  its hardware characteristcs.
 	  "stm-stimulus-base", each corresponding to the areas defined in "reg".
 
 * Required properties for devices that don't show up on the AMBA bus, such as
-  non-configurable replicators:
+  non-configurable replicators and non-configurable funnels:
 
 	* compatible: Currently supported value is (note the absence of the
 	  AMBA markee):
@@ -74,6 +77,9 @@  its hardware characteristcs.
 			"arm,coresight-replicator"; (OBSOLETE. For backward
 				compatibility and will be removed)
 
+		- Coresight Non-configurable Funnel:
+			"arm,coresight-static-funnel";
+
 	* port or ports: see "Graph bindings for Coresight" below.
 
 * Optional properties for ETM/PTMs:
@@ -203,8 +209,45 @@  Example:
 		};
 	};
 
+	funnel {
+		/*
+		 * non-configurable funnel don't show up on the AMBA
+		 * bus.  As such no need to add "arm,primecell".
+		 */
+		compatible = "arm,coresight-static-funnel";
+		clocks = <&crg_ctrl HI3660_PCLK>;
+		clock-names = "apb_pclk";
+
+		out-ports {
+			port {
+				combo_funnel_out: endpoint {
+					remote-endpoint = <&top_funnel_in>;
+				};
+			};
+		};
+
+		in-ports {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			port@0 {
+				reg = <0>;
+				combo_funnel_in0: endpoint {
+					remote-endpoint = <&cluster0_etf_out>;
+				};
+			};
+
+			port@1 {
+				reg = <1>;
+				combo_funnel_in1: endpoint {
+					remote-endpoint = <&cluster1_etf_out>;
+				};
+			};
+		};
+	};
+
 	funnel@20040000 {
-		compatible = "arm,coresight-funnel", "arm,primecell";
+		compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
 		reg = <0 0x20040000 0 0x1000>;
 
 		clocks = <&oscclk6a>;