RT5659/RT5658 audio CODEC

This device supports I2C only.

Required properties:

- compatible : One of "realtek,rt5659" or "realtek,rt5658".

- reg : The I2C address of the device.

- interrupts : The CODEC's interrupt output.

Optional properties:

- clocks: The phandle of the master clock to the CODEC
- clock-names: Should be "mclk"

- realtek,in1-differential
- realtek,in3-differential
- realtek,in4-differential
  Boolean. Indicate MIC1/3/4 input are differential, rather than single-ended.

- realtek,dmic1-data-pin
  0: dmic1 is not used
  1: using IN2N pin as dmic1 data pin
  2: using GPIO5 pin as dmic1 data pin
  3: using GPIO9 pin as dmic1 data pin
  4: using GPIO11 pin as dmic1 data pin

- realtek,dmic2-data-pin
  0: dmic2 is not used
  1: using IN2P pin as dmic2 data pin
  2: using GPIO6 pin as dmic2 data pin
  3: using GPIO10 pin as dmic2 data pin
  4: using GPIO12 pin as dmic2 data pin

- realtek,jd-src
  0: No JD is used
  1: using JD3 as JD source

- realtek,ldo1-en-gpios : The GPIO that controls the CODEC's LDO1_EN pin.
- realtek,reset-gpios : The GPIO that controls the CODEC's RESET pin.

Pins on the device (for linking into audio routes) for RT5659/RT5658:

  * DMIC L1
  * DMIC R1
  * DMIC L2
  * DMIC R2
  * IN1P
  * IN1N
  * IN2P
  * IN2N
  * IN3P
  * IN3N
  * IN4P
  * IN4N
  * HPOL
  * HPOR
  * SPOL
  * SPOR
  * LOUTL
  * LOUTR
  * MONOOUT
  * PDML
  * PDMR
  * SPDIF

Example:

rt5659 {
	compatible = "realtek,rt5659";
	reg = <0x1b>;
	interrupt-parent = <&gpio>;
	interrupts = <TEGRA_GPIO(W, 3) GPIO_ACTIVE_HIGH>;
	realtek,ldo1-en-gpios =
		<&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_HIGH>;
};
