Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

RT5650/RT5645 audio CODEC

This device supports I2C only.

Required properties:

- compatible : One of "realtek,rt5645" or "realtek,rt5650".

- reg : The I2C address of the device.

- interrupts : The CODEC's interrupt output.

Optional properties:

- hp-detect-gpios:
  a GPIO spec for the external headphone detect pin. If jd-mode = 0,
  we will get the JD status by getting the value of hp-detect-gpios.

- realtek,in2-differential
  Boolean. Indicate MIC2 input are differential, rather than single-ended.

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

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

-- realtek,jd-mode : The JD mode of rt5645/rt5650
   0 : rt5645/rt5650 JD function is not used
   1 : Mode-0 (VDD=3.3V), two port jack detection
   2 : Mode-1 (VDD=3.3V), one port jack detection
   3 : Mode-2 (VDD=1.8V), one port jack detection

Pins on the device (for linking into audio routes) for RT5645/RT5650:

  * DMIC L1
  * DMIC R1
  * DMIC L2
  * DMIC R2
  * IN1P
  * IN1N
  * IN2P
  * IN2N
  * Haptic Generator
  * HPOL
  * HPOR
  * LOUTL
  * LOUTR
  * PDM1L
  * PDM1R
  * SPOL
  * SPOR

Example:

codec: rt5650@1a {
	compatible = "realtek,rt5650";
	reg = <0x1a>;
	hp-detect-gpios = <&gpio 19 0>;
	interrupt-parent = <&gpio>;
	interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
	realtek,dmic-en = "true";
	realtek,en-jd-func = "true";
	realtek,jd-mode = <3>;
};