diff mbox

[v3,2/3] arm64: dts: juno: fix CoreSight support for Juno r1/r2 variants

Message ID 1484234410-7670-3-git-send-email-sudeep.holla@arm.com
State New
Headers show

Commit Message

Sudeep Holla Jan. 12, 2017, 3:20 p.m. UTC
From: Mike Leach <mike.leach@linaro.org>


The CoreSight support added for Juno is valid for only Juno r0.
The Juno r1 and r2 variants have additional components and alternative
connection routes between trace source and sinks.

This patch builds on top of the existing r0 support and extends it to
Juno r1/r2 variants.

Signed-off-by: Mike Leach <mike.leach@linaro.org>

[sudeep.holla@arm.com: minor changelog update and reorganising the common
	coresight components back into juno-base.dtsi to avoid duplication]
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>

---
 arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi | 102 ++++++++++++++++++++++++++++++
 arch/arm64/boot/dts/arm/juno-r1.dts       |   9 +++
 arch/arm64/boot/dts/arm/juno-r2.dts       |   9 +++
 3 files changed, 120 insertions(+)
 create mode 100644 arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi

-- 
2.7.4


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

Comments

Mathieu Poirier Jan. 12, 2017, 4:51 p.m. UTC | #1
On 12 January 2017 at 08:20, Sudeep Holla <sudeep.holla@arm.com> wrote:
> From: Mike Leach <mike.leach@linaro.org>

>

> The CoreSight support added for Juno is valid for only Juno r0.

> The Juno r1 and r2 variants have additional components and alternative

> connection routes between trace source and sinks.

>

> This patch builds on top of the existing r0 support and extends it to

> Juno r1/r2 variants.

>

> Signed-off-by: Mike Leach <mike.leach@linaro.org>

> [sudeep.holla@arm.com: minor changelog update and reorganising the common

>         coresight components back into juno-base.dtsi to avoid duplication]

> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>

> ---

>  arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi | 102 ++++++++++++++++++++++++++++++

>  arch/arm64/boot/dts/arm/juno-r1.dts       |   9 +++

>  arch/arm64/boot/dts/arm/juno-r2.dts       |   9 +++

>  3 files changed, 120 insertions(+)

>  create mode 100644 arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi

>

> diff --git a/arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi b/arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi

> new file mode 100644

> index 000000000000..89fcef366ff9

> --- /dev/null

> +++ b/arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi

> @@ -0,0 +1,102 @@

> +       csys1_funnel@20130000 {

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

> +               reg = <0 0x20130000 0 0x1000>;

> +

> +               clocks = <&soc_smc50mhz>;

> +               clock-names = "apb_pclk";

> +               power-domains = <&scpi_devpd 0>;

> +               ports {

> +                       #address-cells = <1>;

> +                       #size-cells = <0>;

> +

> +                       /* input port */

> +                       port@0 {

> +                               reg = <0>;

> +                               csys1_funnel_out_port: endpoint {

> +                                       remote-endpoint =

> +                                               <&etf1_in_port>;

> +                               };

> +                       };

> +

> +                       /* output port */

> +                       port@1 {

> +                               reg = <0>;

> +                               csys1_funnel_in_port0: endpoint {

> +                                       slave-mode;

> +                               };

> +                       };


The comments related to the input and output port are reversed.

> +

> +               };

> +       };

> +

> +       etf1@20140000 {

> +               compatible = "arm,coresight-tmc", "arm,primecell";

> +               reg = <0 0x20140000 0 0x1000>;

> +

> +               clocks = <&soc_smc50mhz>;

> +               clock-names = "apb_pclk";

> +               power-domains = <&scpi_devpd 0>;

> +               ports {

> +                       #address-cells = <1>;

> +                       #size-cells = <0>;

> +

> +                       /* input port */

> +                       port@0 {

> +                               reg = <0>;

> +                               etf1_in_port: endpoint {

> +                                       slave-mode;

> +                                       remote-endpoint =

> +                                               <&csys1_funnel_out_port>;

> +                               };

> +                       };

> +

> +                       /* output port */

> +                       port@1 {

> +                               reg = <0>;

> +                               etf1_out_port: endpoint {

> +                                       remote-endpoint =

> +                                               <&csys2_funnel_in_port1>;

> +                               };

> +                       };

> +               };

> +       };

