Hi Kim,

I'm running r1 - the cs on r1 and r2 are identical - the only difference is the A57 A72 change. So I see cpu 0 and 1 as the A57, and 2-5 as the A53, I would expect the same on r2.

Mike
On Wed, 15 Mar 2017 at 18:40, Kim Phillips <kim.phillips@arm.com> wrote:
On Wed, 15 Mar 2017 15:39:47 +0000
Mike Leach <mike.leach@linaro.org> wrote:

> Checked gcc version and ran perf a few times
> ==============================================================
> ​root@linaro-developer:/home/mleach/perf-tools# strings -a perf | grep
> "GCC: ("
> GCC: (Linaro GCC 6.2-2016.11) 6.2.1 20161016
> root@linaro-developer:/home/mleach/perf-tools#
>
> root@linaro-developer:/home/mleach/perf-tools# taskset -c 2 ./perf record
> -e cs_etm/@20070000.etr/u --per-thread taskset -c 2 uname
> Linux
> [ perf record: Woken up 2 times to write data ]
> [ perf record: Captured and wrote 0.077 MB perf.data ]
> root@linaro-developer:/home/mleach/perf-tools#
> root@linaro-developer:/home/mleach/perf-tools# taskset -c 2 ./perf record
> -e cs_etm/@20070000.etr/u --per-thread taskset -c 2 uname
> Linux
> [ perf record: Woken up 1 times to write data ]
> [ perf record: Captured and wrote 0.077 MB perf.data ]
> root@linaro-developer:/home/mleach/perf-tools# taskset -c 2 ./perf record
> -e cs_etm/@20070000.etr/u --per-thread taskset -c 2 uname
> Linux
> [ perf record: Woken up 2 times to write data ]
> [ perf record: Captured and wrote 0.077 MB perf.data ]
> root@linaro-developer:/home/mleach/perf-tools#
> ==============================================================
>
> ​Worked fine.​

I like to include dmesg | grep gcc because sometimes I myself make
sloppy mistakes copying the kernel image around, but OK, I should have
said I gave it a lot of time before runs: several minutes.

> ​so....I'm back on the funnel / trace amount and core differences.
> taskset -c 2 -> selects cpu 2 -> A53(0) on both juno-r1 and juno-r2. So why
> on your system is the funnel for the A72 cluster (cpu 0-1) being activated.
> if I use taskset -c 0 (or 1) then I get the A57 cluster funnel activated as
> expected. (2-5 gets the A53 cluster funnel)
>
> This seems to be indicative of some .dts issue on your system / r2. Nothing
> immediately obvious in the .dts that I can see.

Using the device tree compiler to show all the differences, like so:

$ dtc -I dtb -O dts -s juno.dtb > juno.dts
$ dtc -I dtb -O dts -s juno-r2.dtb > juno-r2.dts
$ diff -u juno.dts juno-r2.dts

We see the cpus have been renumbered such that on r2, taskset -c 2
references an A-72 (it actually happens between r0 and r1, diff r1 r2
is a simple a57->a72 rename), and phandles that coresight components
reference also change, e.g.,  the 0x3d phandle that the etf@20140000
references used to point to the old sysctl@020000, but that node's
phandle gets changed to 0x3c.  Below is the full diff;  is a dts
patch for coresight on r1/r2 in order?

I still think there's more to it since you were able to see the
inconsistent behaviour between two runs problem on r0.

Thanks,

Kim

