Very Strange suspend/wake uart console behaviour

update;

This is a device tree I’m using with only jetpack 4.2.1 installed

#include "tegra186-quill-p3310-1000-c03-00-base.dts"
#include "gpioexp.h"

/ {
	nvidia,dtsfilename = "tegra186-quill-p3310-mySerialSleepBug.dts";
	nvidia,dtbbuildtime = __DATE__, __TIME__;

nvidia,boardids = "3310:0000:C03";
nvidia,proc-boardid = "3310:0000:C03";

	gpio-keys {
		power {
			/delete-property/ gpio-key,wakeup;
		};
		
		volume_up {
			wakeup-source;
			linux,code = <0x13>;
		};
		
		volume_down {
			linux,code = <0x21>;
			wakeup-source;
		};
	};

	//Move debug comms off UART1_on_SOM (D9/10)
	serial@3100000 {
		/delete-property/ console-port;
	};

	/* Disable unused stuff inherited from nVidia base DTS included above */
	/delete-node/ plugin-manager;

#if 0
	serial@c280000 {
		compatible = "nvidia,tegra20-uart", "nvidia,tegra186-hsuart";
		status = "okay";
		console-port;
	};
#endif

	chosen {
		bootargs = "androidboot.presilicon=true firmware_class.path=/etc/firmware";
		stdout-path = "/serial@c280000:115200n8";
	};
};

When I use this the system goes to sleep ok with a systemctl suspend. I can see LEDs on the devkit come on when I press VOL as I’ve set it to be a wake source, but the system does not fully wake. It doesn’t re-establish a network link over ethernet, neither does it establish a link over USB OTG.

Can someone from Nvidia explain why the TX2 only seems to wake fully when the debug serial is enabled on ttyS0? (I’ve been able to successfully move the debug console to other serial ports yet the the problem remains).

It’s critical I achieve this, the serial port is exposed to an external connector on a custom carrier board & needs to be used for other purposes than debug.