> +

> +       csys2_funnel@20150000 {

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

> +               reg = <0 0x20150000 0 0x1000>;

> +

> +               clocks = <&soc_smc50mhz>;

> +               clock-names = "apb_pclk";

> +               power-domains = <&scpi_devpd 0>;

> +               ports {

> +                       #address-cells = <1>;

> +                       #size-cells = <0>;

> +

> +                       /* output port */

> +                       port@0 {

> +                               reg = <0>;

> +                               csys2_funnel_out_port: endpoint {

> +                                       remote-endpoint =

> +                                               <&replicator_in_port0>;

> +                               };

> +                       };

> +

> +                       /* input ports */

> +                       port@1 {

> +                               reg = <0>;

> +                               csys2_funnel_in_port0: endpoint {

> +                                       slave-mode;

> +                                       remote-endpoint = <&etf0_out_port>;

> +                               };

> +                       };

> +

> +                       port@2 {

> +                               reg = <1>;

> +                               csys2_funnel_in_port1: endpoint {

> +                                       slave-mode;

> +                                       remote-endpoint = <&etf1_out_port>;

> +                               };

> +                       };

> +

> +               };

> +       };

> diff --git a/arch/arm64/boot/dts/arm/juno-r1.dts b/arch/arm64/boot/dts/arm/juno-r1.dts

> index eec37feee8fc..d4b85d9d343e 100644

> --- a/arch/arm64/boot/dts/arm/juno-r1.dts

> +++ b/arch/arm64/boot/dts/arm/juno-r1.dts

> @@ -178,6 +178,7 @@

>         };

>

>         #include "juno-base.dtsi"

> +       #include "juno-cs-r1r2.dtsi"

>  };

>

>  &memtimer {

> @@ -227,3 +228,11 @@

>  &gpu1_thermal_zone {

>         status = "okay";

>  };

> +

> +&etf0_out_port {

> +       remote-endpoint = <&csys2_funnel_in_port0>;

> +};

> +

> +&replicator_in_port0 {

> +       remote-endpoint = <&csys2_funnel_out_port>;

> +};

> diff --git a/arch/arm64/boot/dts/arm/juno-r2.dts b/arch/arm64/boot/dts/arm/juno-r2.dts

> index 28f40ec44090..14b29517065c 100644

> --- a/arch/arm64/boot/dts/arm/juno-r2.dts

> +++ b/arch/arm64/boot/dts/arm/juno-r2.dts

> @@ -178,6 +178,7 @@

>         };

>

>         #include "juno-base.dtsi"

> +       #include "juno-cs-r1r2.dtsi"

>  };

>