--- juno.dts    2017-03-15 13:00:49.180455032 -0500
+++ juno-r2.dts 2017-03-15 12:41:32.568144442 -0500
@@ -3,10 +3,10 @@
 / {
        #address-cells = <0x2>;
        #size-cells = <0x2>;
-       compatible = "arm,juno", "arm,vexpress";
+       compatible = "arm,juno-r2", "arm,juno", "arm,vexpress";
        dma-ranges = <0x0 0x0 0x0 0x0 0x100 0x0>;
        interrupt-parent = <0x1>;
-       model = "ARM Juno development board (r0)";
+       model = "ARM Juno development board (r2)";

        aliases {
                serial0 = "/uart@7ff80000";
@@ -21,8 +21,8 @@
                clock-frequency = <0x2dc6c00>;
                clock-output-names = "clk48mhz";
                compatible = "fixed-clock";
-               linux,phandle = <0x36>;
-               phandle = <0x36>;
+               linux,phandle = <0x35>;
+               phandle = <0x35>;
        };

        clk50mhz {
@@ -43,109 +43,109 @@
                        cluster0 {

                                core0 {
-                                       cpu = <0xf>;
+                                       cpu = <0xe>;
                                };

                                core1 {
-                                       cpu = <0x14>;
+                                       cpu = <0x13>;
                                };
                        };

                        cluster1 {

                                core0 {
-                                       cpu = <0x16>;
+                                       cpu = <0x15>;
                                };

                                core1 {
-                                       cpu = <0x1d>;
+                                       cpu = <0x1c>;
                                };

                                core2 {
-                                       cpu = <0x1f>;
+                                       cpu = <0x1e>;
                                };

                                core3 {
-                                       cpu = <0x21>;
+                                       cpu = <0x20>;
                                };
                        };
                };

                cpu@0 {
                        capacity-dmips-mhz = <0x400>;
-                       clocks = <0x3f 0x0>;
-                       compatible = "arm,cortex-a57", "arm,armv8";
-                       cpu-idle-states = <0x40 0x41>;
+                       clocks = <0x44 0x0>;
+                       compatible = "arm,cortex-a72", "arm,armv8";
+                       cpu-idle-states = <0x45 0x46>;
                        device_type = "cpu";
                        enable-method = "psci";
-                       linux,phandle = <0xf>;
-                       next-level-cache = <0x3e>;
-                       phandle = <0xf>;
+                       linux,phandle = <0xe>;
+                       next-level-cache = <0x43>;
+                       phandle = <0xe>;
                        reg = <0x0 0x0>;
                };

                cpu@1 {
                        capacity-dmips-mhz = <0x400>;
-                       clocks = <0x3f 0x0>;
-                       compatible = "arm,cortex-a57", "arm,armv8";
-                       cpu-idle-states = <0x40 0x41>;
+                       clocks = <0x44 0x0>;
+                       compatible = "arm,cortex-a72", "arm,armv8";
+                       cpu-idle-states = <0x45 0x46>;
                        device_type = "cpu";
                        enable-method = "psci";
-                       linux,phandle = <0x14>;
-                       next-level-cache = <0x3e>;
-                       phandle = <0x14>;
+                       linux,phandle = <0x13>;
+                       next-level-cache = <0x43>;
+                       phandle = <0x13>;
                        reg = <0x0 0x1>;
                };

                cpu@100 {
-                       capacity-dmips-mhz = <0x242>;
-                       clocks = <0x3f 0x1>;
+                       capacity-dmips-mhz = <0x1e5>;
+                       clocks = <0x44 0x1>;
                        compatible = "arm,cortex-a53", "arm,armv8";
-                       cpu-idle-states = <0x40 0x41>;
+                       cpu-idle-states = <0x45 0x46>;
                        device_type = "cpu";
                        enable-method = "psci";
-                       linux,phandle = <0x16>;
-                       next-level-cache = <0x42>;
-                       phandle = <0x16>;
+                       linux,phandle = <0x15>;
+                       next-level-cache = <0x47>;
+                       phandle = <0x15>;
                        reg = <0x0 0x100>;
                };

                cpu@101 {
-                       capacity-dmips-mhz = <0x242>;
-                       clocks = <0x3f 0x1>;
+                       capacity-dmips-mhz = <0x1e5>;
+                       clocks = <0x44 0x1>;
                        compatible = "arm,cortex-a53", "arm,armv8";
-                       cpu-idle-states = <0x40 0x41>;
+                       cpu-idle-states = <0x45 0x46>;
                        device_type = "cpu";
                        enable-method = "psci";
-                       linux,phandle = <0x1d>;
-                       next-level-cache = <0x42>;
-                       phandle = <0x1d>;
+                       linux,phandle = <0x1c>;
+                       next-level-cache = <0x47>;
+                       phandle = <0x1c>;
                        reg = <0x0 0x101>;
                };

                cpu@102 {
-                       capacity-dmips-mhz = <0x242>;
-                       clocks = <0x3f 0x1>;
+                       capacity-dmips-mhz = <0x1e5>;
+                       clocks = <0x44 0x1>;
                        compatible = "arm,cortex-a53", "arm,armv8";
-                       cpu-idle-states = <0x40 0x41>;
+                       cpu-idle-states = <0x45 0x46>;
                        device_type = "cpu";
                        enable-method = "psci";
-                       linux,phandle = <0x1f>;
-                       next-level-cache = <0x42>;
-                       phandle = <0x1f>;
+                       linux,phandle = <0x1e>;
+                       next-level-cache = <0x47>;
+                       phandle = <0x1e>;
                        reg = <0x0 0x102>;
                };

                cpu@103 {
-                       capacity-dmips-mhz = <0x242>;
-                       clocks = <0x3f 0x1>;
+                       capacity-dmips-mhz = <0x1e5>;
+                       clocks = <0x44 0x1>;
                        compatible = "arm,cortex-a53", "arm,armv8";
-                       cpu-idle-states = <0x40 0x41>;
+                       cpu-idle-states = <0x45 0x46>;
                        device_type = "cpu";
                        enable-method = "psci";
-                       linux,phandle = <0x21>;
-                       next-level-cache = <0x42>;
-                       phandle = <0x21>;
+                       linux,phandle = <0x20>;
+                       next-level-cache = <0x47>;
+                       phandle = <0x20>;
                        reg = <0x0 0x103>;
                };

@@ -157,10 +157,10 @@
                                compatible = "arm,idle-state";
                                entry-latency-us = <0x190>;
                                exit-latency-us = <0x4b0>;
-                               linux,phandle = <0x41>;
+                               linux,phandle = <0x46>;
                                local-timer-stop;
                                min-residency-us = <0x9c4>;
-                               phandle = <0x41>;
+                               phandle = <0x46>;
                        };

                        cpu-sleep-0 {
@@ -168,23 +168,23 @@
                                compatible = "arm,idle-state";
                                entry-latency-us = <0x12c>;
                                exit-latency-us = <0x4b0>;
-                               linux,phandle = <0x40>;
+                               linux,phandle = <0x45>;
                                local-timer-stop;
                                min-residency-us = <0x7d0>;
-                               phandle = <0x40>;
+                               phandle = <0x45>;
                        };
                };

                l2-cache0 {
                        compatible = "cache";
-                       linux,phandle = <0x3e>;
-                       phandle = <0x3e>;
+                       linux,phandle = <0x43>;
+                       phandle = <0x43>;
                };

                l2-cache1 {
                        compatible = "cache";
-                       linux,phandle = <0x42>;
-                       phandle = <0x42>;
+                       linux,phandle = <0x47>;
+                       phandle = <0x47>;
                };
        };

