Samsung Exynos Odroid XU3/XU4 audio complex with MAX98090 codec

Required properties:

 - compatible - "hardkernel,odroid-xu3-audio" - for Odroid XU3 board,
		"hardkernel,odroid-xu4-audio" - for Odroid XU4 board (deprecated),
		"samsung,odroid-xu3-audio" - for Odroid XU3 board (deprecated),
		"samsung,odroid-xu4-audio" - for Odroid XU4 board (deprecated)
 - model - the user-visible name of this sound complex
 - clocks - should contain entries matching clock names in the clock-names
    property
 - samsung,audio-widgets - this property specifies off-codec audio elements
   like headphones or speakers, for details see widgets.txt
 - samsung,audio-routing - a list of the connections between audio
   components;  each entry is a pair of strings, the first being the
   connection's sink, the second being the connection's source;
   valid names for sources and sinks are the MAX98090's pins (as
   documented in its binding), and the jacks on the board

   For Odroid X2:
     "Headphone Jack", "Mic Jack", "DMIC"

   For Odroid U3, XU3:
     "Headphone Jack", "Speakers"

   For Odroid XU4:
     no entries

Required sub-nodes:

 - 'cpu' subnode with a 'sound-dai' property containing the phandle of the I2S
    controller
 - 'codec' subnode with a 'sound-dai' property containing list of phandles
    to the CODEC nodes, first entry must be corresponding to the MAX98090
    CODEC and the second entry must be the phandle of the HDMI IP block node

Example:

sound {
	compatible = "hardkernel,odroid-xu3-audio";
	model = "Odroid-XU3";
	samsung,audio-routing =
		"Headphone Jack", "HPL",
		"Headphone Jack", "HPR",
		"IN1", "Mic Jack",
		"Mic Jack", "MICBIAS";

	cpu {
		sound-dai = <&i2s0 0>;
	};
	codec {
		sound-dai = <&hdmi>, <&max98090>;
	};
};