>  &memtimer {

> @@ -227,3 +228,11 @@

>  &gpu1_thermal_zone {

>         status = "okay";

>  };

> +

> +&etf0_out_port {

> +       remote-endpoint = <&csys2_funnel_in_port0>;

> +};

> +

> +&replicator_in_port0 {

> +       remote-endpoint = <&csys2_funnel_out_port>;

> +};

> --

> 2.7.4

>

> _______________________________________________

> CoreSight mailing list

> CoreSight@lists.linaro.org

> https://lists.linaro.org/mailman/listinfo/coresight


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Sudeep Holla Jan. 12, 2017, 5:19 p.m. UTC | #2
On 12/01/17 16:51, Mathieu Poirier wrote:
> On 12 January 2017 at 08:20, Sudeep Holla <sudeep.holla@arm.com> wrote:

>> From: Mike Leach <mike.leach@linaro.org>

>>

>> The CoreSight support added for Juno is valid for only Juno r0.

>> The Juno r1 and r2 variants have additional components and alternative

>> connection routes between trace source and sinks.

>>

>> This patch builds on top of the existing r0 support and extends it to

>> Juno r1/r2 variants.

>>

>> Signed-off-by: Mike Leach <mike.leach@linaro.org>

>> [sudeep.holla@arm.com: minor changelog update and reorganising the common

>>         coresight components back into juno-base.dtsi to avoid duplication]

>> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>

>> ---

>>  arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi | 102 ++++++++++++++++++++++++++++++

>>  arch/arm64/boot/dts/arm/juno-r1.dts       |   9 +++

>>  arch/arm64/boot/dts/arm/juno-r2.dts       |   9 +++

>>  3 files changed, 120 insertions(+)

>>  create mode 100644 arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi

>>

>> diff --git a/arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi b/arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi

>> new file mode 100644

>> index 000000000000..89fcef366ff9

>> --- /dev/null

>> +++ b/arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi

>> @@ -0,0 +1,102 @@

>> +       csys1_funnel@20130000 {

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

>> +               reg = <0 0x20130000 0 0x1000>;

>> +

>> +               clocks = <&soc_smc50mhz>;

>> +               clock-names = "apb_pclk";

>> +               power-domains = <&scpi_devpd 0>;

>> +               ports {

>> +                       #address-cells = <1>;

>> +                       #size-cells = <0>;

>> +

>> +                       /* input port */

>> +                       port@0 {

>> +                               reg = <0>;

>> +                               csys1_funnel_out_port: endpoint {

>> +                                       remote-endpoint =

>> +                                               <&etf1_in_port>;

>> +                               };

>> +                       };

>> +

>> +                       /* output port */

>> +                       port@1 {

>> +                               reg = <0>;

>> +                               csys1_funnel_in_port0: endpoint {

>> +                                       slave-mode;

>> +                               };

>> +                       };

> 

> The comments related to the input and output port are reversed.

> 


Fixed locally.

-- 
Regards,
Sudeep

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Olof Johansson Jan. 17, 2017, 6:58 a.m. UTC | #3
Hi,

On Thu, Jan 12, 2017 at 7:20 AM, Sudeep Holla <sudeep.holla@arm.com> wrote:
> From: Mike Leach <mike.leach@linaro.org>

>

> The CoreSight support added for Juno is valid for only Juno r0.

> The Juno r1 and r2 variants have additional components and alternative

> connection routes between trace source and sinks.

>

> This patch builds on top of the existing r0 support and extends it to

> Juno r1/r2 variants.

>

> Signed-off-by: Mike Leach <mike.leach@linaro.org>

> [sudeep.holla@arm.com: minor changelog update and reorganising the common

>         coresight components back into juno-base.dtsi to avoid duplication]

> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>

> ---

>  arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi | 102 ++++++++++++++++++++++++++++++

>  arch/arm64/boot/dts/arm/juno-r1.dts       |   9 +++

>  arch/arm64/boot/dts/arm/juno-r2.dts       |   9 +++

>  3 files changed, 120 insertions(+)

>  create mode 100644 arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi

>

> diff --git a/arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi b/arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi

> new file mode 100644

> index 000000000000..89fcef366ff9

> --- /dev/null

> +++ b/arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi

> @@ -0,0 +1,102 @@

> +       csys1_funnel@20130000 {

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

> +               reg = <0 0x20130000 0 0x1000>;

> +

> +               clocks = <&soc_smc50mhz>;

> +               clock-names = "apb_pclk";

> +               power-domains = <&scpi_devpd 0>;

> +               ports {

> +                       #address-cells = <1>;

> +                       #size-cells = <0>;

> +

> +                       /* input port */

> +                       port@0 {

> +                               reg = <0>;

> +                               csys1_funnel_out_port: endpoint {

> +                                       remote-endpoint =

> +                                               <&etf1_in_port>;

> +                               };

> +                       };

> +

> +                       /* output port */

> +                       port@1 {

> +                               reg = <0>;

> +                               csys1_funnel_in_port0: endpoint {

> +                                       slave-mode;

> +                               };

> +                       };

> +

> +               };

> +       };

> +

> +       etf1@20140000 {


The concept behind device-tree is that you name the nodes based on the
type of device they are. "i2c", "ethernet", etc. Not "eth0", "i2c3",
and so on.

So, this should probably be something else than "etf1", and the
etf->etf0 rename you did somewhere else shouldn't be made either.

csys1_funnel should probably/maybe be named something more generic as well.



> +               compatible = "arm,coresight-tmc", "arm,primecell";

> +               reg = <0 0x20140000 0 0x1000>;

> +

> +               clocks = <&soc_smc50mhz>;

> +               clock-names = "apb_pclk";

> +               power-domains = <&scpi_devpd 0>;

> +               ports {

> +                       #address-cells = <1>;

> +                       #size-cells = <0>;

> +

> +                       /* input port */

> +                       port@0 {

> +                               reg = <0>;

> +                               etf1_in_port: endpoint {

> +                                       slave-mode;

> +                                       remote-endpoint =

> +                                               <&csys1_funnel_out_port>;

> +                               };

> +                       };

> +

> +                       /* output port */

> +                       port@1 {

> +                               reg = <0>;

> +                               etf1_out_port: endpoint {

> +                                       remote-endpoint =

> +                                               <&csys2_funnel_in_port1>;

> +                               };

> +                       };

> +               };

> +       };

> +

> +       csys2_funnel@20150000 {

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

> +               reg = <0 0x20150000 0 0x1000>;

> +

> +               clocks = <&soc_smc50mhz>;

> +               clock-names = "apb_pclk";

> +               power-domains = <&scpi_devpd 0>;

> +               ports {

> +                       #address-cells = <1>;

> +                       #size-cells = <0>;

> +

> +                       /* output port */

> +                       port@0 {

> +                               reg = <0>;

> +                               csys2_funnel_out_port: endpoint {

> +                                       remote-endpoint =

> +                                               <&replicator_in_port0>;

> +                               };

> +                       };

> +

> +                       /* input ports */

> +                       port@1 {

> +                               reg = <0>;

> +                               csys2_funnel_in_port0: endpoint {

> +                                       slave-mode;

> +                                       remote-endpoint = <&etf0_out_port>;

> +                               };

> +                       };

> +

> +                       port@2 {

> +                               reg = <1>;

> +                               csys2_funnel_in_port1: endpoint {

> +                                       slave-mode;

> +                                       remote-endpoint = <&etf1_out_port>;

> +                               };

> +                       };

> +

> +               };

> +       };

> diff --git a/arch/arm64/boot/dts/arm/juno-r1.dts b/arch/arm64/boot/dts/arm/juno-r1.dts

> index eec37feee8fc..d4b85d9d343e 100644

> --- a/arch/arm64/boot/dts/arm/juno-r1.dts

> +++ b/arch/arm64/boot/dts/arm/juno-r1.dts

> @@ -178,6 +178,7 @@

>         };

>

>         #include "juno-base.dtsi"

> +       #include "juno-cs-r1r2.dtsi"


Please don't nest dtsi inside a structure like this. We normally let
them stand by themselves at the top of the file instead.

(yes, please fix for juno-base too).



-Olof

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Sudeep Holla Jan. 17, 2017, 11:37 a.m. UTC | #4
On 17/01/17 06:58, Olof Johansson wrote:
> Hi,

> 

> On Thu, Jan 12, 2017 at 7:20 AM, Sudeep Holla <sudeep.holla@arm.com> wrote:

>> From: Mike Leach <mike.leach@linaro.org>

>>

>> The CoreSight support added for Juno is valid for only Juno r0.

>> The Juno r1 and r2 variants have additional components and alternative

>> connection routes between trace source and sinks.

>>

>> This patch builds on top of the existing r0 support and extends it to

>> Juno r1/r2 variants.

>>

>> Signed-off-by: Mike Leach <mike.leach@linaro.org>

>> [sudeep.holla@arm.com: minor changelog update and reorganising the common

>>         coresight components back into juno-base.dtsi to avoid duplication]

>> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>

>> ---

>>  arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi | 102 ++++++++++++++++++++++++++++++

>>  arch/arm64/boot/dts/arm/juno-r1.dts       |   9 +++

>>  arch/arm64/boot/dts/arm/juno-r2.dts       |   9 +++

>>  3 files changed, 120 insertions(+)

>>  create mode 100644 arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi

>>

>> diff --git a/arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi b/arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi

>> new file mode 100644

>> index 000000000000..89fcef366ff9

>> --- /dev/null

>> +++ b/arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi

>> @@ -0,0 +1,102 @@

>> +       csys1_funnel@20130000 {

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

>> +               reg = <0 0x20130000 0 0x1000>;

>> +

>> +               clocks = <&soc_smc50mhz>;

>> +               clock-names = "apb_pclk";

>> +               power-domains = <&scpi_devpd 0>;

>> +               ports {

>> +                       #address-cells = <1>;

>> +                       #size-cells = <0>;

>> +

>> +                       /* input port */

>> +                       port@0 {

>> +                               reg = <0>;

>> +                               csys1_funnel_out_port: endpoint {

>> +                                       remote-endpoint =

>> +                                               <&etf1_in_port>;

>> +                               };

>> +                       };

>> +

>> +                       /* output port */

>> +                       port@1 {

>> +                               reg = <0>;

>> +                               csys1_funnel_in_port0: endpoint {

>> +                                       slave-mode;

>> +                               };

>> +                       };

>> +

>> +               };

>> +       };

>> +

>> +       etf1@20140000 {

> 

> The concept behind device-tree is that you name the nodes based on the

> type of device they are. "i2c", "ethernet", etc. Not "eth0", "i2c3",

> and so on.

> 

> So, this should probably be something else than "etf1", and the

> etf->etf0 rename you did somewhere else shouldn't be made either.

> 


Agreed, will fix it. Sorry for not noticing that before. I somehow
always confused them to be labels rather that node names and even missed
to observe that when I changed for R0.

[...]

>> diff --git a/arch/arm64/boot/dts/arm/juno-r1.dts b/arch/arm64/boot/dts/arm/juno-r1.dts

>> index eec37feee8fc..d4b85d9d343e 100644

>> --- a/arch/arm64/boot/dts/arm/juno-r1.dts

>> +++ b/arch/arm64/boot/dts/arm/juno-r1.dts

>> @@ -178,6 +178,7 @@

>>         };

>>

>>         #include "juno-base.dtsi"

>> +       #include "juno-cs-r1r2.dtsi"

> 

> Please don't nest dtsi inside a structure like this. We normally let

> them stand by themselves at the top of the file instead.

> 

> (yes, please fix for juno-base too).


Agreed and fixed locally, will post it as part of v4.

-- 
Regards,
Sudeep


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Olof Johansson Jan. 17, 2017, 10:10 p.m. UTC | #5
On Tue, Jan 17, 2017 at 3:37 AM, Sudeep Holla <sudeep.holla@arm.com> wrote:
>

>

> On 17/01/17 06:58, Olof Johansson wrote:

>> Hi,

>>

>> On Thu, Jan 12, 2017 at 7:20 AM, Sudeep Holla <sudeep.holla@arm.com> wrote:

>>> From: Mike Leach <mike.leach@linaro.org>

>>>

>>> The CoreSight support added for Juno is valid for only Juno r0.

>>> The Juno r1 and r2 variants have additional components and alternative

>>> connection routes between trace source and sinks.

>>>

>>> This patch builds on top of the existing r0 support and extends it to

>>> Juno r1/r2 variants.

>>>

>>> Signed-off-by: Mike Leach <mike.leach@linaro.org>

>>> [sudeep.holla@arm.com: minor changelog update and reorganising the common

>>>         coresight components back into juno-base.dtsi to avoid duplication]

>>> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>

>>> ---

>>>  arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi | 102 ++++++++++++++++++++++++++++++

>>>  arch/arm64/boot/dts/arm/juno-r1.dts       |   9 +++

>>>  arch/arm64/boot/dts/arm/juno-r2.dts       |   9 +++

>>>  3 files changed, 120 insertions(+)

>>>  create mode 100644 arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi

>>>

>>> diff --git a/arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi b/arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi

>>> new file mode 100644

>>> index 000000000000..89fcef366ff9

>>> --- /dev/null

>>> +++ b/arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi

>>> @@ -0,0 +1,102 @@

>>> +       csys1_funnel@20130000 {

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

>>> +               reg = <0 0x20130000 0 0x1000>;

>>> +

>>> +               clocks = <&soc_smc50mhz>;

>>> +               clock-names = "apb_pclk";

>>> +               power-domains = <&scpi_devpd 0>;

>>> +               ports {

>>> +                       #address-cells = <1>;

>>> +                       #size-cells = <0>;

>>> +

>>> +                       /* input port */

>>> +                       port@0 {

>>> +                               reg = <0>;

>>> +                               csys1_funnel_out_port: endpoint {

>>> +                                       remote-endpoint =

>>> +                                               <&etf1_in_port>;

>>> +                               };

>>> +                       };

>>> +

>>> +                       /* output port */

>>> +                       port@1 {

>>> +                               reg = <0>;

>>> +                               csys1_funnel_in_port0: endpoint {

>>> +                                       slave-mode;

>>> +                               };

>>> +                       };

>>> +

>>> +               };

>>> +       };

>>> +

>>> +       etf1@20140000 {

>>

>> The concept behind device-tree is that you name the nodes based on the

>> type of device they are. "i2c", "ethernet", etc. Not "eth0", "i2c3",

>> and so on.

>>

>> So, this should probably be something else than "etf1", and the

>> etf->etf0 rename you did somewhere else shouldn't be made either.

>>

>

> Agreed, will fix it. Sorry for not noticing that before. I somehow

> always confused them to be labels rather that node names and even missed

> to observe that when I changed for R0.

>

> [...]

>

>>> diff --git a/arch/arm64/boot/dts/arm/juno-r1.dts b/arch/arm64/boot/dts/arm/juno-r1.dts

>>> index eec37feee8fc..d4b85d9d343e 100644

>>> --- a/arch/arm64/boot/dts/arm/juno-r1.dts

>>> +++ b/arch/arm64/boot/dts/arm/juno-r1.dts

>>> @@ -178,6 +178,7 @@

>>>         };

>>>

>>>         #include "juno-base.dtsi"

>>> +       #include "juno-cs-r1r2.dtsi"

>>

>> Please don't nest dtsi inside a structure like this. We normally let

>> them stand by themselves at the top of the file instead.

>>

>> (yes, please fix for juno-base too).

>

> Agreed and fixed locally, will post it as part of v4.


Both look reasonable here on repost!


-Olof

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
diff mbox

Patch

diff --git a/arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi b/arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi
new file mode 100644
index 000000000000..89fcef366ff9
--- /dev/null
+++ b/arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi
@@ -0,0 +1,102 @@ 
+	csys1_funnel@20130000 {
+		compatible = "arm,coresight-funnel", "arm,primecell";
+		reg = <0 0x20130000 0 0x1000>;
+
+		clocks = <&soc_smc50mhz>;
+		clock-names = "apb_pclk";
+		power-domains = <&scpi_devpd 0>;
+		ports {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			/* input port */
+			port@0 {
+				reg = <0>;
+				csys1_funnel_out_port: endpoint {
+					remote-endpoint =
+						<&etf1_in_port>;
+				};
+			};
+
+			/* output port */
+			port@1 {
+				reg = <0>;
+				csys1_funnel_in_port0: endpoint {
+					slave-mode;
+				};
+			};
+
+		};
+	};
+
+	etf1@20140000 {
+		compatible = "arm,coresight-tmc", "arm,primecell";
+		reg = <0 0x20140000 0 0x1000>;
+
+		clocks = <&soc_smc50mhz>;
+		clock-names = "apb_pclk";
+		power-domains = <&scpi_devpd 0>;
+		ports {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			/* input port */
+			port@0 {
+				reg = <0>;
+				etf1_in_port: endpoint {
+					slave-mode;
+					remote-endpoint =
+						<&csys1_funnel_out_port>;
+				};
+			};
+
+			/* output port */
+			port@1 {
+				reg = <0>;
+				etf1_out_port: endpoint {
+					remote-endpoint =
+						<&csys2_funnel_in_port1>;
+				};
+			};
+		};
+	};
+
+	csys2_funnel@20150000 {
+		compatible = "arm,coresight-funnel", "arm,primecell";
+		reg = <0 0x20150000 0 0x1000>;
+
+		clocks = <&soc_smc50mhz>;
+		clock-names = "apb_pclk";
+		power-domains = <&scpi_devpd 0>;
+		ports {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			/* output port */
+			port@0 {
+				reg = <0>;
+				csys2_funnel_out_port: endpoint {
+					remote-endpoint =
+						<&replicator_in_port0>;
+				};
+			};
+
+			/* input ports */
+			port@1 {
+				reg = <0>;
+				csys2_funnel_in_port0: endpoint {
+					slave-mode;
+					remote-endpoint = <&etf0_out_port>;
+				};
+			};
+
+			port@2 {
+				reg = <1>;
+				csys2_funnel_in_port1: endpoint {
+					slave-mode;
+					remote-endpoint = <&etf1_out_port>;
+				};
+			};
+
+		};
+	};
diff --git a/arch/arm64/boot/dts/arm/juno-r1.dts b/arch/arm64/boot/dts/arm/juno-r1.dts
index eec37feee8fc..d4b85d9d343e 100644
--- a/arch/arm64/boot/dts/arm/juno-r1.dts
+++ b/arch/arm64/boot/dts/arm/juno-r1.dts
@@ -178,6 +178,7 @@ 
 	};
 
 	#include "juno-base.dtsi"
+	#include "juno-cs-r1r2.dtsi"
 };
 
 &memtimer {
@@ -227,3 +228,11 @@ 
 &gpu1_thermal_zone {
 	status = "okay";
 };
+
+&etf0_out_port {
+	remote-endpoint = <&csys2_funnel_in_port0>;
+};
+
+&replicator_in_port0 {
+	remote-endpoint = <&csys2_funnel_out_port>;
+};
diff --git a/arch/arm64/boot/dts/arm/juno-r2.dts b/arch/arm64/boot/dts/arm/juno-r2.dts
index 28f40ec44090..14b29517065c 100644
--- a/arch/arm64/boot/dts/arm/juno-r2.dts
+++ b/arch/arm64/boot/dts/arm/juno-r2.dts
@@ -178,6 +178,7 @@ 
 	};
 
 	#include "juno-base.dtsi"
+	#include "juno-cs-r1r2.dtsi"
 };
 
 &memtimer {
@@ -227,3 +228,11 @@ 
 &gpu1_thermal_zone {
 	status = "okay";
 };
+
+&etf0_out_port {
+	remote-endpoint = <&csys2_funnel_in_port0>;
+};
+
+&replicator_in_port0 {
+	remote-endpoint = <&csys2_funnel_out_port>;
+};