@@ -193,18 +193,18 @@
                #dma-channels = <0x8>;
                #dma-requests = <0x20>;
                clock-names = "apb_pclk";
-               clocks = <0x2c>;
+               clocks = <0x2b>;
                compatible = "arm,pl330", "arm,primecell";
                interrupts = <0x0 0x58 0x4 0x0 0x59 0x4 0x0 0x5a 0x4 0x0 0x5b 0x4 0x0 0x5c 0x4 0x0 0x6c 0x4 0x0 0x6d 0x4 0x0 0x6e 0x4 0x0 0x6f 0x4>;
-               iommus = <0x2b 0x0 0x2b 0x1 0x2b 0x2 0x2b 0x3 0x2b 0x4 0x2b 0x5 0x2b 0x6 0x2b 0x7 0x2b 0x8>;
+               iommus = <0x2a 0x0 0x2a 0x1 0x2a 0x2 0x2a 0x3 0x2a 0x4 0x2a 0x5 0x2a 0x6 0x2a 0x7 0x2a 0x8>;
                reg = <0x0 0x7ff00000 0x0 0x1000>;
        };

        ehci@7ffc0000 {
-               clocks = <0x36>;
+               clocks = <0x35>;
                compatible = "generic-ehci";
                interrupts = <0x0 0x75 0x4>;
-               iommus = <0x35 0x0>;
+               iommus = <0x34 0x0>;
                reg = <0x0 0x7ffc0000 0x0 0x10000>;
        };

@@ -234,28 +234,62 @@
                                reg = <0x0>;

                                endpoint {
-                                       linux,phandle = <0x25>;
-                                       phandle = <0x25>;
+                                       linux,phandle = <0x41>;
+                                       phandle = <0x41>;
                                        remote-endpoint = <0x6>;
                                };
                        };
                };
        };

+       etf@20140000 {
+               clock-names = "apb_pclk";
+               clocks = <0x4>;
+               compatible = "arm,coresight-tmc", "arm,primecell";
+               power-domains = <0x3 0x0>;
+               reg = <0x0 0x20140000 0x0 0x1000>;
+
+               ports {
+                       #address-cells = <0x1>;
+                       #size-cells = <0x0>;
+
+                       port@0 {
+                               reg = <0x0>;
+
+                               endpoint {
+                                       linux,phandle = <0x3d>;
+                                       phandle = <0x3d>;
+                                       remote-endpoint = <0x3e>;
+                                       slave-mode;
+                               };
+                       };
+
+                       port@1 {
+                               reg = <0x0>;
+
+                               endpoint {
+                                       linux,phandle = <0x42>;
+                                       phandle = <0x42>;
+                                       remote-endpoint = <0x3f>;
+                               };
+                       };
+               };
+       };
+
        etm@22040000 {
                clock-names = "apb_pclk";
                clocks = <0x4>;
                compatible = "arm,coresight-etm4x", "arm,primecell";
-               cpu = <0xf>;
+               cpu = <0xe>;
                power-domains = <0x3 0x0>;
                reg = <0x0 0x22040000 0x0 0x1000>;

                port {

                        endpoint {
-                               linux,phandle = <0x12>;
-                               phandle = <0x12>;
-                               remote-endpoint = <0x10>;
+                               linux,phandle = <0x11>;
+                               phandle = <0x11>;
+                               remote-endpoint = <0xf>;
                        };
                };
        };
