mbox series

[v2,00/11] dts: Update coresight device tree bindings

Message ID 20180912135352.19722-1-suzuki.poulose@arm.com
Headers show
Series dts: Update coresight device tree bindings | expand

Message

Suzuki K Poulose Sept. 12, 2018, 1:53 p.m. UTC
Coresight DT bindings have been updated to obey the DTS rules
for label/address matching for graph nodes. The changes are in
coresight/next tree scheduled for v4.20. This series updates the
in kernel dts to match the new bindings along with updating a couple
of new examples (e.,g CATU) in the Documentation (which were missed
as they were still in flight when we created the series).

Please note that this should not be pulled for v4.19, which I think
is a safe assumption. But please do pull it for v4.20.
The dt updates for the Juno boards were sent earlier with the original
DT update series and has been queued for v4.20.

Applies on coresight/next (which is based on v4.19) and should apply
cleanly on v4.19-rc3.

Changes since V1:
 - Avoid "avoid_unnecessary_addr_size" warnings by removing
   #address-cells/#size-cells for single port with address 0.
 - Fix TPIU inport for qcom msm8196.  (Leo Yan)
 - Fix documentation example for TPIU (Leo Yan)
 - Fix subject tags (as pointed out by Leo and Shawn)
 - Drop patch for TC2, which has been queued by Sudeep


Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
Cc: Andy Gross <andy.gross@linaro.org>
Cc: Benoît Cousson <bcousson@baylibre.com>
Cc: David Brown <david.brown@linaro.org>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Frank Rowand <frowand.list@gmail.com>
Cc: Ivan T. Ivanov <ivan.ivanov@linaro.org>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: linux-omap@vger.kernel.org
Cc: lipengcheng8@huawei.com
Cc: Liviu Dudau <liviu.dudau@arm.com>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Nicolas Ferre <nicolas.ferre@microchip.com>
Cc: orsonzhai@gmail.com
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Rob Herring <robh@kernel.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Sudeep Holla <sudeep.holla@arm.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Wei Xu <xuwei5@hisilicon.com>
Cc: xuwei5@hisilicon.com
Cc: zhang.lyra@gmail.com
Cc: arm@kernel.org


Suzuki K Poulose (11):
  coresight: dts: binding: Fix example for TPIU component
  coresight: dts: binding: Update coresight binding examples
  arm64: dts: hi6220: Update coresight bindings for hardware ports
  arm64: dts: sc9836/sc9860: Update coresight bindings for hardware
    ports
  arm64: dts: msm8916: Update coresight bindings for hardware ports
  arm: dts: hip04: Update coresight bindings for hardware ports
  arm: dts: imx7: Update coresight binding for hardware ports
  arm: dts: omap: Update coresight bindings for hardware ports
  arm: dts: qcom: Update coresight bindings for hardware ports
  arm: dts: sama5d2: Update coresight bindings for hardware ports
  arm: dts: ste-dbx5x0: Update coresight bindings for hardware port

 .../devicetree/bindings/arm/coresight.txt     |  27 +-
 arch/arm/boot/dts/hip04.dtsi                  | 346 +++++++++---------
 arch/arm/boot/dts/imx7d.dtsi                  |  14 +-
 arch/arm/boot/dts/imx7s.dtsi                  |  82 ++---
 arch/arm/boot/dts/omap3-beagle-xm.dts         |  17 +-
 arch/arm/boot/dts/omap3-beagle.dts            |  17 +-
 arch/arm/boot/dts/qcom-apq8064.dtsi           |  71 ++--
 arch/arm/boot/dts/qcom-msm8974.dtsi           | 104 +++---
 arch/arm/boot/dts/sama5d2.dtsi                |  17 +-
 arch/arm/boot/dts/ste-dbx5x0.dtsi             |  65 ++--
 .../boot/dts/hisilicon/hi6220-coresight.dtsi  | 181 +++++----
 arch/arm64/boot/dts/qcom/msm8916.dtsi         |  95 ++---
 arch/arm64/boot/dts/sprd/sc9836.dtsi          |  82 +++--
 arch/arm64/boot/dts/sprd/sc9860.dtsi          | 215 +++++------
 14 files changed, 682 insertions(+), 651 deletions(-)

Comments

Linus Walleij Sept. 14, 2018, 8:43 a.m. UTC | #1
On Wed, Sep 12, 2018 at 3:54 PM Suzuki K Poulose <suzuki.poulose@arm.com> wrote:

> Switch to the new coresight bindings
>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>

Acked-by: Linus Walleij <linus.walleij@linaro.org>

I guess you will merge this with the rest of the patches so I do
not need to queue it?

Yours,
Linus Walleij
Suzuki K Poulose Sept. 14, 2018, 8:58 a.m. UTC | #2
Hi Linus,

On 14/09/18 09:43, Linus Walleij wrote:
> On Wed, Sep 12, 2018 at 3:54 PM Suzuki K Poulose <suzuki.poulose@arm.com> wrote:
> 
>> Switch to the new coresight bindings
>>
>> Cc: Linus Walleij <linus.walleij@linaro.org>
>> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
>> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
> 
> Acked-by: Linus Walleij <linus.walleij@linaro.org>
> 

Thanks.

> I guess you will merge this with the rest of the patches so I do
> not need to queue it?

We haven't figured out that yet. I guess it would be ideal if we
could merge this via arm-soc ? To avoid possible conflict with
other changes to the dts in the series. Sudeep has queued the
TC2 and Juno changes. So, if you could queue it, that is fine
with us.

Suzuki
Alexandre Belloni Sept. 19, 2018, 5:12 p.m. UTC | #3
On 12/09/2018 14:53:51+0100, Suzuki K Poulose wrote:
> Switch to the new coresight bindings for hardware ports
> 
> Cc: Nicolas Ferre <nicolas.ferre@microchip.com>
> Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
> ---
>  arch/arm/boot/dts/sama5d2.dtsi | 17 ++++++++++-------
>  1 file changed, 10 insertions(+), 7 deletions(-)
> 
Applied, thanks.
Mathieu Poirier Sept. 19, 2018, 11:29 p.m. UTC | #4
On Wed, 12 Sep 2018 at 07:54, Suzuki K Poulose <suzuki.poulose@arm.com> wrote:
>
> Coresight DT bindings have been updated to obey the DTS rules
> for label/address matching for graph nodes. The changes are in
> coresight/next tree scheduled for v4.20. This series updates the
> in kernel dts to match the new bindings along with updating a couple
> of new examples (e.,g CATU) in the Documentation (which were missed
> as they were still in flight when we created the series).
>
> Please note that this should not be pulled for v4.19, which I think
> is a safe assumption. But please do pull it for v4.20.
> The dt updates for the Juno boards were sent earlier with the original
> DT update series and has been queued for v4.20.
>
> Applies on coresight/next (which is based on v4.19) and should apply
> cleanly on v4.19-rc3.
>
> Changes since V1:
>  - Avoid "avoid_unnecessary_addr_size" warnings by removing
>    #address-cells/#size-cells for single port with address 0.
>  - Fix TPIU inport for qcom msm8196.  (Leo Yan)
>  - Fix documentation example for TPIU (Leo Yan)
>  - Fix subject tags (as pointed out by Leo and Shawn)
>  - Drop patch for TC2, which has been queued by Sudeep
>
>
> Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
> Cc: Andy Gross <andy.gross@linaro.org>
> Cc: Benoît Cousson <bcousson@baylibre.com>
> Cc: David Brown <david.brown@linaro.org>
> Cc: Fabio Estevam <fabio.estevam@nxp.com>
> Cc: Frank Rowand <frowand.list@gmail.com>
> Cc: Ivan T. Ivanov <ivan.ivanov@linaro.org>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: linux-omap@vger.kernel.org
> Cc: lipengcheng8@huawei.com
> Cc: Liviu Dudau <liviu.dudau@arm.com>
> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
> Cc: Nicolas Ferre <nicolas.ferre@microchip.com>
> Cc: orsonzhai@gmail.com
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> Cc: Rob Herring <robh@kernel.org>
> Cc: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: Sudeep Holla <sudeep.holla@arm.com>
> Cc: Tony Lindgren <tony@atomide.com>
> Cc: Wei Xu <xuwei5@hisilicon.com>
> Cc: xuwei5@hisilicon.com
> Cc: zhang.lyra@gmail.com
> Cc: arm@kernel.org
>
>
> Suzuki K Poulose (11):
>   coresight: dts: binding: Fix example for TPIU component
>   coresight: dts: binding: Update coresight binding examples
>   arm64: dts: hi6220: Update coresight bindings for hardware ports
>   arm64: dts: sc9836/sc9860: Update coresight bindings for hardware
>     ports
>   arm64: dts: msm8916: Update coresight bindings for hardware ports
>   arm: dts: hip04: Update coresight bindings for hardware ports
>   arm: dts: imx7: Update coresight binding for hardware ports
>   arm: dts: omap: Update coresight bindings for hardware ports
>   arm: dts: qcom: Update coresight bindings for hardware ports
>   arm: dts: sama5d2: Update coresight bindings for hardware ports
>   arm: dts: ste-dbx5x0: Update coresight bindings for hardware port
>
>  .../devicetree/bindings/arm/coresight.txt     |  27 +-
>  arch/arm/boot/dts/hip04.dtsi                  | 346 +++++++++---------
>  arch/arm/boot/dts/imx7d.dtsi                  |  14 +-
>  arch/arm/boot/dts/imx7s.dtsi                  |  82 ++---
>  arch/arm/boot/dts/omap3-beagle-xm.dts         |  17 +-
>  arch/arm/boot/dts/omap3-beagle.dts            |  17 +-
>  arch/arm/boot/dts/qcom-apq8064.dtsi           |  71 ++--
>  arch/arm/boot/dts/qcom-msm8974.dtsi           | 104 +++---
>  arch/arm/boot/dts/sama5d2.dtsi                |  17 +-
>  arch/arm/boot/dts/ste-dbx5x0.dtsi             |  65 ++--
>  .../boot/dts/hisilicon/hi6220-coresight.dtsi  | 181 +++++----
>  arch/arm64/boot/dts/qcom/msm8916.dtsi         |  95 ++---
>  arch/arm64/boot/dts/sprd/sc9836.dtsi          |  82 +++--
>  arch/arm64/boot/dts/sprd/sc9860.dtsi          | 215 +++++------
>  14 files changed, 682 insertions(+), 651 deletions(-)

I have applied patch 1 and 2 in this set.

Thanks,
Mathieu

>
> --
> 2.19.0
>
Linus Walleij Sept. 20, 2018, 10:02 p.m. UTC | #5
On Wed, Sep 12, 2018 at 6:54 AM Suzuki K Poulose <suzuki.poulose@arm.com> wrote:

> Switch to the new coresight bindings
>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>

Applied to the ux500 tree.

Yours,
Linus Walleij
Suzuki K Poulose Sept. 21, 2018, 9:24 a.m. UTC | #6
Linus,

On 20/09/18 23:02, Linus Walleij wrote:
> On Wed, Sep 12, 2018 at 6:54 AM Suzuki K Poulose <suzuki.poulose@arm.com> wrote:
>
>> Switch to the new coresight bindings
>>
>> Cc: Linus Walleij <linus.walleij@linaro.org>
>> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
>> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
>
> Applied to the ux500 tree.

Thanks !

Suzuki
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
Wei Xu Sept. 21, 2018, 2:06 p.m. UTC | #7
Hi Suzuki,

