Kernel-4.18.0-80.el8_rt5640

RT5640/RT5639 audio CODEC

This device supports I2C only.

Required properties:

  • compatible : One of “realtek,rt5640” or “realtek,rt5639”.

  • 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,in2-differential

  • realtek,in3-differential
    Boolean. Indicate MIC1/2/3 input are differential, rather than single-ended.

  • realtek,ldo1-en-gpios : The GPIO that controls the CODEC’s LDO1_EN pin.

  • realtek,dmic1-data-pin
    0: dmic1 is not used
    1: using IN1P pin as dmic1 data pin
    2: using GPIO3 pin as dmic1 data pin

  • realtek,dmic2-data-pin
    0: dmic2 is not used
    1: using IN1N pin as dmic2 data pin
    2: using GPIO4 pin as dmic2 data pin

  • realtek,jack-detect-source
    u32. Valid values:
    0: jack-detect is not used
    1: Use GPIO1 for jack-detect
    2: Use JD1_IN4P for jack-detect
    3: Use JD2_IN4N for jack-detect
    4: Use GPIO2 for jack-detect
    5: Use GPIO3 for jack-detect
    6: Use GPIO4 for jack-detect

  • realtek,jack-detect-not-inverted
    bool. Normal jack-detect switches give an inverted signal, set this bool
    in the rare case you’ve a jack-detect switch which is not inverted.

  • realtek,over-current-threshold-microamp
    u32, micbias over-current detection threshold in µA, valid values are
    600, 1500 and 2000µA.

  • realtek,over-current-scale-factor
    u32, micbias over-current detection scale-factor, valid values are:
    0: Scale current by 0.5
    1: Scale current by 0.75
    2: Scale current by 1.0
    3: Scale current by 1.5

Pins on the device (for linking into audio routes) for RT5639/RT5640:

  • DMIC1
  • DMIC2
  • MICBIAS1
  • IN1P
  • IN1N
  • IN2P
  • IN2N
  • IN3P
  • IN3N
  • HPOL
  • HPOR
  • LOUTL
  • LOUTR
  • SPOLP
  • SPOLN
  • SPORP
  • SPORN

Additional pins on the device for RT5640:

  • MONOP
  • MONON

Example:

rt5640 {
compatible = “realtek,rt5640”;
reg = <0x1c>;
interrupt-parent = <&gpio>;
interrupts = <TEGRA_GPIO(W, 3) GPIO_ACTIVE_HIGH>;
realtek,ldo1-en-gpios =
<&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_HIGH>;
};