@@ -264,16 +298,16 @@
                clock-names = "apb_pclk";
                clocks = <0x4>;
                compatible = "arm,coresight-etm4x", "arm,primecell";
-               cpu = <0x14>;
+               cpu = <0x13>;
                power-domains = <0x3 0x0>;
                reg = <0x0 0x22140000 0x0 0x1000>;

                port {

                        endpoint {
-                               linux,phandle = <0x13>;
-                               phandle = <0x13>;
-                               remote-endpoint = <0x15>;
+                               linux,phandle = <0x12>;
+                               phandle = <0x12>;
+                               remote-endpoint = <0x14>;
                        };
                };
        };
@@ -282,16 +316,16 @@
                clock-names = "apb_pclk";
                clocks = <0x4>;
                compatible = "arm,coresight-etm4x", "arm,primecell";
-               cpu = <0x16>;
+               cpu = <0x15>;
                power-domains = <0x3 0x0>;
                reg = <0x0 0x23040000 0x0 0x1000>;

                port {

                        endpoint {
-                               linux,phandle = <0x19>;
-                               phandle = <0x19>;
-                               remote-endpoint = <0x17>;
+                               linux,phandle = <0x18>;
+                               phandle = <0x18>;
+                               remote-endpoint = <0x16>;
                        };
                };
        };
@@ -300,16 +334,16 @@
                clock-names = "apb_pclk";
                clocks = <0x4>;
                compatible = "arm,coresight-etm4x", "arm,primecell";
-               cpu = <0x1d>;
+               cpu = <0x1c>;
                power-domains = <0x3 0x0>;
                reg = <0x0 0x23140000 0x0 0x1000>;

                port {

                        endpoint {
-                               linux,phandle = <0x1a>;
-                               phandle = <0x1a>;
-                               remote-endpoint = <0x1e>;
+                               linux,phandle = <0x19>;
+                               phandle = <0x19>;
+                               remote-endpoint = <0x1d>;
                        };
                };
        };
@@ -318,16 +352,16 @@
                clock-names = "apb_pclk";
                clocks = <0x4>;
                compatible = "arm,coresight-etm4x", "arm,primecell";
-               cpu = <0x1f>;
+               cpu = <0x1e>;
                power-domains = <0x3 0x0>;
                reg = <0x0 0x23240000 0x0 0x1000>;

                port {

                        endpoint {
-                               linux,phandle = <0x1b>;
-                               phandle = <0x1b>;
-                               remote-endpoint = <0x20>;
+                               linux,phandle = <0x1a>;
+                               phandle = <0x1a>;
+                               remote-endpoint = <0x1f>;
                        };
                };
        };
@@ -336,16 +370,16 @@
                clock-names = "apb_pclk";
                clocks = <0x4>;
                compatible = "arm,coresight-etm4x", "arm,primecell";
-               cpu = <0x21>;
+               cpu = <0x20>;
                power-domains = <0x3 0x0>;
                reg = <0x0 0x23340000 0x0 0x1000>;

                port {

                        endpoint {
-                               linux,phandle = <0x1c>;
-                               phandle = <0x1c>;
-                               remote-endpoint = <0x22>;
+                               linux,phandle = <0x1b>;
+                               phandle = <0x1b>;
+                               remote-endpoint = <0x21>;
                        };
                };
        };
@@ -354,16 +388,16 @@
                clock-names = "apb_pclk";
                clocks = <0x4>;
                compatible = "arm,coresight-tmc", "arm,primecell";
-               iommus = <0xc 0x0>;
+               iommus = <0xb 0x0>;
                power-domains = <0x3 0x0>;
                reg = <0x0 0x20070000 0x0 0x1000>;

                port {

                        endpoint {
-                               linux,phandle = <0x24>;
-                               phandle = <0x24>;
-                               remote-endpoint = <0xd>;
+                               linux,phandle = <0x23>;
+                               phandle = <0x23>;
+                               remote-endpoint = <0xc>;
                                slave-mode;
                        };
                };
