Seconding Sebastian's observations.

I'll also note that I see a different error every now and again (maybe in ~15% or so of my boots): "Internal error: Oops - bad mode: 0 [#1] PREEMPT SMP". I'm assuming it's similar to the "synchronous external abort" error, since it's triggered at almost the exactly same instruction address (2 bytes off), and it only happens if etm4_probe/amba_probe/... are in the call trace the kernel dumps. On the off chance that it's helpful, though... :)

I'll play around with config changes a bit more.

On Tue, May 16, 2017 at 1:31 PM, Sebastian Pop <sebpop@gmail.com> wrote:
On Tue, May 16, 2017 at 10:23 AM, Mathieu Poirier
<mathieu.poirier@linaro.org> wrote:
> On 16 May 2017 at 08:02, Leo Yan <leo.yan@linaro.org> wrote:
>> When enable coresight and hang on Hikey, could you try to disable
>> CPUIdle totally? You can remove CPUIdle related configurations in
>> .config or you can add 'nohlt' into kernel command line.
>
> Leo is correct - this is the first thing to look at.
>

Thanks Leo and Mathieu for the suggestion.
With that change my board still does not boot correctly.
Here is how I disabled CPUIDLE in my config file:

--- .config-1   2017-05-15 10:21:48.157466820 -0500
+++ .config     2017-05-16 15:26:55.955816933 -0500
@@ -559,15 +559,7 @@
 #
 # CPU Idle
 #
-CONFIG_CPU_IDLE=y
-CONFIG_CPU_IDLE_GOV_LADDER=y
-CONFIG_CPU_IDLE_GOV_MENU=y
-CONFIG_DT_IDLE_STATES=y
-
-#
-# ARM CPU Idle Drivers
-#
-CONFIG_ARM_CPUIDLE=y
+# CONFIG_CPU_IDLE is not set
 # CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set

 #