On 2018/9/12 14:53, Suzuki K Poulose wrote:
> Switch to updated coresight bindings for hw ports.
> 
> Cc: xuwei5@hisilicon.com
> Cc: lipengcheng8@huawei.com
> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
> Tested-by: Leo Yan <leo.yan@linaro.org>
> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>

Thanks!
Applied to the hisilicon dt tree.

Best Regards,
Wei

> ---
>  .../boot/dts/hisilicon/hi6220-coresight.dtsi  | 181 +++++++++---------
>  1 file changed, 86 insertions(+), 95 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-coresight.dtsi b/arch/arm64/boot/dts/hisilicon/hi6220-coresight.dtsi
> index 7afee5d5087b..68c52f1149be 100644
> --- a/arch/arm64/boot/dts/hisilicon/hi6220-coresight.dtsi
> +++ b/arch/arm64/boot/dts/hisilicon/hi6220-coresight.dtsi
> @@ -20,22 +20,18 @@
>  			clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
>  			clock-names = "apb_pclk";
>  
> -			ports {
> -				#address-cells = <1>;
> -				#size-cells = <0>;
> -
> -				port@0 {
> -					reg = <0>;
> +			out-ports {
> +				port {
>  					soc_funnel_out: endpoint {
>  						remote-endpoint =
>  							<&etf_in>;
>  					};
>  				};
> +			};
>  
> -				port@1 {
> -					reg = <0>;
> +			in-ports {
> +				port {
>  					soc_funnel_in: endpoint {
> -						slave-mode;
>  						remote-endpoint =
>  							<&acpu_funnel_out>;
>  					};
> @@ -49,21 +45,17 @@
>  			clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
>  			clock-names = "apb_pclk";
>  
> -			ports {
> -				#address-cells = <1>;
> -				#size-cells = <0>;
> -
> -				port@0 {
> -					reg = <0>;
> +			in-ports {
> +				port {
>  					etf_in: endpoint {
> -						slave-mode;
>  						remote-endpoint =
>  							<&soc_funnel_out>;
>  					};
>  				};
> +			};
>  
> -				port@1 {
> -					reg = <0>;
> +			out-ports {
> +				port {
>  					etf_out: endpoint {
>  						remote-endpoint =
>  							<&replicator_in>;
> @@ -77,20 +69,20 @@
>  			clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
>  			clock-names = "apb_pclk";
>  
> -			ports {
> -				#address-cells = <1>;
> -				#size-cells = <0>;
> -
> -				port@0 {
> -					reg = <0>;
> +			in-ports {
> +				port {
>  					replicator_in: endpoint {
> -						slave-mode;
>  						remote-endpoint =
>  							<&etf_out>;
>  					};
>  				};
> +			};
>  
> -				port@1 {
> +			out-ports {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +
> +				port@0 {
>  					reg = <0>;
>  					replicator_out0: endpoint {
>  						remote-endpoint =
> @@ -98,7 +90,7 @@
>  					};
>  				};
>  
> -				port@2 {
> +				port@1 {
>  					reg = <1>;
>  					replicator_out1: endpoint {
>  						remote-endpoint =
> @@ -114,14 +106,9 @@
>  			clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
>  			clock-names = "apb_pclk";
>  
> -			ports {
> -				#address-cells = <1>;
> -				#size-cells = <0>;
> -
> -				port@0 {
> -					reg = <0>;
> +			in-ports {
> +				port {
>  					etr_in: endpoint {
> -						slave-mode;
>  						remote-endpoint =
>  							<&replicator_out0>;
>  					};
> @@ -135,14 +122,9 @@
>  			clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
>  			clock-names = "apb_pclk";
>  
> -			ports {
> -				#address-cells = <1>;
> -				#size-cells = <0>;
> -
> -				port@0 {
> -					reg = <0>;
> +			in-ports {
> +				port {
>  					tpiu_in: endpoint {
> -						slave-mode;
>  						remote-endpoint =
>  							<&replicator_out1>;
>  					};
> @@ -156,85 +138,78 @@
>  			clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
>  			clock-names = "apb_pclk";
>  
> -			ports {
> -				#address-cells = <1>;
> -				#size-cells = <0>;
> -
> -				port@0 {
> -					reg = <0>;
> +			out-ports {
> +				port {
>  					acpu_funnel_out: endpoint {
>  						remote-endpoint =
>  							<&soc_funnel_in>;
>  					};
>  				};
> +			};
>  
> -				port@1 {
> +			in-ports {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +
> +				port@0 {
>  					reg = <0>;
>  					acpu_funnel_in0: endpoint {
> -						slave-mode;
>  						remote-endpoint =
>  							<&etm0_out>;
>  					};
>  				};
>  
> -				port@2 {
> +				port@1 {
>  					reg = <1>;
>  					acpu_funnel_in1: endpoint {
> -						slave-mode;
>  						remote-endpoint =
>  							<&etm1_out>;
>  					};
>  				};
>  
> -				port@3 {
> +				port@2 {
>  					reg = <2>;
>  					acpu_funnel_in2: endpoint {
> -						slave-mode;
>  						remote-endpoint =
>  							<&etm2_out>;
>  					};
>  				};
>  
> -				port@4 {
> +				port@3 {
>  					reg = <3>;
>  					acpu_funnel_in3: endpoint {
> -						slave-mode;
>  						remote-endpoint =
>  							<&etm3_out>;
>  					};
>  				};
>  
> -				port@5 {
> +				port@4 {
>  					reg = <4>;
>  					acpu_funnel_in4: endpoint {
> -						slave-mode;
>  						remote-endpoint =
>  							<&etm4_out>;
>  					};
>  				};
>  
> -				port@6 {
> +				port@5 {
>  					reg = <5>;
>  					acpu_funnel_in5: endpoint {
> -						slave-mode;
>  						remote-endpoint =
>  							<&etm5_out>;
>  					};
>  				};
>  
> -				port@7 {
> +				port@6 {
>  					reg = <6>;
>  					acpu_funnel_in6: endpoint {
> -						slave-mode;
>  						remote-endpoint =
>  							<&etm6_out>;
>  					};
>  				};
>  
> -				port@8 {
> +				port@7 {
>  					reg = <7>;
>  					acpu_funnel_in7: endpoint {
> -						slave-mode;
>  						remote-endpoint =
>  							<&etm7_out>;
>  					};
> @@ -251,10 +226,12 @@
>  
>  			cpu = <&cpu0>;
>  
> -			port {
> -				etm0_out: endpoint {
> -					remote-endpoint =
> -						<&acpu_funnel_in0>;
> +			out-ports {
> +				port {
> +					etm0_out: endpoint {
> +						remote-endpoint =
> +							<&acpu_funnel_in0>;
> +					};
>  				};
>  			};
>  		};
> @@ -268,10 +245,12 @@
>  
>  			cpu = <&cpu1>;
>  
> -			port {
> -				etm1_out: endpoint {
> -					remote-endpoint =
> -						<&acpu_funnel_in1>;
> +			out-ports {
> +				port {
> +					etm1_out: endpoint {
> +						remote-endpoint =
> +							<&acpu_funnel_in1>;
> +					};
>  				};
>  			};
>  		};
> @@ -285,10 +264,12 @@
>  
>  			cpu = <&cpu2>;
>  
> -			port {
> -				etm2_out: endpoint {
> -					remote-endpoint =
> -						<&acpu_funnel_in2>;
> +			out-ports {
> +				port {
> +					etm2_out: endpoint {
> +						remote-endpoint =
> +							<&acpu_funnel_in2>;
> +					};
>  				};
>  			};
>  		};
> @@ -302,10 +283,12 @@
>  
>  			cpu = <&cpu3>;
>  
> -			port {
> -				etm3_out: endpoint {
> -					remote-endpoint =
> -						<&acpu_funnel_in3>;
> +			out-ports {
> +				port {
> +					etm3_out: endpoint {
> +						remote-endpoint =
> +							<&acpu_funnel_in3>;
> +					};
>  				};
>  			};
>  		};
> @@ -319,10 +302,12 @@
>  
>  			cpu = <&cpu4>;
>  
> -			port {
> -				etm4_out: endpoint {
> -					remote-endpoint =
> -						<&acpu_funnel_in4>;
> +			out-ports {
> +				port {
> +					etm4_out: endpoint {
> +						remote-endpoint =
> +							<&acpu_funnel_in4>;
> +					};
>  				};
>  			};
>  		};
> @@ -336,10 +321,12 @@
>  
>  			cpu = <&cpu5>;
>  
> -			port {
> -				etm5_out: endpoint {
> -					remote-endpoint =
> -						<&acpu_funnel_in5>;
> +			out-ports {
> +				port {
> +					etm5_out: endpoint {
> +						remote-endpoint =
> +							<&acpu_funnel_in5>;
> +					};
>  				};
>  			};
>  		};
> @@ -353,10 +340,12 @@
>  
>  			cpu = <&cpu6>;
>  
> -			port {
> -				etm6_out: endpoint {
> -					remote-endpoint =
> -						<&acpu_funnel_in6>;
> +			out-ports {
> +				port {
> +					etm6_out: endpoint {
> +						remote-endpoint =
> +							<&acpu_funnel_in6>;
> +					};
>  				};
>  			};
>  		};
> @@ -370,10 +359,12 @@
>  
>  			cpu = <&cpu7>;
>  
> -			port {
> -				etm7_out: endpoint {
> -					remote-endpoint =
> -						<&acpu_funnel_in7>;
> +			out-ports {
> +				port {
> +					etm7_out: endpoint {
> +						remote-endpoint =
> +							<&acpu_funnel_in7>;
> +					};
>  				};
>  			};
>  		};
>
Wei Xu Sept. 21, 2018, 2:06 p.m. UTC | #8
Hi Suzuki,

On 2018/9/12 14:53, Suzuki K Poulose wrote:
> Switch to the new the hardware port bindings.
> 
> Cc: Wei Xu <xuwei5@hisilicon.com>
> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>

Thanks!
Applied to the hisilicon dt tree.

Best Regards,
Wei

> ---
>  arch/arm/boot/dts/hip04.dtsi | 346 ++++++++++++++++++-----------------
>  1 file changed, 176 insertions(+), 170 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/hip04.dtsi b/arch/arm/boot/dts/hip04.dtsi
> index 44044f275115..0f917b272ff3 100644
> --- a/arch/arm/boot/dts/hip04.dtsi
> +++ b/arch/arm/boot/dts/hip04.dtsi
> @@ -277,10 +277,11 @@
>  
>  		clocks = <&clk_375m>;
>  		clock-names = "apb_pclk";
> -		port {
> -			etb0_in_port: endpoint@0 {
> -				slave-mode;
> -				remote-endpoint = <&replicator0_out_port0>;
> +		in-ports {
> +			port {
> +				etb0_in_port: endpoint@0 {
> +					remote-endpoint = <&replicator0_out_port0>;
> +				};
>  			};
>  		};
>  	};
> @@ -291,10 +292,11 @@
>  
>  		clocks = <&clk_375m>;
>  		clock-names = "apb_pclk";
> -		port {
> -			etb1_in_port: endpoint@0 {
> -				slave-mode;
> -				remote-endpoint = <&replicator1_out_port0>;
> +		in-ports {
> +			port {
> +				etb1_in_port: endpoint@0 {
> +					remote-endpoint = <&replicator1_out_port0>;
> +				};
>  			};
>  		};
>  	};
> @@ -305,10 +307,11 @@
>  
>  		clocks = <&clk_375m>;
>  		clock-names = "apb_pclk";
> -		port {
> -			etb2_in_port: endpoint@0 {
> -				slave-mode;
> -				remote-endpoint = <&replicator2_out_port0>;
> +		in-ports {
> +			port {
> +				etb2_in_port: endpoint@0 {
> +					remote-endpoint = <&replicator2_out_port0>;
> +				};
>  			};
>  		};
>  	};
> @@ -319,10 +322,11 @@
>  
>  		clocks = <&clk_375m>;
>  		clock-names = "apb_pclk";
> -		port {
> -			etb3_in_port: endpoint@0 {
> -				slave-mode;
> -				remote-endpoint = <&replicator3_out_port0>;
> +		in-ports {
> +			port {
> +				etb3_in_port: endpoint@0 {
> +					remote-endpoint = <&replicator3_out_port0>;
> +				};
>  			};
>  		};
>  	};
> @@ -333,10 +337,11 @@
>  
>  		clocks = <&clk_375m>;
>  		clock-names = "apb_pclk";
> -		port {
> -			tpiu_in_port: endpoint@0 {
> -				slave-mode;
> -				remote-endpoint = <&funnel4_out_port0>;
> +		in-ports {
> +			port {
> +				tpiu_in_port: endpoint@0 {
> +					remote-endpoint = <&funnel4_out_port0>;
> +				};
>  			};
>  		};
>  	};
> @@ -347,7 +352,7 @@
>  		 */
>  		compatible = "arm,coresight-replicator";
>  
> -		ports {
> +		out-ports {
>  			#address-cells = <1>;
>  			#size-cells = <0>;
>  
> @@ -365,12 +370,11 @@
>  					remote-endpoint = <&funnel4_in_port0>;
>  				};
>  			};
> +		};
>  
> -			/* replicator input port */
> -			port@2 {
> -				reg = <0>;
> +		in-ports {
> +			port {
>  				replicator0_in_port0: endpoint {
> -					slave-mode;
>  					remote-endpoint = <&funnel0_out_port0>;
>  				};
>  			};
> @@ -383,7 +387,7 @@
>  		 */
>  		compatible = "arm,coresight-replicator";
>  
> -		ports {
> +		out-ports {
>  			#address-cells = <1>;
>  			#size-cells = <0>;
>  
> @@ -401,12 +405,11 @@
>  					remote-endpoint = <&funnel4_in_port1>;
>  				};
>  			};
> +		};
>  
> -			/* replicator input port */
> -			port@2 {
> -				reg = <0>;
> +		in-ports {
> +			port {
>  				replicator1_in_port0: endpoint {
> -					slave-mode;
>  					remote-endpoint = <&funnel1_out_port0>;
>  				};
>  			};
> @@ -419,11 +422,10 @@
>  		 */
>  		compatible = "arm,coresight-replicator";
>  
> -		ports {
> +		out-ports {
>  			#address-cells = <1>;
>  			#size-cells = <0>;
>  
> -			/* replicator output ports */
>  			port@0 {
>  				reg = <0>;
>  				replicator2_out_port0: endpoint {
> @@ -437,12 +439,11 @@
>  					remote-endpoint = <&funnel4_in_port2>;
>  				};
>  			};
> +		};
>  
> -			/* replicator input port */
> -			port@2 {
> -				reg = <0>;
> +		in-ports {
> +			port {
>  				replicator2_in_port0: endpoint {
> -					slave-mode;
>  					remote-endpoint = <&funnel2_out_port0>;
>  				};
>  			};
> @@ -455,11 +456,10 @@
>  		 */
>  		compatible = "arm,coresight-replicator";
>  
> -		ports {
> +		out-ports {
>  			#address-cells = <1>;
>  			#size-cells = <0>;
>  
> -			/* replicator output ports */
>  			port@0 {
>  				reg = <0>;
>  				replicator3_out_port0: endpoint {
> @@ -473,12 +473,11 @@
>  					remote-endpoint = <&funnel4_in_port3>;
>  				};
>  			};
> +		};
>  
> -			/* replicator input port */
> -			port@2 {
> -				reg = <0>;
> +		in-ports {
> +			port {
>  				replicator3_in_port0: endpoint {
> -					slave-mode;
>  					remote-endpoint = <&funnel3_out_port0>;
>  				};
>  			};
> @@ -491,48 +490,43 @@
>  
>  		clocks = <&clk_375m>;
>  		clock-names = "apb_pclk";
> -		ports {
> -			#address-cells = <1>;
> -			#size-cells = <0>;
> -
> -			/* funnel output port */
> -			port@0 {
> -				reg = <0>;
> +		out-ports {
> +			port {
>  				funnel0_out_port0: endpoint {
>  					remote-endpoint =
>  						<&replicator0_in_port0>;
>  				};
>  			};
> +		};
>  
> -			/* funnel input ports */
> -			port@1 {
> +		in-ports {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			port@0 {
>  				reg = <0>;
>  				funnel0_in_port0: endpoint {
> -					slave-mode;
>  					remote-endpoint = <&ptm0_out_port>;
>  				};
>  			};
>  
> -			port@2 {
> +			port@1 {
>  				reg = <1>;
>  				funnel0_in_port1: endpoint {
> -					slave-mode;
>  					remote-endpoint = <&ptm1_out_port>;
>  				};
>  			};
>  
> -			port@3 {
> +			port@2 {
>  				reg = <2>;
>  				funnel0_in_port2: endpoint {
> -					slave-mode;
>  					remote-endpoint = <&ptm2_out_port>;
>  				};
>  			};
>  
> -			port@4 {
> +			port@3 {
>  				reg = <3>;
>  				funnel0_in_port3: endpoint {
> -					slave-mode;
>  					remote-endpoint = <&ptm3_out_port>;
>  				};
>  			};
> @@ -545,48 +539,43 @@
>  
>  		clocks = <&clk_375m>;
>  		clock-names = "apb_pclk";
> -		ports {
> -			#address-cells = <1>;
> -			#size-cells = <0>;
> -
> -			/* funnel output port */
> -			port@0 {
> -				reg = <0>;
> +		out-ports {
> +			port {
>  				funnel1_out_port0: endpoint {
>  					remote-endpoint =
>  						<&replicator1_in_port0>;
>  				};
>  			};
> +		};
>  
> -			/* funnel input ports */
> -			port@1 {
> +		in-ports {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			port@0 {
>  				reg = <0>;
>  				funnel1_in_port0: endpoint {
> -					slave-mode;
>  					remote-endpoint = <&ptm4_out_port>;
>  				};
>  			};
>  
> -			port@2 {
> +			port@1 {
>  				reg = <1>;
>  				funnel1_in_port1: endpoint {
> -					slave-mode;
>  					remote-endpoint = <&ptm5_out_port>;
>  				};
>  			};
>  
> -			port@3 {
> +			port@2 {
>  				reg = <2>;
>  				funnel1_in_port2: endpoint {
> -					slave-mode;
>  					remote-endpoint = <&ptm6_out_port>;
>  				};
>  			};
>  
> -			port@4 {
> +			port@3 {
>  				reg = <3>;
>  				funnel1_in_port3: endpoint {
> -					slave-mode;
>  					remote-endpoint = <&ptm7_out_port>;
>  				};
>  			};
> @@ -599,48 +588,43 @@
>  
>  		clocks = <&clk_375m>;
>  		clock-names = "apb_pclk";
> -		ports {
> -			#address-cells = <1>;
> -			#size-cells = <0>;
> -
> -			/* funnel output port */
> -			port@0 {
> -				reg = <0>;
> +		out-ports {
> +			port {
>  				funnel2_out_port0: endpoint {
>  					remote-endpoint =
>  						<&replicator2_in_port0>;
>  				};
>  			};
> +		};
>  
> -			/* funnel input ports */
> -			port@1 {
> +		in-ports {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			port@0 {
>  				reg = <0>;
>  				funnel2_in_port0: endpoint {
> -					slave-mode;
>  					remote-endpoint = <&ptm8_out_port>;
>  				};
>  			};
>  
> -			port@2 {
> +			port@1 {
>  				reg = <1>;
>  				funnel2_in_port1: endpoint {
> -					slave-mode;
>  					remote-endpoint = <&ptm9_out_port>;
>  				};
>  			};
>  
> -			port@3 {
> +			port@2 {
>  				reg = <2>;
>  				funnel2_in_port2: endpoint {
> -					slave-mode;
>  					remote-endpoint = <&ptm10_out_port>;
>  				};
>  			};
>  
> -			port@4 {
> +			port@3 {
>  				reg = <3>;
>  				funnel2_in_port3: endpoint {
> -					slave-mode;
>  					remote-endpoint = <&ptm11_out_port>;
>  				};
>  			};
> @@ -653,48 +637,43 @@
>  
>  		clocks = <&clk_375m>;
>  		clock-names = "apb_pclk";
> -		ports {
> -			#address-cells = <1>;
> -			#size-cells = <0>;
> -
> -			/* funnel output port */
> -			port@0 {
> -				reg = <0>;
> +		out-ports {
> +			port {
>  				funnel3_out_port0: endpoint {
>  					remote-endpoint =
>  						<&replicator3_in_port0>;
>  				};
>  			};
> +		};
>  
> -			/* funnel input ports */
> -			port@1 {
> +		in-ports {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			port@0 {
>  				reg = <0>;
>  				funnel3_in_port0: endpoint {
> -					slave-mode;
>  					remote-endpoint = <&ptm12_out_port>;
>  				};
>  			};
>  
> -			port@2 {
> +			port@1 {
>  				reg = <1>;
>  				funnel3_in_port1: endpoint {
> -					slave-mode;
>  					remote-endpoint = <&ptm13_out_port>;
>  				};
>  			};
>  
> -			port@3 {
> +			port@2 {
>  				reg = <2>;
>  				funnel3_in_port2: endpoint {
> -					slave-mode;
>  					remote-endpoint = <&ptm14_out_port>;
>  				};
>  			};
>  
> -			port@4 {
> +			port@3 {
>  				reg = <3>;
>  				funnel3_in_port3: endpoint {
> -					slave-mode;
>  					remote-endpoint = <&ptm15_out_port>;
>  				};
>  			};
> @@ -707,50 +686,45 @@
>  
>  		clocks = <&clk_375m>;
>  		clock-names = "apb_pclk";
> -		ports {
> -			#address-cells = <1>;
> -			#size-cells = <0>;
> -
> -			/* funnel output port */
> -			port@0 {
> -				reg = <0>;
> +		out-ports {
> +			port {
>  				funnel4_out_port0: endpoint {
>  					remote-endpoint = <&tpiu_in_port>;
>  				};
>  			};
> +		};
>  
> -			/* funnel input ports */
> -			port@1 {
> +		in-ports {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			port@0 {
>  				reg = <0>;
>  				funnel4_in_port0: endpoint {
> -					slave-mode;
>  					remote-endpoint =
>  						<&replicator0_out_port1>;
>  				};
>  			};
>  
> -			port@2 {
> +			port@1 {
>  				reg = <1>;
>  				funnel4_in_port1: endpoint {
> -					slave-mode;
>  					remote-endpoint =
>  						<&replicator1_out_port1>;
>  				};
>  			};
>  
> -			port@3 {
> +			port@2 {
>  				reg = <2>;
>  				funnel4_in_port2: endpoint {
> -					slave-mode;
>  					remote-endpoint =
>  						<&replicator2_out_port1>;
>  				};
>  			};
>  
> -			port@4 {
> +			port@3 {
>  				reg = <3>;
>  				funnel4_in_port3: endpoint {
> -					slave-mode;
>  					remote-endpoint =
>  						<&replicator3_out_port1>;
>  				};
> @@ -765,9 +739,11 @@
>  		clocks = <&clk_375m>;
>  		clock-names = "apb_pclk";
>  		cpu = <&CPU0>;
> -		port {
> -			ptm0_out_port: endpoint {
> -				remote-endpoint = <&funnel0_in_port0>;
> +		out-ports {
> +			port {
> +				ptm0_out_port: endpoint {
> +					remote-endpoint = <&funnel0_in_port0>;
> +				};
>  			};
>  		};
>  	};
> @@ -779,9 +755,11 @@
>  		clocks = <&clk_375m>;
>  		clock-names = "apb_pclk";
>  		cpu = <&CPU1>;
> -		port {
> -			ptm1_out_port: endpoint {
> -				remote-endpoint = <&funnel0_in_port1>;
> +		out-ports {
> +			port {
> +				ptm1_out_port: endpoint {
> +					remote-endpoint = <&funnel0_in_port1>;
> +				};
>  			};
>  		};
>  	};
> @@ -793,9 +771,11 @@
>  		clocks = <&clk_375m>;
>  		clock-names = "apb_pclk";
>  		cpu = <&CPU2>;
> -		port {
> -			ptm2_out_port: endpoint {
> -				remote-endpoint = <&funnel0_in_port2>;
> +		out-ports {
> +			port {
> +				ptm2_out_port: endpoint {
> +					remote-endpoint = <&funnel0_in_port2>;
> +				};
>  			};
>  		};
>  	};
> @@ -807,9 +787,11 @@
>  		clocks = <&clk_375m>;
>  		clock-names = "apb_pclk";
>  		cpu = <&CPU3>;
> -		port {
> -			ptm3_out_port: endpoint {
> -				remote-endpoint = <&funnel0_in_port3>;
> +		out-ports {
> +			port {
> +				ptm3_out_port: endpoint {
> +					remote-endpoint = <&funnel0_in_port3>;
> +				};
>  			};
>  		};
>  	};
> @@ -821,9 +803,11 @@
>  		clocks = <&clk_375m>;
>  		clock-names = "apb_pclk";
>  		cpu = <&CPU4>;
> -		port {
> -			ptm4_out_port: endpoint {
> -				remote-endpoint = <&funnel1_in_port0>;
> +		out-ports {
> +			port {
> +				ptm4_out_port: endpoint {
> +					remote-endpoint = <&funnel1_in_port0>;
> +				};
>  			};
>  		};
>  	};
> @@ -835,9 +819,11 @@
>  		clocks = <&clk_375m>;
>  		clock-names = "apb_pclk";
>  		cpu = <&CPU5>;
> -		port {
> -			ptm5_out_port: endpoint {
> -				remote-endpoint = <&funnel1_in_port1>;
> +		out-ports {
> +			port {
> +				ptm5_out_port: endpoint {
> +					remote-endpoint = <&funnel1_in_port1>;
> +				};
>  			};
>  		};
>  	};
> @@ -849,9 +835,11 @@
>  		clocks = <&clk_375m>;
>  		clock-names = "apb_pclk";
>  		cpu = <&CPU6>;
> -		port {
> -			ptm6_out_port: endpoint {
> -				remote-endpoint = <&funnel1_in_port2>;
> +		out-ports {
> +			port {
> +				ptm6_out_port: endpoint {
> +					remote-endpoint = <&funnel1_in_port2>;
> +				};
>  			};
>  		};
>  	};
> @@ -863,9 +851,11 @@
>  		clocks = <&clk_375m>;
>  		clock-names = "apb_pclk";
>  		cpu = <&CPU7>;
> -		port {
> -			ptm7_out_port: endpoint {
> -				remote-endpoint = <&funnel1_in_port3>;
> +		out-ports {
> +			port {
> +				ptm7_out_port: endpoint {
> +					remote-endpoint = <&funnel1_in_port3>;
> +				};
>  			};
>  		};
>  	};
> @@ -877,9 +867,11 @@
>  		clocks = <&clk_375m>;
>  		clock-names = "apb_pclk";
>  		cpu = <&CPU8>;
> -		port {
> -			ptm8_out_port: endpoint {
> -				remote-endpoint = <&funnel2_in_port0>;
> +		out-ports {
> +			port {
> +				ptm8_out_port: endpoint {
> +					remote-endpoint = <&funnel2_in_port0>;
> +				};
>  			};
>  		};
>  	};
> @@ -890,9 +882,11 @@
>  		clocks = <&clk_375m>;
>  		clock-names = "apb_pclk";
>  		cpu = <&CPU9>;
> -		port {
> -			ptm9_out_port: endpoint {
> -				remote-endpoint = <&funnel2_in_port1>;
> +		out-ports {
> +			port {
> +				ptm9_out_port: endpoint {
> +					remote-endpoint = <&funnel2_in_port1>;
> +				};
>  			};
>  		};
>  	};
> @@ -904,9 +898,11 @@
>  		clocks = <&clk_375m>;
>  		clock-names = "apb_pclk";
>  		cpu = <&CPU10>;
> -		port {
> -			ptm10_out_port: endpoint {
> -				remote-endpoint = <&funnel2_in_port2>;
> +		out-ports {
> +			port {
> +				ptm10_out_port: endpoint {
> +					remote-endpoint = <&funnel2_in_port2>;
> +				};
>  			};
>  		};
>  	};
> @@ -918,9 +914,11 @@
>  		clocks = <&clk_375m>;
>  		clock-names = "apb_pclk";
>  		cpu = <&CPU11>;
> -		port {
> -			ptm11_out_port: endpoint {
> -				remote-endpoint = <&funnel2_in_port3>;
> +		out-ports {
> +			port {
> +				ptm11_out_port: endpoint {
> +					remote-endpoint = <&funnel2_in_port3>;
> +				};
>  			};
>  		};
>  	};
> @@ -932,9 +930,11 @@
>  		clocks = <&clk_375m>;
>  		clock-names = "apb_pclk";
>  		cpu = <&CPU12>;
> -		port {
> -			ptm12_out_port: endpoint {
> -				remote-endpoint = <&funnel3_in_port0>;
> +		out-ports {
> +			port {
> +				ptm12_out_port: endpoint {
> +					remote-endpoint = <&funnel3_in_port0>;
> +				};
>  			};
>  		};
>  	};
> @@ -946,9 +946,11 @@
>  		clocks = <&clk_375m>;
>  		clock-names = "apb_pclk";
>  		cpu = <&CPU13>;
> -		port {
> -			ptm13_out_port: endpoint {
> -				remote-endpoint = <&funnel3_in_port1>;
> +		out-ports {
> +			port {
> +				ptm13_out_port: endpoint {
> +					remote-endpoint = <&funnel3_in_port1>;
> +				};
>  			};
>  		};
>  	};
> @@ -960,9 +962,11 @@
>  		clocks = <&clk_375m>;
>  		clock-names = "apb_pclk";
>  		cpu = <&CPU14>;
> -		port {
> -			ptm14_out_port: endpoint {
> -				remote-endpoint = <&funnel3_in_port2>;
> +		out-ports {
> +			port {
> +				ptm14_out_port: endpoint {
> +					remote-endpoint = <&funnel3_in_port2>;
> +				};
>  			};
>  		};
>  	};
> @@ -974,9 +978,11 @@
>  		clocks = <&clk_375m>;
>  		clock-names = "apb_pclk";
>  		cpu = <&CPU15>;
> -		port {
> -			ptm15_out_port: endpoint {
> -				remote-endpoint = <&funnel3_in_port3>;
> +		out-ports {
> +			port {
> +				ptm15_out_port: endpoint {
> +					remote-endpoint = <&funnel3_in_port3>;
> +				};
>  			};
>  		};
>  	};
>
Shawn Guo Sept. 26, 2018, 2:24 a.m. UTC | #9
On Wed, Sep 12, 2018 at 02:53:48PM +0100, Suzuki K Poulose wrote:
> Switch to the updated coresight bindings.
> 
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> Cc: Fabio Estevam <fabio.estevam@nxp.com>
> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>

Applied, thanks.
Rob Herring (Arm) Sept. 26, 2018, 8:30 p.m. UTC | #10
On Wed, 12 Sep 2018 14:53:42 +0100, Suzuki K Poulose wrote:
> TPIU component has an input port. The example uses out-ports
> which is wrong. Let us fix it.
> 
> Reported-by: Leo Yan <leo.yan@linaro.org>
> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
> ---
>  Documentation/devicetree/bindings/arm/coresight.txt | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 

Reviewed-by: Rob Herring <robh@kernel.org>
Suzuki K Poulose Sept. 27, 2018, 8:18 a.m. UTC | #11
Hi Andy

On 09/12/2018 02:53 PM, Suzuki K Poulose wrote:
> Switch to updated coresight bindings for hw ports
> 
> Cc: Andy Gross <andy.gross@linaro.org>
> Cc: David Brown <david.brown@linaro.org>
> Cc: Ivan T. Ivanov <ivan.ivanov@linaro.org>
> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
> ---
> Changes since v1:
>   - Fixed TPIU port direction
>   - Use better subject tag for the patch
> ---


Please could you pull this and the patch for ARM (Patch 9/11)  ?

Suzuki



>   arch/arm64/boot/dts/qcom/msm8916.dtsi | 95 ++++++++++++++-------------
>   1 file changed, 51 insertions(+), 44 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi
> index 7b32b8990d62..fe375a9c218e 100644
> --- a/arch/arm64/boot/dts/qcom/msm8916.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi
> @@ -1099,10 +1099,11 @@
>   			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
>   			clock-names = "apb_pclk", "atclk";
>   
> -			port {
> -				tpiu_in: endpoint {
> -					slave-mode;
> -					remote-endpoint = <&replicator_out1>;
> +			in-ports {
> +				port {
> +					tpiu_in: endpoint {
> +						remote-endpoint = <&replicator_out1>;
> +					};
>   				};
>   			};
>   		};
> @@ -1114,7 +1115,7 @@
>   			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
>   			clock-names = "apb_pclk", "atclk";
>   
> -			ports {
> +			in-ports {
>   				#address-cells = <1>;
>   				#size-cells = <0>;
>   
> @@ -1132,12 +1133,13 @@
>   				port@4 {
>   					reg = <4>;
>   					funnel0_in4: endpoint {
> -						slave-mode;
>   						remote-endpoint = <&funnel1_out>;
>   					};
>   				};
> -				port@8 {
> -					reg = <0>;
> +			};
> +
> +			out-ports {
> +				port {
>   					funnel0_out: endpoint {
>   						remote-endpoint = <&etf_in>;
>   					};
> @@ -1152,7 +1154,7 @@
>   			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
>   			clock-names = "apb_pclk", "atclk";
>   
> -			ports {
> +			out-ports {
>   				#address-cells = <1>;
>   				#size-cells = <0>;
>   
> @@ -1168,10 +1170,11 @@
>   						remote-endpoint = <&tpiu_in>;
>   					};
>   				};
> -				port@2 {
> -					reg = <0>;
> +			};
> +
> +			in-ports {
> +				port {
>   					replicator_in: endpoint {
> -						slave-mode;
>   						remote-endpoint = <&etf_out>;
>   					};
>   				};
> @@ -1185,19 +1188,16 @@
>   			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
>   			clock-names = "apb_pclk", "atclk";
>   
> -			ports {
> -				#address-cells = <1>;
> -				#size-cells = <0>;
> -
> -				port@0 {
> -					reg = <0>;
> +			in-ports {
> +				port {
>   					etf_in: endpoint {
> -						slave-mode;
>   						remote-endpoint = <&funnel0_out>;
>   					};
>   				};
> -				port@1 {
> -					reg = <0>;
> +			};
> +
> +			out-ports {
> +				port {
>   					etf_out: endpoint {
>   						remote-endpoint = <&replicator_in>;
>   					};
> @@ -1212,10 +1212,11 @@
>   			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
>   			clock-names = "apb_pclk", "atclk";
>   
> -			port {
> -				etr_in: endpoint {
> -					slave-mode;
> -					remote-endpoint = <&replicator_out0>;
> +			in-ports {
> +				port {
> +					etr_in: endpoint {
> +						remote-endpoint = <&replicator_out0>;
> +					};
>   				};
>   			};
>   		};
> @@ -1227,40 +1228,38 @@
>   			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
>   			clock-names = "apb_pclk", "atclk";
>   
> -			ports {
> +			in-ports {
>   				#address-cells = <1>;
>   				#size-cells = <0>;
>   
>   				port@0 {
>   					reg = <0>;
>   					funnel1_in0: endpoint {
> -						slave-mode;
>   						remote-endpoint = <&etm0_out>;
>   					};
>   				};
>   				port@1 {
>   					reg = <1>;
>   					funnel1_in1: endpoint {
> -						slave-mode;
>   						remote-endpoint = <&etm1_out>;
>   					};
>   				};
>   				port@2 {
>   					reg = <2>;
>   					funnel1_in2: endpoint {
> -						slave-mode;
>   						remote-endpoint = <&etm2_out>;
>   					};
>   				};
>   				port@3 {
>   					reg = <3>;
>   					funnel1_in3: endpoint {
> -						slave-mode;
>   						remote-endpoint = <&etm3_out>;
>   					};
>   				};
> -				port@4 {
> -					reg = <0>;
> +			};
> +
> +			out-ports {
> +				port {
>   					funnel1_out: endpoint {
>   						remote-endpoint = <&funnel0_in4>;
>   					};
> @@ -1309,9 +1308,11 @@
>   
>   			cpu = <&CPU0>;
>   
> -			port {
> -				etm0_out: endpoint {
> -				remote-endpoint = <&funnel1_in0>;
> +			out-ports {
> +				port {
> +					etm0_out: endpoint {
> +						remote-endpoint = <&funnel1_in0>;
> +					};
>   				};
>   			};
>   		};
> @@ -1325,9 +1326,11 @@
>   
>   			cpu = <&CPU1>;
>   
> -			port {
> -				etm1_out: endpoint {
> -					remote-endpoint = <&funnel1_in1>;
> +			out-ports {
> +				port {
> +					etm1_out: endpoint {
> +						remote-endpoint = <&funnel1_in1>;
> +					};
>   				};
>   			};
>   		};
> @@ -1341,9 +1344,11 @@
>   
>   			cpu = <&CPU2>;
>   
> -			port {
> -				etm2_out: endpoint {
> -					remote-endpoint = <&funnel1_in2>;
> +			out-ports {
> +				port {
> +					etm2_out: endpoint {
> +						remote-endpoint = <&funnel1_in2>;
> +					};
>   				};
>   			};
>   		};
> @@ -1357,9 +1362,11 @@
>   
>   			cpu = <&CPU3>;
>   
> -			port {
> -				etm3_out: endpoint {
> -					remote-endpoint = <&funnel1_in3>;
> +			out-ports {
> +				port {
> +					etm3_out: endpoint {
> +						remote-endpoint = <&funnel1_in3>;
> +					};
>   				};
>   			};
>   		};
>
Suzuki K Poulose Sept. 27, 2018, 8:51 a.m. UTC | #12
+To: Chunyan Zhang

Chunyan Zhang,

On 09/12/2018 02:53 PM, Suzuki K Poulose wrote:
> Switch to the new coresight bindings for hw ports
> 

How can we push this patch ? Do you generally send the spreadtrum
specific changes to ARM soc folks ? Or would you like me to post
this directly to ARM soc folks ?

Suzuki

> Cc: orsonzhai@gmail.com
> Cc: zhang.lyra@gmail.com
> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
> ---
>   arch/arm64/boot/dts/sprd/sc9836.dtsi |  82 +++++-----
>   arch/arm64/boot/dts/sprd/sc9860.dtsi | 215 ++++++++++++++-------------
>   2 files changed, 153 insertions(+), 144 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/sprd/sc9836.dtsi b/arch/arm64/boot/dts/sprd/sc9836.dtsi
> index 63894c456969..4bcdbb709c01 100644
> --- a/arch/arm64/boot/dts/sprd/sc9836.dtsi
> +++ b/arch/arm64/boot/dts/sprd/sc9836.dtsi
> @@ -50,10 +50,11 @@
>   		reg = <0 0x10003000 0 0x1000>;
>   		clocks = <&clk26mhz>;
>   		clock-names = "apb_pclk";
> -		port {
> -			etf_in: endpoint {
> -				slave-mode;
> -				remote-endpoint = <&funnel_out_port0>;
> +		in-ports {
> +			port {
> +				etf_in: endpoint {
> +					remote-endpoint = <&funnel_out_port0>;
> +				};
>   			};
>   		};
>   	};
> @@ -63,55 +64,50 @@
>   		reg = <0 0x10001000 0 0x1000>;
>   		clocks = <&clk26mhz>;
>   		clock-names = "apb_pclk";
> -		ports {
> +
> +		out-ports {
> +			port {
> +				funnel_out_port0: endpoint {
> +					remote-endpoint = <&etf_in>;
> +				};
> +			};
> +		};
> +
> +		in-ports {
>   			#address-cells = <1>;
>   			#size-cells = <0>;
>   
> -			/* funnel output port */
>   			port@0 {
> -				reg = <0>;
> -				funnel_out_port0: endpoint {
> -					remote-endpoint = <&etf_in>;
> -				};
> -			};
> -
> -			/* funnel input port 0-4 */
> -			port@1 {
>   				reg = <0>;
>   				funnel_in_port0: endpoint {
> -					slave-mode;
>   					remote-endpoint = <&etm0_out>;
>   				};
>   			};
>   
> -			port@2 {
> +			port@1 {
>   				reg = <1>;
>   				funnel_in_port1: endpoint {
> -					slave-mode;
>   					remote-endpoint = <&etm1_out>;
>   				};
>   			};
>   
> -			port@3 {
> +			port@2 {
>   				reg = <2>;
>   				funnel_in_port2: endpoint {
> -					slave-mode;
>   					remote-endpoint = <&etm2_out>;
>   				};
>   			};
>   
> -			port@4 {
> +			port@3 {
>   				reg = <3>;
>   				funnel_in_port3: endpoint {
> -					slave-mode;
>   					remote-endpoint = <&etm3_out>;
>   				};
>   			};
>   
> -			port@5 {
> +			port@4 {
>   				reg = <4>;
>   				funnel_in_port4: endpoint {
> -					slave-mode;
>   					remote-endpoint = <&stm_out>;
>   				};
>   			};
> @@ -126,9 +122,11 @@
>   		cpu = <&cpu0>;
>   		clocks = <&clk26mhz>;
>   		clock-names = "apb_pclk";
> -		port {
> -			etm0_out: endpoint {
> -				remote-endpoint = <&funnel_in_port0>;
> +		out-ports {
> +			port {
> +				etm0_out: endpoint {
> +					remote-endpoint = <&funnel_in_port0>;
> +				};
>   			};
>   		};
>   	};
> @@ -140,9 +138,11 @@
>   		cpu = <&cpu1>;
>   		clocks = <&clk26mhz>;
>   		clock-names = "apb_pclk";
> -		port {
> -			etm1_out: endpoint {
> -				remote-endpoint = <&funnel_in_port1>;
> +		out-ports {
> +			port {
> +				etm1_out: endpoint {
> +					remote-endpoint = <&funnel_in_port1>;
> +				};
>   			};
>   		};
>   	};
> @@ -154,9 +154,11 @@
>   		cpu = <&cpu2>;
>   		clocks = <&clk26mhz>;
>   		clock-names = "apb_pclk";
> -		port {
> -			etm2_out: endpoint {
> -				remote-endpoint = <&funnel_in_port2>;
> +		out-ports {
> +			port {
> +				etm2_out: endpoint {
> +					remote-endpoint = <&funnel_in_port2>;
> +				};
>   			};
>   		};
>   	};
> @@ -168,9 +170,11 @@
>   		cpu = <&cpu3>;
>   		clocks = <&clk26mhz>;
>   		clock-names = "apb_pclk";
> -		port {
> -			etm3_out: endpoint {
> -				remote-endpoint = <&funnel_in_port3>;
> +		out-ports {
> +			port {
> +				etm3_out: endpoint {
> +					remote-endpoint = <&funnel_in_port3>;
> +				};
>   			};
>   		};
>   	};
> @@ -182,9 +186,11 @@
>   		reg-names = "stm-base", "stm-stimulus-base";
>   		clocks = <&clk26mhz>;
>   		clock-names = "apb_pclk";
> -		port {
> -			stm_out: endpoint {
> -				remote-endpoint = <&funnel_in_port4>;
> +		out-ports {
> +			port {
> +				stm_out: endpoint {
> +					remote-endpoint = <&funnel_in_port4>;
> +				};
>   			};
>   		};
>   	};
> diff --git a/arch/arm64/boot/dts/sprd/sc9860.dtsi b/arch/arm64/boot/dts/sprd/sc9860.dtsi
> index 48f5928ed45c..5f57bf055cde 100644
> --- a/arch/arm64/boot/dts/sprd/sc9860.dtsi
> +++ b/arch/arm64/boot/dts/sprd/sc9860.dtsi
> @@ -304,30 +304,29 @@
>   			reg = <0 0x10001000 0 0x1000>;
>   			clocks = <&ext_26m>;
>   			clock-names = "apb_pclk";
> -			ports {
> -				#address-cells = <1>;
> -				#size-cells = <0>;
> -
> -				port@0 {
> -					reg = <0>;
> +			out-ports {
> +				port {
>   					soc_funnel_out_port: endpoint {
>   						remote-endpoint = <&etb_in>;
>   					};
>   				};
> +			};
>   
> -				port@1 {
> +			in-ports {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +
> +				port@0 {
>   					reg = <0>;
>   					soc_funnel_in_port0: endpoint {
> -						slave-mode;
>   						remote-endpoint =
>   						<&main_funnel_out_port>;
>   					};
>   				};
>   
> -				port@2 {
> +				port@4 {
>   					reg = <4>;
>   					soc_funnel_in_port1: endpoint {
> -						slave-mode;
>   						remote-endpoint =
>   							<&stm_out_port>;
>   					};
> @@ -340,11 +339,12 @@
>   			reg = <0 0x10003000 0 0x1000>;
>   			clocks = <&ext_26m>;
>   			clock-names = "apb_pclk";
> -			port {
> -				etb_in: endpoint {
> -					slave-mode;
> -					remote-endpoint =
> -						<&soc_funnel_out_port>;
> +			out-ports {
> +				port {
> +					etb_in: endpoint {
> +						remote-endpoint =
> +							<&soc_funnel_out_port>;
> +					};
>   				};
>   			};
>   		};
> @@ -356,10 +356,12 @@
>   			reg-names = "stm-base", "stm-stimulus-base";
>   			clocks = <&ext_26m>;
>   			clock-names = "apb_pclk";
> -			port {
> -				stm_out_port: endpoint {
> -					remote-endpoint =
> -						<&soc_funnel_in_port1>;
> +			out-ports {
> +				port {
> +					stm_out_port: endpoint {
> +						remote-endpoint =
> +							<&soc_funnel_in_port1>;
> +					};
>   				};
>   			};
>   		};
> @@ -369,38 +371,36 @@
>   			reg = <0 0x11001000 0 0x1000>;
>   			clocks = <&ext_26m>;
>   			clock-names = "apb_pclk";
> -			ports {
> -				#address-cells = <1>;
> -				#size-cells = <0>;
> -
> -				port@0 {
> -					reg = <0>;
> +			out-ports {
> +				port {
>   					cluster0_funnel_out_port: endpoint {
>   						remote-endpoint =
>   							<&cluster0_etf_in>;
>   					};
>   				};
> +			};
>   
> -				port@1 {
> +			in-ports {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +
> +				port@0 {
>   					reg = <0>;
>   					cluster0_funnel_in_port0: endpoint {
> -						slave-mode;
>   						remote-endpoint = <&etm0_out>;
>   					};
>   				};
>   
> -				port@2 {
> +				port@1 {
>   					reg = <1>;
>   					cluster0_funnel_in_port1: endpoint {
> -						slave-mode;
>   						remote-endpoint = <&etm1_out>;
>   					};
>   				};
>   
> -				port@3 {
> +				port@2 {
>   					reg = <2>;
>   					cluster0_funnel_in_port2: endpoint {
> -						slave-mode;
>   						remote-endpoint = <&etm2_out>;
>   					};
>   				};
> @@ -408,7 +408,6 @@
>   				port@4 {
>   					reg = <4>;
>   					cluster0_funnel_in_port3: endpoint {
> -						slave-mode;
>   						remote-endpoint = <&etm3_out>;
>   					};
>   				};
> @@ -420,46 +419,43 @@
>   			reg = <0 0x11002000 0 0x1000>;
>   			clocks = <&ext_26m>;
>   			clock-names = "apb_pclk";
> -			ports {
> -				#address-cells = <1>;
> -				#size-cells = <0>;
> -
> -				port@0 {
> -					reg = <0>;
> +			out-ports {
> +				port {
>   					cluster1_funnel_out_port: endpoint {
>   						remote-endpoint =
>   							<&cluster1_etf_in>;
>   					};
>   				};
> +			};
>   
> -				port@1 {
> +			in-ports {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +
> +				port@0 {
>   					reg = <0>;
>   					cluster1_funnel_in_port0: endpoint {
> -						slave-mode;
>   						remote-endpoint = <&etm4_out>;
>   					};
>   				};
>   
> -				port@2 {
> +				port@1 {
>   					reg = <1>;
>   					cluster1_funnel_in_port1: endpoint {
> -						slave-mode;
>   						remote-endpoint = <&etm5_out>;
>   					};
>   				};
>   
> -				port@3 {
> +				port@2 {
>   					reg = <2>;
>   					cluster1_funnel_in_port2: endpoint {
> -						slave-mode;
>   						remote-endpoint = <&etm6_out>;
>   					};
>   				};
>   
> -				port@4 {
> +				port@3 {
>   					reg = <3>;
>   					cluster1_funnel_in_port3: endpoint {
> -						slave-mode;
>   						remote-endpoint = <&etm7_out>;
>   					};
>   				};
> @@ -472,22 +468,18 @@
>   			clocks = <&ext_26m>;
>   			clock-names = "apb_pclk";
>   
> -			ports {
> -				#address-cells = <1>;
> -				#size-cells = <0>;
> -
> -				port@0 {
> -					reg = <0>;
> +			out-ports {
> +				port {
>   					cluster0_etf_out: endpoint {
>   						remote-endpoint =
>   						<&main_funnel_in_port0>;
>   					};
>   				};
> +			};
>   
> -				port@1 {
> -					reg = <0>;
> +			in-ports {
> +				port {
>   					cluster0_etf_in: endpoint {
> -						slave-mode;
>   						remote-endpoint =
>   						<&cluster0_funnel_out_port>;
>   					};
> @@ -501,22 +493,18 @@
>   			clocks = <&ext_26m>;
>   			clock-names = "apb_pclk";
>   
> -			ports {
> -				#address-cells = <1>;
> -				#size-cells = <0>;
> -
> -				port@0 {
> -					reg = <0>;
> +			out-ports {
> +				port {
>   					cluster1_etf_out: endpoint {
>   						remote-endpoint =
>   						<&main_funnel_in_port1>;
>   					};
>   				};
> +			};
>   
> -				port@1 {
> -					reg = <0>;
> +			in-ports {
> +				port {
>   					cluster1_etf_in: endpoint {
> -						slave-mode;
>   						remote-endpoint =
>   						<&cluster1_funnel_out_port>;
>   					};
> @@ -530,31 +518,30 @@
>   			clocks = <&ext_26m>;
>   			clock-names = "apb_pclk";
>   
> -			ports {
> -				#address-cells = <1>;
> -				#size-cells = <0>;
> -
> -				port@0 {
> -					reg = <0>;
> +			out-ports {
> +				port {
>   					main_funnel_out_port: endpoint {
>   						remote-endpoint =
>   							<&soc_funnel_in_port0>;
>   					};
>   				};
> +			};
>   
> -				port@1 {
> +			in-ports {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +
> +				port@0 {
>   					reg = <0>;
>   					main_funnel_in_port0: endpoint {
> -						slave-mode;
>   						remote-endpoint =
>   							<&cluster0_etf_out>;
>   					};
>   				};
>   
> -				port@2 {
> +				port@1 {
>   					reg = <1>;
>   					main_funnel_in_port1: endpoint {
> -						slave-mode;
>   						remote-endpoint =
>   							<&cluster1_etf_out>;
>   					};
> @@ -569,10 +556,12 @@
>   			clocks = <&ext_26m>;
>   			clock-names = "apb_pclk";
>   
> -			port {
> -				etm0_out: endpoint {
> -					remote-endpoint =
> -						<&cluster0_funnel_in_port0>;
> +			out-ports {
> +				port {
> +					etm0_out: endpoint {
> +						remote-endpoint =
> +							<&cluster0_funnel_in_port0>;
> +					};
>   				};
>   			};
>   		};
> @@ -584,10 +573,12 @@
>   			clocks = <&ext_26m>;
>   			clock-names = "apb_pclk";
>   
> -			port {
> -				etm1_out: endpoint {
> -					remote-endpoint =
> -						<&cluster0_funnel_in_port1>;
> +			out-ports {
> +				port {
> +					etm1_out: endpoint {
> +						remote-endpoint =
> +							<&cluster0_funnel_in_port1>;
> +					};
>   				};
>   			};
>   		};
> @@ -599,10 +590,12 @@
>   			clocks = <&ext_26m>;
>   			clock-names = "apb_pclk";
>   
> -			port {
> -				etm2_out: endpoint {
> -					remote-endpoint =
> -						<&cluster0_funnel_in_port2>;
> +			out-ports {
> +				port {
> +					etm2_out: endpoint {
> +						remote-endpoint =
> +							<&cluster0_funnel_in_port2>;
> +					};
>   				};
>   			};
>   		};
> @@ -614,10 +607,12 @@
>   			clocks = <&ext_26m>;
>   			clock-names = "apb_pclk";
>   
> -			port {
> -				etm3_out: endpoint {
> -					remote-endpoint =
> -						<&cluster0_funnel_in_port3>;
> +			out-ports {
> +				port {
> +					etm3_out: endpoint {
> +						remote-endpoint =
> +							<&cluster0_funnel_in_port3>;
> +					};
>   				};
>   			};
>   		};
> @@ -629,10 +624,12 @@
>   			clocks = <&ext_26m>;
>   			clock-names = "apb_pclk";
>   
> -			port {
> -				etm4_out: endpoint {
> -					remote-endpoint =
> -						<&cluster1_funnel_in_port0>;
> +			out-ports {
> +				port {
> +					etm4_out: endpoint {
> +						remote-endpoint =
> +							<&cluster1_funnel_in_port0>;
> +					};
>   				};
>   			};
>   		};
> @@ -644,10 +641,12 @@
>   			clocks = <&ext_26m>;
>   			clock-names = "apb_pclk";
>   
> -			port {
> -				etm5_out: endpoint {
> -					remote-endpoint =
> -						<&cluster1_funnel_in_port1>;
> +			out-ports {
> +				port {
> +					etm5_out: endpoint {
> +						remote-endpoint =
> +							<&cluster1_funnel_in_port1>;
> +					};
>   				};
>   			};
>   		};
> @@ -659,10 +658,12 @@
>   			clocks = <&ext_26m>;
>   			clock-names = "apb_pclk";
>   
> -			port {
> -				etm6_out: endpoint {
> -					remote-endpoint =
> -						<&cluster1_funnel_in_port2>;
> +			out-ports {
> +				port {
> +					etm6_out: endpoint {
> +						remote-endpoint =
> +							<&cluster1_funnel_in_port2>;
> +					};
>   				};
>   			};
>   		};
> @@ -674,10 +675,12 @@
>   			clocks = <&ext_26m>;
>   			clock-names = "apb_pclk";
>   
> -			port {
> -				etm7_out: endpoint {
> -					remote-endpoint =
> -						<&cluster1_funnel_in_port3>;
> +			out-ports {
> +				port {
> +					etm7_out: endpoint {
> +						remote-endpoint =
> +							<&cluster1_funnel_in_port3>;
> +					};
>   				};
>   			};
>   		};
>
Chunyan Zhang Sept. 27, 2018, 9:18 a.m. UTC | #13
Hi Suzuki,

On 27 September 2018 at 16:51, Suzuki K Poulose <suzuki.poulose@arm.com> wrote:
> +To: Chunyan Zhang
>
> Chunyan Zhang,
>
> On 09/12/2018 02:53 PM, Suzuki K Poulose wrote:
>>
>> Switch to the new coresight bindings for hw ports
>>
>
> How can we push this patch ? Do you generally send the spreadtrum
> specific changes to ARM soc folks ? Or would you like me to post
> this directly to ARM soc folks ?

Yeah, at present sprd dts files generally got merged through arm-soc
(I've added arm@kernel.org).

Thanks,
Chunyan

>
> Suzuki
>
>
>> Cc: orsonzhai@gmail.com
>> Cc: zhang.lyra@gmail.com
>> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
>> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
>> ---
>>   arch/arm64/boot/dts/sprd/sc9836.dtsi |  82 +++++-----
>>   arch/arm64/boot/dts/sprd/sc9860.dtsi | 215 ++++++++++++++-------------
>>   2 files changed, 153 insertions(+), 144 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/sprd/sc9836.dtsi
>> b/arch/arm64/boot/dts/sprd/sc9836.dtsi
>> index 63894c456969..4bcdbb709c01 100644
>> --- a/arch/arm64/boot/dts/sprd/sc9836.dtsi
>> +++ b/arch/arm64/boot/dts/sprd/sc9836.dtsi
>> @@ -50,10 +50,11 @@
>>                 reg = <0 0x10003000 0 0x1000>;
>>                 clocks = <&clk26mhz>;
>>                 clock-names = "apb_pclk";
>> -               port {
>> -                       etf_in: endpoint {
>> -                               slave-mode;
>> -                               remote-endpoint = <&funnel_out_port0>;
>> +               in-ports {
>> +                       port {
>> +                               etf_in: endpoint {
>> +                                       remote-endpoint =
>> <&funnel_out_port0>;
>> +                               };
>>                         };
>>                 };
>>         };
>> @@ -63,55 +64,50 @@
>>                 reg = <0 0x10001000 0 0x1000>;
>>                 clocks = <&clk26mhz>;
>>                 clock-names = "apb_pclk";
>> -               ports {
>> +
>> +               out-ports {
>> +                       port {
>> +                               funnel_out_port0: endpoint {
>> +                                       remote-endpoint = <&etf_in>;
>> +                               };
>> +                       };
>> +               };
>> +
>> +               in-ports {
>>                         #address-cells = <1>;
>>                         #size-cells = <0>;
>>   -                     /* funnel output port */
>>                         port@0 {
>> -                               reg = <0>;
>> -                               funnel_out_port0: endpoint {
>> -                                       remote-endpoint = <&etf_in>;
>> -                               };
>> -                       };
>> -
>> -                       /* funnel input port 0-4 */
>> -                       port@1 {
>>                                 reg = <0>;
>>                                 funnel_in_port0: endpoint {
>> -                                       slave-mode;
>>                                         remote-endpoint = <&etm0_out>;
>>                                 };
>>                         };
>>   -                     port@2 {
>> +                       port@1 {
>>                                 reg = <1>;
>>                                 funnel_in_port1: endpoint {
>> -                                       slave-mode;
>>                                         remote-endpoint = <&etm1_out>;
>>                                 };
>>                         };
>>   -                     port@3 {
>> +                       port@2 {
>>                                 reg = <2>;
>>                                 funnel_in_port2: endpoint {
>> -                                       slave-mode;
>>                                         remote-endpoint = <&etm2_out>;
>>                                 };
>>                         };
>>   -                     port@4 {
>> +                       port@3 {
>>                                 reg = <3>;
>>                                 funnel_in_port3: endpoint {
>> -                                       slave-mode;
>>                                         remote-endpoint = <&etm3_out>;
>>                                 };
>>                         };
>>   -                     port@5 {
>> +                       port@4 {
>>                                 reg = <4>;
>>                                 funnel_in_port4: endpoint {
>> -                                       slave-mode;
>>                                         remote-endpoint = <&stm_out>;
>>                                 };
>>                         };
>> @@ -126,9 +122,11 @@
>>                 cpu = <&cpu0>;
>>                 clocks = <&clk26mhz>;
>>                 clock-names = "apb_pclk";
>> -               port {
>> -                       etm0_out: endpoint {
>> -                               remote-endpoint = <&funnel_in_port0>;
>> +               out-ports {
>> +                       port {
>> +                               etm0_out: endpoint {
>> +                                       remote-endpoint =
>> <&funnel_in_port0>;
>> +                               };
>>                         };
>>                 };
>>         };
>> @@ -140,9 +138,11 @@
>>                 cpu = <&cpu1>;
>>                 clocks = <&clk26mhz>;
>>                 clock-names = "apb_pclk";
>> -               port {
>> -                       etm1_out: endpoint {
>> -                               remote-endpoint = <&funnel_in_port1>;
>> +               out-ports {
>> +                       port {
>> +                               etm1_out: endpoint {
>> +                                       remote-endpoint =
>> <&funnel_in_port1>;
>> +                               };
>>                         };
>>                 };
>>         };
>> @@ -154,9 +154,11 @@
>>                 cpu = <&cpu2>;
>>                 clocks = <&clk26mhz>;
>>                 clock-names = "apb_pclk";
>> -               port {
>> -                       etm2_out: endpoint {
>> -                               remote-endpoint = <&funnel_in_port2>;
>> +               out-ports {
>> +                       port {
>> +                               etm2_out: endpoint {
>> +                                       remote-endpoint =
>> <&funnel_in_port2>;
>> +                               };
>>                         };
>>                 };
>>         };
>> @@ -168,9 +170,11 @@
>>                 cpu = <&cpu3>;
>>                 clocks = <&clk26mhz>;
>>                 clock-names = "apb_pclk";
>> -               port {
>> -                       etm3_out: endpoint {
>> -                               remote-endpoint = <&funnel_in_port3>;
>> +               out-ports {
>> +                       port {
>> +                               etm3_out: endpoint {
>> +                                       remote-endpoint =
>> <&funnel_in_port3>;
>> +                               };
>>                         };
>>                 };
>>         };
>> @@ -182,9 +186,11 @@
>>                 reg-names = "stm-base", "stm-stimulus-base";
>>                 clocks = <&clk26mhz>;
>>                 clock-names = "apb_pclk";
>> -               port {
>> -                       stm_out: endpoint {
>> -                               remote-endpoint = <&funnel_in_port4>;
>> +               out-ports {
>> +                       port {
>> +                               stm_out: endpoint {
>> +                                       remote-endpoint =
>> <&funnel_in_port4>;
>> +                               };
>>                         };
>>                 };
>>         };
>> diff --git a/arch/arm64/boot/dts/sprd/sc9860.dtsi
>> b/arch/arm64/boot/dts/sprd/sc9860.dtsi
>> index 48f5928ed45c..5f57bf055cde 100644
>> --- a/arch/arm64/boot/dts/sprd/sc9860.dtsi
>> +++ b/arch/arm64/boot/dts/sprd/sc9860.dtsi
>> @@ -304,30 +304,29 @@
>>                         reg = <0 0x10001000 0 0x1000>;
>>                         clocks = <&ext_26m>;
>>                         clock-names = "apb_pclk";
>> -                       ports {
>> -                               #address-cells = <1>;
>> -                               #size-cells = <0>;
>> -
>> -                               port@0 {
>> -                                       reg = <0>;
>> +                       out-ports {
>> +                               port {
>>                                         soc_funnel_out_port: endpoint {
>>                                                 remote-endpoint =
>> <&etb_in>;
>>                                         };
>>                                 };
>> +                       };
>>   -                             port@1 {
>> +                       in-ports {
>> +                               #address-cells = <1>;
>> +                               #size-cells = <0>;
>> +
>> +                               port@0 {
>>                                         reg = <0>;
>>                                         soc_funnel_in_port0: endpoint {
>> -                                               slave-mode;
>>                                                 remote-endpoint =
>>                                                 <&main_funnel_out_port>;
>>                                         };
>>                                 };
>>   -                             port@2 {
>> +                               port@4 {
>>                                         reg = <4>;
>>                                         soc_funnel_in_port1: endpoint {
>> -                                               slave-mode;
>>                                                 remote-endpoint =
>>                                                         <&stm_out_port>;
>>                                         };
>> @@ -340,11 +339,12 @@
>>                         reg = <0 0x10003000 0 0x1000>;
>>                         clocks = <&ext_26m>;
>>                         clock-names = "apb_pclk";
>> -                       port {
>> -                               etb_in: endpoint {
>> -                                       slave-mode;
>> -                                       remote-endpoint =
>> -                                               <&soc_funnel_out_port>;
>> +                       out-ports {
>> +                               port {
>> +                                       etb_in: endpoint {
>> +                                               remote-endpoint =
>> +
>> <&soc_funnel_out_port>;
>> +                                       };
>>                                 };
>>                         };
>>                 };
>> @@ -356,10 +356,12 @@
>>                         reg-names = "stm-base", "stm-stimulus-base";
>>                         clocks = <&ext_26m>;
>>                         clock-names = "apb_pclk";
>> -                       port {
>> -                               stm_out_port: endpoint {
>> -                                       remote-endpoint =
>> -                                               <&soc_funnel_in_port1>;
>> +                       out-ports {
>> +                               port {
>> +                                       stm_out_port: endpoint {
>> +                                               remote-endpoint =
>> +
>> <&soc_funnel_in_port1>;
>> +                                       };
>>                                 };
>>                         };
>>                 };
>> @@ -369,38 +371,36 @@
>>                         reg = <0 0x11001000 0 0x1000>;
>>                         clocks = <&ext_26m>;
>>                         clock-names = "apb_pclk";
>> -                       ports {
>> -                               #address-cells = <1>;
>> -                               #size-cells = <0>;
>> -
>> -                               port@0 {
>> -                                       reg = <0>;
>> +                       out-ports {
>> +                               port {
>>                                         cluster0_funnel_out_port: endpoint
>> {
>>                                                 remote-endpoint =
>>
>> <&cluster0_etf_in>;
>>                                         };
>>                                 };
>> +                       };
>>   -                             port@1 {
>> +                       in-ports {
>> +                               #address-cells = <1>;
>> +                               #size-cells = <0>;
>> +
>> +                               port@0 {
>>                                         reg = <0>;
>>                                         cluster0_funnel_in_port0: endpoint
>> {
>> -                                               slave-mode;
>>                                                 remote-endpoint =
>> <&etm0_out>;
>>                                         };
>>                                 };
>>   -                             port@2 {
>> +                               port@1 {
>>                                         reg = <1>;
>>                                         cluster0_funnel_in_port1: endpoint
>> {
>> -                                               slave-mode;
>>                                                 remote-endpoint =
>> <&etm1_out>;
>>                                         };
>>                                 };
>>   -                             port@3 {
>> +                               port@2 {
>>                                         reg = <2>;
>>                                         cluster0_funnel_in_port2: endpoint
>> {
>> -                                               slave-mode;
>>                                                 remote-endpoint =
>> <&etm2_out>;
>>                                         };
>>                                 };
>> @@ -408,7 +408,6 @@
>>                                 port@4 {
>>                                         reg = <4>;
>>                                         cluster0_funnel_in_port3: endpoint
>> {
>> -                                               slave-mode;
>>                                                 remote-endpoint =
>> <&etm3_out>;
>>                                         };
>>                                 };
>> @@ -420,46 +419,43 @@
>>                         reg = <0 0x11002000 0 0x1000>;
>>                         clocks = <&ext_26m>;
>>                         clock-names = "apb_pclk";
>> -                       ports {
>> -                               #address-cells = <1>;
>> -                               #size-cells = <0>;
>> -
>> -                               port@0 {
>> -                                       reg = <0>;
>> +                       out-ports {
>> +                               port {
>>                                         cluster1_funnel_out_port: endpoint
>> {
>>                                                 remote-endpoint =
>>
>> <&cluster1_etf_in>;
>>                                         };
>>                                 };
>> +                       };
>>   -                             port@1 {
>> +                       in-ports {
>> +                               #address-cells = <1>;
>> +                               #size-cells = <0>;
>> +
>> +                               port@0 {
>>                                         reg = <0>;
>>                                         cluster1_funnel_in_port0: endpoint
>> {
>> -                                               slave-mode;
>>                                                 remote-endpoint =
>> <&etm4_out>;
>>                                         };
>>                                 };
>>   -                             port@2 {
>> +                               port@1 {
>>                                         reg = <1>;
>>                                         cluster1_funnel_in_port1: endpoint
>> {
>> -                                               slave-mode;
>>                                                 remote-endpoint =
>> <&etm5_out>;
>>                                         };
>>                                 };
>>   -                             port@3 {
>> +                               port@2 {
>>                                         reg = <2>;
>>                                         cluster1_funnel_in_port2: endpoint
>> {
>> -                                               slave-mode;
>>                                                 remote-endpoint =
>> <&etm6_out>;
>>                                         };
>>                                 };
>>   -                             port@4 {
>> +                               port@3 {
>>                                         reg = <3>;
>>                                         cluster1_funnel_in_port3: endpoint
>> {
>> -                                               slave-mode;
>>                                                 remote-endpoint =
>> <&etm7_out>;
>>                                         };
>>                                 };
>> @@ -472,22 +468,18 @@
>>                         clocks = <&ext_26m>;
>>                         clock-names = "apb_pclk";
>>   -                     ports {
>> -                               #address-cells = <1>;
>> -                               #size-cells = <0>;
>> -
>> -                               port@0 {
>> -                                       reg = <0>;
>> +                       out-ports {
>> +                               port {
>>                                         cluster0_etf_out: endpoint {
>>                                                 remote-endpoint =
>>                                                 <&main_funnel_in_port0>;
>>                                         };
>>                                 };
>> +                       };
>>   -                             port@1 {
>> -                                       reg = <0>;
>> +                       in-ports {
>> +                               port {
>>                                         cluster0_etf_in: endpoint {
>> -                                               slave-mode;
>>                                                 remote-endpoint =
>>
>> <&cluster0_funnel_out_port>;
>>                                         };
>> @@ -501,22 +493,18 @@
>>                         clocks = <&ext_26m>;
>>                         clock-names = "apb_pclk";
>>   -                     ports {
>> -                               #address-cells = <1>;
>> -                               #size-cells = <0>;
>> -
>> -                               port@0 {
>> -                                       reg = <0>;
>> +                       out-ports {
>> +                               port {
>>                                         cluster1_etf_out: endpoint {
>>                                                 remote-endpoint =
>>                                                 <&main_funnel_in_port1>;
>>                                         };
>>                                 };
>> +                       };
>>   -                             port@1 {
>> -                                       reg = <0>;
>> +                       in-ports {
>> +                               port {
>>                                         cluster1_etf_in: endpoint {
>> -                                               slave-mode;
>>                                                 remote-endpoint =
>>
>> <&cluster1_funnel_out_port>;
>>                                         };
>> @@ -530,31 +518,30 @@
>>                         clocks = <&ext_26m>;
>>                         clock-names = "apb_pclk";
>>   -                     ports {
>> -                               #address-cells = <1>;
>> -                               #size-cells = <0>;
>> -
>> -                               port@0 {
>> -                                       reg = <0>;
>> +                       out-ports {
>> +                               port {
>>                                         main_funnel_out_port: endpoint {
>>                                                 remote-endpoint =
>>
>> <&soc_funnel_in_port0>;
>>                                         };
>>                                 };
>> +                       };
>>   -                             port@1 {
>> +                       in-ports {
>> +                               #address-cells = <1>;
>> +                               #size-cells = <0>;
>> +
>> +                               port@0 {
>>                                         reg = <0>;
>>                                         main_funnel_in_port0: endpoint {
>> -                                               slave-mode;
>>                                                 remote-endpoint =
>>
>> <&cluster0_etf_out>;
>>                                         };
>>                                 };
>>   -                             port@2 {
>> +                               port@1 {
>>                                         reg = <1>;
>>                                         main_funnel_in_port1: endpoint {
>> -                                               slave-mode;
>>                                                 remote-endpoint =
>>
>> <&cluster1_etf_out>;
>>                                         };
>> @@ -569,10 +556,12 @@
>>                         clocks = <&ext_26m>;
>>                         clock-names = "apb_pclk";
>>   -                     port {
>> -                               etm0_out: endpoint {
>> -                                       remote-endpoint =
>> -
>> <&cluster0_funnel_in_port0>;
>> +                       out-ports {
>> +                               port {
>> +                                       etm0_out: endpoint {
>> +                                               remote-endpoint =
>> +
>> <&cluster0_funnel_in_port0>;
>> +                                       };
>>                                 };
>>                         };
>>                 };
>> @@ -584,10 +573,12 @@
>>                         clocks = <&ext_26m>;
>>                         clock-names = "apb_pclk";
>>   -                     port {
>> -                               etm1_out: endpoint {
>> -                                       remote-endpoint =
>> -
>> <&cluster0_funnel_in_port1>;
>> +                       out-ports {
>> +                               port {
>> +                                       etm1_out: endpoint {
>> +                                               remote-endpoint =
>> +
>> <&cluster0_funnel_in_port1>;
>> +                                       };
>>                                 };
>>                         };
>>                 };
>> @@ -599,10 +590,12 @@
>>                         clocks = <&ext_26m>;
>>                         clock-names = "apb_pclk";
>>   -                     port {
>> -                               etm2_out: endpoint {
>> -                                       remote-endpoint =
>> -
>> <&cluster0_funnel_in_port2>;
>> +                       out-ports {
>> +                               port {
>> +                                       etm2_out: endpoint {
>> +                                               remote-endpoint =
>> +
>> <&cluster0_funnel_in_port2>;
>> +                                       };
>>                                 };
>>                         };
>>                 };
>> @@ -614,10 +607,12 @@
>>                         clocks = <&ext_26m>;
>>                         clock-names = "apb_pclk";
>>   -                     port {
>> -                               etm3_out: endpoint {
>> -                                       remote-endpoint =
>> -
>> <&cluster0_funnel_in_port3>;
>> +                       out-ports {
>> +                               port {
>> +                                       etm3_out: endpoint {
>> +                                               remote-endpoint =
>> +
>> <&cluster0_funnel_in_port3>;
>> +                                       };
>>                                 };
>>                         };
>>                 };
>> @@ -629,10 +624,12 @@
>>                         clocks = <&ext_26m>;
>>                         clock-names = "apb_pclk";
>>   -                     port {
>> -                               etm4_out: endpoint {
>> -                                       remote-endpoint =
>> -
>> <&cluster1_funnel_in_port0>;
>> +                       out-ports {
>> +                               port {
>> +                                       etm4_out: endpoint {
>> +                                               remote-endpoint =
>> +
>> <&cluster1_funnel_in_port0>;
>> +                                       };
>>                                 };
>>                         };
>>                 };
>> @@ -644,10 +641,12 @@
>>                         clocks = <&ext_26m>;
>>                         clock-names = "apb_pclk";
>>   -                     port {
>> -                               etm5_out: endpoint {
>> -                                       remote-endpoint =
>> -
>> <&cluster1_funnel_in_port1>;
>> +                       out-ports {
>> +                               port {
>> +                                       etm5_out: endpoint {
>> +                                               remote-endpoint =
>> +
>> <&cluster1_funnel_in_port1>;
>> +                                       };
>>                                 };
>>                         };
>>                 };
>> @@ -659,10 +658,12 @@
>>                         clocks = <&ext_26m>;
>>                         clock-names = "apb_pclk";
>>   -                     port {
>> -                               etm6_out: endpoint {
>> -                                       remote-endpoint =
>> -
>> <&cluster1_funnel_in_port2>;
>> +                       out-ports {
>> +                               port {
>> +                                       etm6_out: endpoint {
>> +                                               remote-endpoint =
>> +
>> <&cluster1_funnel_in_port2>;
>> +                                       };
>>                                 };
>>                         };
>>                 };
>> @@ -674,10 +675,12 @@
>>                         clocks = <&ext_26m>;
>>                         clock-names = "apb_pclk";
>>   -                     port {
>> -                               etm7_out: endpoint {
>> -                                       remote-endpoint =
>> -
>> <&cluster1_funnel_in_port3>;
>> +                       out-ports {
>> +                               port {
>> +                                       etm7_out: endpoint {
>> +                                               remote-endpoint =
>> +
>> <&cluster1_funnel_in_port3>;
>> +                                       };
>>                                 };
>>                         };
>>                 };
>>
>
Arnd Bergmann Sept. 28, 2018, 10:45 a.m. UTC | #14
On Thu, Sep 27, 2018 at 11:19 AM Chunyan Zhang <zhang.lyra@gmail.com> wrote:
>
> Hi Suzuki,
>
> On 27 September 2018 at 16:51, Suzuki K Poulose <suzuki.poulose@arm.com> wrote:
> > +To: Chunyan Zhang
> >
> > Chunyan Zhang,
> >
> > On 09/12/2018 02:53 PM, Suzuki K Poulose wrote:
> >>
> >> Switch to the new coresight bindings for hw ports
> >>
> >
> > How can we push this patch ? Do you generally send the spreadtrum
> > specific changes to ARM soc folks ? Or would you like me to post
> > this directly to ARM soc folks ?
>
> Yeah, at present sprd dts files generally got merged through arm-soc
> (I've added arm@kernel.org).

Yes, that's fine. Generally, we prefer if you collect patches for your
platform first, and then send them as a pull request or short set
of patches. for inclusion, rather than picking them up from the list.

If this is the only DT patch for spreadtrum in 4.20, I can also just
pick it up with your Ack.

       Arnd
Chunyan Zhang Sept. 28, 2018, 11:09 a.m. UTC | #15
On 28 September 2018 at 18:45, Arnd Bergmann <arnd@arndb.de> wrote:
> On Thu, Sep 27, 2018 at 11:19 AM Chunyan Zhang <zhang.lyra@gmail.com> wrote:
>>
>> Hi Suzuki,
>>
>> On 27 September 2018 at 16:51, Suzuki K Poulose <suzuki.poulose@arm.com> wrote:
>> > +To: Chunyan Zhang
>> >
>> > Chunyan Zhang,
>> >
>> > On 09/12/2018 02:53 PM, Suzuki K Poulose wrote:
>> >>
>> >> Switch to the new coresight bindings for hw ports
>> >>
>> >
>> > How can we push this patch ? Do you generally send the spreadtrum
>> > specific changes to ARM soc folks ? Or would you like me to post
>> > this directly to ARM soc folks ?
>>
>> Yeah, at present sprd dts files generally got merged through arm-soc
>> (I've added arm@kernel.org).
>
> Yes, that's fine. Generally, we prefer if you collect patches for your
> platform first, and then send them as a pull request or short set
> of patches. for inclusion, rather than picking them up from the list.
>

Ok, I will send you a patchset once merge window open.

Thanks,
Chunyan

> If this is the only DT patch for spreadtrum in 4.20, I can also just
> pick it up with your Ack.
>
>        Arnd
Andy Gross Sept. 30, 2018, 5:12 p.m. UTC | #16
On Thu, Sep 27, 2018 at 09:18:06AM +0100, Suzuki K Poulose wrote:
> Hi Andy
> 
> On 09/12/2018 02:53 PM, Suzuki K Poulose wrote:
> >Switch to updated coresight bindings for hw ports
> >
> >Cc: Andy Gross <andy.gross@linaro.org>
> >Cc: David Brown <david.brown@linaro.org>
> >Cc: Ivan T. Ivanov <ivan.ivanov@linaro.org>
> >Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
> >Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
> >---
> >Changes since v1:
> >  - Fixed TPIU port direction
> >  - Use better subject tag for the patch
> >---
> 
> 
> Please could you pull this and the patch for ARM (Patch 9/11)  ?
> 
> Suzuki

Done.  Thanks