@@ -394,8 +428,8 @@
                                reg = <0x0>;

                                endpoint {
-                                       linux,phandle = <0x11>;
-                                       phandle = <0x11>;
+                                       linux,phandle = <0x10>;
+                                       phandle = <0x10>;
                                        remote-endpoint = <0x9>;
                                        slave-mode;
                                };
@@ -405,20 +439,87 @@
                                reg = <0x1>;

                                endpoint {
-                                       linux,phandle = <0x18>;
-                                       phandle = <0x18>;
+                                       linux,phandle = <0x17>;
+                                       phandle = <0x17>;
                                        remote-endpoint = <0xa>;
                                        slave-mode;
                                };
                        };
+               };
+       };

-                       port@3 {
-                               reg = <0x2>;
+       funnel@20130000 {
+               clock-names = "apb_pclk";
+               clocks = <0x4>;
+               compatible = "arm,coresight-funnel", "arm,primecell";
+               power-domains = <0x3 0x0>;
+               reg = <0x0 0x20130000 0x0 0x1000>;
+
+               ports {
+                       #address-cells = <0x1>;
+                       #size-cells = <0x0>;
+
+                       port@0 {
+                               reg = <0x0>;
+
+                               endpoint {
+                                       linux,phandle = <0x3e>;
+                                       phandle = <0x3e>;
+                                       remote-endpoint = <0x3d>;
+                               };
+                       };
+
+                       port@1 {
+                               reg = <0x0>;
+
+                               endpoint {
+                                       linux,phandle = <0xd>;
+                                       phandle = <0xd>;
+                                       slave-mode;
+                               };
+                       };
+               };
+       };
+
+       funnel@20150000 {
+               clock-names = "apb_pclk";
+               clocks = <0x4>;
+               compatible = "arm,coresight-funnel", "arm,primecell";
+               power-domains = <0x3 0x0>;
+               reg = <0x0 0x20150000 0x0 0x1000>;
+
+               ports {
+                       #address-cells = <0x1>;
+                       #size-cells = <0x0>;
+
+                       port@0 {
+                               reg = <0x0>;
+
+                               endpoint {
+                                       linux,phandle = <0x24>;
+                                       phandle = <0x24>;
+                                       remote-endpoint = <0x40>;
+                               };
+                       };
+
+                       port@1 {
+                               reg = <0x0>;
+
+                               endpoint {
+                                       linux,phandle = <0x6>;
+                                       phandle = <0x6>;
+                                       remote-endpoint = <0x41>;
+                                       slave-mode;
+                               };
+                       };
+
+                       port@2 {
+                               reg = <0x1>;

                                endpoint {
-                                       linux,phandle = <0xe>;
-                                       phandle = <0xe>;
-                                       remote-endpoint = <0xb>;
+                                       linux,phandle = <0x3f>;
+                                       phandle = <0x3f>;
+                                       remote-endpoint = <0x42>;
                                        slave-mode;
                                };
                        };
@@ -442,7 +543,7 @@
                                endpoint {
                                        linux,phandle = <0x9>;
                                        phandle = <0x9>;
-                                       remote-endpoint = <0x11>;
+                                       remote-endpoint = <0x10>;
                                };
                        };

@@ -450,9 +551,9 @@
                                reg = <0x0>;

                                endpoint {
-                                       linux,phandle = <0x10>;
-                                       phandle = <0x10>;
-                                       remote-endpoint = <0x12>;
+                                       linux,phandle = <0xf>;
+                                       phandle = <0xf>;
+                                       remote-endpoint = <0x11>;
                                        slave-mode;
                                };
                        };
@@ -461,9 +562,9 @@
                                reg = <0x1>;

                                endpoint {
-                                       linux,phandle = <0x15>;
-                                       phandle = <0x15>;
-                                       remote-endpoint = <0x13>;
+                                       linux,phandle = <0x14>;
+                                       phandle = <0x14>;
+                                       remote-endpoint = <0x12>;
                                        slave-mode;
                                };
                        };
@@ -487,7 +588,7 @@
                                endpoint {
                                        linux,phandle = <0xa>;
                                        phandle = <0xa>;
-                                       remote-endpoint = <0x18>;
+                                       remote-endpoint = <0x17>;
                                };
                        };

@@ -495,9 +596,9 @@
                                reg = <0x0>;

                                endpoint {
-                                       linux,phandle = <0x17>;
-                                       phandle = <0x17>;
-                                       remote-endpoint = <0x19>;
+                                       linux,phandle = <0x16>;
+                                       phandle = <0x16>;
+                                       remote-endpoint = <0x18>;
                                        slave-mode;
                                };
                        };
@@ -506,9 +607,9 @@
                                reg = <0x1>;

                                endpoint {
-                                       linux,phandle = <0x1e>;
-                                       phandle = <0x1e>;
-                                       remote-endpoint = <0x1a>;
+                                       linux,phandle = <0x1d>;
+                                       phandle = <0x1d>;
+                                       remote-endpoint = <0x19>;
                                        slave-mode;
                                };
                        };
@@ -517,9 +618,9 @@
                                reg = <0x2>;

                                endpoint {
-                                       linux,phandle = <0x20>;
-                                       phandle = <0x20>;
-                                       remote-endpoint = <0x1b>;
+                                       linux,phandle = <0x1f>;
+                                       phandle = <0x1f>;
+                                       remote-endpoint = <0x1a>;
                                        slave-mode;
                                };
                        };
@@ -528,9 +629,9 @@
                                reg = <0x3>;

                                endpoint {
-                                       linux,phandle = <0x22>;
-                                       phandle = <0x22>;
-                                       remote-endpoint = <0x1c>;
+                                       linux,phandle = <0x21>;
+                                       phandle = <0x21>;
+                                       remote-endpoint = <0x1b>;
                                        slave-mode;
                                };
                        };
@@ -539,36 +640,36 @@

        hdlcd@7ff50000 {
                clock-names = "pxlclk";
-               clocks = <0x2e 0x3>;
+               clocks = <0x2d 0x3>;
                compatible = "arm,hdlcd";
                interrupts = <0x0 0x5d 0x4>;
-               iommus = <0x2d 0x0>;
+               iommus = <0x2c 0x0>;
                reg = <0x0 0x7ff50000 0x0 0x1000>;

                port {

                        hdlcd1-endpoint {
-                               linux,phandle = <0x34>;
-                               phandle = <0x34>;
-                               remote-endpoint = <0x2f>;
+                               linux,phandle = <0x33>;
+                               phandle = <0x33>;
+                               remote-endpoint = <0x2e>;
                        };
                };
        };

        hdlcd@7ff60000 {
                clock-names = "pxlclk";
-               clocks = <0x2e 0x3>;
+               clocks = <0x2d 0x3>;
                compatible = "arm,hdlcd";
                interrupts = <0x0 0x55 0x4>;
-               iommus = <0x30 0x0>;
+               iommus = <0x2f 0x0>;
                reg = <0x0 0x7ff60000 0x0 0x1000>;

                port {

                        hdlcd0-endpoint {
-                               linux,phandle = <0x33>;
-                               phandle = <0x33>;
-                               remote-endpoint = <0x31>;
+                               linux,phandle = <0x32>;
+                               phandle = <0x32>;
+                               remote-endpoint = <0x30>;
                        };
                };
        };
@@ -590,9 +691,9 @@
                        port {

                                tda998x-0-endpoint {
-                                       linux,phandle = <0x31>;
-                                       phandle = <0x31>;
-                                       remote-endpoint = <0x33>;
+                                       linux,phandle = <0x30>;
+                                       phandle = <0x30>;
+                                       remote-endpoint = <0x32>;
                                };
                        };
                };
@@ -604,9 +705,9 @@
                        port {

                                tda998x-1-endpoint {
-                                       linux,phandle = <0x2f>;
-                                       phandle = <0x2f>;
-                                       remote-endpoint = <0x34>;
+                                       linux,phandle = <0x2e>;
+                                       phandle = <0x2e>;
+                                       remote-endpoint = <0x33>;
                                };
                        };
                };
@@ -626,9 +727,9 @@

                v2m@0 {
                        compatible = "arm,gic-v2m-frame";
-                       linux,phandle = <0x26>;
+                       linux,phandle = <0x25>;
                        msi-controller;
-                       phandle = <0x26>;
+                       phandle = <0x25>;
                        reg = <0x0 0x0 0x0 0x1000>;
                };
        };
@@ -639,8 +740,8 @@
                compatible = "arm,mmu-401", "arm,smmu-v1";
                dma-coherent;
                interrupts = <0x0 0x28 0x4 0x0 0x28 0x4>;
-               linux,phandle = <0x27>;
-               phandle = <0x27>;
+               linux,phandle = <0x26>;
+               phandle = <0x26>;
                reg = <0x0 0x2b500000 0x0 0x10000>;
                status = "disabled";
        };
@@ -651,8 +752,8 @@
                compatible = "arm,mmu-401", "arm,smmu-v1";
                dma-coherent;
                interrupts = <0x0 0x2a 0x4 0x0 0x2a 0x4>;
-               linux,phandle = <0xc>;
-               phandle = <0xc>;
+               linux,phandle = <0xb>;
+               phandle = <0xb>;
                power-domains = <0x3 0x0>;
                reg = <0x0 0x2b600000 0x0 0x10000>;
                status = "disabled";
@@ -664,8 +765,8 @@
                compatible = "arm,mmu-401", "arm,smmu-v1";
                dma-coherent;
                interrupts = <0x0 0x5f 0x4 0x0 0x5f 0x4>;
-               linux,phandle = <0x2b>;
-               phandle = <0x2b>;
+               linux,phandle = <0x2a>;
+               phandle = <0x2a>;
                reg = <0x0 0x7fb00000 0x0 0x10000>;
                status = "disabled";
        };
@@ -675,8 +776,8 @@
                #iommu-cells = <0x1>;
                compatible = "arm,mmu-401", "arm,smmu-v1";
                interrupts = <0x0 0x63 0x4 0x0 0x63 0x4>;
-               linux,phandle = <0x2d>;
-               phandle = <0x2d>;
+               linux,phandle = <0x2c>;
+               phandle = <0x2c>;
                reg = <0x0 0x7fb10000 0x0 0x10000>;
                status = "disabled";
        };
@@ -686,8 +787,8 @@
                #iommu-cells = <0x1>;
                compatible = "arm,mmu-401", "arm,smmu-v1";
                interrupts = <0x0 0x61 0x4 0x0 0x61 0x4>;
-               linux,phandle = <0x30>;
-               phandle = <0x30>;
+               linux,phandle = <0x2f>;
+               phandle = <0x2f>;
                reg = <0x0 0x7fb20000 0x0 0x10000>;
                status = "disabled";
        };
@@ -698,8 +799,8 @@
                compatible = "arm,mmu-401", "arm,smmu-v1";
                dma-coherent;
                interrupts = <0x0 0x65 0x4 0x0 0x65 0x4>;
-               linux,phandle = <0x35>;
-               phandle = <0x35>;
+               linux,phandle = <0x34>;
+               phandle = <0x34>;
                reg = <0x0 0x7fb30000 0x0 0x10000>;
                status = "disabled";
        };
@@ -724,16 +825,16 @@
                compatible = "arm,mhu", "arm,primecell";
                interrupt-names = "mhu_lpri_rx", "mhu_hpri_rx";
                interrupts = <0x0 0x24 0x4 0x0 0x23 0x4>;
-               linux,phandle = <0x28>;
-               phandle = <0x28>;
+               linux,phandle = <0x27>;
+               phandle = <0x27>;
                reg = <0x0 0x2b1f0000 0x0 0x1000>;
        };

        ohci@7ffb0000 {
-               clocks = <0x36>;
+               clocks = <0x35>;
                compatible = "generic-ohci";
                interrupts = <0x0 0x74 0x4>;
-               iommus = <0x35 0x0>;
+               iommus = <0x34 0x0>;
                reg = <0x0 0x7ffb0000 0x0 0x10000>;
        };

@@ -747,24 +848,24 @@
                dma-coherent;
                interrupt-map = <0x0 0x0 0x0 0x1 0x1 0x0 0x0 0x0 0x88 0x4 0x0 0x0 0x0 0x2 0x1 0x0 0x0 0x0 0x89 0x4 0x0 0x0 0x0 0x3 0x1 0x0 0x0 0x0 0x8a 0x4 0x0 0x0 0x0 0x4 0x1 0x0 0x0 0x0 0x8b 0x4>;
                interrupt-map-mask = <0x0 0x0 0x0 0x7>;
-               iommu-map = <0x0 0x27 0x0 0x1>;
+               iommu-map = <0x0 0x26 0x0 0x1>;
                iommu-map-mask = <0x0>;
                linux,pci-domain = <0x0>;
-               msi-parent = <0x26>;
+               msi-parent = <0x25>;
                ranges = <0x1000000 0x0 0x0 0x0 0x5f800000 0x0 0x800000 0x2000000 0x0 0x50000000 0x0 0x50000000 0x0 0x8000000 0x42000000 0x40 0x0 0x40 0x0 0x1 0x0>;
                reg = <0x0 0x40000000 0x0 0x10000000>;
-               status = "disabled";
+               status = "okay";
        };

        pmu_a53 {
                compatible = "arm,cortex-a53-pmu";
-               interrupt-affinity = <0x16 0x1d 0x1f 0x21>;
+               interrupt-affinity = <0x15 0x1c 0x1e 0x20>;
                interrupts = <0x0 0x12 0x4 0x0 0x16 0x4 0x0 0x1a 0x4 0x0 0x1e 0x4>;
        };

-       pmu_a57 {
-               compatible = "arm,cortex-a57-pmu";
-               interrupt-affinity = <0xf 0x14>;
+       pmu_a72 {
+               compatible = "arm,cortex-a72-pmu";
+               interrupt-affinity = <0xe 0x13>;
                interrupts = <0x0 0x2 0x4 0x0 0x6 0x4>;
        };

@@ -787,8 +888,8 @@
                clock-frequency = <0x17d78400>;
                clock-output-names = "faxi_clk";
                compatible = "fixed-clock";
-               linux,phandle = <0x2c>;
-               phandle = <0x2c>;
+               linux,phandle = <0x2b>;
+               phandle = <0x2b>;
        };

        refclk7273800hz {
@@ -796,8 +897,8 @@
                clock-frequency = <0x6efd48>;
                clock-output-names = "juno:uartclk";
                compatible = "fixed-clock";
-               linux,phandle = <0x32>;
-               phandle = <0x32>;
+               linux,phandle = <0x31>;
+               phandle = <0x31>;
        };

        replicator@20120000 {
@@ -817,7 +918,7 @@
                                endpoint {
                                        linux,phandle = <0x7>;
                                        phandle = <0x7>;
-                                       remote-endpoint = <0x23>;
+                                       remote-endpoint = <0x22>;
                                };
                        };

@@ -825,9 +926,9 @@
                                reg = <0x1>;

                                endpoint {
-                                       linux,phandle = <0xd>;
-                                       phandle = <0xd>;
-                                       remote-endpoint = <0x24>;
+                                       linux,phandle = <0xc>;
+                                       phandle = <0xc>;
+                                       remote-endpoint = <0x23>;
                                };
                        };

@@ -835,9 +936,9 @@
                                reg = <0x0>;

                                endpoint {
-                                       linux,phandle = <0x6>;
-                                       phandle = <0x6>;
-                                       remote-endpoint = <0x25>;
+                                       linux,phandle = <0x40>;
+                                       phandle = <0x40>;
+                                       remote-endpoint = <0x24>;
                                        slave-mode;
                                };
                        };
@@ -846,8 +947,8 @@

        scpi {
                compatible = "arm,scpi";
-               mboxes = <0x28 0x1>;
-               shmem = <0x29>;
+               mboxes = <0x27 0x1>;
+               shmem = <0x28>;

                clocks {
                        compatible = "arm,scpi-clocks";
@@ -857,8 +958,8 @@
                                clock-indices = <0x3>;
                                clock-output-names = "pxlclk";
                                compatible = "arm,scpi-variable-clocks";
-                               linux,phandle = <0x2e>;
-                               phandle = <0x2e>;
+                               linux,phandle = <0x2d>;
+                               phandle = <0x2d>;
                        };

                        scpi-dvfs {
@@ -866,8 +967,8 @@
                                clock-indices = <0x0 0x1 0x2>;
                                clock-output-names = "atlclk", "aplclk", "gpuclk";
                                compatible = "arm,scpi-dvfs-clocks";
-                               linux,phandle = <0x3f>;
-                               phandle = <0x3f>;
+                               linux,phandle = <0x44>;
+                               phandle = <0x44>;
                        };
                };

@@ -882,8 +983,8 @@
                sensors {
                        #thermal-sensor-cells = <0x1>;
                        compatible = "arm,scpi-sensors";
-                       linux,phandle = <0x2a>;
-                       phandle = <0x2a>;
+                       linux,phandle = <0x29>;
+                       phandle = <0x29>;
                };
        };

@@ -901,8 +1002,8 @@
                        clock-frequency = <0x16e3600>;
                        clock-output-names = "juno_mb:clk24mhz";
                        compatible = "fixed-clock";
-                       linux,phandle = <0x3c>;
-                       phandle = <0x3c>;
+                       linux,phandle = <0x3b>;
+                       phandle = <0x3b>;
                };

                clk25mhz {
@@ -910,8 +1011,8 @@
                        clock-frequency = <0x17d7840>;
                        clock-output-names = "juno_mb:clk25mhz";
                        compatible = "fixed-clock";
-                       linux,phandle = <0x38>;
-                       phandle = <0x38>;
+                       linux,phandle = <0x37>;
+                       phandle = <0x37>;
                };

                motherboard {
@@ -926,7 +1027,7 @@
                        ranges;

                        ethernet@2,00000000 {
-